物料对称修改

This commit is contained in:
lvleigang 2025-04-27 09:41:46 +08:00
parent 1cc4d5e064
commit 6e6c883bdd
1 changed files with 101 additions and 4 deletions

View File

@ -407,7 +407,7 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService<ZjMat
//取消勾选勾选存货属性的委外计划页面的委外属性设置成采购
// 整体逻辑 12100物料分类 0非贴片 002流水号 01品牌号
if(lsh.get(entity.getField0043code()) != null){
if(entity.getField0017code() != null && "贴片".equals(entity.getField0017code())){
if(entity.getField0017code() != null && "A贴片".equals(entity.getField0017code())){
maxnum = lsh.get(entity.getField0043code()+9);
}else {
maxnum = lsh.get(entity.getField0043code()+0);
@ -415,7 +415,7 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService<ZjMat
}
if(maxnum == null){
entity.setDataSourceCode(zju8);
if(entity.getField0017code() != null && "贴片".equals(entity.getField0017code())){
if(entity.getField0017code() != null && "A贴片".equals(entity.getField0017code())){
entity.setQuerycode(entity.getField0043code()+9);
}else {
entity.setQuerycode(entity.getField0043code()+0);
@ -427,7 +427,7 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService<ZjMat
String formattedNum = String.format("%03d", ++maxnum);
lsh.put(entity.getField0043code(),maxnum);
wlcode.append(entity.getField0043code());
if(entity.getField0017code() != null && "贴片".equals(entity.getField0017code())){
if(entity.getField0017code() != null && "A贴片".equals(entity.getField0017code())){
wlcode.append("9");
}else {
wlcode.append("0");
@ -640,9 +640,106 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService<ZjMat
//if(entity.getField0018code() == null || "".equals(entity.getField0018code())){
// return BaseResult.getFailureMessageEntity("序号为"+entity.getField0004()+"明细行的申请原因为空");
//}
if("修改".equals(entity.getField0018code())){
if(!"新增".equals(entity.getField0018code())){
if(entity.getField0005() == null || "".equals(entity.getField0005())){
str.append("序号为"+entity.getField0004()+"明细行的货品编码为空。");
}else {
if(entity.getField0043code().equals("12400")
|| entity.getField0043code().equals("12500")
|| entity.getField0043code().equals("12418")
|| entity.getField0043code().equals("12001")
|| entity.getField0043code().equals("12003")
|| entity.getField0043code().equals("12900")
|| entity.getField0043code().equals("12005")){
//货品分类(12400-贴片电阻, 12500-贴片电容, 12418-贴片检测电阻, 12001-单面板, 12003-双面板, 12005-多层板)
//封装分类(贴片 0 , 其他 0 )
//当前分类最大流水号
//品牌(单据内填写品牌 01,未填写 00)
//是否委外
//勾选存货属性的委外计划页面的委外属性
//取消勾选勾选存货属性的委外计划页面的委外属性设置成采购
// 整体逻辑 12400物料分类 0贴片 002流水号 01品牌号
//12400 0 002 01
//货品分类以这几个开头的封装分类是贴片依然填0
String subStrfz = entity.getField0005().substring(5, 6);
if(!subStrfz.equals("0")){
str.append("序号为"+entity.getField0004()+"明细行的物料编码的封装分类编码对应应该填写0");
}
String subStr = entity.getField0005().substring(9, 11);
if(entity.getField0008code() != null && !"".equals(entity.getField0008code())){
if("000".equals(entity.getField0008code())){
if(!subStr.equals("00")){
str.append("序号为"+entity.getField0004()+"明细行的物料编码品牌为000编码对应应该填写00");
}
}else {
if(!subStr.equals("01")){
str.append("序号为"+entity.getField0004()+"明细行的物料编码品牌存在编码对应应该填写01");
}
}
}else {
if(!subStr.equals("00")){
str.append("序号为"+entity.getField0004()+"明细行的物料编码品牌为空应该填写00");
}
}
}else if(entity.getField0043code().startsWith("1") || entity.getField0043code().startsWith("4") || entity.getField0043code().startsWith("5")){
//货品分类(区分是否是原材料通过分类首位1,4,5)
//封装分类(贴片 9 , 其他 0 )
//当前分类最大流水号
//品牌(单据内填写品牌 01,未填写 00)
//是否委外
//勾选存货属性的委外计划页面的委外属性
//取消勾选勾选存货属性的委外计划页面的委外属性设置成采购
// 整体逻辑 12100物料分类 0非贴片 002流水号 01品牌号
String subStrfz = entity.getField0005().substring(5, 6);
if(entity.getField0017code() != null && "A贴片类".equals(entity.getField0017code())){
if(!subStrfz.equals("9")){
str.append("序号为"+entity.getField0004()+"明细行的物料编码的封装分类为贴片编码对应应该填写9");
}
}else {
if(!subStrfz.equals("0")){
str.append("序号为"+entity.getField0004()+"明细行的物料编码的封装分类不是贴片编码对应应该填写0");
}
}
String subStr = entity.getField0005().substring(9, 11);
if(entity.getField0008code() != null && !"".equals(entity.getField0008code())){
if("000".equals(entity.getField0008code())){
if(!subStr.equals("00")){
str.append("序号为"+entity.getField0004()+"明细行的物料编码品牌为000编码对应应该填写00");
}
}else {
if(!subStr.equals("01")){
str.append("序号为"+entity.getField0004()+"明细行的物料编码品牌存在编码对应应该填写01");
}
}
}else {
if(!subStr.equals("00")){
str.append("序号为"+entity.getField0004()+"明细行的物料编码品牌为空应该填写00");
}
}
}else if(entity.getField0043code().startsWith("6") || entity.getField0043code().startsWith("7") || entity.getField0043code().startsWith("8") || entity.getField0043code().startsWith("9")){
//货品分类(区分是否是产品通过分类首位6,7,8,9)
//当前分类最大流水号编码第6-9是顺序号
//最后2位默认11
//整体逻辑 62100物料分类 0001流水 11默认
//62100 0001 11
String subStr = entity.getField0005().substring(9, 11);
if(!subStr.equals("11")){
str.append("序号为"+entity.getField0004()+"明细行的物料编码末尾编码应该填写11");
}
}else if(entity.getField0043code().startsWith("A")){
//货品分类(区分是软件通过分类首位A)
//当前分类最大流水号编码第6-10是顺序号
//最后1位默认1
//整体逻辑 A0110物料分类 00001流水 1默认
//A0110 00001 1
String subStr = entity.getField0005().substring(10, 11);
if(!subStr.equals("1")){
str.append("序号为"+entity.getField0004()+"明细行的物料编码末尾编码应该填写1");
}
}
}
}
//if(flag){