Browse Source

日常物耗申请获取单价数据刷新

fyz 2 months ago
parent
commit
0e0deef16f

+ 93 - 40
mjava-lanyun/src/main/java/com/malk/lanyun/service/impl/TimerServiceImpl.java

@@ -82,7 +82,7 @@ public class TimerServiceImpl implements TimerService {
                 .appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
                 .formUuid("FORM-97BA6C6C8C50416A9E5854F2F4B5C3F3R4WC")
                 .formUuid("FORM-97BA6C6C8C50416A9E5854F2F4B5C3F3R4WC")
-//                .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_lrr3rg6h", "XM00345")))
+//                .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_ltxrn8h1", "PM00411")))
                 .build());
                 .build());
         log.info("项目点数据, {}", dataList.size());
         log.info("项目点数据, {}", dataList.size());
         dataList.forEach(formData -> {
         dataList.forEach(formData -> {
@@ -1166,48 +1166,101 @@ public class TimerServiceImpl implements TimerService {
         System.out.println(formData);
         System.out.println(formData);
         if (ObjectUtil.isNotNull(formData)){
         if (ObjectUtil.isNotNull(formData)){
             String area = ObjectUtil.isNotNull(formData.get("selectField_lrn2oy4b"))?formData.get("selectField_lrn2oy4b").toString():"";
             String area = ObjectUtil.isNotNull(formData.get("selectField_lrn2oy4b"))?formData.get("selectField_lrn2oy4b").toString():"";
-            List<Map> sonList = (List<Map>) formData.get("tableField_lr383i4g");
-            double sum[] = {0,0};
-            if (ObjectUtil.isNotNull(sonList) && sonList.size()>0){
-                sonList.forEach(e->{
-                    String code = e.get("textField_lr383i4h").toString();
-                    if (ObjectUtil.isNotNull(code)){
-                        List<Map> businessList = ydService.queryFormData_all(YDParam.builder()
-                                .appType("APP_ERBDTFS82HOVBPL3NFH0")
-                                .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
-                                .formUuid("FORM-84AFCA01E1C24216BD46DC13FB3A82D4B4ZB")
-                                .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_ltxqbvzu, selectField_ltxy8wyr, selectField_ltxqfrj8", code,"启用",area)))
-                                .build());
-                        if (businessList.size()>=2){
-                            businessList = businessList.stream().filter(map -> map.get("textField_ludp2v7i") != "临时采购").collect(Collectors.toList());
+            double sum[] = {0.0,0.0,0.0,0.0,0.0};
+                List<Map> sonList = (List<Map>) formData.get("tableField_lr383i4g");
+                if (ObjectUtil.isNotNull(sonList) && sonList.size()>0){
+                    sonList.forEach(e->{
+                        String code = e.get("textField_lr383i4h").toString();
+                        if (ObjectUtil.isNotNull(code)){
+                            List<Map> businessList = ydService.queryFormData_all(YDParam.builder()
+                                    .appType("APP_ERBDTFS82HOVBPL3NFH0")
+                                    .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
+                                    .formUuid("FORM-84AFCA01E1C24216BD46DC13FB3A82D4B4ZB")
+                                    .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_ltxqbvzu, selectField_ltxy8wyr, selectField_ltxqfrj8", code,"启用",area)))
+                                    .build());
+                            if (businessList.size()>=2){
+                                businessList = businessList.stream().filter(map -> !"临时采购".equals(map.get("textField_ludp2v7i"))).collect(Collectors.toList());
+                            }
+                            if(ObjectUtil.isNotNull(businessList)){
+                                if (ObjectUtil.isNotNull(businessList.get(0).get("numberField_ltxqbvzz"))){
+                                    double fax = Double.parseDouble(businessList.get(0).get("numberField_ltxqbw00").toString());//税率
+                                    e.put("numberField_ludq7er6",fax);
+                                    Double unitPrice = Double.parseDouble(businessList.get(0).get("numberField_ltxqbvzz").toString());//供应商价目
+                                    e.put("numberField_ludokwa6",unitPrice);
+                                    e.put("selectField_lv4tq48o",businessList.get(0).get("selectField_ltxqfrj8") + "区 ¥" + businessList.get(0).get("numberField_ltxqbvzz") + " " + businessList.get(0).get("textField_ludp2v7i"));
+                                    Double scbqr = Double.parseDouble(e.get("numberField_lvaft823") == null|| e.get("numberField_lvaft823").toString().isEmpty() ? "0.0" :e.get("numberField_lvaft823").toString());//市场部确认
+                                    Double qgs = Double.parseDouble(e.get("numberField_lr383i4m") == null|| e.get("numberField_lr383i4m").toString().isEmpty() ? "0.0" :e.get("numberField_lr383i4m").toString());//请购数
+                                    Double kcjyl = Double.parseDouble(e.get("numberField_lrzu5n7a") == null|| e.get("numberField_lrzu5n7a").toString().isEmpty() ? "0.0" :e.get("numberField_lrzu5n7a").toString());//库存建议量
+                                    e.put("numberField_lrzu5n7d",String.format("%.2f",unitPrice * 1.1));//采购单价
+                                    if (e.get("numberField_lvaft823") == null|| e.get("numberField_lvaft823").toString().isEmpty()){
+                                        e.put("numberField_ludokwa9",String.format("%.2f", unitPrice * 1.1 * qgs));//采购金额小计
+                                        e.put("numberField_lxd0y351",String.format("%.8f", qgs * unitPrice));//实际金额小计
+                                        sum[0] = sum[0] + qgs * unitPrice * 1.1;
+                                        sum[2] = sum[2] + qgs * unitPrice;
+                                    }else {
+                                        e.put("numberField_ludokwa9",String.format("%.2f", unitPrice * 1.1 * scbqr));//采购金额小计
+                                        e.put("numberField_lxd0y351",String.format("%.8f", scbqr * unitPrice));//实际金额小计
+                                        sum[0] = sum[0] + scbqr * unitPrice * 1.1;
+                                        sum[2] = sum[2] + scbqr * unitPrice;
+                                    }
+                                    e.put("numberField_lv1qokdj",String.format("%.2f", unitPrice/(1+fax/100)));
+                                    e.put("numberField_lr383i4n",unitPrice * kcjyl);
+                                }
+                            }
                         }
                         }
-                        System.out.println(businessList.size());
-                        if(ObjectUtil.isNotNull(businessList)){
-                            if (ObjectUtil.isNotNull(businessList.get(0).get("numberField_ltxqbvzz"))){
-                                double fax = Double.parseDouble(businessList.get(0).get("numberField_ltxqbw00").toString());//税率
-                                e.put("numberField_ludq7er6",fax);
-                                Double unitPrice = Double.parseDouble(businessList.get(0).get("numberField_ltxqbvzz").toString());//供应商价目
-                                e.put("numberField_ludokwa6",unitPrice);
-                                e.put("selectField_lv4tq48o",businessList.get(0).get("selectField_ltxqfrj8") + "区 ¥" + businessList.get(0).get("numberField_ltxqbvzz") + " " + businessList.get(0).get("textField_ludp2v7i"));
-                                Double scbqr = Double.parseDouble(e.get("numberField_lvaft823").toString());//市场部确认
-                                e.put("numberField_lxd0y351",String.format("%.8f", scbqr * unitPrice));//实际金额小计
-                                sum[0] = sum[0] + scbqr * unitPrice;
-                                e.put("numberField_lrzu5n7d",String.format("%.2f",unitPrice * 1.1));//采购单价
-                                e.put("numberField_ludokwa9",String.format("%.2f", unitPrice * 1.1 * scbqr));//采购金额小计
-                                sum[1] = sum[1] + scbqr * unitPrice * 1.1;
-                                e.put("numberField_lv1qokdj",String.format("%.2f", unitPrice/(1+fax/100)));
+                    });
+                }
+                List<Map> sonNoList = (List<Map>) formData.get("tableField_ludqgh1w");
+                if (ObjectUtil.isNotNull(sonNoList) && sonNoList.size()>0){
+                    sonNoList.forEach(e->{
+                        String code = e.get("textField_ludqgh1d").toString();
+                        if (ObjectUtil.isNotNull(code)){
+                            List<Map> businessList = ydService.queryFormData_all(YDParam.builder()
+                                    .appType("APP_ERBDTFS82HOVBPL3NFH0")
+                                    .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
+                                    .formUuid("FORM-84AFCA01E1C24216BD46DC13FB3A82D4B4ZB")
+                                    .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_ltxqbvzu, selectField_ltxy8wyr, selectField_ltxqfrj8", code,"启用",area)))
+                                    .build());
+                            if (businessList.size()>=2){
+                                businessList = businessList.stream().filter(map -> !"临时采购".equals(map.get("textField_ludp2v7i"))).collect(Collectors.toList());
+                            }
+                            if(ObjectUtil.isNotNull(businessList) && businessList.size()>0){
+                                if (ObjectUtil.isNotNull(businessList.get(0).get("numberField_ltxqbvzz"))){
+                                    double fax = Double.parseDouble(businessList.get(0).get("numberField_ltxqbw00").toString());//税率
+                                    e.put("numberField_ludqgh1n",fax);
+                                    Double unitPrice = Double.parseDouble(businessList.get(0).get("numberField_ltxqbvzz").toString());//供应商价目
+                                    e.put("numberField_ludqgh1m",unitPrice);
+                                    e.put("selectField_lv4tq48p",businessList.get(0).get("selectField_ltxqfrj8") + "区 ¥" + businessList.get(0).get("numberField_ltxqbvzz") + " " + businessList.get(0).get("textField_ludp2v7i"));
+                                    Double scbqr = Double.parseDouble(e.get("numberField_lvaft824") == null|| e.get("numberField_lvaft824").toString().isEmpty() ? "0.0" :e.get("numberField_lvaft824").toString());//市场部确认
+                                    Double qgs = Double.parseDouble(e.get("numberField_ludqgh1j") == null|| e.get("numberField_ludqgh1j").toString().isEmpty() ? "0.0" :e.get("numberField_ludqgh1j").toString());//请购数
+                                    Double kcjyl = Double.parseDouble(e.get("numberField_ludqgh1q") == null|| e.get("numberField_ludqgh1q").toString().isEmpty() ? "0.0" :e.get("numberField_ludqgh1q").toString());//库存建议量
+                                    e.put("numberField_ludqgh1s",String.format("%.2f",unitPrice * 1.1));//采购单价
+                                    if (e.get("numberField_lvaft824") == null|| e.get("numberField_lvaft824").toString().isEmpty()){
+                                        e.put("numberField_ludqgh1t",String.format("%.2f", unitPrice * 1.1 * qgs));//采购金额小计
+                                        e.put("numberField_ludqgh1o",String.format("%.8f", qgs * unitPrice));//实际金额小计
+                                        sum[1] = sum[1] + qgs * unitPrice * 1.1;
+                                        sum[3] = sum[3] + qgs * unitPrice;
+
+                                    }else {
+                                        e.put("numberField_ludqgh1t",String.format("%.2f", unitPrice * 1.1 * scbqr));//采购金额小计
+                                        e.put("numberField_ludqgh1o",String.format("%.8f", scbqr * unitPrice));//实际金额小计
+                                        sum[1] = sum[1] + scbqr * unitPrice * 1.1;
+                                        sum[3] = sum[3] + scbqr * unitPrice;
+                                    }
+                                    e.put("numberField_lv1qokdk",String.format("%.2f", unitPrice/(1+fax/100)));
+                                    e.put("numberField_lxd0y352",unitPrice * kcjyl);
+                                }
                             }
                             }
                         }
                         }
-                    }
-                });
-                System.out.println(sum);
-                ydClient.operateData(YDParam.builder()
-                        .appType("APP_ERBDTFS82HOVBPL3NFH0")
-                        .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
-                        .formInstanceId(formInstId)
-                        .updateFormDataJson(JSON.toJSONString(UtilMap.map("numberField_lwk4dwfe, numberField_lr383i48, tableField_lr383i4g",String.format("%.2f", sum[0]),String.format("%.2f", sum[1]),sonList)))
-                        .build(), YDConf.FORM_OPERATION.update);
-            }
+                    });
+                }
+            ydClient.operateData(YDParam.builder()
+                    .appType("APP_ERBDTFS82HOVBPL3NFH0")
+                    .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
+                    .formInstanceId(formInstId)
+                    .updateFormDataJson(JSON.toJSONString(UtilMap.map("numberField_lr383i4a, numberField_lr383i48, tableField_ludqgh1w, tableField_lr383i4g, numberField_lwk4dwfe, numberField_lwk4dwfg, numberField_lwk4dwfi",
+                            String.format("%.2f", sum[1]),String.format("%.2f", sum[0]),sonNoList,sonList,sum[2],sum[3],sum[2]+sum[3])))
+                    .build(), YDConf.FORM_OPERATION.update);
         }
         }
     }
     }