From c8f6f175a23e15b40309cf31850ee170d8d946ca Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 30 九月 2025 14:33:43 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/haizhentong

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java |  105 +++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 83 insertions(+), 22 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java
index 0dcdcb8..76a45c9 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.lkl.laop.sdk.request.V3LabsTransPreorderRequest;
 import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.BaseModel;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.DateUtils;
@@ -16,18 +17,18 @@
 import com.ruoyi.system.query.TErpGoodsQuery;
 import com.ruoyi.system.query.TErpProcurementQuery;
 import com.ruoyi.system.service.*;
-import com.ruoyi.system.vo.DetailProcurementVO;
-import com.ruoyi.system.vo.TErpGoodsVO;
-import com.ruoyi.system.vo.TErpProcurementDetailVo;
-import com.ruoyi.system.vo.TErpProcurementVo;
+import com.ruoyi.system.vo.*;
 import com.ruoyi.web.core.config.LakalaConfig;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -53,11 +54,14 @@
     private final TErpGoodsService erpGoodsService;
     private final TErpClinicWarehousingService erpClinicWarehousingService;
     private final TErpClinicWarehousingBatchService erpClinicWarehousingBatchService;
+    private final TCrmSupplierService crmSupplierService;
+    private final TErpMaintenanceReminderService erpMaintenanceReminderService;
 
 
     @Autowired
     public TErpProcurementController(TErpProcurementService erpProcurementService, TokenService tokenService,TCrmClinicService crmClinicService,TErpProcurementGoodsService erpProcurementGoodsService
-    , TErpGoodsService erpGoodsService,TErpClinicWarehousingService erpClinicWarehousingService,TErpClinicWarehousingBatchService erpClinicWarehousingBatchService) {
+    , TErpGoodsService erpGoodsService,TErpClinicWarehousingService erpClinicWarehousingService,TErpClinicWarehousingBatchService erpClinicWarehousingBatchService,
+                                     TCrmSupplierService crmSupplierService,TErpMaintenanceReminderService erpMaintenanceReminderService) {
         this.erpProcurementService = erpProcurementService;
         this.tokenService = tokenService;
         this.crmClinicService = crmClinicService;
@@ -65,6 +69,8 @@
         this.erpGoodsService = erpGoodsService;
         this.erpClinicWarehousingService = erpClinicWarehousingService;
         this.erpClinicWarehousingBatchService = erpClinicWarehousingBatchService;
+        this.crmSupplierService = crmSupplierService;
+        this.erpMaintenanceReminderService = erpMaintenanceReminderService;
     }
 
 
@@ -148,6 +154,43 @@
 
         return R.ok( erpProcurementService.detailProcurement(clinicSupplierId, user, id));
     }
+    @ApiOperation(value = "采购草稿")
+    @GetMapping(value = "/getProcurementDraft")
+    public R<ArrayList<DetailProcurementNextVO>> getProcurementDraft() {
+        SysUser user = tokenService.getLoginUser().getUser();
+        Integer roleType = user.getRoleType();
+        String clinicSupplierId=null;
+        if(roleType == 5){
+            // 诊所
+            TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
+                    .eq(TCrmClinic::getUserId, user.getUserId())
+                    .last("LIMIT 1"));
+            clinicSupplierId = crmClinic.getId();
+        }
+        ArrayList<DetailProcurementNextVO> detailProcurementNextVOS = new ArrayList<>();
+        List<TErpProcurement> list1 = erpProcurementService.list(new LambdaQueryWrapper<TErpProcurement>().eq(TErpProcurement::getStatus, 1).orderByDesc(BaseModel::getCreateTime));
+        if(list1.isEmpty()){
+            return R.ok(detailProcurementNextVOS);
+        }
+        String id = list1.get(0).getId();
+        List<TErpProcurementGoods> list = erpProcurementGoodsService.list(new LambdaQueryWrapper<TErpProcurementGoods>().eq(TErpProcurementGoods::getProcurementId, id));
+
+        for (TErpProcurementGoods tErpProcurementGoods : list) {
+            DetailProcurementNextVO detailProcurementNextVO = new DetailProcurementNextVO();
+            detailProcurementNextVO.setId(tErpProcurementGoods.getId());
+            detailProcurementNextVO.setGoodsName(tErpProcurementGoods.getGoodsName());
+            detailProcurementNextVO.setQuasiNumber(tErpProcurementGoods.getQuasiNumber());
+            detailProcurementNextVO.setPackingUnitName(tErpProcurementGoods.getUnitName());
+            detailProcurementNextVO.setSalesAmount(tErpProcurementGoods.getSalesAmount());
+            detailProcurementNextVO.setNum(tErpProcurementGoods.getPurchaseCount());
+            detailProcurementNextVO.setTotalPrice(tErpProcurementGoods.getTotalPrice());
+            detailProcurementNextVO.setSupplierName(tErpProcurementGoods.getSupplierName());
+            detailProcurementNextVO.setUnitName(tErpProcurementGoods.getUnitName());
+            detailProcurementNextVO.setPurchasePrice(tErpProcurementGoods.getPurchasePrice());
+            detailProcurementNextVOS.add(detailProcurementNextVO);
+        }
+        return R.ok(detailProcurementNextVOS);
+    }
 
     @ApiOperation(value = "采购详情入库")
     @PostMapping(value = "/updateStatusProcurement")
@@ -175,35 +218,53 @@
         List<String> collect = dto.getList().stream().map(UpdateStatusProcurementDto::getId).collect(Collectors.toList());
 
         List<TErpProcurementGoods> list = erpProcurementGoodsService.list(new LambdaQueryWrapper<TErpProcurementGoods>().in(TErpProcurementGoods::getId, collect));
+        TErpClinicWarehousing tErpClinicWarehousing = new TErpClinicWarehousing();
+        tErpClinicWarehousing.setClinicId(erpProcurement.getClinicId());
+        tErpClinicWarehousing.setProcurementId(erpProcurement.getId());
+//        tErpClinicWarehousing.setGoodsId(erpGoods.getId());
+//        tErpClinicWarehousing.setGoodsName(erpGoods.getGoodsName());
+        TCrmSupplier byId = crmSupplierService.getById(erpProcurement.getSupplierId());
+        tErpClinicWarehousing.setSupplierName(byId.getSupplierName());
+//        tErpClinicWarehousing.setQuasiNumber(erpGoods.getQuasiNumber());
+//        tErpClinicWarehousing.setSalesAmount(tErpProcurementGoods.getSalesAmount());
+//        tErpClinicWarehousing.setPurchaseCount(updateStatusProcurementDto.getPurchaseCount());
+        tErpClinicWarehousing.setTotalPrice(erpProcurement.getPayMoney());
+//        tErpClinicWarehousing.setUnitAmount(tErpProcurementGoods.getSalesAmount());
+        tErpClinicWarehousing.setWarehousingType(1);
+        tErpClinicWarehousing.setType(1);
+        tErpClinicWarehousing.setWarehouseNo("G"+ DateUtils.dateTimeNow());
+        erpClinicWarehousingService.save(tErpClinicWarehousing);
         // goodsId分组
         for (UpdateStatusProcurementDto updateStatusProcurementDto : dto.getList()) {
             TErpProcurementGoods tErpProcurementGoods = list.stream().filter(t -> t.getId().equals(updateStatusProcurementDto.getId())).findFirst().get();
 
             TErpGoods erpGoods = erpGoodsService.getById(tErpProcurementGoods.getGoodsId());
-            TErpClinicWarehousing tErpClinicWarehousing = new TErpClinicWarehousing();
-            tErpClinicWarehousing.setClinicId(erpProcurement.getClinicId());
-            tErpClinicWarehousing.setProcurementId(erpProcurement.getId());
-            tErpClinicWarehousing.setGoodsId(erpGoods.getId());
-            tErpClinicWarehousing.setGoodsName(erpGoods.getGoodsName());
-            tErpClinicWarehousing.setSupplierName(erpGoods.getSupplierName());
-            tErpClinicWarehousing.setQuasiNumber(erpGoods.getQuasiNumber());
-            tErpClinicWarehousing.setSalesAmount(tErpProcurementGoods.getSalesAmount());
-            tErpClinicWarehousing.setPurchaseCount(updateStatusProcurementDto.getPurchaseCount());
-            tErpClinicWarehousing.setTotalPrice(tErpProcurementGoods.getSalesAmount().multiply(new BigDecimal(updateStatusProcurementDto.getPurchaseCount())));
-            tErpClinicWarehousing.setUnitAmount(tErpProcurementGoods.getSalesAmount());
-            tErpClinicWarehousing.setWarehousingType(1);
-            tErpClinicWarehousing.setWarehouseNo("G"+ DateUtils.dateTimeNow());
-            erpClinicWarehousingService.save(tErpClinicWarehousing);
-
-
             TErpClinicWarehousingBatch tErpClinicWarehousingGoods = new TErpClinicWarehousingBatch();
             tErpClinicWarehousingGoods.setWarehousingId(tErpClinicWarehousing.getId());
-            tErpClinicWarehousingGoods.setWarehousingNumber(tErpClinicWarehousing.getPurchaseCount());
+            tErpClinicWarehousingGoods.setWarehousingNumber(updateStatusProcurementDto.getPurchaseCount());
             tErpClinicWarehousingGoods.setBatchNumber(updateStatusProcurementDto.getBatchNumber());
             tErpClinicWarehousingGoods.setProductionDate(updateStatusProcurementDto.getProductionDate());
             tErpClinicWarehousingGoods.setExpiryDate(updateStatusProcurementDto.getExpiryDate());
+            tErpClinicWarehousingGoods.setGoodsId(erpGoods.getId());
+            tErpClinicWarehousingGoods.setGoodsName(erpGoods.getGoodsName());
+            tErpClinicWarehousingGoods.setQuasiNumber(erpGoods.getQuasiNumber());
+            tErpClinicWarehousingGoods.setSalesAmount(tErpProcurementGoods.getSalesAmount());
             erpClinicWarehousingBatchService.save(tErpClinicWarehousingGoods);
 
+
+            if(erpGoods.getMaintenanceInterval()!=null){
+                TErpMaintenanceReminder tErpMaintenanceReminder = new TErpMaintenanceReminder();
+                tErpMaintenanceReminder.setClinicSupplierId(clinicSupplierId);
+                tErpMaintenanceReminder.setMaintenanceType(2);
+                tErpMaintenanceReminder.setWarehousingBatchId(tErpClinicWarehousingGoods.getId());
+                Integer day = Integer.valueOf(erpGoods.getMaintenanceInterval());
+                // 当前时间+day天
+                LocalDateTime time1 = LocalDateTime.now().plusDays(day);
+                tErpMaintenanceReminder.setMaintenanceTime(time1);
+                erpMaintenanceReminderService.save(tErpMaintenanceReminder);
+            }
+
+
         }
         return R.ok();
     }

--
Gitblit v1.7.1