Browse Source

关闭定额考核自动发起
账龄表过滤条件
日常物耗申请大业主甲方申购

fyz 1 month ago
parent
commit
597ec57a01

+ 15 - 3
mjava-lanyun/src/main/java/com/malk/lanyun/controller/TimerController.java

@@ -3,6 +3,7 @@ package com.malk.lanyun.controller;
 import com.malk.lanyun.service.FService;
 import com.malk.lanyun.service.NCService;
 import com.malk.lanyun.service.TimerService;
+import com.malk.lanyun.service.WorkService;
 import com.malk.server.common.McR;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -162,9 +163,9 @@ public class TimerController {
      * @param
      */
     @PostMapping("materialProject")
-    void updateMaterialProject(String projectCode,String date,Double firstCost,Double nowCost,String formInstId){
+    void updateMaterialProject(String projectCode,String date,Double firstCost,Double nowCost,String formInstId,String type){
         log.info("进入更新字段初始物耗费用总计方法");
-        timerService.updateMaterialProject(projectCode,date,firstCost,nowCost,formInstId);
+        timerService.updateMaterialProject(projectCode,date,firstCost,nowCost,formInstId,type);
     }
 
     /**
@@ -267,7 +268,8 @@ public class TimerController {
     }
     @Autowired
     private FService fService;
-
+    @Autowired
+    private WorkService workService;
     /**
      * 蓝云, 全量同步账龄表、催款函、各项目点月度经营分析插入数据库
      */
@@ -287,6 +289,16 @@ public class TimerController {
         } else if ("3".equals(type)) {
             log.info("开始调用各项目分析报表自动化");
             ncService.getProjectOperate();
+        } else if ("4".equals(type)) {
+            log.info("开始调用定额考核数据自动化");
+            workService.quotaArchive();
+            try {
+                Thread.sleep(5000);
+            } catch (InterruptedException e) {
+                log.info("休眠失败");
+            }
+            log.info("开始发起考核确认单");
+            workService.startAssessment();
         }
         return McR.success();
     }

+ 2 - 2
mjava-lanyun/src/main/java/com/malk/lanyun/schedule/WorkTask.java

@@ -20,7 +20,7 @@ public class WorkTask {
     /**
      * 每月21日凌晨3点发起考核确认单
      */
-    @Scheduled(cron = "0 0 3 21 * ?")
+//    @Scheduled(cron = "0 0 3 21 * ?")
     void startAssessment() {
         log.info("发起考核确认单");
         workService.startAssessment();
@@ -30,7 +30,7 @@ public class WorkTask {
     /**
      * 每月21日凌晨1点开始跑批考核定额档案表
      */
-    @Scheduled(cron = "0 0 1 21 * ?")
+//    @Scheduled(cron = "0 0 1 21 * ?")
     void quotaArchive() {
         log.info("开始跑批考核定额档案表");
         workService.quotaArchive();

+ 1 - 1
mjava-lanyun/src/main/java/com/malk/lanyun/service/TimerService.java

@@ -71,7 +71,7 @@ public interface TimerService {
      * @param firstCost 初始物耗费用合计
      * @param nowCost 本次物耗
      */
-    void updateMaterialProject(String projectCode, String date, Double firstCost, Double nowCost, String formInstId);
+    void updateMaterialProject(String projectCode, String date, Double firstCost, Double nowCost, String formInstId, String type);
 
     /**
      * 定时更新本周未出库项目数

+ 11 - 0
mjava-lanyun/src/main/java/com/malk/lanyun/service/impl/FImplService.java

@@ -260,6 +260,7 @@ public class FImplService implements FService {
 
             // 明细处理为主表记录, 以明细形式写入
             for (Map formData : dataList) {
+                boolean allReturn = true;
                 //子表唯一标识
                 String compId_type = UtilMap.getString(compIds, UtilMap.getString(formData, "selectField_lvc9x4vn"));
                 List<Map> details = UtilMap.getList(formData, compId_type);
@@ -335,6 +336,9 @@ public class FImplService implements FService {
                         BigDecimal figure = BigDecimal.valueOf(UtilMap.getDouble(dataForm, "numberField_lvdnme0z")).subtract(BigDecimal.valueOf(UtilMap.getDouble(dataForm, "numberField_lvg084l9")));
                         dataForm.put("radioField_m4qrz687", BigDecimal.ZERO.compareTo(figure) == 0 ? "是" : "否");
                         dataForm.put("numberField_m4qrz685", figure);
+                        if (BigDecimal.ZERO.compareTo(figure) != 0 ){
+                            allReturn = false;
+                        }
 //                Thread.sleep(30); // QPS上限 40
                         ydClient.operateData(_initLYParam()
                                 .searchCondition(JSON.toJSONString(searchCondition))
@@ -344,6 +348,13 @@ public class FImplService implements FService {
                                 .build(), YDConf.FORM_OPERATION.upsert_v2);
                     }
                 }
+                if (allReturn){
+                    ydClient.operateData(_initLYParam()
+                            .formInstanceId(formData.get("formInstanceId").toString())
+                            .useLatestVersion(true)
+                            .updateFormDataJson(JSON.toJSONString(UtilMap.map("selectField_mp6o4cjj", "是")))
+                            .build(), YDConf.FORM_OPERATION.update);
+                }
             }
             msg = "账龄表任务完成";
         } catch (Exception e) {

+ 3 - 2
mjava-lanyun/src/main/java/com/malk/lanyun/service/impl/TimerServiceImpl.java

@@ -809,7 +809,7 @@ public class TimerServiceImpl implements TimerService {
     }
 
     @Override
-    public void updateMaterialProject(String projectCode, String date, Double firstCost, Double nowCost, String formInstId) {
+    public void updateMaterialProject(String projectCode, String date, Double firstCost, Double nowCost, String formInstId, String type) {
         if(ObjectUtil.isEmpty(firstCost) || firstCost == 0.0){
             List<Map> bigList = ydService.queryFormData_all(YDParam.builder()
                     .appType("APP_ERBDTFS82HOVBPL3NFH0")
@@ -821,7 +821,8 @@ public class TimerServiceImpl implements TimerService {
                     .build());
             bigList.forEach(e->{
                 String big = UtilMap.getString(e, "selectField_lr25icd0");
-                if (!"大业主".equals(big)){
+//                String type = UtilMap.getString(e, "selectField_lr383i3d");
+                if (!"大业主".equals(big) || !"甲方申购".equals(type)){
 
                     List<Map> sonList = (List<Map>) e.get("tableField_lrru2tnq");
                     if (ObjectUtil.isNotEmpty(sonList)){