|
@@ -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);
|
|
|
}
|
|
|
|