|
@@ -1117,4 +1117,85 @@ public class TimerServiceImpl implements TimerService {
|
|
throw new RuntimeException(e);
|
|
throw new RuntimeException(e);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<Map> checkoutStatus(Map<String, Object> data) {
|
|
|
|
+ List<Map> lastResult = new ArrayList<>();
|
|
|
|
+ List<Map> allProjectList = ydService.queryFormData_all(YDParam.builder()
|
|
|
|
+ .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
|
+ .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
|
+ .formUuid("FORM-97BA6C6C8C50416A9E5854F2F4B5C3F3R4WC")
|
|
|
|
+ .searchFieldJson(JSON.toJSONString(UtilMap.map("selectField_lrn2oy4a","进行中")))
|
|
|
|
+ .build());
|
|
|
|
+ //有库存的非无需出库项目
|
|
|
|
+ List<Map> materialList = ydService.queryFormData_all(YDParam.builder()
|
|
|
|
+ .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
|
+ .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
|
+ .formUuid("FORM-38649DA9003B48F4A7DC476122E4D6C1JNKU")
|
|
|
|
+ .build());
|
|
|
|
+ List<Map<String,Object>> result = new ArrayList<>();
|
|
|
|
+ Map<String, List<Map>> codeList = materialList.stream().collect(Collectors.groupingBy(map -> map.get("textField_ltxutdfi").toString()));
|
|
|
|
+ codeList.forEach((k,sList)->{
|
|
|
|
+ Map<String, Object> hashMap = new HashMap<>();
|
|
|
|
+ IntSummaryStatistics sum = sList.stream().collect(Collectors.summarizingInt(e -> parseInt(e.get("numberField_lu24bwd0").toString())));
|
|
|
|
+ if (sum.getSum() > 0){
|
|
|
|
+ hashMap.put("code",sList.get(0).get("textField_ltxutdfi"));
|
|
|
|
+ hashMap.put("sum",sum.getSum());
|
|
|
|
+ result.add(hashMap);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ //本周已出库项目
|
|
|
|
+// long beginWeek = DateUtil.beginOfWeek(DateUtil.date()).getTime();
|
|
|
|
+// long endWeek = DateUtil.endOfWeek(DateUtil.date()).getTime();
|
|
|
|
+ String startDate = data.get("startDate").toString();
|
|
|
|
+ String endDate = data.get("endDate").toString();
|
|
|
|
+ String[] dateList = new String[2];
|
|
|
|
+ dateList[0] = String.valueOf(startDate);
|
|
|
|
+ dateList[1] = String.valueOf(endDate);
|
|
|
|
+ List<Map> alredyList = ydService.queryFormData_all(YDParam.builder()
|
|
|
|
+ .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
|
+ .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
|
+ .formUuid("FORM-38649DA9003B48F4A7DC476122E4D6C1JNKU")
|
|
|
|
+ .searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_lvvthng6", (Object) dateList)))
|
|
|
|
+ .build());
|
|
|
|
+ ArrayList<String> codes = new ArrayList<>();
|
|
|
|
+ for (Map<String, Object> stringObjectMap : result) {
|
|
|
|
+ int status = 1;
|
|
|
|
+ if (alredyList.size()>0 && ObjectUtil.isNotNull(alredyList)){
|
|
|
|
+ alredyList = alredyList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() ->
|
|
|
|
+ new TreeSet<>(Comparator.comparing(o-> o.get("textField_ltxutdfi").toString()))), ArrayList::new));
|
|
|
|
+ for (Map value : alredyList) {
|
|
|
|
+ if (stringObjectMap.get("code").equals(value.get("textField_ltxutdfi"))) {
|
|
|
|
+ status = 0;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (status == 1 && ObjectUtil.isNotNull(allProjectList)){
|
|
|
|
+ for (Map map : allProjectList) {
|
|
|
|
+ if (stringObjectMap.get("code").equals(map.get("textField_ltxrn8h1")) && "进行中".equals(map.get("selectField_lrn2oy4a"))) {
|
|
|
|
+ codes.add(stringObjectMap.get("code").toString());
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ for (int i = 0; i < materialList.size(); i++) {
|
|
|
|
+ HashMap<Object, Object> lastMap = new HashMap<>();
|
|
|
|
+ lastMap.put("code",materialList.get(i).get("textField_ltxutdfi"));
|
|
|
|
+ lastMap.put("name",materialList.get(i).get("textField_lvat5hwb"));
|
|
|
|
+ lastMap.put("entryDate",materialList.get(i).get("dateField_lvvthng6"));
|
|
|
|
+ lastMap.put("whcode",materialList.get(i).get("textField_lr26l3hs"));
|
|
|
|
+ lastMap.put("whmc",materialList.get(i).get("textField_lr26l3ht"));
|
|
|
|
+ lastMap.put("whfl",materialList.get(i).get("textField_lu24bwd1"));
|
|
|
|
+ lastMap.put("salary",materialList.get(i).get("numberField_lu24bwd0"));
|
|
|
|
+ for (int j = 0; j < codes.size(); j++) {
|
|
|
|
+ if (materialList.get(i).get("textField_ltxutdfi").equals(codes.get(j))){
|
|
|
|
+ lastResult.add(lastMap);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return lastResult;
|
|
|
|
+ }
|
|
}
|
|
}
|