增加物料各车间编码校验
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.jdbc.framework.processor.MapProcessor;
|
||||
import nc.pubitf.uapbd.IMaterialPubService;
|
||||
import nc.util.mmf.busi.service.MaterialPubService;
|
||||
import nc.util.mmf.framework.base.MMValueCheck;
|
||||
import nc.vo.bd.defdoc.DefdocVO;
|
||||
import nc.vo.bd.material.MaterialVO;
|
||||
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.stordoc.StordocVO;
|
||||
import nc.vo.org.DeptVO;
|
||||
import nc.vo.org.OrgVO;
|
||||
import nc.vo.pub.BusinessException;
|
||||
import nc.vo.pub.lang.UFDouble;
|
||||
|
|
@ -79,6 +82,7 @@ public class MaterialJmPushToQyMesAction implements ICommonAction {
|
|||
}
|
||||
useVOs.add(materialVO);
|
||||
}
|
||||
checkMaterialVO(useVOs);
|
||||
buildSyncData(useVOs);
|
||||
return ResultMessageUtil.toJSON(true, "ÍÆËͳɹ¦");
|
||||
} 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) {
|
||||
String json = iRequest.getJson();
|
||||
JSONObject jsonObject = JSONObject.parseObject(json);
|
||||
|
|
|
|||
Loading…
Reference in New Issue