|
@@ -1,6 +1,7 @@
|
|
|
package com.malk.lanyun.service.impl;
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
+import cn.hutool.core.date.LocalDateTimeUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
@@ -31,6 +32,7 @@ import java.sql.DriverManager;
|
|
|
import java.sql.PreparedStatement;
|
|
|
import java.text.DecimalFormat;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
+import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -76,6 +78,7 @@ public class TimerServiceImpl implements TimerService {
|
|
|
*/
|
|
|
@Override
|
|
|
public String updateYuedudinge() {
|
|
|
+ String format = LocalDateTimeUtil.format(LocalDate.now(), "yyyy-MM");
|
|
|
//获取上月时间戳
|
|
|
long lastMonth = DateUtil.beginOfMonth(DateUtil.lastMonth()).getTime();
|
|
|
List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
|
|
@@ -87,66 +90,67 @@ public class TimerServiceImpl implements TimerService {
|
|
|
log.info("项目点数据, {}", dataList.size());
|
|
|
dataList.forEach(formData -> {
|
|
|
// if("PM00411".equals(UtilMap.getString(formData, "textField_ltxrn8h1"))){
|
|
|
-
|
|
|
- //获取撤场时间
|
|
|
- Long withdrawalTime = formData.get("dateField_lzaqu26p")==null?null:DateUtil.beginOfMonth(DateUtil.date(Long.parseLong(formData.get("dateField_lzaqu26p").toString()))).getTime();
|
|
|
- if (UtilMap.getString(formData, "selectField_lrn2oy4a").equals("进行中") || (ObjectUtil.isNotNull(withdrawalTime) && lastMonth == withdrawalTime)){
|
|
|
- List<Map> details = UtilMap.getList(formData, "tableField_lrru2tnq");
|
|
|
+ if(!format.equals(UtilMap.getString(formData, "textField_m9uqfoyl"))){
|
|
|
+ //获取撤场时间
|
|
|
+ Long withdrawalTime = formData.get("dateField_lzaqu26p")==null?null:DateUtil.beginOfMonth(DateUtil.date(Long.parseLong(formData.get("dateField_lzaqu26p").toString()))).getTime();
|
|
|
+ if (UtilMap.getString(formData, "selectField_lrn2oy4a").equals("进行中") || (ObjectUtil.isNotNull(withdrawalTime) && lastMonth == withdrawalTime)){
|
|
|
+ List<Map> details = UtilMap.getList(formData, "tableField_lrru2tnq");
|
|
|
// details = details.stream().filter(item -> UtilMap.isNotBlankString(item, "dateField_lrru2tnr")).collect(Collectors.toList());
|
|
|
- // 数据格式化
|
|
|
+ // 数据格式化
|
|
|
// details.forEach(row -> {
|
|
|
// row.put("textField_luh0k82j", UtilDateTime.format(new Date(UtilMap.getLong(row, "dateField_lrru2tnr")), "yyyy-MM"));
|
|
|
// }
|
|
|
// });
|
|
|
// Collections.sort(details, Comparator.comparingLong(o -> UtilMap.getLong(o, "dateField_lrru2tnr")));
|
|
|
|
|
|
- // 查找当月数据
|
|
|
- LocalDateTime currentDate = UtilDateTime.firstDayOfLastMonth(LocalDateTime.now());
|
|
|
+ // 查找当月数据
|
|
|
+ LocalDateTime currentDate = UtilDateTime.firstDayOfLastMonth(LocalDateTime.now());
|
|
|
// LocalDateTime currentDate = UtilDateTime.parseLocalDateTime("2024-07-01 00:00:00");
|
|
|
|
|
|
- try {
|
|
|
- Optional optional = details.stream().filter(item -> UtilDateTime.getLocalDateTimeTimeStamp(currentDate) == UtilMap.getLong(item, "dateField_lrru2tnr") || (currentDate.getYear() +"-"+ String.format("%02d", currentDate.getMonthValue())).equals(UtilMap.getString(item,"textField_luh0k82j"))).findAny();
|
|
|
- log.info("上个月数据, {}, {}", currentDate, optional);
|
|
|
- if (!optional.isPresent() || UtilMap.getFloat((Map) optional.get(), "numberField_lrru2tnz") == 0f) {
|
|
|
- return;
|
|
|
- }
|
|
|
+ try {
|
|
|
+ Optional optional = details.stream().filter(item -> UtilDateTime.getLocalDateTimeTimeStamp(currentDate) == UtilMap.getLong(item, "dateField_lrru2tnr") || (currentDate.getYear() +"-"+ String.format("%02d", currentDate.getMonthValue())).equals(UtilMap.getString(item,"textField_luh0k82j"))).findAny();
|
|
|
+ log.info("上个月数据, {}, {}", currentDate, optional);
|
|
|
+ if (!optional.isPresent() || UtilMap.getFloat((Map) optional.get(), "numberField_lrru2tnz") == 0f) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
- LocalDateTime lastMonthDate = UtilDateTime.firstDayOfLastMonth(currentDate);
|
|
|
+ LocalDateTime lastMonthDate = UtilDateTime.firstDayOfLastMonth(currentDate);
|
|
|
// LocalDateTime lastMonthDate = UtilDateTime.parseLocalDateTime("2024-06-01 00:00:00");
|
|
|
- Map currentRow = (Map) optional.get();
|
|
|
- optional = details.stream().filter(item -> UtilDateTime.getLocalDateTimeTimeStamp(lastMonthDate) == UtilMap.getLong(item, "dateField_lrru2tnr") || (currentDate.getYear() +"-"+ String.format("%02d", currentDate.getMonthValue())).equals(UtilMap.getString(item,"textField_luh0k82j"))).findAny();
|
|
|
- log.info("上上月数据, {}, {}", lastMonthDate, optional);
|
|
|
-
|
|
|
- float price;
|
|
|
- if (!optional.isPresent() || UtilMap.getFloat((Map) optional.get(), "numberField_lrru2tnz") == 0f) {
|
|
|
- price = UtilMap.getFloat(currentRow, "numberField_lrru2tns");
|
|
|
- currentRow.put("numberField_lrru2tnz", price); // 取本月收入定额
|
|
|
- } else {
|
|
|
- price = UtilMap.getFloat((Map) optional.get(), "numberField_lrru2tnz");
|
|
|
- currentRow.put("numberField_lrru2tnz", price); // 取上月收入预估
|
|
|
- }
|
|
|
- //明细合计
|
|
|
- currentRow.put("numberField_lryopn7o", UtilMap.getFloat(currentRow, "numberField_lrru2tnz") + UtilMap.getFloat(currentRow, "numberField_lrru2to0") + UtilMap.getFloat(currentRow, "numberField_lrru2to1"));
|
|
|
- currentRow.put("numberField_m1hhyqiv", UtilMap.getFloat(currentRow, "numberField_lrru2tnz") + UtilMap.getFloat(currentRow, "numberField_lrru2to0") + UtilMap.getFloat(currentRow, "numberField_lrru2to1"));
|
|
|
+ Map currentRow = (Map) optional.get();
|
|
|
+ optional = details.stream().filter(item -> UtilDateTime.getLocalDateTimeTimeStamp(lastMonthDate) == UtilMap.getLong(item, "dateField_lrru2tnr") || (currentDate.getYear() +"-"+ String.format("%02d", currentDate.getMonthValue())).equals(UtilMap.getString(item,"textField_luh0k82j"))).findAny();
|
|
|
+ log.info("上上月数据, {}, {}", lastMonthDate, optional);
|
|
|
+
|
|
|
+ float price;
|
|
|
+ if (!optional.isPresent() || UtilMap.getFloat((Map) optional.get(), "numberField_lrru2tnz") == 0f) {
|
|
|
+ price = UtilMap.getFloat(currentRow, "numberField_lrru2tns");
|
|
|
+ currentRow.put("numberField_lrru2tnz", price); // 取本月收入定额
|
|
|
+ } else {
|
|
|
+ price = UtilMap.getFloat((Map) optional.get(), "numberField_lrru2tnz");
|
|
|
+ currentRow.put("numberField_lrru2tnz", price); // 取上月收入预估
|
|
|
+ }
|
|
|
+ //明细合计
|
|
|
+ currentRow.put("numberField_lryopn7o", UtilMap.getFloat(currentRow, "numberField_lrru2tnz") + UtilMap.getFloat(currentRow, "numberField_lrru2to0") + UtilMap.getFloat(currentRow, "numberField_lrru2to1"));
|
|
|
+ currentRow.put("numberField_m1hhyqiv", UtilMap.getFloat(currentRow, "numberField_lrru2tnz") + UtilMap.getFloat(currentRow, "numberField_lrru2to0") + UtilMap.getFloat(currentRow, "numberField_lrru2to1"));
|
|
|
|
|
|
- price += UtilMap.getFloat(formData, "numberField_lutjev0u");
|
|
|
- log.info("price, {}", price);
|
|
|
+ price += UtilMap.getFloat(formData, "numberField_lutjev0u");
|
|
|
+ log.info("price, {}", price);
|
|
|
|
|
|
- System.out.println("更新内容:" + JSON.toJSONString(UtilMap.map("tableField_lrru2tnq, numberField_lutjev0u", details, price)));
|
|
|
- // 合计初始化
|
|
|
+ System.out.println("更新内容:" + JSON.toJSONString(UtilMap.map("tableField_lrru2tnq, numberField_lutjev0u", details, price)));
|
|
|
+ // 合计初始化
|
|
|
// price = details.stream().map(item -> UtilMap.getFloat(item, "numberField_lrru2tnz")).collect(Collectors.toList()).stream().reduce(0f, (acc, cur) -> acc + cur);
|
|
|
- ydClient.operateData(YDParam.builder()
|
|
|
- .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
- .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
- .formInstanceId(UtilMap.getString(formData, "formInstanceId"))
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
+ .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
+ .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
+ .formInstanceId(UtilMap.getString(formData, "formInstanceId"))
|
|
|
// .useLatestVersion(true)
|
|
|
- .updateFormDataJson(JSON.toJSONString(UtilMap.map("tableField_lrru2tnq, numberField_lutjev0u", details, price)))
|
|
|
- .build(), YDConf.FORM_OPERATION.update);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
+ .updateFormDataJson(JSON.toJSONString(UtilMap.map("tableField_lrru2tnq, numberField_lutjev0u, textField_m9uqfoyl", details, price, format)))
|
|
|
+ .build(), YDConf.FORM_OPERATION.update);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
// }
|
|
|
+ }
|
|
|
|
|
|
});
|
|
|
|
|
@@ -392,7 +396,7 @@ public class TimerServiceImpl implements TimerService {
|
|
|
.systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
.formUuid("FORM-A4B37CFEB8524947939C00523373532BT3TH")
|
|
|
.formDataJson(JSON.toJSONString(UtilMap.map("dateField_ls2u8mbv, departmentSelectField_ls2u8mbw, employeeField_ls2u8mbx, tableField_ls2u8mc6, associationFormField_ls2u8mcb, dateField_ls1ky8c5, employeeField_ls1ky8c3",
|
|
|
- beginTime,department,header,tableList,jsonArray,sendTime,YDConf.PUB_ACCOUNT)))
|
|
|
+ beginTime,department,header,tableList,jsonArray,sendTime,"026150181237-1254068060")))
|
|
|
.build(), YDConf.FORM_OPERATION.start);
|
|
|
});
|
|
|
}
|
|
@@ -1167,99 +1171,106 @@ public class TimerServiceImpl implements TimerService {
|
|
|
if (ObjectUtil.isNotNull(formData)){
|
|
|
String area = ObjectUtil.isNotNull(formData.get("selectField_lrn2oy4b"))?formData.get("selectField_lrn2oy4b").toString():"";
|
|
|
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);
|
|
|
+ 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) && 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_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);
|
|
|
+ if (!ObjectUtil.isNotNull(e.get("textField_ludq7er4"))){
|
|
|
+ e.put("textField_ludq7er4","6038646631836291_"+LocalDateTimeUtil.format(LocalDateTime.now(), "yyyyMMddHHmmssS"));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- });
|
|
|
- }
|
|
|
- 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);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ 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);
|
|
|
+ if (!ObjectUtil.isNotNull(e.get("textField_ludqgh1u"))){
|
|
|
+ e.put("textField_ludqgh1u","6038646631836291_"+LocalDateTimeUtil.format(LocalDateTime.now(), "yyyyMMddHHmmssS"));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- });
|
|
|
- }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
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])))
|
|
|
+ .updateFormDataJson(JSON.toJSONString(UtilMap.map("numberField_lr383i4a, numberField_lr383i48, tableField_ludqgh1w, tableField_lr383i4g, numberField_lwk4dwfe, numberField_lwk4dwfg, numberField_lwk4dwfi, numberField_lr383i4c",
|
|
|
+ String.format("%.2f", sum[1]),String.format("%.2f", sum[0]),sonNoList,sonList,sum[2],sum[3],sum[2]+sum[3],sum[1]+sum[0])))
|
|
|
.build(), YDConf.FORM_OPERATION.update);
|
|
|
}
|
|
|
}
|