Forráskód Böngészése

资产档案净值和计提期数更新

fyz 8 hónapja%!(EXTRA string=óta)
szülő
commit
4078a3f131

+ 20 - 5
mjava-lanyun/src/main/java/com/malk/lanyun/service/impl/SyncAssetsImpl.java

@@ -1,5 +1,8 @@
 package com.malk.lanyun.service.impl;
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSON;
 import com.malk.lanyun.service.DingTalkService;
 import com.malk.lanyun.service.SyncAssetsService;
@@ -40,7 +43,7 @@ public class SyncAssetsImpl implements SyncAssetsService {
                 .appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
                 .formUuid("FORM-F3695066AABE41F6AF241489F8558ACA78OI")  //资产档案
-                .formInstId("FINST-G9766T71XRHMWPDI7JZFU6GVQ1X83AMR8B4YLQM1")
+//                .formInstId("FINST-UG866OB1I1BOKW6T8TGPKCW3TK9S2OQ2WVZ1M56S2")
                 .searchFieldJson(JSON.toJSONString(UtilMap.map("selectField_lu2eb47g","否")))//护理对象暂停和正常、月度计划创建只查询正常的护理计划
                 .build();
         //pagesize设为1获取总数
@@ -56,20 +59,32 @@ public class SyncAssetsImpl implements SyncAssetsService {
             dataList = (List<Map>) ydClient.queryData(ydParam, YDConf.FORM_QUERY.retrieve_search_form).getData();
             dataList.forEach(dataItem -> {
                 Map formMap = (Map) dataItem.get("formData");
-
+                //净值
                 float metValue = UtilMap.getFloat((Map) formMap,"numberField_lu2ejqd4");
+                //月折旧额
                 float depreciation = UtilMap.getFloat((Map) formMap,"numberField_lu2eb47d");
-
+                //已计提期数
+                int count = UtilMap.getInt((Map) formMap,"numberField_lutjo2dt");
                 if (metValue>0 && depreciation>0){
                     log.info("metValue:"+metValue);
                     log.info("depreciation:"+depreciation);
-                    float updateDepreciation = metValue - depreciation;
+                    float updateDepreciation = (metValue - depreciation) >0 ? (metValue - depreciation) : 0;
+                    if (ObjectUtil.isNotEmpty(formMap.get("dateField_lty0oyva"))){
+                        //折旧截止日
+                        long endTime = Long.parseLong(formMap.get("dateField_lty0oyva").toString());
+                        String endDate = DateUtil.date(endTime).toString("yyyy-MM");
+                        long parseTime = DateUtil.beginOfMonth(DateUtil.parse(endDate, "yyyy-MM")).getTime();
+                        long toMonth = DateUtil.beginOfMonth(new Date()).getTime();
+                        if (toMonth <= parseTime){
+                            count = count + 1;
+                        }
+                    }
                     // 更新
                     ydClient.operateData(YDParam.builder()
                             .appType("APP_ERBDTFS82HOVBPL3NFH0")
                             .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
                             .formInstanceId((String) dataItem.get("formInstanceId"))
-                            .updateFormDataJson(JSON.toJSONString(UtilMap.map("numberField_lu2ejqd4",updateDepreciation)))
+                            .updateFormDataJson(JSON.toJSONString(UtilMap.map("numberField_lu2ejqd4, numberField_lutjo2dt",updateDepreciation,count)))
                             .build(), YDConf.FORM_OPERATION.update);
                 }