|
|
@@ -19,6 +19,9 @@ import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.time.Instant;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.ZoneId;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -468,4 +471,79 @@ public class WorkServiceImpl implements WorkService {
|
|
|
.build(), YDConf.FORM_OPERATION.upsert);
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void startAssessment() {
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ LocalDateTime lastMonth = now.plusMonths(-1);
|
|
|
+ // 方法1:指定时区转换为Instant
|
|
|
+ long lastMonthTime = lastMonth.atZone(ZoneId.systemDefault())
|
|
|
+ .toInstant()
|
|
|
+ .toEpochMilli();
|
|
|
+ List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
|
|
|
+ .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
+ .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
+ .formUuid("FORM-97BA6C6C8C50416A9E5854F2F4B5C3F3R4WC")
|
|
|
+// .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_lrr3rg6h", projectCode)))
|
|
|
+ .build());
|
|
|
+ List<Map<String,Object>> sonList = new ArrayList<>();
|
|
|
+ dataList.forEach(e->{
|
|
|
+ LocalDateTime start = null;
|
|
|
+ LocalDateTime end = null;
|
|
|
+ if (ObjectUtil.isNotNull( e.get("dateField_lrn2oy54"))){
|
|
|
+ String startTime = e.get("dateField_lrn2oy54").toString();
|
|
|
+ long startTimestamp = Long.parseLong(startTime);
|
|
|
+ Instant instant = Instant.ofEpochMilli(startTimestamp);
|
|
|
+ LocalDateTime dateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
|
|
|
+ start = dateTime.plusDays(120).plusMonths(1).withDayOfMonth(1);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotNull(e.get("dateField_lzaqu26p"))){
|
|
|
+
|
|
|
+ String endTime = e.get("dateField_lzaqu26p").toString();
|
|
|
+ long endTimestamp = Long.parseLong(endTime);
|
|
|
+ Instant instant = Instant.ofEpochMilli(endTimestamp);
|
|
|
+ LocalDateTime dateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
|
|
|
+ end = dateTime.plusDays(90);
|
|
|
+ }
|
|
|
+
|
|
|
+ if ((ObjectUtil.isNull(e.get("dateField_lzaqu26p")) || now.isBefore(end)) && ObjectUtil.isNotNull(e.get("dateField_lrn2oy54")) && (now.isAfter(start) || now.isEqual(start))){
|
|
|
+ List<Map<String,Object>> objects = new ArrayList<>();
|
|
|
+ Map<String, Object> map = UtilMap.map("appType, formUuid, formType, instanceId, title, subTitle",
|
|
|
+ "APP_TKO2FYGFQYQQMQFUTUU5", "FORM-EA91EECA918848EA9EFFA87107B60BD0SLXX", "receipt",
|
|
|
+ e.get("formInstanceId"), e.get("textField_lrr3rg6i"), e.get("textField_ltxrn8h1"));
|
|
|
+ objects.add(map);
|
|
|
+
|
|
|
+ Map<String, Object> dataMap = UtilMap.map("associationFormField_mfo3dvqa, textField_mfenmegp, selectField_mfo51ygd, selectField_mfp86vfw",
|
|
|
+ objects, e.get("textField_ltxrn8h1"), "是", "是");
|
|
|
+ if (ObjectUtil.isNotNull(e.get("employeeField_lw1usgpt_id"))){
|
|
|
+ //项目点负责人
|
|
|
+ String xmdfzr = e.get("employeeField_lw1usgpt_id").toString();
|
|
|
+ JSONArray xmdfzrArray = JSONArray.parseArray(xmdfzr);
|
|
|
+ dataMap.put("employeeField_mfo3dvpt",xmdfzrArray.get(0));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotNull(e.get("employeeField_lrpswhaj_id"))){
|
|
|
+ //营运经理
|
|
|
+ String yyjl = e.get("employeeField_lrpswhaj_id").toString();
|
|
|
+ JSONArray yyjlArray = JSONArray.parseArray(yyjl);
|
|
|
+ dataMap.put("employeeField_mfo3dvq2",yyjlArray.get(0));
|
|
|
+ }
|
|
|
+ sonList.add(dataMap);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ /*发起流程*/
|
|
|
+ ydClient.operateData(YDParam.builder().userId("026150181237-1254068060")
|
|
|
+ .appType("APP_TKO2FYGFQYQQMQFUTUU5")
|
|
|
+ .systemToken("2IF66SC1XCSY45IUBXA0X9WYE09G3W8GGNEFM7T4")
|
|
|
+ .formUuid("FORM-EA91EECA918848EA9EFFA87107B60BD0SLXX")
|
|
|
+ .formDataJson(JSON.toJSONString(UtilMap.map("dateField_mfo3dvpr, tableField_mfo51ygb",
|
|
|
+ lastMonthTime,sonList)))
|
|
|
+ .build(), YDConf.FORM_OPERATION.start);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void quotaArchive() {
|
|
|
+
|
|
|
+ }
|
|
|
}
|