From 4e0d6a8563aef0c9173bd5cbd791442c949f1da6 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 30 九月 2025 18:15:49 +0800
Subject: [PATCH] 诊所erp

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java |   64 +++++++++++++++++++++++++++++--
 1 files changed, 59 insertions(+), 5 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 cc43677..2599113 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;
@@ -54,12 +55,13 @@
     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,
-                                     TCrmSupplierService crmSupplierService) {
+                                     TCrmSupplierService crmSupplierService,TErpMaintenanceReminderService erpMaintenanceReminderService) {
         this.erpProcurementService = erpProcurementService;
         this.tokenService = tokenService;
         this.crmClinicService = crmClinicService;
@@ -68,6 +70,7 @@
         this.erpClinicWarehousingService = erpClinicWarehousingService;
         this.erpClinicWarehousingBatchService = erpClinicWarehousingBatchService;
         this.crmSupplierService = crmSupplierService;
+        this.erpMaintenanceReminderService = erpMaintenanceReminderService;
     }
 
 
@@ -151,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(TErpProcurement::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")
@@ -211,6 +251,20 @@
             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