|
@@ -137,6 +137,16 @@ public class EastarTbServiceImpl implements EastarTbService {
|
|
|
}else {
|
|
}else {
|
|
|
tbProjectId = UtilMap.getString(UtilMap.getMap(recodList.get(0),"formData"),"textField_mecmytpo");
|
|
tbProjectId = UtilMap.getString(UtilMap.getMap(recodList.get(0),"formData"),"textField_mecmytpo");
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // 获取【立项/项目台账】子表单【语言版本 - 数量拆分】数据 add by Jason 20260320 start
|
|
|
|
|
+ List<Map> projectSubDataLang = ydService.queryDetails(
|
|
|
|
|
+ YDParam.builder()
|
|
|
|
|
+ .formInstanceId(formInstId)
|
|
|
|
|
+ .formUuid(EastarParam.YD_FORMUUID_PROJECT)
|
|
|
|
|
+ .tableFieldId("tableField_mn6vamoe").build()
|
|
|
|
|
+ );
|
|
|
|
|
+ // 获取【立项/项目台账】子表单【语言版本 - 数量拆分】数据 add by Jason 20260320 end
|
|
|
|
|
+
|
|
|
// 订单数据
|
|
// 订单数据
|
|
|
List<UtilMap.assDetail> projectOrder=UtilMap.getAssFieldValue(data,"associationFormField_me2hylda_id");
|
|
List<UtilMap.assDetail> projectOrder=UtilMap.getAssFieldValue(data,"associationFormField_me2hylda_id");
|
|
|
String orderFid= projectOrder.get(0).instanceId; // 项目任务类型
|
|
String orderFid= projectOrder.get(0).instanceId; // 项目任务类型
|
|
@@ -144,6 +154,7 @@ public class EastarTbServiceImpl implements EastarTbService {
|
|
|
List<Map> orderLangConf=UtilMap.getList(orderData,"tableField_meqqj4we");// 语言配置
|
|
List<Map> orderLangConf=UtilMap.getList(orderData,"tableField_meqqj4we");// 语言配置
|
|
|
List<Map> xlConf=UtilMap.getList(orderData,"tableField_mesc7nvj");// 系列源配置
|
|
List<Map> xlConf=UtilMap.getList(orderData,"tableField_mesc7nvj");// 系列源配置
|
|
|
|
|
|
|
|
|
|
+
|
|
|
// 子任务拆分数据
|
|
// 子任务拆分数据
|
|
|
List<Map> sonConfData= ydService.queryDetails(YDParam.builder().formInstanceId("FINST-X1B66Y81IUFY9U417XIUE99I8YV93HGMJ8WEMF").formUuid(EastarParam.YD_FORMUUID_SONCONF).tableFieldId("tableField_mew7d9f3").build());// 全品类配件表
|
|
List<Map> sonConfData= ydService.queryDetails(YDParam.builder().formInstanceId("FINST-X1B66Y81IUFY9U417XIUE99I8YV93HGMJ8WEMF").formUuid(EastarParam.YD_FORMUUID_SONCONF).tableFieldId("tableField_mew7d9f3").build());// 全品类配件表
|
|
|
Map<String,Map<String,List<String>>> sonConf= ConfigDataProcessor.processConfigData(sonConfData);
|
|
Map<String,Map<String,List<String>>> sonConf= ConfigDataProcessor.processConfigData(sonConfData);
|
|
@@ -224,24 +235,30 @@ public class EastarTbServiceImpl implements EastarTbService {
|
|
|
String sonScenariofieldconfigId=_getTaskType(tbProjectId,"配件-子任务");
|
|
String sonScenariofieldconfigId=_getTaskType(tbProjectId,"配件-子任务");
|
|
|
String tasklistId=_getTaskList(tbProjectId,orderType+"项目");
|
|
String tasklistId=_getTaskList(tbProjectId,orderType+"项目");
|
|
|
String stageId= tbTask.queryTaskStage(tbProjectId,tasklistId,"启动阶段");
|
|
String stageId= tbTask.queryTaskStage(tbProjectId,tasklistId,"启动阶段");
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ 获取系列语言与研发部订单需求数量映射
|
|
|
|
|
+ */
|
|
|
|
|
+ Map<String,String> seriesLangDevNumMap = new HashMap<>(); //系列与研发部订单需求数量映射数据 add by Jason 20260320
|
|
|
|
|
+ String nameSeries; //系列 add by Jason 20260320
|
|
|
|
|
+ String nameLang; //语言 add by Jason 20260326
|
|
|
|
|
+ String devNum; //研发部订单需求数量 add by Jason 20260320
|
|
|
|
|
+ for(Map projectSubRecordLang : projectSubDataLang) { //遍历【立项/项目台账】子表单【语言版本 - 数量拆分】数据
|
|
|
|
|
+ nameSeries = UtilMap.getString(projectSubRecordLang,"textField_mn6vamof"); //系列
|
|
|
|
|
+ nameLang = UtilMap.getString(projectSubRecordLang,"textField_mn6vamoh"); //语言
|
|
|
|
|
+ if(PublicUtil.isNull(nameLang)){
|
|
|
|
|
+ nameLang = "无";
|
|
|
|
|
+ }
|
|
|
|
|
+ devNum = UtilMap.getString(projectSubRecordLang,"numberField_mn6vamok"); //研发部订单需求数量
|
|
|
|
|
+ seriesLangDevNumMap.putIfAbsent(nameSeries + "_" + nameLang, devNum);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// 全品类任务生成
|
|
// 全品类任务生成
|
|
|
List<Map> table= ydService.queryDetails(YDParam.builder().formInstanceId(formInstId).formUuid(EastarParam.YD_FORMUUID_PROJECT).tableFieldId("tableField_mdy8x198").build());// 全品类配件表
|
|
List<Map> table= ydService.queryDetails(YDParam.builder().formInstanceId(formInstId).formUuid(EastarParam.YD_FORMUUID_PROJECT).tableFieldId("tableField_mdy8x198").build());// 全品类配件表
|
|
|
List<Map> recodTable = new ArrayList<>();
|
|
List<Map> recodTable = new ArrayList<>();
|
|
|
List<String> jds=UtilMap.getList(data,"checkboxField_me9n37rs");
|
|
List<String> jds=UtilMap.getList(data,"checkboxField_me9n37rs");
|
|
|
Map<String,List<Map>> gysOrderData=new HashMap<>(); // 采购需求数据 按照供应商拆分BOM
|
|
Map<String,List<Map>> gysOrderData=new HashMap<>(); // 采购需求数据 按照供应商拆分BOM
|
|
|
-
|
|
|
|
|
- Map<String,String> seriesDevNumMap = new HashMap<>(); //系列与研发部订单需求数量映射数据 add by Jason 20260320
|
|
|
|
|
- String nameSeries; //系列 add by Jason 20260320
|
|
|
|
|
- String devNum; //研发部订单需求数量 add by Jason 20260320
|
|
|
|
|
for(Map map:table){
|
|
for(Map map:table){
|
|
|
- //获取系列与研发部订单需求数量映射 add by Jason 20260320 start
|
|
|
|
|
- nameSeries = UtilMap.getString(map,"selectField_me2f7tw4"); //系列
|
|
|
|
|
- devNum = UtilMap.getString(map,"numberField_mmke3fdc"); //研发部订单需求数量
|
|
|
|
|
- if(seriesDevNumMap.get(nameSeries) == null){
|
|
|
|
|
- seriesDevNumMap.put(nameSeries,devNum);
|
|
|
|
|
- }
|
|
|
|
|
- //获取系列与研发部订单需求数量映射 add by Jason 20260320 end
|
|
|
|
|
-
|
|
|
|
|
Map taskMap=UtilMap.map("projectId, tasklistId, scenariofieldconfigId, stageId",tbProjectId,tasklistId,scenariofieldconfigId,stageId);
|
|
Map taskMap=UtilMap.map("projectId, tasklistId, scenariofieldconfigId, stageId",tbProjectId,tasklistId,scenariofieldconfigId,stageId);
|
|
|
taskMap.put("content",getValue(map,"selectField_me2f7tw4","-")+getValue(map,"textField_me2f7tvo","")); //系列 配件
|
|
taskMap.put("content",getValue(map,"selectField_me2f7tw4","-")+getValue(map,"textField_me2f7tvo","")); //系列 配件
|
|
|
String gysName=UtilMap.getString(map,"textField_me2f7tvz");
|
|
String gysName=UtilMap.getString(map,"textField_me2f7tvz");
|
|
@@ -264,9 +281,9 @@ public class EastarTbServiceImpl implements EastarTbService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
if(isLang){ // 区分语言
|
|
if(isLang){ // 区分语言
|
|
|
- result=saveTbTask(taskMap,orderLangConf,map,customfields,isLang,sonconf,sonScenariofieldconfigId,gysName,pId,pMainId,skuIdMap);
|
|
|
|
|
|
|
+ result=saveTbTask(taskMap,orderLangConf,map,customfields,isLang,sonconf,sonScenariofieldconfigId,gysName,pId,pMainId,skuIdMap,seriesLangDevNumMap);
|
|
|
}else{
|
|
}else{
|
|
|
- result=saveTbTask(taskMap,orderLangConf,map,customfields,isLang,sonconf,sonScenariofieldconfigId,gysName,pId,pMainId,skuIdMap);
|
|
|
|
|
|
|
+ result=saveTbTask(taskMap,orderLangConf,map,customfields,isLang,sonconf,sonScenariofieldconfigId,gysName,pId,pMainId,skuIdMap,seriesLangDevNumMap);
|
|
|
}
|
|
}
|
|
|
if(gysOrderData.containsKey(gysName)){
|
|
if(gysOrderData.containsKey(gysName)){
|
|
|
gysOrderData.get(gysName).addAll(result);
|
|
gysOrderData.get(gysName).addAll(result);
|
|
@@ -359,7 +376,7 @@ public class EastarTbServiceImpl implements EastarTbService {
|
|
|
// 生成包装任务:打样不需要生成包装
|
|
// 生成包装任务:打样不需要生成包装
|
|
|
if("大货".equals(orderType)){
|
|
if("大货".equals(orderType)){
|
|
|
//seriesDevNumMap 系列与研发部订单需求数量映射数据 add by Jason 20260320
|
|
//seriesDevNumMap 系列与研发部订单需求数量映射数据 add by Jason 20260320
|
|
|
- savePackTask(tbProjectId, orderLangConf, data, pName, pId, pMainId, projectOrder, mchDDIdMap, seriesDevNumMap);
|
|
|
|
|
|
|
+ savePackTask(tbProjectId, orderLangConf, data, pName, pId, pMainId, projectOrder, mchDDIdMap, seriesLangDevNumMap);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -369,9 +386,14 @@ public class EastarTbServiceImpl implements EastarTbService {
|
|
|
int numOfSetsAll; //总套数
|
|
int numOfSetsAll; //总套数
|
|
|
for(Map orderSubRecordLang : orderLangConf){ //遍历子表单记录
|
|
for(Map orderSubRecordLang : orderLangConf){ //遍历子表单记录
|
|
|
nameSeries = UtilMap.getString(orderSubRecordLang,"textField_meqqj4wa"); // 系列【语言版本 - 数量拆分】
|
|
nameSeries = UtilMap.getString(orderSubRecordLang,"textField_meqqj4wa"); // 系列【语言版本 - 数量拆分】
|
|
|
|
|
+ nameLang = UtilMap.getString(orderSubRecordLang,"textField_meqqj4wb"); // 语言【语言版本 - 数量拆分】 add by Jason 20260326
|
|
|
numOfSetsSeries = UtilMap.getInt(orderSubRecordLang,"numberField_meqqj4wd"); // 套数【语言版本 - 数量拆分】
|
|
numOfSetsSeries = UtilMap.getInt(orderSubRecordLang,"numberField_meqqj4wd"); // 套数【语言版本 - 数量拆分】
|
|
|
numOfSetsAll = 0;
|
|
numOfSetsAll = 0;
|
|
|
- devNum = seriesDevNumMap.get(nameSeries);
|
|
|
|
|
|
|
+ if(PublicUtil.isNull(nameLang)){
|
|
|
|
|
+ devNum = seriesLangDevNumMap.get(nameSeries+"_无"); //研发部订单需求数量
|
|
|
|
|
+ }else{
|
|
|
|
|
+ devNum = seriesLangDevNumMap.get(nameSeries+"_"+nameLang); //研发部订单需求数量
|
|
|
|
|
+ }
|
|
|
if(StringUtils.isNotEmpty(devNum)){
|
|
if(StringUtils.isNotEmpty(devNum)){
|
|
|
numOfSetsAll = numOfSetsSeries + Integer.parseInt(devNum); // 总套数【语言版本 - 数量拆分】,总套数=套数+研发部订单数量,立项完成自动更新总套数
|
|
numOfSetsAll = numOfSetsSeries + Integer.parseInt(devNum); // 总套数【语言版本 - 数量拆分】,总套数=套数+研发部订单数量,立项完成自动更新总套数
|
|
|
}
|
|
}
|
|
@@ -397,19 +419,27 @@ public class EastarTbServiceImpl implements EastarTbService {
|
|
|
private List<Map> savePackTask(String tbProjectId, List <Map> orderLangConf,Map data,String pName,String pId,String pMainId,List projectOrder,Map mchDDIdMap,Map<String,String> seriesDevNumMap) {
|
|
private List<Map> savePackTask(String tbProjectId, List <Map> orderLangConf,Map data,String pName,String pId,String pMainId,List projectOrder,Map mchDDIdMap,Map<String,String> seriesDevNumMap) {
|
|
|
Map<String, List<Map>> packOrderData = new HashMap<>();
|
|
Map<String, List<Map>> packOrderData = new HashMap<>();
|
|
|
String nameSeries; //系列 add by Jason 20260320
|
|
String nameSeries; //系列 add by Jason 20260320
|
|
|
|
|
+ String nameLang; //语言 add by Jason 20260326
|
|
|
String devNum; //研发部订单需求数量 add by Jason 20260320
|
|
String devNum; //研发部订单需求数量 add by Jason 20260320
|
|
|
int allSupplyNum; //总采购数量 add by Jason 20260320
|
|
int allSupplyNum; //总采购数量 add by Jason 20260320
|
|
|
for (Map orderMap : orderLangConf) {
|
|
for (Map orderMap : orderLangConf) {
|
|
|
String supplier = UtilMap.getString(orderMap, "textField_mkp7yv76");
|
|
String supplier = UtilMap.getString(orderMap, "textField_mkp7yv76");
|
|
|
String setsValue = UtilMap.getString(orderMap, "numberField_meqqj4wd");
|
|
String setsValue = UtilMap.getString(orderMap, "numberField_meqqj4wd");
|
|
|
|
|
+
|
|
|
|
|
+ nameLang = UtilMap.getString(orderMap,"textField_meqqj4wb"); // 语言【语言版本 - 数量拆分】 add by Jason 20260326
|
|
|
//计算总采购数量 add by Jason 20260320 start
|
|
//计算总采购数量 add by Jason 20260320 start
|
|
|
nameSeries = UtilMap.getString(orderMap, "textField_meqqj4wa"); //系列
|
|
nameSeries = UtilMap.getString(orderMap, "textField_meqqj4wa"); //系列
|
|
|
- devNum = seriesDevNumMap.get(nameSeries);
|
|
|
|
|
|
|
+ if(PublicUtil.isNull(nameLang)){
|
|
|
|
|
+ devNum = seriesDevNumMap.get(nameSeries+"_无");
|
|
|
|
|
+ }else{
|
|
|
|
|
+ devNum = seriesDevNumMap.get(nameSeries+"_"+nameLang);
|
|
|
|
|
+ }
|
|
|
allSupplyNum = 0;
|
|
allSupplyNum = 0;
|
|
|
if(StringUtils.isNotEmpty(devNum) && StringUtils.isNotEmpty(setsValue)){
|
|
if(StringUtils.isNotEmpty(devNum) && StringUtils.isNotEmpty(setsValue)){
|
|
|
allSupplyNum = Integer.parseInt(devNum) + Integer.parseInt(setsValue); //计算总采购数量
|
|
allSupplyNum = Integer.parseInt(devNum) + Integer.parseInt(setsValue); //计算总采购数量
|
|
|
}
|
|
}
|
|
|
//计算总采购数量 add by Jason 20260320 end
|
|
//计算总采购数量 add by Jason 20260320 end
|
|
|
|
|
+
|
|
|
Map packTask = UtilMap.map(
|
|
Map packTask = UtilMap.map(
|
|
|
"textField_mecmytpr, textField_mifp03eo, textField_mjr129o4, selectField_me2f7tw4, numberField_mkosp94h, numberField_mifp03el, " +
|
|
"textField_mecmytpr, textField_mifp03eo, textField_mjr129o4, selectField_me2f7tw4, numberField_mkosp94h, numberField_mifp03el, " +
|
|
|
"numberField_mmmwu4cg, " + //研发部订单需求数量 add by Jason 20260312
|
|
"numberField_mmmwu4cg, " + //研发部订单需求数量 add by Jason 20260312
|
|
@@ -455,7 +485,7 @@ public class EastarTbServiceImpl implements EastarTbService {
|
|
|
return value.length()==0?"":value+s;
|
|
return value.length()==0?"":value+s;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private List<Map> saveTbTask(Map taskMap,List<Map> orderConf,Map cgDetail,List<Map> customfields,boolean isLang,List<String> sonconf,String sonScenariofieldconfigId,String gysName,String pId,String pMainId,Map skuIdMap){
|
|
|
|
|
|
|
+ private List<Map> saveTbTask(Map taskMap,List<Map> orderConf,Map cgDetail,List<Map> customfields,boolean isLang,List<String> sonconf,String sonScenariofieldconfigId,String gysName,String pId,String pMainId,Map skuIdMap,Map<String,String> seriesLangDevNumMap){
|
|
|
log.info("创建任务:{},是否区分语言{}",taskMap.get("content"),isLang);
|
|
log.info("创建任务:{},是否区分语言{}",taskMap.get("content"),isLang);
|
|
|
List<Map> recodTable=new ArrayList<>();
|
|
List<Map> recodTable=new ArrayList<>();
|
|
|
if (PublicUtil.isNull(taskMap,"executorId")){
|
|
if (PublicUtil.isNull(taskMap,"executorId")){
|
|
@@ -475,6 +505,15 @@ public class EastarTbServiceImpl implements EastarTbService {
|
|
|
skuId=PublicUtil.isNull(skuId)?"000":skuId;
|
|
skuId=PublicUtil.isNull(skuId)?"000":skuId;
|
|
|
String sku="2"+skuId+UtilMap.getString_first(map,"textField_mizmmf8h","textField_mizmmf8m")+reportId.substring(reportId.length()-2);// sku 添加系列编号及文档编号
|
|
String sku="2"+skuId+UtilMap.getString_first(map,"textField_mizmmf8h","textField_mizmmf8m")+reportId.substring(reportId.length()-2);// sku 添加系列编号及文档编号
|
|
|
String lang=UtilMap.getString(map,"textField_meqqj4wb"); // 语言
|
|
String lang=UtilMap.getString(map,"textField_meqqj4wb"); // 语言
|
|
|
|
|
+
|
|
|
|
|
+ //获取系列语言对应的研发部订单需求数量 add by Jason 20260326 start
|
|
|
|
|
+ if(PublicUtil.isNull(lang)){
|
|
|
|
|
+ rdNum = seriesLangDevNumMap.get(confSeries+"_无"); //研发部订单需求数量
|
|
|
|
|
+ }else{
|
|
|
|
|
+ rdNum = seriesLangDevNumMap.get(confSeries+"_"+lang); //研发部订单需求数量
|
|
|
|
|
+ }
|
|
|
|
|
+ //获取系列语言对应的研发部订单需求数量 add by Jason 20260326 end
|
|
|
|
|
+
|
|
|
if(isLang){
|
|
if(isLang){
|
|
|
if(PublicUtil.isNull(lang)){
|
|
if(PublicUtil.isNull(lang)){
|
|
|
lang="不区分";
|
|
lang="不区分";
|