|
|
@@ -20,6 +20,7 @@ import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
|
@@ -297,8 +298,8 @@ public class YidaServiceImpl implements YidaService {
|
|
|
List<UtilMap.assDetail> supplierBuyerDataAssSupplier; //【供应商跟单员档案】关联表单【供应商】,旧变量名 -> gys
|
|
|
String numOfSets; //工厂采购数量
|
|
|
int allSupplyNum; //总采购数量
|
|
|
- double unitPrice; //单价
|
|
|
- double subTotal; //小计金额
|
|
|
+ BigDecimal unitPrice; //单价
|
|
|
+ BigDecimal subTotal; //小计金额
|
|
|
for(String projectPhase : projectPhaseList){ //遍历项目包含阶段,旧变量名 -> jd
|
|
|
log.info("项目阶段:"+projectPhase);
|
|
|
if(partsTaskPhaseList.contains(projectPhase)){
|
|
|
@@ -338,11 +339,13 @@ public class YidaServiceImpl implements YidaService {
|
|
|
partsRecordNew.put("numberField_mmmwu4ci",0); //总采购数量(废弃)
|
|
|
partsRecordNew.put("numberField_mifp03el",allSupplyNum); //工厂采购数量
|
|
|
//计算小计金额
|
|
|
- if(partsRecord.get("numberField_me2f7tw0")!=null && StringUtils.isNotEmpty(partsRecord.get("numberField_mifp03el").toString().trim())){
|
|
|
- unitPrice = Double.parseDouble(partsRecord.get("numberField_me2f7tw0").toString()); //单价
|
|
|
- subTotal = unitPrice*allSupplyNum;
|
|
|
- partsRecordNew.put("numberField_mifp03ey", NumberUtil.decimalFormatMoney(subTotal)); //小计金额
|
|
|
+ if(partsRecord.get("numberField_me2f7tw0")!=null && StringUtils.isNotEmpty(partsRecord.get("numberField_me2f7tw0").toString().trim())){
|
|
|
+ unitPrice = new BigDecimal(partsRecord.get("numberField_me2f7tw0").toString().trim()); //单价
|
|
|
+ subTotal = unitPrice.multiply(BigDecimal.valueOf(allSupplyNum));
|
|
|
+ partsRecordNew.put("numberField_mifp03ey", subTotal); //小计金额
|
|
|
}
|
|
|
+ System.out.println("系列:"+UtilMap.getString(partsRecordNew,"textField_mpcf6yu2")+",语言:"+UtilMap.getString(partsRecordNew,"textField_mjr129o4")+",配件:"+UtilMap.getString(partsRecordNew,"textField_mecmytpr")
|
|
|
+ +",工厂采购数量:"+allSupplyNum+",单价:"+partsRecord.get("numberField_me2f7tw0").toString().trim()+",小计金额:"+UtilMap.getString(partsRecordNew,"numberField_mifp03ey"));
|
|
|
partsTaskSubDataNew.add(partsRecordNew);
|
|
|
} else{
|
|
|
if("大货样".equals(projectPhase)){
|
|
|
@@ -358,12 +361,8 @@ public class YidaServiceImpl implements YidaService {
|
|
|
partsRecordNew.put("numberField_mmmwu4cg",0); //研发部订单需求数量
|
|
|
partsRecordNew.put("numberField_mmmwu4ci",0); //总采购数量(废弃)
|
|
|
partsRecordNew.put("numberField_mifp03el", sampleNum); //工厂采购数量
|
|
|
- //计算小计金额
|
|
|
- if(partsRecord.get("numberField_me2f7tw0")!=null && StringUtils.isNotEmpty(partsRecord.get("numberField_mifp03el").toString().trim())){
|
|
|
- unitPrice = Double.parseDouble(partsRecord.get("numberField_me2f7tw0").toString()); //单价
|
|
|
- subTotal = unitPrice*sampleNum;
|
|
|
- partsRecordNew.put("numberField_mifp03ey", NumberUtil.decimalFormatMoney(subTotal)); //小计金额
|
|
|
- }
|
|
|
+ partsRecordNew.put("numberField_me2f7tw0", 0); //单价
|
|
|
+ partsRecordNew.put("numberField_mifp03ey", 0); //小计金额
|
|
|
partsTaskSubDataNew.add(partsRecordNew);
|
|
|
}
|
|
|
}
|
|
|
@@ -486,6 +485,37 @@ public class YidaServiceImpl implements YidaService {
|
|
|
);
|
|
|
}
|
|
|
|
|
|
+ /*
|
|
|
+ 新增【PSS系列】记录
|
|
|
+ */
|
|
|
+ Map<String,String> pssSeriesMap = new HashMap<>();
|
|
|
+ for(Map projectSubRecordLang : projectSubDataLang){
|
|
|
+ nameSeries = UtilMap.getString(projectSubRecordLang,"textField_mn6vamof"); //系列
|
|
|
+ codeSeries = UtilMap.getString(projectSubRecordLang,"textField_mn6vamog"); //系列编号
|
|
|
+ if (!pssSeriesMap.containsKey(nameSeries)) {
|
|
|
+ pssSeriesMap.put(nameSeries, codeSeries);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map projectPssSeriesMap;
|
|
|
+ for(String seriesName : pssSeriesMap.keySet()){
|
|
|
+ projectPssSeriesMap = UtilMap.map(
|
|
|
+ "textField_mpdet3xr, " + //项目编号(立项流程)
|
|
|
+ "textField_mpdet3xs, " + //系列
|
|
|
+ "textField_mpdey1no", //系列编号
|
|
|
+ projectCode,
|
|
|
+ seriesName,
|
|
|
+ pssSeriesMap.get(seriesName)
|
|
|
+ );
|
|
|
+ log.info("新增【PSS系列】记录:"+ JSONObject.toJSONString(projectPssSeriesMap));
|
|
|
+ ydClient.operateData(
|
|
|
+ YDParam.builder()
|
|
|
+ .formUuid(EastarParam.YD_FORMUUID_PSS_SERIES)
|
|
|
+ .formDataJson(JSONObject.toJSONString(projectPssSeriesMap))
|
|
|
+ .build(),
|
|
|
+ YDConf.FORM_OPERATION.create
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
return Collections.emptyMap();
|
|
|
}
|
|
|
@@ -580,6 +610,7 @@ public class YidaServiceImpl implements YidaService {
|
|
|
"textField_mizvc5oj, " + //任务表明细实例标识
|
|
|
"textField_mpcf6yu2, " + //系列
|
|
|
"textField_mjr129o4, " + //语言
|
|
|
+ "radioField_mpm9k87c, " + //配件共用信息
|
|
|
"numberField_me2f7tw0", //单价
|
|
|
partsName,
|
|
|
UtilMap.getString(projectSubRecordParts,"selectField_mizsccds"),
|
|
|
@@ -593,7 +624,8 @@ public class YidaServiceImpl implements YidaService {
|
|
|
"~",
|
|
|
UtilMap.getString(projectSubRecordParts,"selectField_me2f7tw4"),
|
|
|
nameLang,
|
|
|
- UtilMap.getString(orderSubRecordLang, "numberField_mkf4bc4j") //货值单价
|
|
|
+ UtilMap.getString(projectSubRecordParts,"radioField_me2f7tvw"), //配件共用信息
|
|
|
+ UtilMap.getString(projectSubRecordParts,"numberField_mpqc5tmf") //大货供应商单价
|
|
|
)
|
|
|
);
|
|
|
partsRecordList.add(partsRecord);
|
|
|
@@ -655,6 +687,7 @@ public class YidaServiceImpl implements YidaService {
|
|
|
allSupplyNum = Integer.parseInt(numOfSets); //总采购数量=工厂采购数量
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
partsRecord = UtilMap.map(
|
|
|
"textField_mecmytpr, " + //配件名称
|
|
|
"textField_mifp03eo, " + //SKU编号
|
|
|
@@ -664,7 +697,9 @@ public class YidaServiceImpl implements YidaService {
|
|
|
"numberField_mkosp94h, " + //客户订单数量
|
|
|
"numberField_mmmwu4cg, " + //研发部订单需求数量
|
|
|
"numberField_mmmwu4ci, " + //总采购数量(废弃)
|
|
|
- "numberField_mifp03el", //工厂采购数量
|
|
|
+ "numberField_mifp03el, "+ //工厂采购数量
|
|
|
+ "numberField_me2f7tw0, "+ //单价
|
|
|
+ "numberField_mifp03ey", //小计金额
|
|
|
UtilMap.getString(orderSubRecordLang, "textField_mizmmf8k"), //成品名称
|
|
|
UtilMap.getString(orderSubRecordLang, "textField_mizmmf8j"), //成品编号
|
|
|
UtilMap.getString(orderSubRecordLang, "textField_meqqj4wb"), //语言
|
|
|
@@ -673,8 +708,12 @@ public class YidaServiceImpl implements YidaService {
|
|
|
numOfSets,
|
|
|
devNum, //研发部订单需求数量
|
|
|
0, //总采购数量(废弃)
|
|
|
- allSupplyNum //工厂采购数量
|
|
|
+ allSupplyNum, //工厂采购数量
|
|
|
+ 0, //单价
|
|
|
+ 0 //小计金额
|
|
|
);
|
|
|
+
|
|
|
+
|
|
|
partsRecordListBySupplier.computeIfAbsent(supplier, k -> new ArrayList<>()).add(partsRecord);
|
|
|
}
|
|
|
List<String> ssUserId = (List<String>) UtilMap.getList(projectData, "employeeField_me2hyld9_id"); // 业务员 userid
|