Merge remote-tracking branch 'origin/main'

This commit is contained in:
张明 2025-05-15 11:03:29 +08:00
commit e890d08065
13 changed files with 470 additions and 279 deletions

View File

@ -71,23 +71,25 @@ public class GatheringbillEditSaveBatchBSAction extends BillUpdateBatchBSAction
UFDouble changeMoney = money.sub(oriMoney); UFDouble changeMoney = money.sub(oriMoney);
// 몽앴饋簡땐데id혼꿴璂饋簡땐데 // 몽앴饋簡땐데id혼꿴璂饋簡땐데
BaseDAO dao = new BaseDAO(); BaseDAO dao = new BaseDAO();
String sql = "select nreceivedmny,ntotalorigmny from so_saleorder where dr = 0 and csaleorderid = '" + def3 String sql = "select vbillcode,nreceivedmny,ntotalorigmny from so_saleorder where dr = 0 and csaleorderid = '" + def3
+ "'"; + "'";
Map saleMap = (Map) dao.executeQuery(sql, new MapProcessor()); Map saleMap = (Map) dao.executeQuery(sql, new MapProcessor());
// 饋簡땐데송江북셕 // 饋簡땐데송江북셕
UFDouble ntotalorigmny = UFDouble.ZERO_DBL; UFDouble ntotalorigmny = UFDouble.ZERO_DBL;
// 饋簡땐데茄셥澗운쏜띨 // 饋簡땐데茄셥澗운쏜띨
UFDouble nreceivedmny = UFDouble.ZERO_DBL; UFDouble nreceivedmny = UFDouble.ZERO_DBL;
if (saleMap != null) { String vbillcode = "";
if(saleMap != null) {
nreceivedmny = new UFDouble( nreceivedmny = new UFDouble(
saleMap.get("nreceivedmny") == null ? "0" : saleMap.get("nreceivedmny").toString()); saleMap.get("nreceivedmny") == null ? "0" : saleMap.get("nreceivedmny").toString());
ntotalorigmny = new UFDouble( ntotalorigmny = new UFDouble(
saleMap.get("ntotalorigmny") == null ? "0" : saleMap.get("ntotalorigmny").toString()); saleMap.get("ntotalorigmny") == null ? "0" : saleMap.get("ntotalorigmny").toString());
vbillcode = saleMap.get("vbillcode") == null ? "" : saleMap.get("vbillcode").toString();
} }
if (money.compareTo(ntotalorigmny) > 0) { if (money.compareTo(ntotalorigmny) > 0) {
UFDouble moreMoney = money.sub(ntotalorigmny); UFDouble moreMoney = money.sub(ntotalorigmny);
throw new BusinessException("【该笔收款已超销售订单" + moreMoney + "元,无法传输!请检查订单累计收款金额!】"); throw new BusinessException("【该笔收款税收合计" + money + "已超销售订单 [" + vbillcode + "] " + moreMoney + "元,无法传输!请检查订单累计收款金额!】");
} }
} }

View File

@ -82,20 +82,22 @@ public class GatheringbillSaveBatchBSAction extends BillInsertBatchBSAction {
//몽앴饋簡땐데id혼꿴璂饋簡땐데 //몽앴饋簡땐데id혼꿴璂饋簡땐데
BaseDAO dao = new BaseDAO(); BaseDAO dao = new BaseDAO();
String sql = "select nreceivedmny,ntotalorigmny from so_saleorder where dr = 0 and csaleorderid = '" +def3+"'"; String sql = "select vbillcode,nreceivedmny,ntotalorigmny from so_saleorder where dr = 0 and csaleorderid = '" +def3+"'";
Map saleMap = (Map)dao.executeQuery(sql, new MapProcessor()); Map saleMap = (Map)dao.executeQuery(sql, new MapProcessor());
//饋簡땐데송江북셕 //饋簡땐데송江북셕
UFDouble ntotalorigmny = UFDouble.ZERO_DBL; UFDouble ntotalorigmny = UFDouble.ZERO_DBL;
//饋簡땐데茄셥澗운쏜띨 //饋簡땐데茄셥澗운쏜띨
UFDouble nreceivedmny = UFDouble.ZERO_DBL; UFDouble nreceivedmny = UFDouble.ZERO_DBL;
String vbillcode = "";
if(saleMap != null) { if(saleMap != null) {
nreceivedmny = new UFDouble(saleMap.get("nreceivedmny") == null ? "0" : saleMap.get("nreceivedmny").toString()); nreceivedmny = new UFDouble(saleMap.get("nreceivedmny") == null ? "0" : saleMap.get("nreceivedmny").toString());
ntotalorigmny = new UFDouble(saleMap.get("ntotalorigmny") == null ? "0" : saleMap.get("ntotalorigmny").toString()); ntotalorigmny = new UFDouble(saleMap.get("ntotalorigmny") == null ? "0" : saleMap.get("ntotalorigmny").toString());
vbillcode = saleMap.get("vbillcode") == null ? "" : saleMap.get("vbillcode").toString();
} }
if (money.compareTo(ntotalorigmny) > 0) { if (money.compareTo(ntotalorigmny) > 0) {
UFDouble moreMoney = money.sub(ntotalorigmny); UFDouble moreMoney = money.sub(ntotalorigmny);
throw new BusinessException("【该笔收款已超销售订单" + moreMoney + "元,无法传输!请检查订单累计收款金额!】"); throw new BusinessException("【该笔收款税收合计" + money + "已超销售订单 [" + vbillcode + "] " + moreMoney + "元,无法传输!请检查订单累计收款金额!】");
} }
} }
} }

View File

@ -212,7 +212,7 @@ class ApplyRequest extends EInvoiceRequest implements IFactoryRequest {
motor.setHGZH(psd.getHgzh()); motor.setHGZH(psd.getHgzh());
motor.setFDJHM(psd.getFdjhm()); motor.setFDJHM(psd.getFdjhm());
motor.setDUWEI(psd.getDunwei()); motor.setDUNWEI(psd.getDunwei());
// *********************************************************************** // ***********************************************************************
ad.setDetailMotor(motor); ad.setDetailMotor(motor);
} }
@ -1377,7 +1377,7 @@ class ApplyRequest extends EInvoiceRequest implements IFactoryRequest {
//Öλ //Öλ
private String DUWEI; private String DUNWEI;
public String getHGZH() { public String getHGZH() {
return HGZH; return HGZH;
@ -1395,12 +1395,12 @@ class ApplyRequest extends EInvoiceRequest implements IFactoryRequest {
this.FDJHM = FDJHM; this.FDJHM = FDJHM;
} }
public String getDUWEI() { public String getDUNWEI() {
return DUWEI; return DUNWEI;
} }
public void setDUWEI(String DUWEI) { public void setDUNWEI(String DUNWEI) {
this.DUWEI = DUWEI; this.DUNWEI = DUNWEI;
} }

View File

@ -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.pluginpoint.PMOPluginPoint;
import nc.bs.mmpac.pmo.pac0002.rule.PMOFilterBillStatusRule; import nc.bs.mmpac.pmo.pac0002.rule.PMOFilterBillStatusRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOFinishAutoFinishPutPlanRule; 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.mmpac.pmo.pac0002.rule.fill.PMOFillFinishValueRule;
import nc.bs.mmpub.rule.MMVOSagaFrozenValidateRule; import nc.bs.mmpub.rule.MMVOSagaFrozenValidateRule;
import nc.impl.pubapp.pattern.rule.IFilterRule; import nc.impl.pubapp.pattern.rule.IFilterRule;
@ -43,9 +42,9 @@ public class PMOFinishBP {
private void addFinishAfterRule(CompareAroundProcesser<PMOAggVO> processer) { private void addFinishAfterRule(CompareAroundProcesser<PMOAggVO> processer) {
IRule<PMOAggVO> finishPutPlanRule = new PMOFinishAutoFinishPutPlanRule(); IRule<PMOAggVO> finishPutPlanRule = new PMOFinishAutoFinishPutPlanRule();
processer.addAfterRule(finishPutPlanRule); processer.addAfterRule(finishPutPlanRule);
/** 同步修改备料计划完成(生产订单强制完工时) */ // /** 同步修改备料计划完成(生产订单强制完工时) */
IRule<PMOAggVO> pMOToFinishPickMRule = new PMOToFinishPickMRule(); // IRule<PMOAggVO> pMOToFinishPickMRule = new PMOToFinishPickMRule();
processer.addAfterRule(pMOToFinishPickMRule); // processer.addAfterRule(pMOToFinishPickMRule);
} }
public PMOAggVO[] finishCancel(PMOAggVO[] fullBills, PMOAggVO[] originBills) { public PMOAggVO[] finishCancel(PMOAggVO[] fullBills, PMOAggVO[] originBills) {

View File

@ -5,13 +5,16 @@
package nc.bs.mmpac.pmo.pac0002.bp; 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.service.PMOBPService;
import nc.bs.mmpac.pmo.pac0002.bp.util.PMOBPUtil; import nc.bs.mmpac.pmo.pac0002.bp.util.PMOBPUtil;
import nc.bs.mmpac.pmo.pac0002.pluginpoint.PMOPluginPoint; import nc.bs.mmpac.pmo.pac0002.pluginpoint.PMOPluginPoint;
import nc.bs.mmpac.pmo.pac0002.rule.PMOFilterBillStatusRule; import nc.bs.mmpac.pmo.pac0002.rule.PMOFilterBillStatusRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOFilterRowStatusRule; import nc.bs.mmpac.pmo.pac0002.rule.PMOFilterRowStatusRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOFinishAutoFinishPutPlanRule; 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.mmpac.pmo.pac0002.rule.fill.PMOFillFinishValueRule;
import nc.bs.mmpub.rule.MMVOSagaFrozenValidateRule; import nc.bs.mmpub.rule.MMVOSagaFrozenValidateRule;
import nc.impl.pubapp.pattern.rule.IRule; import nc.impl.pubapp.pattern.rule.IRule;
@ -28,11 +31,6 @@ import nc.vo.pub.BusinessException;
import nc.vo.pub.CircularlyAccessibleValueObject; import nc.vo.pub.CircularlyAccessibleValueObject;
import nc.vo.pubapp.pattern.exception.ExceptionUtils; 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 class PMORowFinishBP {
public PMORowFinishBP() { public PMORowFinishBP() {
} }
@ -88,10 +86,10 @@ public class PMORowFinishBP {
returnvos[0].setChildrenVO((CircularlyAccessibleValueObject[])newitemMap.values().toArray(new PMOItemVO[0])); returnvos[0].setChildrenVO((CircularlyAccessibleValueObject[])newitemMap.values().toArray(new PMOItemVO[0]));
processer.after(returnvos, returnvos); processer.after(returnvos, returnvos);
/** 同步修改备料计划完成(生产订单强制完工时) */ // /** 同步修改备料计划完成(生产订单强制完工时) */
IRule<PMOAggVO> pMOToFinishPickMRule = new PMOToFinishPickMRule(); // IRule<PMOAggVO> pMOToFinishPickMRule = new PMOToFinishPickMRule();
pMOToFinishPickMRule.process(newaggvos); // pMOToFinishPickMRule.process(newaggvos);
/** ******************** */ // /** ******************** */
PMOAggVO newaggvo = PMOBPService.getIPMOQueryService().queryByPk(vos[0].getParentVO().getCpmohid()); PMOAggVO newaggvo = PMOBPService.getIPMOQueryService().queryByPk(vos[0].getParentVO().getCpmohid());
return new PMOAggVO[]{newaggvo}; return new PMOAggVO[]{newaggvo};

View File

@ -27,52 +27,53 @@ public class PMOToFinishPickMRule
* 3.若为完工状态则根据生产订单明细表中生产订单行查询备料计划 * 3.若为完工状态则根据生产订单明细表中生产订单行查询备料计划
* 4.修改备料计划为完成状态3 * 4.修改备料计划为完成状态3
*/ */
for(int i = 0; i < vos.length; i++) { //20250514弃用
PMOAggVO vo = vos[i]; // for(int i = 0; i < vos.length; i++) {
PMOItemVO[] items = vo.getChildrenVO(); // PMOAggVO vo = vos[i];
//循环生产订单明细 // PMOItemVO[] items = vo.getChildrenVO();
for(int j = 0; j < items.length; j++) { // //循环生产订单明细
PMOItemVO item = items[j]; // for(int j = 0; j < items.length; j++) {
//查看生产订单行状态是否为完工2 // PMOItemVO item = items[j];
int fitemStatus = item.getFitemstatus(); // //查看生产订单行状态是否为完工2
if(fitemStatus != 2) { // int fitemStatus = item.getFitemstatus();
continue; // if(fitemStatus != 2) {
} // continue;
//根据生产订单行查询备料计划 // }
String cmoid = item.getCmoid(); // //根据生产订单行查询备料计划
String whereSql = "nvl(mm_pickm.dr,0) = 0 and mm_pickm.vsourcemorowid = '" + cmoid + "'"; // String cmoid = item.getCmoid();
IMDPersistenceQueryService aggvoQueryService = NCLocator.getInstance().lookup(IMDPersistenceQueryService.class); // String whereSql = "nvl(mm_pickm.dr,0) = 0 and mm_pickm.vsourcemorowid = '" + cmoid + "'";
// 根据主键查询得到aggvo // IMDPersistenceQueryService aggvoQueryService = NCLocator.getInstance().lookup(IMDPersistenceQueryService.class);
try { // // 根据主键查询得到aggvo
@SuppressWarnings("unchecked") // try {
ArrayList<AggPickmVO> aggVOs = (ArrayList<AggPickmVO>)aggvoQueryService.queryBillOfVOByCond(AggPickmVO.class, whereSql, true, false); // @SuppressWarnings("unchecked")
if(aggVOs.size() <= 0) { // ArrayList<AggPickmVO> aggVOs = (ArrayList<AggPickmVO>)aggvoQueryService.queryBillOfVOByCond(AggPickmVO.class, whereSql, true, false);
continue; // if(aggVOs.size() <= 0) {
} // continue;
//数组转换 // }
AggPickmVO[] aggVOsArr = new AggPickmVO[aggVOs.size()]; // //数组转换
boolean flag = false; // AggPickmVO[] aggVOsArr = new AggPickmVO[aggVOs.size()];
for(int z=0; z<aggVOs.size(); z++) { // boolean flag = false;
AggPickmVO aggPickmVO = aggVOs.get(z); // for(int z=0; z<aggVOs.size(); z++) {
PickmHeadVO pickmHeadVO = aggPickmVO.getParentVO(); // AggPickmVO aggPickmVO = aggVOs.get(z);
Integer fbillstatus = pickmHeadVO.getFbillstatus(); // PickmHeadVO pickmHeadVO = aggPickmVO.getParentVO();
//已经位完工态的备料计划不修改 // Integer fbillstatus = pickmHeadVO.getFbillstatus();
if(fbillstatus != 2){ // //已经位完工态的备料计划不修改
aggVOsArr[z] =aggVOs.get(z); // if(fbillstatus != 2){
flag = true; // aggVOsArr[z] =aggVOs.get(z);
} // flag = true;
} // }
if(flag) { // }
//备料计划完工 // if(flag) {
IPickmMaintainService ipickmMaintainService = NCLocator.getInstance().lookup(IPickmMaintainService.class); // //备料计划完工
ipickmMaintainService.finishPickm(aggVOsArr); // IPickmMaintainService ipickmMaintainService = NCLocator.getInstance().lookup(IPickmMaintainService.class);
} // ipickmMaintainService.finishPickm(aggVOsArr);
}catch(BusinessException e) { // }
// TODO Auto-generated catch block // }catch(BusinessException e) {
e.printStackTrace(); // // TODO Auto-generated catch block
} // e.printStackTrace();
// }
} //
} // }
// }
} }
} }

View File

@ -5,8 +5,25 @@
package nc.bs.mmpac.wr.bp; 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.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.WrCreateBatProdRule;
import nc.bs.mmpac.wr.rule.batch.WrCreateBatchCodeRule; import nc.bs.mmpac.wr.rule.batch.WrCreateBatchCodeRule;
import nc.bs.mmpac.wr.rule.check.WrNullRule; 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.output.WrOutputNotNullRule;
import nc.bs.mmpac.wr.rule.pick.WrPickNotNullRule; import nc.bs.mmpac.wr.rule.pick.WrPickNotNullRule;
import nc.bs.mmpac.wr.rule.putplan.WrInsertRewriteWrNumForPutPlanRule; 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.MMATOMaterialCheckRule;
import nc.bs.mmpub.rule.MMAutoMaterialAssignRule; import nc.bs.mmpub.rule.MMAutoMaterialAssignRule;
import nc.bs.pubapp.pub.rule.FieldLengthCheckRule; 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.MMCheckMaterialVirtualRule;
import nc.util.mmf.busi.rule.MMCreateBillcodeAndTrantypecodeRule; import nc.util.mmf.busi.rule.MMCreateBillcodeAndTrantypecodeRule;
import nc.util.mmf.framework.gc.GCInsertBPTemplate; import nc.util.mmf.framework.gc.GCInsertBPTemplate;
import nc.vo.mmpac.wr.entity.*; import nc.vo.mmpac.wr.entity.AggWrVO;
import nc.vo.mmpac.wr.entity.WrItemVO;
import java.util.HashMap; import nc.vo.mmpac.wr.entity.WrPickVO;
import java.util.Map; import nc.vo.mmpac.wr.entity.WrQualityVO;
import nc.vo.mmpac.wr.entity.WrVO;
public class WrInsertBP { public class WrInsertBP {
private boolean isOnlyInsert = false; private boolean isOnlyInsert = false;
@ -130,10 +153,10 @@ public class WrInsertBP {
processor.addAfterRule(moDiscadNumRewriteRule); processor.addAfterRule(moDiscadNumRewriteRule);
IRule<AggWrVO> snSaveRule = new WrSerialNoSaveRule(); IRule<AggWrVO> snSaveRule = new WrSerialNoSaveRule();
processor.addAfterRule(snSaveRule); processor.addAfterRule(snSaveRule);
/** 同步修改备料计划完成 */ // /** ͬ²½Ð޸ı¸Áϼƻ®Íê³É */
IRule<AggWrVO> pickMFinishRule = new PickMFinishRule(); // IRule<AggWrVO> pickMFinishRule = new PickMFinishRule();
processor.addAfterRule(pickMFinishRule); // processor.addAfterRule(pickMFinishRule);
/** ******************** */ // /** ******************** */
if (!this.isOnlyInsert) { if (!this.isOnlyInsert) {
processor.addAfterRule(new WrIsSaveAndApproveRule()); processor.addAfterRule(new WrIsSaveAndApproveRule());

View File

@ -27,69 +27,69 @@ public class PickMFinishRule extends Object implements IRule<AggWrVO> {
* 业务逻辑 1.根据生产报告子表中生产订单行查看生产订单明细表 2.查看生产订单明细行的状态是否为完工2 * 业务逻辑 1.根据生产报告子表中生产订单行查看生产订单明细表 2.查看生产订单明细行的状态是否为完工2
* 3.若为完工状态则根据生成报告子表中生产订单行查询备料计划 4.修改备料计划为完成状态3 * 3.若为完工状态则根据生成报告子表中生产订单行查询备料计划 4.修改备料计划为完成状态3
*/ */
for (int i = 0; i < vos.length; i++) { // for (int i = 0; i < vos.length; i++) {
AggWrVO vo = vos[i]; // AggWrVO vo = vos[i];
WrItemVO[] items = vo.getChildrenVO(); // WrItemVO[] items = vo.getChildrenVO();
// 循环生产报告子表 // // 循环生产报告子表
for (int j = 0; j < items.length; j++) { // for (int j = 0; j < items.length; j++) {
WrItemVO item = items[j]; // WrItemVO item = items[j];
String cbmobid = item.getCbmobid(); // String cbmobid = item.getCbmobid();
String[] keys = { cbmobid }; // String[] keys = { cbmobid };
// 生产订单行查询 // // 生产订单行查询
PMOItemVO[] pmoItemvos = (new PMOItemVOQueryBP()).getPMOItemVOsByids(keys); // PMOItemVO[] pmoItemvos = (new PMOItemVOQueryBP()).getPMOItemVOsByids(keys);
// 查看生产订单行状态是否为完工2 // // 查看生产订单行状态是否为完工2
if (pmoItemvos.length > 0) { // if (pmoItemvos.length > 0) {
PMOItemVO pmoItem = pmoItemvos[0]; // PMOItemVO pmoItem = pmoItemvos[0];
int fitemStatus = pmoItem.getFitemstatus(); // int fitemStatus = pmoItem.getFitemstatus();
if (fitemStatus != 2) { // if (fitemStatus != 2) {
continue; // continue;
} // }
// 根据生产订单行查询备料计划 // // 根据生产订单行查询备料计划
// BillQuery<AggPickmVO> query = new BillQuery<AggPickmVO>(AggPickmVO.class); //// BillQuery<AggPickmVO> query = new BillQuery<AggPickmVO>(AggPickmVO.class);
// AggPickmVO[] aggVOs = (AggPickmVO[])query.query(keys); //// AggPickmVO[] aggVOs = (AggPickmVO[])query.query(keys);
//
String whereSql = "nvl(mm_pickm.dr,0) = 0 and mm_pickm.vsourcemorowid = '" + cbmobid + "'"; // String whereSql = "nvl(mm_pickm.dr,0) = 0 and mm_pickm.vsourcemorowid = '" + cbmobid + "'";
IMDPersistenceQueryService aggvoQueryService = NCLocator.getInstance() // IMDPersistenceQueryService aggvoQueryService = NCLocator.getInstance()
.lookup(IMDPersistenceQueryService.class); // .lookup(IMDPersistenceQueryService.class);
// 根据主键查询得到aggvo // // 根据主键查询得到aggvo
try { // try {
@SuppressWarnings("unchecked") // @SuppressWarnings("unchecked")
ArrayList<AggPickmVO> aggVOs = (ArrayList<AggPickmVO>) aggvoQueryService // ArrayList<AggPickmVO> aggVOs = (ArrayList<AggPickmVO>) aggvoQueryService
.queryBillOfVOByCond(AggPickmVO.class, whereSql, true, false); // .queryBillOfVOByCond(AggPickmVO.class, whereSql, true, false);
if (aggVOs.size() <= 0) { // if (aggVOs.size() <= 0) {
continue; // continue;
} // }
// 数组转换 // // 数组转换
AggPickmVO[] aggVOsArr = new AggPickmVO[aggVOs.size()]; // AggPickmVO[] aggVOsArr = new AggPickmVO[aggVOs.size()];
boolean flag = false; // boolean flag = false;
for (int z = 0; z < aggVOs.size(); z++) { // for (int z = 0; z < aggVOs.size(); z++) {
AggPickmVO aggPickmVO = aggVOs.get(z); // AggPickmVO aggPickmVO = aggVOs.get(z);
PickmHeadVO pickmHeadVO = aggPickmVO.getParentVO(); // PickmHeadVO pickmHeadVO = aggPickmVO.getParentVO();
Integer fbillstatus = pickmHeadVO.getFbillstatus(); // Integer fbillstatus = pickmHeadVO.getFbillstatus();
if (fbillstatus != 2) { // if (fbillstatus != 2) {
aggVOsArr[z] = aggVOs.get(z); // aggVOsArr[z] = aggVOs.get(z);
flag = true; // flag = true;
} // }
//
} // }
if (flag) { // if (flag) {
// 备料计划完工 // // 备料计划完工
IPickmMaintainService ipickmMaintainService = NCLocator.getInstance() // IPickmMaintainService ipickmMaintainService = NCLocator.getInstance()
.lookup(IPickmMaintainService.class); // .lookup(IPickmMaintainService.class);
ipickmMaintainService.finishPickm(aggVOsArr); // ipickmMaintainService.finishPickm(aggVOsArr);
} // }
} catch (BusinessException e) { // } catch (BusinessException e) {
// TODO Auto-generated catch block // // TODO Auto-generated catch block
e.printStackTrace(); // e.printStackTrace();
} // }
//
} // }
//
} // }
} // }
AggWrChangeVO[] aggChangeVOs = WrBusiVOToChangeVO.changeOnlySerialNoVO(vos); // AggWrChangeVO[] aggChangeVOs = WrBusiVOToChangeVO.changeOnlySerialNoVO(vos);
//
WrSerialNoDocInsertControl inSertControl = new WrSerialNoDocInsertControl(); // WrSerialNoDocInsertControl inSertControl = new WrSerialNoDocInsertControl();
inSertControl.process(aggChangeVOs); // inSertControl.process(aggChangeVOs);
} }
} }

View File

@ -47,22 +47,20 @@ public class PloProdDeptRule implements IRule<AggregatedPoVO> {
String prodDeptid = plo.getCproddeptid(); String prodDeptid = plo.getCproddeptid();
String prodDeptvid = plo.getCproddeptvid(); String prodDeptvid = plo.getCproddeptvid();
Integer posource = plo.getFposource(); Integer posource = plo.getFposource();
if (PoSourceEnum.COMPUT == posource && MMValueCheck.isEmpty(prodDeptid) if (PoSourceEnum.COMPUT == posource && MMValueCheck.isEmpty(prodDeptid) && MMValueCheck.isEmpty(prodDeptvid)
&& MMValueCheck.isEmpty(prodDeptvid) && MMValueCheck.isNotEmpty(stockorgid) && MMValueCheck.isNotEmpty(stockorgid) && MMValueCheck.isNotEmpty(stockorgvid)) {
&& MMValueCheck.isNotEmpty(stockorgvid)) {
List<String> vids = map.get(stockorgid); List<String> vids = map.get(stockorgid);
if (null == vids) { if (null == vids) {
List<String> list = new ArrayList<String>(); List<String> list = new ArrayList<String>();
list.add(vid); list.add(vid);
map.put(stockorgid, list); map.put(stockorgid, list);
} } else {
else {
vids.add(vid); vids.add(vid);
} }
} }
String vsrcbid = plo.getVsrcbid();//来源单据表体主键 String vsrcbid = plo.getVsrcbid();// 来源单据表体主键
int fdemandbill = plo.getFdemandbill();//需求来源 // 需求来源为备料计划的才回写
if (PoSourceEnum.COMPUT == posource && fdemandbill == 1) { if (PoSourceEnum.COMPUT == posource && plo.getFdemandbill() != null && plo.getFdemandbill() == 1) {
vsrcbidList.add(vsrcbid); vsrcbidList.add(vsrcbid);
} }
} }
@ -70,31 +68,30 @@ public class PloProdDeptRule implements IRule<AggregatedPoVO> {
String[] vsrcbids = vsrcbidList.toArray(new String[vsrcbidList.size()]); String[] vsrcbids = vsrcbidList.toArray(new String[vsrcbidList.size()]);
Map<String, AggPickmVO> pickmVOMap; Map<String, AggPickmVO> pickmVOMap;
try { try {
pickmVOMap = NCLocator.getInstance().lookup(IPickmPubQueryService.class) pickmVOMap = NCLocator.getInstance().lookup(IPickmPubQueryService.class).queryPickm4Issue(vsrcbids);
.queryPickm4Issue(vsrcbids);
} catch (BusinessException e) { } catch (BusinessException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
pickmVOMap.getClass(); pickmVOMap.getClass();
for (AggregatedPoVO agg : vos) { for (AggregatedPoVO agg : vos) {
PoVO plo = agg.getParentVO(); PoVO plo = agg.getParentVO();
String vsrcbid = plo.getVsrcbid();//来源单据表体主键 String vsrcbid = plo.getVsrcbid();// 来源单据表体主键
AggPickmVO aggPickmVOData = pickmVOMap.get(vsrcbid); AggPickmVO aggPickmVOData = pickmVOMap.get(vsrcbid);
if (aggPickmVOData != null) { if (aggPickmVOData != null) {
PickmItemVO[] children = (PickmItemVO[]) aggPickmVOData.getChildren(PickmItemVO.class); PickmItemVO[] children = (PickmItemVO[]) aggPickmVOData.getChildren(PickmItemVO.class);
String vbdef5 = "";//合同编号 String vbdef5 = "";// 合同编号
String vbdef6 = "";//合同销售订单号 String vbdef6 = "";// 合同销售订单号
String vbdef7 = "";//标前项目号 String vbdef7 = "";// 标前项目号
for (PickmItemVO pickmItemVO : children) { for (PickmItemVO pickmItemVO : children) {
if (pickmItemVO.getCpickm_bid().equals(vsrcbid)) { if (pickmItemVO.getCpickm_bid().equals(vsrcbid)) {
vbdef5 = pickmItemVO.getVbdef5();//合同编号 vbdef5 = pickmItemVO.getVbdef5();// 合同编号
vbdef6 = pickmItemVO.getVbdef6();//合同销售订单号 vbdef6 = pickmItemVO.getVbdef6();// 合同销售订单号
vbdef7 = pickmItemVO.getVbdef7();//标前项目号 vbdef7 = pickmItemVO.getVbdef7();// 标前项目号
} }
} }
plo.setVdef2(vbdef5);//合同编号 plo.setVdef2(vbdef5);// 合同编号
plo.setVdef3(vbdef6);//合同销售订单号 plo.setVdef3(vbdef6);// 合同销售订单号
plo.setVdef4(vbdef7);//标前项目号 plo.setVdef4(vbdef7);// 标前项目号
} }
} }
} }
@ -103,10 +100,8 @@ public class PloProdDeptRule implements IRule<AggregatedPoVO> {
while (i.hasNext()) { while (i.hasNext()) {
String key = i.next(); String key = i.next();
List<String> vids = map.get(key); List<String> vids = map.get(key);
Map<String, MaterialProdVO> results = Map<String, MaterialProdVO> results = MaterialPubService.queryMaterialProduceInfoByPks(
MaterialPubService.queryMaterialProduceInfoByPks(vids.toArray(new String[0]), key, new String[] { vids.toArray(new String[0]), key, new String[] { MaterialProdVO.PK_PRODEPTDOC });
MaterialProdVO.PK_PRODEPTDOC
});
for (AggregatedPoVO agg : vos) { for (AggregatedPoVO agg : vos) {
PoVO plo = agg.getParentVO(); PoVO plo = agg.getParentVO();
String vid = plo.getCmaterialvid(); String vid = plo.getCmaterialvid();
@ -147,8 +142,7 @@ public class PloProdDeptRule implements IRule<AggregatedPoVO> {
} }
} }
} }
} } catch (BusinessException e) {
catch (BusinessException e) {
ExceptionUtils.wrappException(e); ExceptionUtils.wrappException(e);
} }

View File

@ -551,6 +551,18 @@ public class APISaleOrderMaitainImpl implements IAPISaleOrderMaitain {
if (vtrantypecode != null && !vtrantypecode.isEmpty()) { if (vtrantypecode != null && !vtrantypecode.isEmpty()) {
targetHVO.setVtrantypecode(vtrantypecode); targetHVO.setVtrantypecode(vtrantypecode);
} }
//订单关联合同号
String vdef19 = sourceHVO.getVdef19();
if (vdef19 != null && !vdef19.isEmpty()) {
targetHVO.setVdef19(vdef19);
}
// 工程名称
String vdef20 = sourceHVO.getVdef20();
if (vdef20 != null && !vdef20.isEmpty()) {
targetHVO.setVdef20(vdef20);
}
// ¸üРSaleOrderBVO ×ÖÎ // ¸üРSaleOrderBVO ×ÖÎ
SaleOrderBVO[] targetBVOs = target.getChildrenVO(); SaleOrderBVO[] targetBVOs = target.getChildrenVO();
@ -692,12 +704,28 @@ public class APISaleOrderMaitainImpl implements IAPISaleOrderMaitain {
defList.clear(); defList.clear();
defList = getDefList("BIP-ddh"); defList = getDefList("BIP-ddh");
targetBVO.setVbdef5(defList.getOrDefault(vbdef5, "")); targetBVO.setVbdef5(defList.getOrDefault(vbdef5, ""));
targetBVO.setVbdef10(sourceBVO.getVbdef10());// 项目名称 // 新增字段的setter方法
targetBVO.setVbdef13(sourceBVO.getVbdef13());// 国网行项目号 targetBVO.setVbdef10(sourceBVO.getVbdef10()); // 项目名称
targetBVO.setVbdef13(sourceBVO.getVbdef13()); // 国网行项目号
targetBVO.setVbdef18(sourceBVO.getVbdef18()); // 是否定制
targetBVO.setVbdef19(sourceBVO.getVbdef19()); // 计划开工日期
targetBVO.setVbdef20(sourceBVO.getVbdef20()); // 计划完工日期
// 更新日志输出按需添加字段
NCCForUAPLogger.debug(String.format( NCCForUAPLogger.debug(String.format(
"cmaterialvid = [%S], vbdef1 = [%S], vbdef5 = [%S], vbdef10 = [%S], vbdef13 = [%S]", "cmaterialvid = [%S], vbdef1 = [%S], vbdef5 = [%S], vbdef10 = [%S], vbdef13 = [%S], "
cmaterialvid, targetBVO.getVbdef1(), targetBVO.getVbdef5(), targetBVO.getVbdef10(), + " vbdef18 = [%S], vbdef19 = [%S], vbdef20 = [%S]",
targetBVO.getVbdef13())); cmaterialvid,
targetBVO.getVbdef1(),
targetBVO.getVbdef5(),
targetBVO.getVbdef10(),
targetBVO.getVbdef13(),
targetBVO.getVbdef18(), // 是否定制
targetBVO.getVbdef19(), // 计划开工日期
targetBVO.getVbdef20() // 计划完工日期
));
} }
} }

View File

@ -7,6 +7,7 @@ import nc.bs.framework.common.InvocationInfoProxy;
import nc.bs.framework.common.NCLocator; import nc.bs.framework.common.NCLocator;
import nc.itf.bd.defdoc.IDefdocService; import nc.itf.bd.defdoc.IDefdocService;
import nc.itf.pim.project.prv.IProject; import nc.itf.pim.project.prv.IProject;
import nc.jdbc.framework.SQLParameter;
import nc.jdbc.framework.processor.ColumnListProcessor; import nc.jdbc.framework.processor.ColumnListProcessor;
import nc.jdbc.framework.processor.ColumnProcessor; import nc.jdbc.framework.processor.ColumnProcessor;
import nc.jdbc.framework.processor.MapProcessor; import nc.jdbc.framework.processor.MapProcessor;
@ -21,6 +22,8 @@ import nccloud.api.rest.utils.NCCRestUtils;
import nccloud.api.rest.utils.ResultMessageUtil; import nccloud.api.rest.utils.ResultMessageUtil;
import nccloud.api.so.m30.IAPISaleOrderMaitain; import nccloud.api.so.m30.IAPISaleOrderMaitain;
import nccloud.api.so.m30.IAPISaleOrderQuery; import nccloud.api.so.m30.IAPISaleOrderQuery;
import nccloud.baseapp.core.log.NCCForUAPLogger;
import nccloud.commons.lang.StringUtils;
import nccloud.openapi.scmpub.pub.NCCPubRestResource; import nccloud.openapi.scmpub.pub.NCCPubRestResource;
import nccloud.openapi.scmpub.pub.TransferCodeToPKTool; import nccloud.openapi.scmpub.pub.TransferCodeToPKTool;
import nccloud.openapi.scmpub.pub.TransferMapToVOTool; import nccloud.openapi.scmpub.pub.TransferMapToVOTool;
@ -483,4 +486,45 @@ public class SaleOrderResource extends NCCPubRestResource {
return ResultMessageUtil.exceptionToJSON(e); return ResultMessageUtil.exceptionToJSON(e);
} }
} }
/**
* 金慧软件修改BIP销售订单明细
*
* @author mzr
* @date 2025/05/14
*/
@POST
@Path("updateDef")
@Consumes({"application/json"})
@Produces({"application/json"})
public JSONString updateDef(Map<String, Object> paramMap) {
String csaleorderbid = (String) paramMap.get("csaleorderbid");
if (StringUtils.isEmpty(csaleorderbid)) {
return ResultMessageUtil.exceptionToJSON("传入参数为空,请检查", APIErrCodeEnum.BUSINESSEXCCODE.getCode());
}
try {
StringBuilder sql = new StringBuilder("update so_saleorder_b set ");
SQLParameter parameter = new SQLParameter();
for (Map.Entry<String, Object> entry : paramMap.entrySet()) {
if (!"csaleorderbid".equals(entry.getKey())) {
sql.append(entry.getKey()).append(" = ?, ");
parameter.addParam(entry.getValue());
}
}
if (parameter.getCountParams() <= 0) {
return ResultMessageUtil.toJSON("传入参数为空,请检查", APIErrCodeEnum.BUSINESSEXCCODE.getCode());
}
// 删除最后的", "
sql.delete(sql.length() - 2, sql.length());
sql.append(" where csaleorderbid = ?");
NCCForUAPLogger.debug("updateDef-sql:" + sql);
parameter.addParam(csaleorderbid);
BaseDAO baseDAO = new BaseDAO();
int num = baseDAO.executeUpdate(sql.toString(), parameter);
return ResultMessageUtil.toJSON(num, "销售订单修改成功");
} catch (BusinessException e) {
return ResultMessageUtil.exceptionToJSON(e);
}
}
} }

View File

@ -0,0 +1,89 @@
package nc.bs.sscivm.ivsale.util;
import nc.vo.sscivm.ivmpub.InvoiceTypeEnum;
import java.util.HashMap;
import java.util.Map;
/**
* 发票类型和特殊票种映射工具类
* @author wangyl7
*
*/
public class InvoiceTypeToTspzUtil {
private final static Map<Integer,String> invoiceMap = new HashMap<Integer,String>();
private final static Map<Integer,String> tspzMap = new HashMap<Integer,String>();
static {
invoiceMap.put(InvoiceTypeEnum.INVOICETYPE_ZYFP_JDC.toIntValue(), "4");
invoiceMap.put(InvoiceTypeEnum.INVOICETYPE_DZPTFP_KCL.toIntValue(), "1");
invoiceMap.put(InvoiceTypeEnum.INVOICETYPE_DZZYFP_KCL.toIntValue(), "2");
invoiceMap.put(InvoiceTypeEnum.INVOICETYPE_PTFP_KCL.toIntValue(), "3");
invoiceMap.put(InvoiceTypeEnum.INVOICETYPE_ZYFP_KCL.toIntValue(), "4");
invoiceMap.put(InvoiceTypeEnum.INVOICETYPE_ESCTYFP.toIntValue(), "15");//二手车统一销售与机打重复
invoiceMap.put(InvoiceTypeEnum.INVOICETYPE_DZPTFP_NCP.toIntValue(), "1");
invoiceMap.put(InvoiceTypeEnum.INVOICETYPE_PTFP_NCP.toIntValue(), "3");
tspzMap.put(InvoiceTypeEnum.INVOICETYPE_ZYFP_JDC.toIntValue(), "12");
tspzMap.put(InvoiceTypeEnum.INVOICETYPE_DZPTFP_KCL.toIntValue(), "16");
tspzMap.put(InvoiceTypeEnum.INVOICETYPE_DZZYFP_KCL.toIntValue(), "16");
tspzMap.put(InvoiceTypeEnum.INVOICETYPE_PTFP_KCL.toIntValue(), "16");
tspzMap.put(InvoiceTypeEnum.INVOICETYPE_ZYFP_KCL.toIntValue(), "16");
tspzMap.put(InvoiceTypeEnum.INVOICETYPE_DZPTFP_NCP.toIntValue(), "9");
tspzMap.put(InvoiceTypeEnum.INVOICETYPE_PTFP_NCP.toIntValue(), "9");
}
/**
* 获取真实的发票类型
* @param fplx 发票类型
* @return 真实的发票类型
*/
public static String getRealInvoicetype(Integer fplx){
if (invoiceMap.containsKey(fplx)){
return invoiceMap.get(fplx);
}
return String.valueOf(fplx);
}
/**
* 获取特殊票种
* @param fplx 发票类型
* @return 特殊票种
*/
public static String getTspz(Integer fplx){
if (tspzMap.containsKey(fplx)){
return tspzMap.get(fplx);
}
return null;
}
/**
* 更具发票类型和特殊票种转发票类型
* @param fplx
* @param tspz
* @return
*/
public static String getInvoicetypeByFplxAndTspz(String fplx, String tspz){
//非特殊票种
if (tspz == null || tspz.startsWith("E")){
return fplx;
}
//全电发票不拼接
if ("31".equals(fplx) || "32".equals(fplx) ||"33".equals(fplx) || "34".equals(fplx)){
return fplx;
}
//增值税专用发票(机动车)
if ("412".equals(fplx + tspz)){
return InvoiceTypeEnum.INVOICETYPE_ZYFP_JDC.toStringValue();
}
//农产品收购
if ("9".equals(tspz)) {
return fplx + "0" + tspz;
}
//数电纸质发票(机动车销售统一发票
if ("36".equals(fplx)){
return fplx;
}
//其他特殊票种发票
return fplx + tspz;
}
}

View File

@ -88,6 +88,8 @@ public class APIBomBusinessServiceImpl implements IAPIBomBusinessService {
private static Map<String, Object> tsMap = new HashMap(); private static Map<String, Object> tsMap = new HashMap();
private String orgCodeFlag =null;
private static Map<String, Object> voMap = new HashMap(); private static Map<String, Object> voMap = new HashMap();
private static Map<String, Set<String>> idsMap = new HashMap(); private static Map<String, Set<String>> idsMap = new HashMap();
@ -112,7 +114,11 @@ public class APIBomBusinessServiceImpl implements IAPIBomBusinessService {
list.add(agg); list.add(agg);
} }
AggBomVO[] aggVOs = (AggBomVO[]) list.toArray(new AggBomVO[list.size()]); AggBomVO[] aggVOs = (AggBomVO[]) list.toArray(new AggBomVO[list.size()]);
if(aggVOs[0].getParentVO().getAttributeValue("pk_org")==null||aggVOs[0].getParentVO().getAttributeValue("pk_org")==""){
ExceptionUtils.wrappBusinessException("请求参数pk_org为空请检查");
}else{
this.orgCodeFlag=aggVOs[0].getParentVO().getAttributeValue("pk_org").toString();
}
BillFieldsCodeToPkUtil.doTranslateVOFields(aggVOs); BillFieldsCodeToPkUtil.doTranslateVOFields(aggVOs);
IUifService iUifService = NCLocator.getInstance().lookup(IUifService.class); IUifService iUifService = NCLocator.getInstance().lookup(IUifService.class);
for (AggBomVO aggtwo : aggVOs) { for (AggBomVO aggtwo : aggVOs) {
@ -170,7 +176,7 @@ public class APIBomBusinessServiceImpl implements IAPIBomBusinessService {
result = service.insertBom((AggBomVO[]) addAggvoList.toArray(new AggBomVO[0])); result = service.insertBom((AggBomVO[]) addAggvoList.toArray(new AggBomVO[0]));
} else if (!commitAggvoList.isEmpty() && addAggvoList.isEmpty()) { } else if (!commitAggvoList.isEmpty() && addAggvoList.isEmpty()) {
List<AggBomVO> newAggVOList = new ArrayList<>(); List<AggBomVO> newAggVOList = new ArrayList<>();
if ("gaoning".equals(userCode)) { if ("gaoning".equals(userCode)|| "C029".equals(orgCodeFlag)) {
for (AggBomVO aggvo : commitAggvoList) { for (AggBomVO aggvo : commitAggvoList) {
result = service.insertCommitBomWithParam(new AggBomVO[] { aggvo }, true, true); result = service.insertCommitBomWithParam(new AggBomVO[] { aggvo }, true, true);
newAggVOList.add(result[0]); newAggVOList.add(result[0]);
@ -720,7 +726,7 @@ public class APIBomBusinessServiceImpl implements IAPIBomBusinessService {
if (VersionTypeEnum.AVAILABLE.equalsValue(head.getHfversiontype()) if (VersionTypeEnum.AVAILABLE.equalsValue(head.getHfversiontype())
&& !head.getCbomid().equals(headvo.getCbomid())) { && !head.getCbomid().equals(headvo.getCbomid())) {
// sdlizheng --添加独立判断--plm三方越过此校验 // sdlizheng --添加独立判断--plm三方越过此校验
if ("gaoning".equals(userCode) || "dlkght".equals(userCode)) { if ("gaoning".equals(userCode) || "dlkgsrm".equals(userCode)|| "C029".equals(this.orgCodeFlag)) {
// AggBomVO afterVO = service.canceldefault(aggBomVO); // AggBomVO afterVO = service.canceldefault(aggBomVO);
} else { } else {
return UFBoolean.TRUE; return UFBoolean.TRUE;
@ -774,12 +780,17 @@ public class APIBomBusinessServiceImpl implements IAPIBomBusinessService {
agg.getParent().setAttributeValue("fbillstatus", Integer.valueOf(-1)); agg.getParent().setAttributeValue("fbillstatus", Integer.valueOf(-1));
agg.getParent().setAttributeValue("hfbomsource", Integer.valueOf(1)); agg.getParent().setAttributeValue("hfbomsource", Integer.valueOf(1));
agg.getParent().setAttributeValue("hfbomcategory", Integer.valueOf(1)); agg.getParent().setAttributeValue("hfbomcategory", Integer.valueOf(1));
if ("gaoning".equals(userCode) || "dlkght".equals(userCode)) { if ("gaoning".equals(userCode) || "dlkgsrm".equals(userCode)|| "C029".equals(this.orgCodeFlag)) {
// sdlizheng // sdlizheng
// 1对于之前不存在的BOM新增时如果是传自由态不默认且无效走标准逻辑如果传的是审批态默认且有效2025年4月11日16点28分 start // 1对于之前不存在的BOM新增时如果是传自由态不默认且无效走标准逻辑如果传的是审批态默认且有效2025年4月11日16点28分 start
if (fbillstatus != null && "1".equals(fbillstatus.toString())) { if (fbillstatus != null && "1".equals(fbillstatus.toString())) {
agg.getParent().setAttributeValue("hfversiontype", Integer.valueOf(1)); agg.getParent().setAttributeValue("hfversiontype", Integer.valueOf(1));
agg.getParent().setAttributeValue("hbdefault", UFBoolean.TRUE); agg.getParent().setAttributeValue("hbdefault", UFBoolean.TRUE);
}else if(fbillstatus != null && "-1".equals(fbillstatus.toString())){
if("gaoning".equals(userCode)|| "C029".equals(this.orgCodeFlag)){
agg.getParent().setAttributeValue("hfversiontype", Integer.valueOf(1));
agg.getParent().setAttributeValue("hbdefault", UFBoolean.TRUE);
}
} }
// sdlizheng 1对于之前不存在的BOM新增时如果是传自由态不默认且无效如果传的是审批态默认且有效2025年4月11日16点28分 end // sdlizheng 1对于之前不存在的BOM新增时如果是传自由态不默认且无效如果传的是审批态默认且有效2025年4月11日16点28分 end
} }