|
@@ -359,6 +359,7 @@ public class KKLImplService implements KKLService {
|
|
|
* 物料档案: 价格调整
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Async
|
|
|
public void adjustCost(Map data) {
|
|
|
|
|
|
double cost1 = UtilMap.getDouble(data, "costPrice");
|
|
@@ -384,13 +385,21 @@ public class KKLImplService implements KKLService {
|
|
|
|
|
|
Map<String,Integer> resultValue=new HashMap(); // 项目编号:下标
|
|
|
for (int i = 0; i < dataList.size(); i++) {
|
|
|
- resultValue.put(String.valueOf(dataList.get(i).get("textField_llm1vtjm")),i);
|
|
|
+ resultValue.putIfAbsent(String.valueOf(dataList.get(i).get("textField_llm1vtjm")),i);
|
|
|
}
|
|
|
+
|
|
|
+ // 中间表不存在数据,新增数据
|
|
|
+ List<Map> goodList = ydService.queryFormData_all(YDParam.builder()
|
|
|
+ .formUuid("FORM-12EB6BCE3C264630824721E7BBABCC03L8U9")
|
|
|
+ .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_llkb7kd2", data.get("itemNumber"))))
|
|
|
+ .build());
|
|
|
+ Map goodMap = goodList.get(0);
|
|
|
+
|
|
|
List<Map> djdList = ydService.queryFormData_all(YDParam.builder() // 定价单数据
|
|
|
.formUuid("FORM-W2A66Z91B4KDWDIAA7SI1BRBRTKM3XL87BKLL0")
|
|
|
.searchFieldJson(JSONObject.toJSONString(Arrays.asList(new YDSearch("textField_llzzbai8",supId,"供应商编号", YDSearch.Type.TEXT_FIELD,YDSearch.Operator.EQ))))//精准匹配
|
|
|
.build());
|
|
|
-
|
|
|
+ List<String> yclData=new ArrayList<>();
|
|
|
djdList.forEach(dataItem -> {
|
|
|
List<Map> mapList = (List<Map>) dataItem.get("tableField_llq74mwk");
|
|
|
if(mapList.size()==50){
|
|
@@ -406,24 +415,23 @@ public class KKLImplService implements KKLService {
|
|
|
if(resultValue.containsKey(projectId)){
|
|
|
// 中间表存在数据,更新数据
|
|
|
Map record=dataList.get(resultValue.get(projectId));
|
|
|
- double rate = UtilMap.getDouble(record, "numberField_llkb7kcy");
|
|
|
- double rate2 = UtilMap.getDouble(record, "numberField_lpalgz04");
|
|
|
+ yclData.add(String.valueOf(record.get("formInstanceId")));
|
|
|
+// double rate = UtilMap.getDouble(record, "numberField_llkb7kcy");
|
|
|
+// double rate2 = UtilMap.getDouble(record, "numberField_lpalgz04");
|
|
|
+ double rate = UtilMap.getDouble(maps.get(0), "numberField_llq74mwm"); //本周费率
|
|
|
+ double rate2 = UtilMap.getDouble(maps.get(0), "numberField_lpplr3im"); //下周费率
|
|
|
double price1 = UtilNumber.formatPrecisionValue(cost1 * (rate + 100) / 100f);
|
|
|
double price2 = UtilNumber.formatPrecisionValue(cost2 * (100 + rate2) / 100f);
|
|
|
String state= cost6.equals("已启用") && Long.parseLong(cost3) > UtilDateTime.getLocalDateTimeTimeStamp()?"已启用":"已停用";
|
|
|
- Map update = UtilMap.map("numberField_llkknd6h, numberField_lpalgz0a, selectField_llkb7kd5, selectField_llkk6cms", price1, price2, typeOne, typeTwo);
|
|
|
+ Map update = UtilMap.map("numberField_llkknd6h, numberField_lpalgz0a, selectField_llkb7kd5, selectField_llkk6cms, numberField_llkb7kcy, numberField_lpalgz04", price1, price2, typeOne, typeTwo, rate, rate2);
|
|
|
update.putAll(UtilMap.map("numberField_llkknd6g, numberField_lpalgz05, dateField_lm4lxur7, numberField_lnrzzg03, textField_lnrzzg04, textField_lm4lxur8", cost1, cost2, cost3, cost4, cost5,state ));
|
|
|
+ update.put("textField_llkb7kd3",goodMap.get("textField_llkb7kd3")); //单位
|
|
|
+ update.put("textField_llkb7kd4",goodMap.get("textField_llkb7kd4")); //规格
|
|
|
ydClient.operateData(YDParam.builder()
|
|
|
.formInstanceId(String.valueOf(record.get("formInstanceId")))
|
|
|
.updateFormDataJson(JSON.toJSONString(update))
|
|
|
.build(), YDConf.FORM_OPERATION.update);
|
|
|
}else{
|
|
|
- // 中间表不存在数据,新增数据
|
|
|
- List<Map> goodList = ydService.queryFormData_all(YDParam.builder()
|
|
|
- .formUuid("FORM-12EB6BCE3C264630824721E7BBABCC03L8U9")
|
|
|
- .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_llkb7kd2", data.get("itemNumber"))))
|
|
|
- .build());
|
|
|
- Map goodMap = goodList.get(0);
|
|
|
Map hashMap = new HashMap();
|
|
|
hashMap.put("textField_llzzbyj1",supId); //供应商编号
|
|
|
hashMap.put("textField_lmsli3bq",dataItem.get("textField_lmsli3bq")); //供应商名称
|
|
@@ -464,17 +472,22 @@ public class KKLImplService implements KKLService {
|
|
|
}
|
|
|
}else{
|
|
|
// 不存在
|
|
|
- if(resultValue.containsKey(projectId)){
|
|
|
- // 明细表存在数据,更新为 已停用
|
|
|
- Map record=dataList.get(resultValue.get(projectId));
|
|
|
- Map update = UtilMap.map("textField_lm4lxur8", "已停用");
|
|
|
- ydClient.operateData(YDParam.builder()
|
|
|
- .formInstanceId(String.valueOf(record.get("formInstanceId")))
|
|
|
- .updateFormDataJson(JSON.toJSONString(update))
|
|
|
- .build(), YDConf.FORM_OPERATION.update);
|
|
|
- }
|
|
|
+// if(resultValue.containsKey(projectId)){
|
|
|
+//
|
|
|
+// }
|
|
|
}
|
|
|
});
|
|
|
+ for (Map record : dataList) {
|
|
|
+ if(yclData.contains(String.valueOf(record.get("formInstanceId")))){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ // 明细表存在数据,更新为 已停用
|
|
|
+ Map update = UtilMap.map("textField_lm4lxur8", "已停用");
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
+ .formInstanceId(String.valueOf(record.get("formInstanceId")))
|
|
|
+ .updateFormDataJson(JSON.toJSONString(update))
|
|
|
+ .build(), YDConf.FORM_OPERATION.update);
|
|
|
+ }
|
|
|
|
|
|
// for (Map record : dataList) {
|
|
|
//// if (cost1 == UtilMap.getDouble(record, "numberField_llkknd6g") && cost2 == UtilMap.getDouble(record, "numberField_lpalgz05")) {
|
|
@@ -590,41 +603,62 @@ public class KKLImplService implements KKLService {
|
|
|
@Override
|
|
|
@SneakyThrows
|
|
|
public void syncPrice() {
|
|
|
-
|
|
|
- // 定价单明细表
|
|
|
- List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
|
|
|
- .formUuid("FORM-E6766M811CKD2PIXEAKOM9S2DKBM2PBQU1MLL5")
|
|
|
+ // 项目表
|
|
|
+ List<Map> djdList = ydService.queryFormData_all(YDParam.builder()
|
|
|
+ .formUuid("FORM-MP966K81PGGD51ZUEU29Q6YVKSOE3SDK29KLL9")
|
|
|
.build());
|
|
|
- for (Map record : dataList) {
|
|
|
-
|
|
|
- double price1 = UtilMap.getDouble(record, "numberField_llkknd6h");
|
|
|
- double price2 = UtilMap.getDouble(record, "numberField_lpalgz0a");
|
|
|
- if (price1 == price2) {
|
|
|
- continue;
|
|
|
+ for (Map djdInfo:djdList){
|
|
|
+ log.info("同步定价单明细表,项目:{}",djdInfo.get("serialNumberField_llk93psu"));
|
|
|
+ // 定价单明细表
|
|
|
+ List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
|
|
|
+ .formUuid("FORM-E6766M811CKD2PIXEAKOM9S2DKBM2PBQU1MLL5")
|
|
|
+ .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_llm1vtjm", djdInfo.get("serialNumberField_llk93psu"))))
|
|
|
+ .build());
|
|
|
+ int i=1;
|
|
|
+ for (Map record : dataList) {
|
|
|
+ log.info("{}项目进度:{}/{}",djdInfo.get("serialNumberField_llk93psu"),i,dataList.size());
|
|
|
+ i++;
|
|
|
+ double price1 = UtilMap.getDouble(record, "numberField_llkknd6h");
|
|
|
+ double price2 = UtilMap.getDouble(record, "numberField_lpalgz0a");
|
|
|
+ if (price1 == price2) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ log.info("有不同,");
|
|
|
+ // 本质上是对比供货价差异, 下周全覆盖
|
|
|
+ Map update = UtilMap.map("numberField_llkknd6h, numberField_llkb7kcy, numberField_llkknd6g", price2, record.get("numberField_lpalgz04"), record.get("numberField_lpalgz05"));
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
+ .formInstanceId(String.valueOf(record.get("formInstanceId")))
|
|
|
+ .updateFormDataJson(JSON.toJSONString(update))
|
|
|
+ .build(), YDConf.FORM_OPERATION.update);
|
|
|
}
|
|
|
- // 本质上是对比供货价差异, 下周全覆盖
|
|
|
- Map update = UtilMap.map("numberField_llkknd6h, numberField_llkb7kcy, numberField_llkknd6g", price2, record.get("numberField_lpalgz04"), record.get("numberField_lpalgz05"));
|
|
|
- ydClient.operateData(YDParam.builder()
|
|
|
- .formInstanceId(String.valueOf(record.get("formInstanceId")))
|
|
|
- .updateFormDataJson(JSON.toJSONString(update))
|
|
|
- .build(), YDConf.FORM_OPERATION.update);
|
|
|
}
|
|
|
- // 供应商原材料表
|
|
|
- List<Map> dataList2 = ydService.queryFormData_all(YDParam.builder()
|
|
|
- .formUuid("FORM-12EB6BCE3C264630824721E7BBABCC03L8U9")
|
|
|
- .build());
|
|
|
- for (Map record : dataList2) {
|
|
|
|
|
|
- double cost1 = UtilMap.getDouble(record, "numberField_llkknd6g");
|
|
|
- double cost2 = UtilMap.getDouble(record, "numberField_lpalgz05");
|
|
|
- if (cost1 == cost2) {
|
|
|
- continue;
|
|
|
+ // 供应商表
|
|
|
+ List<Map> supList = ydService.queryFormData_all(YDParam.builder()
|
|
|
+ .formUuid("FORM-L8966281A3LDP5UX77OYM6LBPEUM3TODBOLLL0")
|
|
|
+ .build());
|
|
|
+ for (Map supInfo:supList){
|
|
|
+ log.info("同步供应商原材料表,项目:{}",supInfo.get("serialNumberField_lllodwgz"));
|
|
|
+ // 供应商原材料表
|
|
|
+ List<Map> dataList2 = ydService.queryFormData_all(YDParam.builder()
|
|
|
+ .formUuid("FORM-12EB6BCE3C264630824721E7BBABCC03L8U9")
|
|
|
+ .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_llzzbyj1", supInfo.get("serialNumberField_lllodwgz"))))
|
|
|
+ .build());
|
|
|
+ int i=0;
|
|
|
+ for (Map record : dataList2) {
|
|
|
+ log.info("{}项目进度:{}/{}",supInfo.get("serialNumberField_lllodwgz"),i,dataList2.size());
|
|
|
+ i++;
|
|
|
+ double cost1 = UtilMap.getDouble(record, "numberField_llkknd6g");
|
|
|
+ double cost2 = UtilMap.getDouble(record, "numberField_lpalgz05");
|
|
|
+ if (cost1 == cost2) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ Map update = UtilMap.map("numberField_llkknd6g", cost2);
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
+ .formInstanceId(String.valueOf(record.get("formInstanceId")))
|
|
|
+ .updateFormDataJson(JSON.toJSONString(update))
|
|
|
+ .build(), YDConf.FORM_OPERATION.update);
|
|
|
}
|
|
|
- Map update = UtilMap.map("numberField_llkknd6g", cost2);
|
|
|
- ydClient.operateData(YDParam.builder()
|
|
|
- .formInstanceId(String.valueOf(record.get("formInstanceId")))
|
|
|
- .updateFormDataJson(JSON.toJSONString(update))
|
|
|
- .build(), YDConf.FORM_OPERATION.update);
|
|
|
}
|
|
|
}
|
|
|
|