增加物料各车间编码校验
This commit is contained in:
parent
4704de6ffc
commit
af89bf29b6
|
|
@ -14,12 +14,15 @@ import nc.bs.uapbd.util.MyHelper;
|
||||||
import nc.bs.uapbd.util.ThirdPartyPostRequestUtil;
|
import nc.bs.uapbd.util.ThirdPartyPostRequestUtil;
|
||||||
import nc.jdbc.framework.processor.MapProcessor;
|
import nc.jdbc.framework.processor.MapProcessor;
|
||||||
import nc.pubitf.uapbd.IMaterialPubService;
|
import nc.pubitf.uapbd.IMaterialPubService;
|
||||||
|
import nc.util.mmf.busi.service.MaterialPubService;
|
||||||
import nc.util.mmf.framework.base.MMValueCheck;
|
import nc.util.mmf.framework.base.MMValueCheck;
|
||||||
import nc.vo.bd.defdoc.DefdocVO;
|
import nc.vo.bd.defdoc.DefdocVO;
|
||||||
import nc.vo.bd.material.MaterialVO;
|
import nc.vo.bd.material.MaterialVO;
|
||||||
import nc.vo.bd.material.plan.MaterialPlanVO;
|
import nc.vo.bd.material.plan.MaterialPlanVO;
|
||||||
|
import nc.vo.bd.material.prod.MaterialProdVO;
|
||||||
import nc.vo.bd.material.stock.MaterialStockVO;
|
import nc.vo.bd.material.stock.MaterialStockVO;
|
||||||
import nc.vo.bd.stordoc.StordocVO;
|
import nc.vo.bd.stordoc.StordocVO;
|
||||||
|
import nc.vo.org.DeptVO;
|
||||||
import nc.vo.org.OrgVO;
|
import nc.vo.org.OrgVO;
|
||||||
import nc.vo.pub.BusinessException;
|
import nc.vo.pub.BusinessException;
|
||||||
import nc.vo.pub.lang.UFDouble;
|
import nc.vo.pub.lang.UFDouble;
|
||||||
|
|
@ -79,6 +82,7 @@ public class MaterialJmPushToQyMesAction implements ICommonAction {
|
||||||
}
|
}
|
||||||
useVOs.add(materialVO);
|
useVOs.add(materialVO);
|
||||||
}
|
}
|
||||||
|
checkMaterialVO(useVOs);
|
||||||
buildSyncData(useVOs);
|
buildSyncData(useVOs);
|
||||||
return ResultMessageUtil.toJSON(true, "ÍÆËͳɹ¦");
|
return ResultMessageUtil.toJSON(true, "ÍÆËͳɹ¦");
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
|
|
@ -86,6 +90,58 @@ public class MaterialJmPushToQyMesAction implements ICommonAction {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkMaterialVO(List<MaterialVO> useVOs) throws BusinessException {
|
||||||
|
// 定义各车间编码常量,便于维护
|
||||||
|
String PROCESS_DEPT_CODE = "C038D0019"; // 加工车间
|
||||||
|
String CAST_DEPT_CODE = "C038D0017"; // 铸造车间
|
||||||
|
String HENGMU_DEPT_CODE = "C038D0023"; // 横目事业部
|
||||||
|
for (MaterialVO materialVO : useVOs) {
|
||||||
|
// 助记码
|
||||||
|
String materialmnecode =materialVO.getMaterialmnecode();
|
||||||
|
if(null == materialmnecode || materialmnecode.equals("")){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// 查询物料生产信息
|
||||||
|
Set<String> marSet =new HashSet<>();
|
||||||
|
marSet.add(materialVO.getPk_material());
|
||||||
|
|
||||||
|
Map<String, MaterialProdVO> resultMap = MaterialPubService.queryMaterialProduceInfoByPks((String[])marSet.toArray(new String[0]), pkOrg1, new String[]{"pk_prodeptdoc"});
|
||||||
|
MaterialProdVO materialProdVO = resultMap.get(materialVO.getPk_material());
|
||||||
|
// 部门编码
|
||||||
|
String deptCode= null !=materialProdVO.getPk_prodeptdoc() ? MyHelper.getStrValByCondition(DeptVO.getDefaultTableName(), DeptVO.CODE,
|
||||||
|
DeptVO.PK_DEPT + " = '" + materialProdVO.getPk_prodeptdoc() + "' and dr = 0"):"";
|
||||||
|
|
||||||
|
// 助记码匹配判断与生产部门校验
|
||||||
|
boolean isDeptValid = false;
|
||||||
|
String expectedDeptCode = "";
|
||||||
|
String materialPk = materialVO.getPk_material();
|
||||||
|
|
||||||
|
// 1. 助记码以0501开头 - 加工车间(C03800019)
|
||||||
|
if (materialmnecode.startsWith("0501")) {
|
||||||
|
expectedDeptCode = PROCESS_DEPT_CODE;
|
||||||
|
isDeptValid = deptCode.equals(expectedDeptCode);
|
||||||
|
}
|
||||||
|
// 2. 助记码以0502/0503/0504开头 - 铸造车间(C038D0017)
|
||||||
|
else if (materialmnecode.startsWith("0502")
|
||||||
|
|| materialmnecode.startsWith("0503")
|
||||||
|
|| materialmnecode.startsWith("0504")) {
|
||||||
|
expectedDeptCode = CAST_DEPT_CODE;
|
||||||
|
isDeptValid = deptCode.equals(expectedDeptCode);
|
||||||
|
}
|
||||||
|
// 3. 助记码以04/06开头 - 横目事业部(C038D0023)
|
||||||
|
else if (materialmnecode.startsWith("04") || materialmnecode.startsWith("06")) {
|
||||||
|
expectedDeptCode = HENGMU_DEPT_CODE;
|
||||||
|
isDeptValid = deptCode.equals(expectedDeptCode);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 校验不通过则抛出异常
|
||||||
|
if (!isDeptValid) {
|
||||||
|
throw new BusinessException("该物料对应的生产部门错误,请先修改生产部门后,再传启源");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private JSONObject getParamJson(IRequest iRequest) {
|
private JSONObject getParamJson(IRequest iRequest) {
|
||||||
String json = iRequest.getJson();
|
String json = iRequest.getJson();
|
||||||
JSONObject jsonObject = JSONObject.parseObject(json);
|
JSONObject jsonObject = JSONObject.parseObject(json);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue