Pārlūkot izejas kodu

feature 代码提交

xiahan 13 stundas atpakaļ
vecāks
revīzija
659511e821

+ 2 - 1
qhse-common/src/main/java/com/rongwei/bscommon/system/dao/QhseDrugManageDao.java

@@ -16,8 +16,9 @@ import java.util.List;
 @Mapper
 public interface QhseDrugManageDao extends BaseMapper<QhseDrugManageDo> {
 
-    void  updateTotalPriceAndNum(@Param("ids") List<String> ids);
+    void updateTotalPriceAndNumByIds(@Param("ids") List<String> ids);
 
+    void updateTotalPriceAndNum();
 }
 
 

+ 2 - 1
qhse-common/src/main/java/com/rongwei/bscommon/system/dao/QhseDrugManageDetailDao.java

@@ -14,8 +14,9 @@ import java.util.List;
 */
 public interface QhseDrugManageDetailDao extends BaseMapper<QhseDrugManageDetailDo> {
 
-    void updateWarningState(@Param("ids") List<String> ids);
+    void updateWarningStateByIds(@Param("ids") List<String> ids);
 
+    void updateWarningState();
 }
 
 

+ 4 - 0
qhse-common/src/main/java/com/rongwei/bscommon/system/service/TimeTaskService.java

@@ -1,5 +1,7 @@
 package com.rongwei.bscommon.system.service;
 
+import com.rongwei.rwcommon.base.R;
+
 /**
  * TimeTaskService class
  *
@@ -7,4 +9,6 @@ package com.rongwei.bscommon.system.service;
  * @date 2025/09/17
  */
 public interface TimeTaskService {
+
+    R inventoryQuantityUpdate();
 }

+ 2 - 3
qhse-common/src/main/java/com/rongwei/bscommon/system/service/impl/DrugServiceImpl.java

@@ -2,7 +2,6 @@ package com.rongwei.bscommon.system.service.impl;
 
 import com.rongwei.bscommon.system.service.DrugService;
 import com.rongwei.bsentity.domain.QhseDrugManageDetailDo;
-import com.rongwei.bsentity.domain.QhseDrugManageUseDetailDo;
 import com.rongwei.rwcommon.base.R;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -37,9 +36,9 @@ public class DrugServiceImpl implements DrugService {
         }
         List<String> drugIds = qhseDrugManageUseDetailDos.stream().map(QhseDrugManageDetailDo::getDrugmanageid).collect(Collectors.toList());
         // 库存数量更新
-        qhseDrugManageService.getBaseMapper().updateTotalPriceAndNum(drugIds);
+        qhseDrugManageService.getBaseMapper().updateTotalPriceAndNumByIds(drugIds);
         // 更新预警状态
-        qhseDrugManageDetailService.getBaseMapper().updateWarningState(ids);
+        qhseDrugManageDetailService.getBaseMapper().updateWarningStateByIds(ids);
         return R.ok();
     }
 }

+ 15 - 0
qhse-common/src/main/java/com/rongwei/bscommon/system/service/impl/TimeTaskServiceImpl.java

@@ -1,6 +1,8 @@
 package com.rongwei.bscommon.system.service.impl;
 
 import com.rongwei.bscommon.system.service.TimeTaskService;
+import com.rongwei.rwcommon.base.R;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -11,4 +13,17 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class TimeTaskServiceImpl  implements TimeTaskService {
+    @Autowired
+    private  QhseDrugManageDetailServiceImpl qhseDrugManageDetailService;
+    @Autowired
+    private QhseDrugManageServiceImpl qhseDrugManageService;
+    @Override
+    public R inventoryQuantityUpdate() {
+
+        qhseDrugManageDetailService.getBaseMapper().updateWarningState();
+
+        qhseDrugManageService.getBaseMapper().updateTotalPriceAndNum();
+
+        return R.ok();
+    }
 }

+ 10 - 1
qhse-common/src/main/resources/mybatis/system/QhseDrugManageDao.xml

@@ -6,7 +6,7 @@
 
 
 
-   <update id="updateTotalPriceAndNum">
+   <update id="updateTotalPriceAndNumByIds">
        <foreach collection="ids" item="id" separator=";">
            update qhse_drug_manage a
            <set>
@@ -19,4 +19,13 @@
 
        </foreach>
    </update>
+    <update id="updateTotalPriceAndNum">
+        update qhse_drug_manage a
+        <set>
+            a.INVENTORYNUM=(select sum(INVENTORYNUM) from qhse_drug_manage_detail b where  b.DELETED='0' AND b.WARNINGSTATE in ('1','2','3')  and b.DRUGMANAGEID=a.ID),
+        </set>
+        <where>
+            a.DELETED='0'
+        </where>
+    </update>
 </mapper>

+ 19 - 1
qhse-common/src/main/resources/mybatis/system/QhseDrugManageDetailDao.xml

@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.rongwei.bscommon.system.dao.QhseDrugManageDetailDao">
 
-   <update id="updateWarningState">
+   <update id="updateWarningStateByIds">
        <foreach collection="ids" item="id" separator=";">
            update qhse_drug_manage_detail a
            <set>
@@ -23,4 +23,22 @@
 
        </foreach>
    </update>
+
+    <update id="updateWarningState">
+        update qhse_drug_manage_detail a
+        <set>
+            a.WARNINGSTATE=(
+            CASE
+            WHEN DATEDIFF(DAY,NOW(),a.EXPIRATIONDATE)>=180 THEN '0'
+            WHEN DATEDIFF(DAY,NOW(),a.EXPIRATIONDATE)>=90 THEN '1'
+            WHEN DATEDIFF(DAY,NOW(),a.EXPIRATIONDATE)>=30 THEN '2'
+            WHEN DATEDIFF(DAY,NOW(),a.EXPIRATIONDATE) <![CDATA[ <= ]]>0 THEN '4'
+            ELSE '3' END
+            )
+        </set>
+        <where>
+            a.DELETED='0'
+            AND (  WARNINGSTATE !='4' or WARNINGSTATE IS  NULL   or WARNINGSTATE != '');
+        </where>
+    </update>
 </mapper>

+ 8 - 0
qhse-server/src/main/java/com/rongwei/controller/TimeTaskController.java

@@ -2,6 +2,8 @@ package com.rongwei.controller;
 
 import com.rongwei.bscommon.system.service.impl.TimeTaskServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -18,4 +20,10 @@ public class TimeTaskController {
     private TimeTaskServiceImpl timeTaskService;
 
 
+    @PostMapping("/inventory/update")
+    @Scheduled(cron = "0 0 1 * * ?")
+    public void inventoryQuantityUpdate() {
+        timeTaskService.inventoryQuantityUpdate();
+    }
+
 }