注释同步修改备料计划
This commit is contained in:
parent
bd21c31e4e
commit
8f069cf389
|
@ -8,7 +8,6 @@ package nc.bs.mmpac.pmo.pac0002.bp;
|
|||
import nc.bs.mmpac.pmo.pac0002.pluginpoint.PMOPluginPoint;
|
||||
import nc.bs.mmpac.pmo.pac0002.rule.PMOFilterBillStatusRule;
|
||||
import nc.bs.mmpac.pmo.pac0002.rule.PMOFinishAutoFinishPutPlanRule;
|
||||
import nc.bs.mmpac.pmo.pac0002.rule.PMOToFinishPickMRule;
|
||||
import nc.bs.mmpac.pmo.pac0002.rule.fill.PMOFillFinishValueRule;
|
||||
import nc.bs.mmpub.rule.MMVOSagaFrozenValidateRule;
|
||||
import nc.impl.pubapp.pattern.rule.IFilterRule;
|
||||
|
@ -43,9 +42,9 @@ public class PMOFinishBP {
|
|||
private void addFinishAfterRule(CompareAroundProcesser<PMOAggVO> processer) {
|
||||
IRule<PMOAggVO> finishPutPlanRule = new PMOFinishAutoFinishPutPlanRule();
|
||||
processer.addAfterRule(finishPutPlanRule);
|
||||
/** 同步修改备料计划完成(生产订单强制完工时) */
|
||||
IRule<PMOAggVO> pMOToFinishPickMRule = new PMOToFinishPickMRule();
|
||||
processer.addAfterRule(pMOToFinishPickMRule);
|
||||
// /** 同步修改备料计划完成(生产订单强制完工时) */
|
||||
// IRule<PMOAggVO> pMOToFinishPickMRule = new PMOToFinishPickMRule();
|
||||
// processer.addAfterRule(pMOToFinishPickMRule);
|
||||
}
|
||||
|
||||
public PMOAggVO[] finishCancel(PMOAggVO[] fullBills, PMOAggVO[] originBills) {
|
||||
|
|
|
@ -5,13 +5,16 @@
|
|||
|
||||
package nc.bs.mmpac.pmo.pac0002.bp;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import nc.bs.mmpac.pmo.pac0002.bp.service.PMOBPService;
|
||||
import nc.bs.mmpac.pmo.pac0002.bp.util.PMOBPUtil;
|
||||
import nc.bs.mmpac.pmo.pac0002.pluginpoint.PMOPluginPoint;
|
||||
import nc.bs.mmpac.pmo.pac0002.rule.PMOFilterBillStatusRule;
|
||||
import nc.bs.mmpac.pmo.pac0002.rule.PMOFilterRowStatusRule;
|
||||
import nc.bs.mmpac.pmo.pac0002.rule.PMOFinishAutoFinishPutPlanRule;
|
||||
import nc.bs.mmpac.pmo.pac0002.rule.PMOToFinishPickMRule;
|
||||
import nc.bs.mmpac.pmo.pac0002.rule.fill.PMOFillFinishValueRule;
|
||||
import nc.bs.mmpub.rule.MMVOSagaFrozenValidateRule;
|
||||
import nc.impl.pubapp.pattern.rule.IRule;
|
||||
|
@ -28,11 +31,6 @@ import nc.vo.pub.BusinessException;
|
|||
import nc.vo.pub.CircularlyAccessibleValueObject;
|
||||
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class PMORowFinishBP {
|
||||
public PMORowFinishBP() {
|
||||
}
|
||||
|
@ -88,10 +86,10 @@ public class PMORowFinishBP {
|
|||
returnvos[0].setChildrenVO((CircularlyAccessibleValueObject[])newitemMap.values().toArray(new PMOItemVO[0]));
|
||||
processer.after(returnvos, returnvos);
|
||||
|
||||
/** 同步修改备料计划完成(生产订单强制完工时) */
|
||||
IRule<PMOAggVO> pMOToFinishPickMRule = new PMOToFinishPickMRule();
|
||||
pMOToFinishPickMRule.process(newaggvos);
|
||||
/** ******************** */
|
||||
// /** 同步修改备料计划完成(生产订单强制完工时) */
|
||||
// IRule<PMOAggVO> pMOToFinishPickMRule = new PMOToFinishPickMRule();
|
||||
// pMOToFinishPickMRule.process(newaggvos);
|
||||
// /** ******************** */
|
||||
|
||||
PMOAggVO newaggvo = PMOBPService.getIPMOQueryService().queryByPk(vos[0].getParentVO().getCpmohid());
|
||||
return new PMOAggVO[]{newaggvo};
|
||||
|
|
|
@ -27,52 +27,53 @@ public class PMOToFinishPickMRule
|
|||
* 3.若为完工状态,则根据生产订单明细表中生产订单行查询备料计划
|
||||
* 4.修改备料计划为完成状态(3)
|
||||
*/
|
||||
for(int i = 0; i < vos.length; i++) {
|
||||
PMOAggVO vo = vos[i];
|
||||
PMOItemVO[] items = vo.getChildrenVO();
|
||||
//循环生产订单明细
|
||||
for(int j = 0; j < items.length; j++) {
|
||||
PMOItemVO item = items[j];
|
||||
//查看生产订单行状态是否为完工(2)
|
||||
int fitemStatus = item.getFitemstatus();
|
||||
if(fitemStatus != 2) {
|
||||
continue;
|
||||
}
|
||||
//根据生产订单行查询备料计划
|
||||
String cmoid = item.getCmoid();
|
||||
String whereSql = "nvl(mm_pickm.dr,0) = 0 and mm_pickm.vsourcemorowid = '" + cmoid + "'";
|
||||
IMDPersistenceQueryService aggvoQueryService = NCLocator.getInstance().lookup(IMDPersistenceQueryService.class);
|
||||
// 根据主键查询得到aggvo
|
||||
try {
|
||||
@SuppressWarnings("unchecked")
|
||||
ArrayList<AggPickmVO> aggVOs = (ArrayList<AggPickmVO>)aggvoQueryService.queryBillOfVOByCond(AggPickmVO.class, whereSql, true, false);
|
||||
if(aggVOs.size() <= 0) {
|
||||
continue;
|
||||
}
|
||||
//数组转换
|
||||
AggPickmVO[] aggVOsArr = new AggPickmVO[aggVOs.size()];
|
||||
boolean flag = false;
|
||||
for(int z=0; z<aggVOs.size(); z++) {
|
||||
AggPickmVO aggPickmVO = aggVOs.get(z);
|
||||
PickmHeadVO pickmHeadVO = aggPickmVO.getParentVO();
|
||||
Integer fbillstatus = pickmHeadVO.getFbillstatus();
|
||||
//已经位完工态的备料计划不修改
|
||||
if(fbillstatus != 2){
|
||||
aggVOsArr[z] =aggVOs.get(z);
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
if(flag) {
|
||||
//备料计划完工
|
||||
IPickmMaintainService ipickmMaintainService = NCLocator.getInstance().lookup(IPickmMaintainService.class);
|
||||
ipickmMaintainService.finishPickm(aggVOsArr);
|
||||
}
|
||||
}catch(BusinessException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
//20250514弃用
|
||||
// for(int i = 0; i < vos.length; i++) {
|
||||
// PMOAggVO vo = vos[i];
|
||||
// PMOItemVO[] items = vo.getChildrenVO();
|
||||
// //循环生产订单明细
|
||||
// for(int j = 0; j < items.length; j++) {
|
||||
// PMOItemVO item = items[j];
|
||||
// //查看生产订单行状态是否为完工(2)
|
||||
// int fitemStatus = item.getFitemstatus();
|
||||
// if(fitemStatus != 2) {
|
||||
// continue;
|
||||
// }
|
||||
// //根据生产订单行查询备料计划
|
||||
// String cmoid = item.getCmoid();
|
||||
// String whereSql = "nvl(mm_pickm.dr,0) = 0 and mm_pickm.vsourcemorowid = '" + cmoid + "'";
|
||||
// IMDPersistenceQueryService aggvoQueryService = NCLocator.getInstance().lookup(IMDPersistenceQueryService.class);
|
||||
// // 根据主键查询得到aggvo
|
||||
// try {
|
||||
// @SuppressWarnings("unchecked")
|
||||
// ArrayList<AggPickmVO> aggVOs = (ArrayList<AggPickmVO>)aggvoQueryService.queryBillOfVOByCond(AggPickmVO.class, whereSql, true, false);
|
||||
// if(aggVOs.size() <= 0) {
|
||||
// continue;
|
||||
// }
|
||||
// //数组转换
|
||||
// AggPickmVO[] aggVOsArr = new AggPickmVO[aggVOs.size()];
|
||||
// boolean flag = false;
|
||||
// for(int z=0; z<aggVOs.size(); z++) {
|
||||
// AggPickmVO aggPickmVO = aggVOs.get(z);
|
||||
// PickmHeadVO pickmHeadVO = aggPickmVO.getParentVO();
|
||||
// Integer fbillstatus = pickmHeadVO.getFbillstatus();
|
||||
// //已经位完工态的备料计划不修改
|
||||
// if(fbillstatus != 2){
|
||||
// aggVOsArr[z] =aggVOs.get(z);
|
||||
// flag = true;
|
||||
// }
|
||||
// }
|
||||
// if(flag) {
|
||||
// //备料计划完工
|
||||
// IPickmMaintainService ipickmMaintainService = NCLocator.getInstance().lookup(IPickmMaintainService.class);
|
||||
// ipickmMaintainService.finishPickm(aggVOsArr);
|
||||
// }
|
||||
// }catch(BusinessException e) {
|
||||
// // TODO Auto-generated catch block
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,8 +5,25 @@
|
|||
|
||||
package nc.bs.mmpac.wr.bp;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import nc.bs.mmpac.wr.plugin.WrPluginPoint;
|
||||
import nc.bs.mmpac.wr.rule.*;
|
||||
import nc.bs.mmpac.wr.rule.WrAuditAndApplyCheckRule;
|
||||
import nc.bs.mmpac.wr.rule.WrAuditAndProdInRule;
|
||||
import nc.bs.mmpac.wr.rule.WrCheckMaterialPermissionRule;
|
||||
import nc.bs.mmpac.wr.rule.WrCheckMoIsCloseRule;
|
||||
import nc.bs.mmpac.wr.rule.WrCheckTranstypeCodeRule;
|
||||
import nc.bs.mmpac.wr.rule.WrClearNullBodyRule;
|
||||
import nc.bs.mmpac.wr.rule.WrFillInsertDataRule;
|
||||
import nc.bs.mmpac.wr.rule.WrHeadNotNullRule;
|
||||
import nc.bs.mmpac.wr.rule.WrIsSaveAndApproveRule;
|
||||
import nc.bs.mmpac.wr.rule.WrNoneMainProductBomCheckRule;
|
||||
import nc.bs.mmpac.wr.rule.WrPickFilterRule;
|
||||
import nc.bs.mmpac.wr.rule.WrQualityFilterRule;
|
||||
import nc.bs.mmpac.wr.rule.WrRowNoRule;
|
||||
import nc.bs.mmpac.wr.rule.WrSetDefaultValueWhenInsertRule;
|
||||
import nc.bs.mmpac.wr.rule.WrSetItemDefaultValueRule;
|
||||
import nc.bs.mmpac.wr.rule.WrSetQualityVODefaultValueRule;
|
||||
import nc.bs.mmpac.wr.rule.batch.WrCreateBatProdRule;
|
||||
import nc.bs.mmpac.wr.rule.batch.WrCreateBatchCodeRule;
|
||||
import nc.bs.mmpac.wr.rule.check.WrNullRule;
|
||||
|
@ -17,7 +34,12 @@ import nc.bs.mmpac.wr.rule.mo.WrMORewriteRule;
|
|||
import nc.bs.mmpac.wr.rule.output.WrOutputNotNullRule;
|
||||
import nc.bs.mmpac.wr.rule.pick.WrPickNotNullRule;
|
||||
import nc.bs.mmpac.wr.rule.putplan.WrInsertRewriteWrNumForPutPlanRule;
|
||||
import nc.bs.mmpac.wr.rule.serialno.*;
|
||||
import nc.bs.mmpac.wr.rule.serialno.WrMoSerialNoMarkIRule;
|
||||
import nc.bs.mmpac.wr.rule.serialno.WrSerialNoAutoCreateBeforeRule;
|
||||
import nc.bs.mmpac.wr.rule.serialno.WrSerialNoCheckCodeRepeat;
|
||||
import nc.bs.mmpac.wr.rule.serialno.WrSerialNoCheckRule;
|
||||
import nc.bs.mmpac.wr.rule.serialno.WrSerialNoSaveRule;
|
||||
import nc.bs.mmpac.wr.rule.serialno.WrSnSynToQualtiyRule;
|
||||
import nc.bs.mmpub.rule.MMATOMaterialCheckRule;
|
||||
import nc.bs.mmpub.rule.MMAutoMaterialAssignRule;
|
||||
import nc.bs.pubapp.pub.rule.FieldLengthCheckRule;
|
||||
|
@ -30,10 +52,11 @@ import nc.util.mmf.busi.rule.MMBillCodeCheckAndTrantypeRule;
|
|||
import nc.util.mmf.busi.rule.MMCheckMaterialVirtualRule;
|
||||
import nc.util.mmf.busi.rule.MMCreateBillcodeAndTrantypecodeRule;
|
||||
import nc.util.mmf.framework.gc.GCInsertBPTemplate;
|
||||
import nc.vo.mmpac.wr.entity.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import nc.vo.mmpac.wr.entity.AggWrVO;
|
||||
import nc.vo.mmpac.wr.entity.WrItemVO;
|
||||
import nc.vo.mmpac.wr.entity.WrPickVO;
|
||||
import nc.vo.mmpac.wr.entity.WrQualityVO;
|
||||
import nc.vo.mmpac.wr.entity.WrVO;
|
||||
|
||||
public class WrInsertBP {
|
||||
private boolean isOnlyInsert = false;
|
||||
|
@ -130,10 +153,10 @@ public class WrInsertBP {
|
|||
processor.addAfterRule(moDiscadNumRewriteRule);
|
||||
IRule<AggWrVO> snSaveRule = new WrSerialNoSaveRule();
|
||||
processor.addAfterRule(snSaveRule);
|
||||
/** 同步修改备料计划完成 */
|
||||
IRule<AggWrVO> pickMFinishRule = new PickMFinishRule();
|
||||
processor.addAfterRule(pickMFinishRule);
|
||||
/** ******************** */
|
||||
// /** ͬ²½Ð޸ı¸Áϼƻ®Íê³É */
|
||||
// IRule<AggWrVO> pickMFinishRule = new PickMFinishRule();
|
||||
// processor.addAfterRule(pickMFinishRule);
|
||||
// /** ******************** */
|
||||
|
||||
if (!this.isOnlyInsert) {
|
||||
processor.addAfterRule(new WrIsSaveAndApproveRule());
|
||||
|
|
|
@ -27,69 +27,69 @@ public class PickMFinishRule extends Object implements IRule<AggWrVO> {
|
|||
* 业务逻辑: 1.根据生产报告子表中生产订单行查看生产订单明细表 2.查看生产订单明细行的状态是否为完工(2)
|
||||
* 3.若为完工状态,则根据生成报告子表中生产订单行查询备料计划 4.修改备料计划为完成状态(3)
|
||||
*/
|
||||
for (int i = 0; i < vos.length; i++) {
|
||||
AggWrVO vo = vos[i];
|
||||
WrItemVO[] items = vo.getChildrenVO();
|
||||
// 循环生产报告子表
|
||||
for (int j = 0; j < items.length; j++) {
|
||||
WrItemVO item = items[j];
|
||||
String cbmobid = item.getCbmobid();
|
||||
String[] keys = { cbmobid };
|
||||
// 生产订单行查询
|
||||
PMOItemVO[] pmoItemvos = (new PMOItemVOQueryBP()).getPMOItemVOsByids(keys);
|
||||
// 查看生产订单行状态是否为完工(2)
|
||||
if (pmoItemvos.length > 0) {
|
||||
PMOItemVO pmoItem = pmoItemvos[0];
|
||||
int fitemStatus = pmoItem.getFitemstatus();
|
||||
if (fitemStatus != 2) {
|
||||
continue;
|
||||
}
|
||||
// 根据生产订单行查询备料计划
|
||||
// BillQuery<AggPickmVO> query = new BillQuery<AggPickmVO>(AggPickmVO.class);
|
||||
// AggPickmVO[] aggVOs = (AggPickmVO[])query.query(keys);
|
||||
|
||||
String whereSql = "nvl(mm_pickm.dr,0) = 0 and mm_pickm.vsourcemorowid = '" + cbmobid + "'";
|
||||
IMDPersistenceQueryService aggvoQueryService = NCLocator.getInstance()
|
||||
.lookup(IMDPersistenceQueryService.class);
|
||||
// 根据主键查询得到aggvo
|
||||
try {
|
||||
@SuppressWarnings("unchecked")
|
||||
ArrayList<AggPickmVO> aggVOs = (ArrayList<AggPickmVO>) aggvoQueryService
|
||||
.queryBillOfVOByCond(AggPickmVO.class, whereSql, true, false);
|
||||
if (aggVOs.size() <= 0) {
|
||||
continue;
|
||||
}
|
||||
// 数组转换
|
||||
AggPickmVO[] aggVOsArr = new AggPickmVO[aggVOs.size()];
|
||||
boolean flag = false;
|
||||
for (int z = 0; z < aggVOs.size(); z++) {
|
||||
AggPickmVO aggPickmVO = aggVOs.get(z);
|
||||
PickmHeadVO pickmHeadVO = aggPickmVO.getParentVO();
|
||||
Integer fbillstatus = pickmHeadVO.getFbillstatus();
|
||||
if (fbillstatus != 2) {
|
||||
aggVOsArr[z] = aggVOs.get(z);
|
||||
flag = true;
|
||||
}
|
||||
|
||||
}
|
||||
if (flag) {
|
||||
// 备料计划完工
|
||||
IPickmMaintainService ipickmMaintainService = NCLocator.getInstance()
|
||||
.lookup(IPickmMaintainService.class);
|
||||
ipickmMaintainService.finishPickm(aggVOsArr);
|
||||
}
|
||||
} catch (BusinessException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
AggWrChangeVO[] aggChangeVOs = WrBusiVOToChangeVO.changeOnlySerialNoVO(vos);
|
||||
|
||||
WrSerialNoDocInsertControl inSertControl = new WrSerialNoDocInsertControl();
|
||||
inSertControl.process(aggChangeVOs);
|
||||
// for (int i = 0; i < vos.length; i++) {
|
||||
// AggWrVO vo = vos[i];
|
||||
// WrItemVO[] items = vo.getChildrenVO();
|
||||
// // 循环生产报告子表
|
||||
// for (int j = 0; j < items.length; j++) {
|
||||
// WrItemVO item = items[j];
|
||||
// String cbmobid = item.getCbmobid();
|
||||
// String[] keys = { cbmobid };
|
||||
// // 生产订单行查询
|
||||
// PMOItemVO[] pmoItemvos = (new PMOItemVOQueryBP()).getPMOItemVOsByids(keys);
|
||||
// // 查看生产订单行状态是否为完工(2)
|
||||
// if (pmoItemvos.length > 0) {
|
||||
// PMOItemVO pmoItem = pmoItemvos[0];
|
||||
// int fitemStatus = pmoItem.getFitemstatus();
|
||||
// if (fitemStatus != 2) {
|
||||
// continue;
|
||||
// }
|
||||
// // 根据生产订单行查询备料计划
|
||||
//// BillQuery<AggPickmVO> query = new BillQuery<AggPickmVO>(AggPickmVO.class);
|
||||
//// AggPickmVO[] aggVOs = (AggPickmVO[])query.query(keys);
|
||||
//
|
||||
// String whereSql = "nvl(mm_pickm.dr,0) = 0 and mm_pickm.vsourcemorowid = '" + cbmobid + "'";
|
||||
// IMDPersistenceQueryService aggvoQueryService = NCLocator.getInstance()
|
||||
// .lookup(IMDPersistenceQueryService.class);
|
||||
// // 根据主键查询得到aggvo
|
||||
// try {
|
||||
// @SuppressWarnings("unchecked")
|
||||
// ArrayList<AggPickmVO> aggVOs = (ArrayList<AggPickmVO>) aggvoQueryService
|
||||
// .queryBillOfVOByCond(AggPickmVO.class, whereSql, true, false);
|
||||
// if (aggVOs.size() <= 0) {
|
||||
// continue;
|
||||
// }
|
||||
// // 数组转换
|
||||
// AggPickmVO[] aggVOsArr = new AggPickmVO[aggVOs.size()];
|
||||
// boolean flag = false;
|
||||
// for (int z = 0; z < aggVOs.size(); z++) {
|
||||
// AggPickmVO aggPickmVO = aggVOs.get(z);
|
||||
// PickmHeadVO pickmHeadVO = aggPickmVO.getParentVO();
|
||||
// Integer fbillstatus = pickmHeadVO.getFbillstatus();
|
||||
// if (fbillstatus != 2) {
|
||||
// aggVOsArr[z] = aggVOs.get(z);
|
||||
// flag = true;
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// if (flag) {
|
||||
// // 备料计划完工
|
||||
// IPickmMaintainService ipickmMaintainService = NCLocator.getInstance()
|
||||
// .lookup(IPickmMaintainService.class);
|
||||
// ipickmMaintainService.finishPickm(aggVOsArr);
|
||||
// }
|
||||
// } catch (BusinessException e) {
|
||||
// // TODO Auto-generated catch block
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// }
|
||||
// AggWrChangeVO[] aggChangeVOs = WrBusiVOToChangeVO.changeOnlySerialNoVO(vos);
|
||||
//
|
||||
// WrSerialNoDocInsertControl inSertControl = new WrSerialNoDocInsertControl();
|
||||
// inSertControl.process(aggChangeVOs);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue