Ver código fonte

蓝云物耗出库自定义页面提供接口

fyz 8 meses atrás
pai
commit
722ab87f3c

+ 8 - 0
mjava-lanyun/src/main/java/com/malk/lanyun/controller/TimerController.java

@@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -180,4 +181,11 @@ public class TimerController {
         log.info("开始修改单个各项目点月度经营分析");
         timerService.updateAnalysis(data);
     }
+
+    @PostMapping("checkoutStatus")
+    McR checkoutStatus(@RequestBody Map<String,Object> data){
+        log.info("开始获取未出库数据:{}",data);
+        List<Map> mapList = timerService.checkoutStatus(data);
+        return McR.success(mapList);
+    }
 }

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

@@ -2,6 +2,7 @@ package com.malk.lanyun.service;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 import java.util.Map;
 
 public interface TimerService {
@@ -97,4 +98,6 @@ public interface TimerService {
     boolean testSelectIsSupply(HttpServletRequest request);
 
     void updateAnalysis(Map<String,Object> data);
+
+    List<Map> checkoutStatus(Map<String, Object> data);
 }

+ 81 - 0
mjava-lanyun/src/main/java/com/malk/lanyun/service/impl/TimerServiceImpl.java

@@ -1117,4 +1117,85 @@ public class TimerServiceImpl implements TimerService {
             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;
+    }
 }