Browse Source

灵明光子v4.0

wzy 9 months ago
parent
commit
483492fdeb

+ 30 - 21
mjava-lingmingguangzi/src/main/java/com/malk/lingmingguangzi/controller/LingmingguangziController.java

@@ -4,6 +4,7 @@ import com.malk.lingmingguangzi.service.LingmingguangziService;
 import com.malk.server.common.McR;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -84,24 +85,6 @@ public class LingmingguangziController {
         return lingmingguangziService.getProductDeliveryStatus(keyword,pageNo,pageSize);
     }
 
-    /**
-     * 获取工序
-     * @return
-     */
-    @GetMapping("/getProcess")
-    public McR getProcess(int pageNo,int pageSize) {
-        return lingmingguangziService.getProcess(pageNo,pageSize);
-    }
-
-    /**
-     * 获取税率
-     * @return
-     */
-    @GetMapping("/getTaxRate")
-    public McR getTaxRate() {
-        return lingmingguangziService.getTaxRate();
-    }
-
     /**
      * 新增销售订单
      * @param map
@@ -122,9 +105,35 @@ public class LingmingguangziController {
         return lingmingguangziService.updateSaleOrder(map);
     }
 
-    //todo 定时更新工序
+    /**
+     * 定时更新工序
+     */
+    @Scheduled(cron = "0 0 0 * * ? ")
+    @GetMapping("/updateProcess")
+    public McR updateProcess() {
+        lingmingguangziService.updateProcess();
+        return McR.success();
+    }
 
-    //todo 定时更新币别
+    /**
+     * 定时更新币别
+     * @return
+     */
+    @Scheduled(cron = "0 0 0 * * ? ")
+    @GetMapping("/updateCurrency")
+    public McR updateCurrency() {
+        lingmingguangziService.updateCurrency();
+        return McR.success();
+    }
 
-    //todo 定时更新税率
+    /**
+     * 定时更新税率
+     * @return
+     */
+    @Scheduled(cron = "0 0 0 * * ? ")
+    @GetMapping("/updateTaxRate")
+    public McR updateTaxRate() {
+        lingmingguangziService.updateTaxRate();
+        return McR.success();
+    }
 }

+ 7 - 4
mjava-lingmingguangzi/src/main/java/com/malk/lingmingguangzi/service/LingmingguangziService.java

@@ -24,13 +24,16 @@ public interface LingmingguangziService {
 
     McR getProductDeliveryStatus(String keyword,int pageNo,int pageSize);
 
-    McR getProcess(int pageNo,int pageSize);
-
-    McR getTaxRate();
-
     McR addSaleOrder(Map map);
 
     McR updateSaleOrder(Map map);
 
     String postWithFile(String url, String filePath);
+
+    void updateCurrency();
+
+    void updateTaxRate();
+
+    void updateProcess();
+
 }

+ 173 - 59
mjava-lingmingguangzi/src/main/java/com/malk/lingmingguangzi/service/LingmingguangziServiceImpl.java

@@ -25,6 +25,7 @@ import com.malk.server.dingtalk.DDR_New;
 import com.malk.server.teambition.TBConf;
 import com.malk.server.teambition.TBR;
 import com.malk.service.aliwork.YDClient;
+import com.malk.service.aliwork.YDService;
 import com.malk.service.dingtalk.DDClient;
 import com.malk.utils.UtilHttp;
 import com.malk.utils.UtilMap;
@@ -63,6 +64,9 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
     @Autowired
     private DDClient ddClient;
 
+    @Autowired
+    private YDService ydService;
+
     @Value(value = "${erp.url}")
     private String erpUrl;
 
@@ -178,9 +182,23 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
         }
         String formInstId = map.get("formInstId").toString();
 
-        Map formData = ydClient.queryData(YDParam.builder().formInstId(formInstId).build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
+        DDR_New ddrNew = ydClient.queryData(YDParam.builder().formInstId(formInstId).build(), YDConf.FORM_QUERY.retrieve_id);
+        Map formData = ddrNew.getFormData();
 
         Map<String,Object> body = new HashMap<>();
+
+        //查询erp账号
+        Map originator = ddrNew.getOriginator();
+        String userId = originator.get("userId").toString();
+        List<Map> data = (List<Map>) ydClient.queryData(YDParam.builder()
+                .formUuid("FORM-65789BACB6F64B2C880875260026A6EACTOB")
+                .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_m0ypgxec", userId)))
+                .build(), YDConf.FORM_QUERY.retrieve_list).getData();
+        if (!data.isEmpty()){
+            Map formData2 = (Map) data.get(0).get("formData");
+            body.put("createBy", formData2.get("textField_m0ypgxeb").toString());
+        }
+
         body.put("customerCode", formData.get("textField_lwpqbm7a").toString());
         body.put("customerName", formData.get("textField_lwpqbm7b").toString());
 
@@ -192,16 +210,9 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
             case "多到期日(按金额)":body.put("recConditionCode", "SKTJ04_SYS");break;
         }
 
-        String payCurrency = formData.get("selectField_lwpqbm7s").toString();
-        switch (payCurrency){
-            case "人民币": body.put("payCurrencyCode", "PRE001");break;
-            case "香港元":body.put("payCurrencyCode", "PRE002");break;
-            case "欧元":body.put("payCurrencyCode", "PRE003");break;
-            case "日本日元":body.put("payCurrencyCode", "PRE004");break;
-            case "新台币元":body.put("payCurrencyCode", "PRE005");break;
-            case "英镑":body.put("payCurrencyCode", "PRE006");break;
-            case "美元":body.put("payCurrencyCode", "PRE007");break;
-        }
+        String payCurrencyCode = formData.get("textField_m0yq620t").toString();
+        body.put("payCurrencyCode", payCurrencyCode);
+
         //客户简称
         if (Objects.nonNull(formData.get("textField_lwpqbm7c"))){
             body.put("customerShortName", formData.get("textField_lwpqbm7c").toString());
@@ -251,9 +262,23 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
         }
         String formInstId = map.get("formInstId").toString();
 
-        Map formData = ydClient.queryData(YDParam.builder().formInstId(formInstId).build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
+        DDR_New ddrNew = ydClient.queryData(YDParam.builder().formInstId(formInstId).build(), YDConf.FORM_QUERY.retrieve_id);
+        Map formData = ddrNew.getFormData();
 
         Map<String,Object> body = new HashMap<>();
+
+        //查询erp账号
+        Map originator = ddrNew.getOriginator();
+        String userId = originator.get("userId").toString();
+        List<Map> data = (List<Map>) ydClient.queryData(YDParam.builder()
+                .formUuid("FORM-65789BACB6F64B2C880875260026A6EACTOB")
+                .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_m0ypgxec", userId)))
+                .build(), YDConf.FORM_QUERY.retrieve_list).getData();
+        if (!data.isEmpty()){
+            Map formData2 = (Map) data.get(0).get("formData");
+            body.put("updateBy", formData2.get("textField_m0ypgxeb").toString());
+        }
+
         body.put("customerCode", formData.get("textField_lwpqbm7a").toString());
         body.put("customerName", formData.get("textField_lwpqbm7b").toString());
 
@@ -265,16 +290,9 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
             case "多到期日(按金额)":body.put("recConditionCode", "SKTJ04_SYS");break;
         }
 
-        String payCurrency = formData.get("selectField_lwpqbm7s").toString();
-        switch (payCurrency){
-            case "人民币": body.put("payCurrencyCode", "PRE001");break;
-            case "香港元":body.put("payCurrencyCode", "PRE002");break;
-            case "欧元":body.put("payCurrencyCode", "PRE003");break;
-            case "日本日元":body.put("payCurrencyCode", "PRE004");break;
-            case "新台币元":body.put("payCurrencyCode", "PRE005");break;
-            case "英镑":body.put("payCurrencyCode", "PRE006");break;
-            case "美元":body.put("payCurrencyCode", "PRE007");break;
-        }
+        String payCurrencyCode = formData.get("textField_m0yq620t").toString();
+        body.put("payCurrencyCode", payCurrencyCode);
+
         //客户简称
         if (Objects.nonNull(formData.get("textField_lwpqbm7c"))){
             body.put("customerShortName", formData.get("textField_lwpqbm7c").toString());
@@ -345,50 +363,32 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
         return McR.success(map);
     }
 
-    @Override
-    public McR getProcess(int pageNo,int pageSize) {
-        Map param = new HashMap();
-        param.put("active","D2_SUCCESS");
-        param.put("pageNo",pageNo);
-        param.put("pageSize",pageSize);
-
-        Map<String, Object> res = get(erpUrl + "pws/pdm/pdmStation/list", param, getHeader());
-        Map result = (Map) res.get("result");
-        List<Map> data = (List<Map>) result.get("records");
-        int totalCount = (int) result.get("total");
-        int currentPage = (int) result.get("current");
-
-        Map map = new HashMap();
-        map.put("data",data);
-        map.put("totalCount",totalCount);
-        map.put("currentPage",currentPage);
-
-        return McR.success(map);
-    }
-
-    @Override
-    public McR getTaxRate() {
-        Map param = new HashMap();
-        param.put("pageNo",1);
-        param.put("pageSize",50);
-        Map<String, Object> res = get(erpUrl + "pws/fin/finTax/list", param, getHeader());
-        Map result = (Map) res.get("result");
-        List<Map> records = (List<Map>) result.get("records");
-        List<String> list = records.stream().map(map1 -> map1.get("taxName").toString()).collect(Collectors.toList());
-        return McR.success(list);
-    }
-
     @Override
     public McR addSaleOrder(Map map) {
         if (Objects.isNull(map.get("formInstId"))){
             McR.errorParam("formInstId不能为空");
         }
         String formInstId = map.get("formInstId").toString();
-        Map formData = ydClient.queryData(YDParam.builder().formInstId(formInstId)
-                .build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
+        DDR_New ddrNew = ydClient.queryData(YDParam.builder().formInstId(formInstId)
+                .build(), YDConf.FORM_QUERY.retrieve_id);
+
+        Map formData = ddrNew.getFormData();
 
         //新增销售订单
         Map body = new HashMap();
+
+        //查询erp账号
+        Map originator = ddrNew.getOriginator();
+        String userId = originator.get("userId").toString();
+        List<Map> data = (List<Map>) ydClient.queryData(YDParam.builder()
+                .formUuid("FORM-65789BACB6F64B2C880875260026A6EACTOB")
+                .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_m0ypgxec", userId)))
+                .build(), YDConf.FORM_QUERY.retrieve_list).getData();
+        if (!data.isEmpty()){
+            Map formData2 = (Map) data.get(0).get("formData");
+            body.put("createBy", formData2.get("textField_m0ypgxeb").toString());
+        }
+
         body.put("customerCode",getString(formData.get("textField_ly5m36nw")));//客户编码
         String priority = getString(formData.get("selectField_lwpsp162"));//紧急级别
         switch (priority) {
@@ -509,11 +509,26 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
             McR.errorParam("formInstId不能为空");
         }
         String formInstId = map.get("formInstId").toString();
-        Map formData = ydClient.queryData(YDParam.builder().formInstId(formInstId)
-                .build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
+        DDR_New ddrNew = ydClient.queryData(YDParam.builder().formInstId(formInstId)
+                .build(), YDConf.FORM_QUERY.retrieve_id);
+
+        Map formData = ddrNew.getFormData();
 
         //更新销售订单
         Map body = new HashMap();
+
+        //查询erp账号
+        Map originator = ddrNew.getOriginator();
+        String userId = originator.get("userId").toString();
+        List<Map> data = (List<Map>) ydClient.queryData(YDParam.builder()
+                .formUuid("FORM-65789BACB6F64B2C880875260026A6EACTOB")
+                .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_m0ypgxec", userId)))
+                .build(), YDConf.FORM_QUERY.retrieve_list).getData();
+        if (!data.isEmpty()){
+            Map formData2 = (Map) data.get(0).get("formData");
+            body.put("updateBy", formData2.get("textField_m0ypgxeb").toString());
+        }
+
         body.put("soCode",getString(formData.get("textField_m0alsjj1")));
         body.put("customerCode",getString(formData.get("textField_ly5m36nw")));//客户编码
         String priority = getString(formData.get("selectField_lwpsp162"));//紧急级别
@@ -747,6 +762,105 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
         return null;
     }
 
+    @Override
+    public void updateCurrency() {
+        //获取erp币别列表
+        List<Map<String,String>> list = new ArrayList<>();
+        int pageNo = 1;
+        int pageSize = 50;
+        Map result = new HashMap<>();
+        do {
+            Map param = new HashMap();
+            param.put("pageNo",pageNo);
+            param.put("pageSize",pageSize);
+            Map<String, Object> res = get(erpUrl + "pws/fin/finCurrency/list", param, getHeader());
+            result = (Map) res.get("result");
+            List<Map> records = (List<Map>) result.get("records");
+            list.addAll(records.stream().map(map1 -> {
+                Map<String,String> map = new HashMap<>();
+                map.put("textField_m054h6gw",map1.get("currencyCode").toString());
+                map.put("textField_m054h6gx",map1.get("currencyName").toString());
+                map.put("textField_m054h6gy",map1.get("active_dictText").toString());
+                return map;
+            }).collect(Collectors.toList()));
+            pageNo++;
+        }while (pageNo * pageSize < (int) result.get("total"));
+
+        //更新宜搭币别
+        for (Map map : list) {
+            ydService.upsertFormData("FORM-01CF3B9C5A364D32A011A6EA8B59B82AIUDI",UtilMap.map("textField_m054h6gw",map.get("textField_m054h6gw")),map,null);
+        }
+
+    }
+
+    @Override
+    public void updateTaxRate() {
+        //获取erp税率列表
+        List<Map<String,String>> list = new ArrayList<>();
+        int pageNo = 1;
+        int pageSize = 50;
+        Map result = new HashMap<>();
+        do {
+            Map param = new HashMap();
+            param.put("pageNo",pageNo);
+            param.put("pageSize",pageSize);
+            Map<String, Object> res = get(erpUrl + "pws/fin/finTax/list", param, getHeader());
+            result = (Map) res.get("result");
+            List<Map> records = (List<Map>) result.get("records");
+            list.addAll(records.stream().map(map1 -> {
+                Map<String,String> map = new HashMap<>();
+                map.put("textField_m0539uy1",map1.get("id").toString());
+                map.put("numberField_m0539uy2",map1.get("taxValue").toString());
+                map.put("textField_m0539uy4",map1.get("taxName").toString());
+                return map;
+            }).collect(Collectors.toList()));
+            pageNo++;
+        }while (pageNo * pageSize < (int) result.get("total"));
+
+        //更新宜搭税率
+        for (Map map : list) {
+            ydService.upsertFormData("FORM-47A9FC4550574A0488A3F2ECB30FADB0Z67F",UtilMap.map("textField_m0539uy1",map.get("textField_m0539uy1")),map,null);
+        }
+    }
+
+    @Override
+    public void updateProcess() {
+        //获取erp工序列表
+        List<Map<String,String>> list = new ArrayList<>();
+        int pageNo = 1;
+        int pageSize = 50;
+        Map result = new HashMap<>();
+        do {
+            Map param = new HashMap();
+            param.put("pageNo",pageNo);
+            param.put("pageSize",pageSize);
+            Map<String, Object> res = get(erpUrl + "pws/pdm/pdmStation/list", param, getHeader());
+            result = (Map) res.get("result");
+            List<Map> records = (List<Map>) result.get("records");
+            list.addAll(records.stream().map(map1 -> {
+                Map<String,String> map = new HashMap<>();
+                map.put("textField_m04yhw4p",getString(map1.get("stationCode")));//工序编码
+                map.put("textField_m04yhw56",getString(map1.get("stationName")));//工序名称
+                map.put("textField_m04yhw57",getString(map1.get("stationClass")));//工序分类
+                map.put("textField_m04yhw58",getString(map1.get("productionType_dictText")));//生产类型
+                map.put("numberField_m04yhw5b",getString(map1.get("cycleTime")));//生产周期
+                map.put("textField_m04yhw5a",getString(map1.get("stockFlag")));//可入库
+                map.put("textField_m04yhw5c",getString(map1.get("unitCode_dictText")));//计价方式
+                map.put("textField_m04yhw5d",getString(map1.get("stationType_dictText")));//工序类型
+                map.put("textField_m04yhw5e",getString(map1.get("comments")));//备注
+                map.put("textField_m04yhw5f",getString(map1.get("active_dictText")));//审核状态
+
+                return map;
+            }).collect(Collectors.toList()));
+            pageNo++;
+        }while (pageNo * pageSize < (int) result.get("total"));
+
+        //更新宜搭工序
+        for (Map map : list) {
+            ydService.upsertFormData("FORM-2F06B5F437124B3ABA8D5275D1D277E4R9O1",UtilMap.map("textField_m04yhw4p",map.get("textField_m04yhw4p")),map,null);
+        }
+    }
+
     @Override
     public McR getTbStageDetails(String projectName,String stageName) {
         Map<String,Object> stageDetail = new HashMap<>();