From b5826fbae98053b58f10ba6476d477cf487c728b Mon Sep 17 00:00:00 2001 From: mzr Date: Thu, 21 Aug 2025 12:43:55 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat(uapbd):=20=E6=B7=BB=E5=8A=A0=E5=AE=9E?= =?UTF-8?q?=E9=99=85=E6=94=B6=E6=AC=BE=E9=87=91=E9=A2=9D=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 ErpSoToR6Plugin 类中的 SQL 查询中添加 nreceivedmny 字段 - 将查询结果中的 nreceivedmny 值添加到 JSON 输出中,字段名为 actRecvAmt --- .../src/private/nc/bs/uapbd/bip/workplugin/ErpSoToR6Plugin.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/uapbd/src/private/nc/bs/uapbd/bip/workplugin/ErpSoToR6Plugin.java b/uapbd/src/private/nc/bs/uapbd/bip/workplugin/ErpSoToR6Plugin.java index d047a1ea..51785441 100644 --- a/uapbd/src/private/nc/bs/uapbd/bip/workplugin/ErpSoToR6Plugin.java +++ b/uapbd/src/private/nc/bs/uapbd/bip/workplugin/ErpSoToR6Plugin.java @@ -96,6 +96,7 @@ public class ErpSoToR6Plugin implements IBackgroundWorkPlugin { StringBuilder sql = new StringBuilder(); sql.append("SELECT "); sql.append(" a.vdef9, "); + sql.append(" a.nreceivedmny, "); sql.append(" b.vbdef11, "); sql.append(" c.ntotalinvoicenum billqty, "); sql.append(" c.ntotalarmny totalaccrued, "); @@ -183,6 +184,7 @@ public class ErpSoToR6Plugin implements IBackgroundWorkPlugin { bodyList.add(bodyMap); oneJson.put("contractOrdersList", bodyList); oneJson.put("id", hid); + oneJson.put("actRecvAmt", soMap.get("nreceivedmny"));// ʵտ array.add(oneJson); } From 21cf13550b952704ec6125ca1db95140da29c64b Mon Sep 17 00:00:00 2001 From: mzr Date: Fri, 22 Aug 2025 08:37:37 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=9D=90=E6=96=99=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=85=B6=E5=AE=83=E4=BB=93=E5=BA=93=E7=9A=84?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=8A=E5=A2=9E=E5=8A=A0=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../m4d/api/MaterialOutMaintainAPIImpl.java | 130 +++++++ .../ic/m4d/APIMaterialOutMaintainImpl.java | 192 ++++++---- .../ic/m4d/api/IMaterialOutMaintainAPI.java | 109 ++++++ .../api/ic/m4d/IAPIMaterialOutMaintain.java | 2 + .../openapi/ic/m4d/MaterialOutResource.java | 351 ++++++++++++++++++ 5 files changed, 717 insertions(+), 67 deletions(-) create mode 100644 ic/src/private/nc/pubimpl/ic/m4d/api/MaterialOutMaintainAPIImpl.java create mode 100644 ic/src/public/nc/pubitf/ic/m4d/api/IMaterialOutMaintainAPI.java create mode 100644 ic/src/public/nccloud/openapi/ic/m4d/MaterialOutResource.java diff --git a/ic/src/private/nc/pubimpl/ic/m4d/api/MaterialOutMaintainAPIImpl.java b/ic/src/private/nc/pubimpl/ic/m4d/api/MaterialOutMaintainAPIImpl.java new file mode 100644 index 00000000..ddd16558 --- /dev/null +++ b/ic/src/private/nc/pubimpl/ic/m4d/api/MaterialOutMaintainAPIImpl.java @@ -0,0 +1,130 @@ +package nc.pubimpl.ic.m4d.api; + +import nc.pubimpl.ic.api.maintain.BillMaintainTool; +import nc.pubitf.ic.m4d.api.IMaterialOutMaintainAPI; +import nc.uap.oba.word.merger.Logger; +import nc.vo.ic.m4d.entity.MaterialOutVO; +import nc.vo.pub.BusinessException; +import nc.vo.pubapp.pattern.exception.ExceptionUtils; +import nc.vo.scmpub.res.billtype.ICBillType; +import nc.vo.scmpub.util.ArrayUtil; + +import java.util.ArrayList; +import java.util.List; + +public class MaterialOutMaintainAPIImpl implements IMaterialOutMaintainAPI { + + @Override + public MaterialOutVO[] insertBills(MaterialOutVO[] vos) + throws BusinessException { + try { + if (ArrayUtil.isEmpty(vos)) { + return null; + } + BillMaintainTool tool = getBillMaintainTool(); + return tool.insert(vos); + } catch (Exception e) { + ExceptionUtils.marsh(e); + return null; + } + } + + + @Override + public MaterialOutVO[] batchInsertBills_RequiresNew(MaterialOutVO[] vos) throws BusinessException { + try { + if (ArrayUtil.isEmpty(vos)) { + return null; + } + BillMaintainTool tool = getBillMaintainTool(); + return tool.insert(vos); + } catch (Exception e) { + ExceptionUtils.marsh(e); + return null; + } + } + + @Override + public MaterialOutVO[] insertBillsAutoPick(MaterialOutVO[] vos) + throws BusinessException { + try { + if (ArrayUtil.isEmpty(vos)) { + return null; + } + BillMaintainTool tool = getBillMaintainTool(); + return tool.insertAutoPick(vos); + } catch (Exception e) { + ExceptionUtils.marsh(e); + return null; + } + } + + @Override + public void deleteBillsByID(String[] ids) throws BusinessException { + try { + if (ArrayUtil.isEmpty(ids)) { + return; + } + + BillMaintainTool tool = getBillMaintainTool(); + tool.deleteBillsByID(ids); + } catch (Exception e) { + ExceptionUtils.marsh(e); + } + } + + @Override + public void deleteBillsBySourceID(String[] sourceIDs) + throws BusinessException { + try { + if (ArrayUtil.isEmpty(sourceIDs)) { + return; + } + BillMaintainTool tool = getBillMaintainTool(); + String[] ids = tool.queryIDsBySourceHID(sourceIDs); + + deleteBillsByID(ids); + } catch (Exception e) { + ExceptionUtils.marsh(e); + } + } + + @Override + public MaterialOutVO[] signBills(MaterialOutVO[] vos) + throws BusinessException { + try { + if (ArrayUtil.isEmpty(vos)) { + return null; + } + + BillMaintainTool tool = getBillMaintainTool(); + return tool.sign(vos); + } catch (Exception e) { + ExceptionUtils.marsh(e); + return null; + } + } + + @Override + public MaterialOutVO[] cancelSignBills(String[] ids) throws BusinessException { + try { + if (ArrayUtil.isEmpty(ids)) { + return null; + } + + BillMaintainTool tool = getBillMaintainTool(); + return tool.cancelSign(ids); + } catch (Exception e) { + ExceptionUtils.marsh(e); + return null; + } + } + + private BillMaintainTool getBillMaintainTool() { + BillMaintainTool tool = + new BillMaintainTool(MaterialOutVO.class, + ICBillType.MaterialOut.getCode()); + return tool; + } + +} diff --git a/ic/src/private/nccloud/api/impl/ic/m4d/APIMaterialOutMaintainImpl.java b/ic/src/private/nccloud/api/impl/ic/m4d/APIMaterialOutMaintainImpl.java index 96be39d8..9efbc015 100644 --- a/ic/src/private/nccloud/api/impl/ic/m4d/APIMaterialOutMaintainImpl.java +++ b/ic/src/private/nccloud/api/impl/ic/m4d/APIMaterialOutMaintainImpl.java @@ -1,15 +1,13 @@ package nccloud.api.impl.ic.m4d; -import nc.bs.dao.BaseDAO; import nc.bs.framework.common.NCLocator; +import nc.bs.logging.Log; import nc.bs.scmpub.query.SCMBillQuery; +import nc.itf.ic.m4d.IMaterialOutMaintain; import nc.itf.scmpub.reference.uap.pf.PfServiceScmUtil; -import nc.jdbc.framework.processor.ColumnProcessor; -import nc.jdbc.framework.processor.MapListProcessor; import nc.pubimpl.ic.api.maintain.BillMaintainTool; import nc.pubitf.ic.m4d.api.IMaterialOutMaintainAPI; -import nc.vo.bd.material.MaterialVO; import nc.vo.ic.general.define.ICBillFlag; import nc.vo.ic.general.define.ICBillHeadVO; import nc.vo.ic.general.util.ICLocationUtil; @@ -20,36 +18,34 @@ import nc.vo.ic.m4d.entity.MaterialOutVO; import nc.vo.ic.pub.define.ICPubMetaNameConst; import nc.vo.pub.BusinessException; import nc.vo.pub.VOStatus; -import nc.vo.pubapp.pattern.pub.SqlBuilder; import nc.vo.scmpub.check.billvalidate.BillVOsCheckRule; import nc.vo.scmpub.res.billtype.ICBillType; +import nc.vo.scmpub.util.ArrayUtil; import nccloud.api.ic.m4d.IAPIMaterialOutMaintain; import nccloud.api.impl.ic.m4d.check.CheckMaterialOutSaveValidator; import nccloud.api.impl.ic.m4d.fill.MaterialOutSaveFillValue; import nccloud.api.impl.ic.m4d.fill.MaterialOutUpdateFillValue; import nccloud.api.impl.ic.pub.check.CheckProhibitUpdateFields; +import nccloud.api.uapbd.wms.utils.IWmsSyncUtils; import nccloud.openapi.ic.util.ICAPILocationVOUtils; import nccloud.openapi.scmpub.pub.TransferCodeToPKTool; import nccloud.openapi.scmpub.pub.TransferMapToVOTool; -import nccloud.pubift.commen.itf.utils.IHttpPostOtherSys; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; import java.util.*; /** - * - * @Description: ϳⵥάʵ - * - * @author: ܾ - * @date: 2019-5-17 10:49:30 * @version NCC1909 + * @Description: ϳⵥάʵ + * @author: ܾ + * @date: 2019-5-17 10:49:30 */ -public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{ - -// private static final BaseDAO DAO = new BaseDAO(); +public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain { + // private static final BaseDAO DAO = new BaseDAO(); + private static final Log log = Log.getInstance("wmslog"); // private static final IHttpPostOtherSys HTTP_POST_OTHER_SYS = NCLocator.getInstance().lookup(IHttpPostOtherSys.class); @Override @@ -60,7 +56,7 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{ MaterialOutVO[] vos = aggVOList.toArray(new MaterialOutVO[aggVOList.size()]); // ûλкVO - ICAPILocationVOUtils.setLocationVO(ICBillType.MaterialOut.getCode(),vos); + ICAPILocationVOUtils.setLocationVO(ICBillType.MaterialOut.getCode(), vos); // 1ݻǿУ BillVOsCheckRule checker = new BillVOsCheckRule(new CheckMaterialOutSaveValidator()); @@ -84,6 +80,60 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{ return materialOut.insertBills(vos); } + @Override + public MaterialOutVO[] batchsave(List> paramList) throws BusinessException { + // MapListתۺVOList + List aggVOList = + TransferMapToVOTool.transferMapToAggVO(paramList, MaterialOutVO.class); + MaterialOutVO[] vos = + aggVOList.toArray(new MaterialOutVO[aggVOList.size()]); + // ûλкVO + ICAPILocationVOUtils.setLocationVO(ICBillType.MaterialOut.getCode(), vos); + // 1ݻǿУ + BillVOsCheckRule checker = + new BillVOsCheckRule(new CheckMaterialOutSaveValidator()); + checker.check(vos); + // 2뷭pk + aggVOList = TransferCodeToPKTool.transferAggVO(aggVOList); + // λ + ICAPILocationVOUtils.translate(vos); + +// boolean isSpecialCase = checkSpecialCondition(paramList); + // жɹ˼άIJϳ⣬Դݲ +// if (isSpecialCase) { +// processPickingPlanSpecialLogic(vos); +// } + // + new MaterialOutSaveFillValue().setDefaultValue(vos); + + IMaterialOutMaintainAPI materialOut = NCLocator.getInstance().lookup(IMaterialOutMaintainAPI.class); + // ÿк + setMaterialOutRowNum(vos); + List aggvoList = new ArrayList<>(); + if (ArrayUtil.isEmpty(vos)) { + return null; + } + + for (MaterialOutVO vo : vos) { + try { + MaterialOutVO[] materialOutVOS = NCLocator.getInstance().lookup(IMaterialOutMaintainAPI.class).batchInsertBills_RequiresNew(new MaterialOutVO[]{vo}); + aggvoList.add(materialOutVOS[0]); + } catch (Exception e) { + if (e.getMessage() != null && e.getMessage().length() > 0) { + if (e.getMessage().length() > 300) { + vo.getHead().setVdef18("쳣" + e.getMessage().substring(0, 300)); + } else { + vo.getHead().setVdef18("쳣" + e.getMessage().substring(0, e.getMessage().length())); + } + } else { + vo.getHead().setVdef18("쳣쳣ϢΪգջ"); + } + aggvoList.add(vo); + } + } + return aggvoList.toArray(new MaterialOutVO[aggvoList.size()]); + } + private void setMaterialOutRowNum(MaterialOutVO[] vos) { for (int i = 0; i < vos.length; i++) { MaterialOutVO vo = vos[i]; @@ -91,7 +141,7 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{ if (bodys != null && bodys.length > 0) { for (int j = 0; j < bodys.length; j++) { MaterialOutBodyVO body = bodys[j]; - body.setCrowno(String.valueOf((j +1)*10)); + body.setCrowno(String.valueOf((j + 1) * 10)); } } } @@ -107,11 +157,11 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{ MaterialOutVO[] vos = aggVOList.toArray(new MaterialOutVO[aggVOList.size()]); // ûλкVO - ICAPILocationVOUtils.setLocationVO(ICBillType.MaterialOut.getCode(),vos); + ICAPILocationVOUtils.setLocationVO(ICBillType.MaterialOut.getCode(), vos); MaterialOutHeadVO newVO = vos[0].getHead(); String cgeneralhid = newVO.getCgeneralhid(); - if(StringUtils.isEmpty(cgeneralhid)){ - throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0391")/*@res "޸IJϳⵥָͷcgeneralhidֵ"*/); + if (StringUtils.isEmpty(cgeneralhid)) { + throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0391")/*@res "޸IJϳⵥָͷcgeneralhidֵ"*/); } SCMBillQuery queryTool = new SCMBillQuery(MaterialOutVO.class); @@ -119,29 +169,29 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{ Map deleteLoc = new HashMap(); // ԭʼݺͻλϢ - MaterialOutVO[] originBills = queryTool.queryVOByIDs(new String[] { + MaterialOutVO[] originBills = queryTool.queryVOByIDs(new String[]{ cgeneralhid }); ICLocationUtil.loadLocationVOs(originBills); - if(ArrayUtils.isEmpty(materialOutVOs)){ - throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0360")/*@res "ûҵҪ޸ĵijⵥϢݵıͷcgeneralhid"*/); - }else{ + if (ArrayUtils.isEmpty(materialOutVOs)) { + throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0360")/*@res "ûҵҪ޸ĵijⵥϢݵıͷcgeneralhid"*/); + } else { List headProFields = CheckProhibitUpdateFields.getHeadProhibitFields("4D"); List bodyProFields = CheckProhibitUpdateFields.getBodyProhibitFields("4D"); MaterialOutHeadVO origVO = materialOutVOs[0].getHead(); - if(origVO.getFbillflag() == null || + if (origVO.getFbillflag() == null || 0 != ((Integer) ICBillFlag.FREE.value()) - .compareTo((Integer) origVO.getFbillflag())){ - throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0361")/*@res "ǰⵥţ"*/ + origVO.getVbillcode() + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0362")/*@res "״̬޸"*/); + .compareTo((Integer) origVO.getFbillflag())) { + throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0361")/*@res "ǰⵥţ"*/ + origVO.getVbillcode() + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0362")/*@res "״̬޸"*/); } origVO.setStatus(VOStatus.UPDATED); - for(String attr : newVO.getAttributeNames()){ - if(newVO.getAttributeValue(attr) == null) { + for (String attr : newVO.getAttributeNames()) { + if (newVO.getAttributeValue(attr) == null) { continue; } - if(headProFields.contains(attr) - && !newVO.getAttributeValue(attr).equals(origVO.getAttributeValue(attr))){ - throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0363")/*@res "ͷֶΣ"*/ + attr + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0364")/*@res "޸ġ"*/ ); + if (headProFields.contains(attr) + && !newVO.getAttributeValue(attr).equals(origVO.getAttributeValue(attr))) { + throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0363")/*@res "ͷֶΣ"*/ + attr + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0364")/*@res "޸ġ"*/); } origVO.setAttributeValue(attr, newVO.getAttributeValue(attr)); } @@ -154,39 +204,39 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{ } } } - if(vos[0].getBodys() != null){ + if (vos[0].getBodys() != null) { Map pkbs = new HashMap(); - for(MaterialOutBodyVO origBvo : materialOutVOs[0].getBodys()){ + for (MaterialOutBodyVO origBvo : materialOutVOs[0].getBodys()) { origBvo.setStatus(VOStatus.UPDATED); pkbs.put(origBvo.getCgeneralbid(), origBvo); } - for(MaterialOutBodyVO newBvo : vos[0].getBodys()){ + for (MaterialOutBodyVO newBvo : vos[0].getBodys()) { MaterialOutBodyVO roigBvo = pkbs.get(newBvo.getCgeneralbid()); - if(newBvo.getCgeneralbid() == null || roigBvo == null){ - throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0365")/*@res "ûƥ䵽ԭʼⵥϢݵıcgeneralbid"*/); + if (newBvo.getCgeneralbid() == null || roigBvo == null) { + throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0365")/*@res "ûƥ䵽ԭʼⵥϢݵıcgeneralbid"*/); } Set bfields = new HashSet(); - for(String battr : newBvo.getAttributeNames()){ - if(newBvo.getAttributeValue(battr) == null) { + for (String battr : newBvo.getAttributeNames()) { + if (newBvo.getAttributeValue(battr) == null) { continue; } - if(bodyProFields.contains(battr) - && !newBvo.getAttributeValue(battr).equals(roigBvo.getAttributeValue(battr))){ - throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0366")/*@res "ֶΣ"*/ + battr + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0364")/*@res "޸ġ"*/ ); + if (bodyProFields.contains(battr) + && !newBvo.getAttributeValue(battr).equals(roigBvo.getAttributeValue(battr))) { + throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0366")/*@res "ֶΣ"*/ + battr + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0364")/*@res "޸ġ"*/); } roigBvo.setAttributeValue(battr, newBvo.getAttributeValue(battr)); bfields.add(battr); } //ûλк,ԭɾ޸ĵĻλΪ - if(null != newBvo.getLocationVOs()) { + if (null != newBvo.getLocationVOs()) { List allloc = new ArrayList(); - if(null != deleteLoc && null != deleteLoc.get(roigBvo.getCgeneralbid())) { - for(ICLocationVO delloc : deleteLoc.get(roigBvo.getCgeneralbid())) { + if (null != deleteLoc && null != deleteLoc.get(roigBvo.getCgeneralbid())) { + for (ICLocationVO delloc : deleteLoc.get(roigBvo.getCgeneralbid())) { delloc.setStatus(VOStatus.DELETED); allloc.add(delloc); } } - for(ICLocationVO loc : newBvo.getLocationVOs()) { + for (ICLocationVO loc : newBvo.getLocationVOs()) { loc.setStatus(VOStatus.NEW); allloc.add(loc); } @@ -195,7 +245,7 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{ // λ ICAPILocationVOUtils.translate(materialOutVOs); // - new MaterialOutUpdateFillValue().setDefaultValue(materialOutVOs,bfields); + new MaterialOutUpdateFillValue().setDefaultValue(materialOutVOs, bfields); } } } @@ -203,21 +253,28 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{ new BillMaintainTool(MaterialOutVO.class, ICBillType.MaterialOut.getCode()); tool.doBeforeInsert(materialOutVOs); - return NCLocator.getInstance() - .lookup(nc.itf.ic.m4d.IMaterialOutMaintain.class).update(materialOutVOs,originBills); + + MaterialOutVO[] updateVOS = NCLocator.getInstance().lookup(IMaterialOutMaintain.class).update(materialOutVOs, originBills); + IWmsSyncUtils utils = NCLocator.getInstance().lookup(IWmsSyncUtils.class); + // WMSϵͳ Զǩ + if (utils != null && utils.isWMS()) { + log.info("ǰWMSϵͳû,Զǩ"); + return this.sign(updateVOS); + } + return updateVOS; } @Override public MaterialOutVO[] delete(MaterialOutVO[] vos) throws BusinessException { - if(ArrayUtils.isEmpty(vos)){ + if (ArrayUtils.isEmpty(vos)) { return null; } - for(MaterialOutVO aggvo : vos){ + for (MaterialOutVO aggvo : vos) { ICBillHeadVO parentVO = aggvo.getParentVO(); - if(parentVO.getFbillflag() == null || + if (parentVO.getFbillflag() == null || 0 != ((Integer) ICBillFlag.FREE.value()) - .compareTo((Integer) parentVO.getFbillflag())){ - throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0361")/*@res "ǰⵥţ"*/ + parentVO.getVbillcode() + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0367")/*@res "״̬ɾ"*/); + .compareTo((Integer) parentVO.getFbillflag())) { + throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0361")/*@res "ǰⵥţ"*/ + parentVO.getVbillcode() + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0367")/*@res "״̬ɾ"*/); } } return (MaterialOutVO[]) PfServiceScmUtil.processBatch("DELETE", "4D", vos, null, null); @@ -225,19 +282,19 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{ @Override public MaterialOutVO[] sign(MaterialOutVO[] vos) throws BusinessException { - if(ArrayUtils.isEmpty(vos)){ + if (ArrayUtils.isEmpty(vos)) { return null; } - for(MaterialOutVO aggvo : vos){ + for (MaterialOutVO aggvo : vos) { ICBillHeadVO parentVO = aggvo.getParentVO(); - if(parentVO.getFbillflag() == null || + if (parentVO.getFbillflag() == null || 0 != ((Integer) ICBillFlag.FREE.value()) - .compareTo((Integer) parentVO.getFbillflag())){ - throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0361")/*@res "ǰⵥţ"*/ + parentVO.getVbillcode() + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0330")/*@res "״̬ǩ"*/); + .compareTo((Integer) parentVO.getFbillflag())) { + throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0361")/*@res "ǰⵥţ"*/ + parentVO.getVbillcode() + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0330")/*@res "״̬ǩ"*/); } - if(aggvo.getChildrenVO() != null && aggvo.getChildrenVO().length > 0){ - if(aggvo.getChildrenVO()[0].getAttributeValue(ICPubMetaNameConst.NNUM) == null){ - throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0361")/*@res "ǰⵥţ"*/ + parentVO.getVbillcode() + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0392")/*@res "Ϊգǩ"*/); + if (aggvo.getChildrenVO() != null && aggvo.getChildrenVO().length > 0) { + if (aggvo.getChildrenVO()[0].getAttributeValue(ICPubMetaNameConst.NNUM) == null) { + throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0361")/*@res "ǰⵥţ"*/ + parentVO.getVbillcode() + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0392")/*@res "Ϊգǩ"*/); } } @@ -248,22 +305,22 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{ @Override public MaterialOutVO[] unSign(MaterialOutVO[] vos) throws BusinessException { - if(ArrayUtils.isEmpty(vos)){ + if (ArrayUtils.isEmpty(vos)) { return null; } - for(MaterialOutVO aggvo : vos){ + for (MaterialOutVO aggvo : vos) { ICBillHeadVO parentVO = aggvo.getParentVO(); - if(parentVO.getFbillflag() == null || + if (parentVO.getFbillflag() == null || 0 != ((Integer) ICBillFlag.SIGN.value()) - .compareTo((Integer) parentVO.getFbillflag())){ - throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0361")/*@res "ǰⵥţ"*/ + parentVO.getVbillcode() + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0","04008027-0332")/*@res "ǩ״̬ȡǩ"*/); + .compareTo((Integer) parentVO.getFbillflag())) { + throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0361")/*@res "ǰⵥţ"*/ + parentVO.getVbillcode() + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0332")/*@res "ǩ״̬ȡǩ"*/); } } return (MaterialOutVO[]) PfServiceScmUtil.processBatch("CANCELSIGN", "4D", vos, null, null); } @Override - public MaterialOutVO[] saveByRef(List> paramList) throws BusinessException{ + public MaterialOutVO[] saveByRef(List> paramList) throws BusinessException { // MapListתۺVOList List aggVOList = @@ -280,6 +337,7 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{ return materialOut.insertBills(vos); } + /** * ǷҪͬ֯ */ diff --git a/ic/src/public/nc/pubitf/ic/m4d/api/IMaterialOutMaintainAPI.java b/ic/src/public/nc/pubitf/ic/m4d/api/IMaterialOutMaintainAPI.java new file mode 100644 index 00000000..25d17efd --- /dev/null +++ b/ic/src/public/nc/pubitf/ic/m4d/api/IMaterialOutMaintainAPI.java @@ -0,0 +1,109 @@ +package nc.pubitf.ic.m4d.api; + +import nc.itf.annotation.Component; +import nc.itf.annotation.OpenAPI; +import nc.itf.annotation.OpenLevel; +import nc.vo.ic.m4d.entity.MaterialOutVO; +import nc.vo.pub.BusinessException; + +/** + * @description + *
    + *
  • ϳⵥ + *
  • ϳⵥ(Զ) + *
  • ݵIDɾϳⵥ + *
  • ԴIDɾϳⵥ + *
  • Բϳⵥǩֲ + *
  • Բϳⵥȡǩֲ + *
+ * + * @functionName ϳⵥ־û + * + * @since 6.5 + * @version 2015-8-26 2:26:33 + * @author jilu + */ +@OpenAPI(value = OpenLevel.SHARED) +@Component("ⵥ") +public interface IMaterialOutMaintainAPI { + + /** + * ϳⵥ + *
  • ԴIJУݲȫ
  • + *
  • Զ
  • + *

    + * УУ + *
      + *
    1. ֶηǿУ
    2. + *
    3. ִУ飬ִʱԳ
    4. + *
    + * ȫУ + *
      + *
    1. ݺԶ
    2. + *
    + * + * @param vos ϳⵥVO + * @return IJϳⵥVO + * @throws BusinessException 쳣 + */ + public MaterialOutVO[] insertBills(MaterialOutVO[] vos) + throws BusinessException; + + + /** + * ձ޸ģ棬ϢͿ + * @param vos + * @return + * @throws BusinessException + */ + public MaterialOutVO[] batchInsertBills_RequiresNew(MaterialOutVO[] vos) + throws BusinessException; + + /** + * ϳⵥ + *
  • Զ
  • + *
  • ͬinsertBillsͬ
  • + * + * @param vos ϳⵥVO + * @return IJϳⵥVO + * @throws BusinessException 쳣 + */ + public MaterialOutVO[] insertBillsAutoPick(MaterialOutVO[] vos) + throws BusinessException; + + /** + * ݵIDɾϳⵥ + * + * @param ids ϳⵥ + * @throws BusinessException 쳣 + */ + public void deleteBillsByID(String[] ids) throws BusinessException; + + /** + * ԴIDɾϳⵥ + * + * @param sourceIDs Դݵ + * @throws BusinessException 쳣 + */ + public void deleteBillsBySourceID(String[] sourceIDs) + throws BusinessException; + + /** + * Բϳⵥǩֲ + * + * @param vos ϳⵥVO + * @return ǩֺIJϳⵥVO + * @throws BusinessException 쳣 + */ + public MaterialOutVO[] signBills(MaterialOutVO[] vos) throws BusinessException; + + /** + * Բϳⵥȡǩֲ + * + * @param vos ϳⵥVO + * @return ȡǩֺIJϳⵥVO + * @throws BusinessException 쳣 + */ + public MaterialOutVO[] cancelSignBills(String[] ids) + throws BusinessException; +} diff --git a/ic/src/public/nccloud/api/ic/m4d/IAPIMaterialOutMaintain.java b/ic/src/public/nccloud/api/ic/m4d/IAPIMaterialOutMaintain.java index bdc01e4f..e340f164 100644 --- a/ic/src/public/nccloud/api/ic/m4d/IAPIMaterialOutMaintain.java +++ b/ic/src/public/nccloud/api/ic/m4d/IAPIMaterialOutMaintain.java @@ -22,4 +22,6 @@ public interface IAPIMaterialOutMaintain { MaterialOutVO[] unSign(MaterialOutVO[] var1) throws BusinessException; MaterialOutVO[] saveByRef(List> var1) throws BusinessException; + + MaterialOutVO[] batchsave(List> var1) throws BusinessException; } diff --git a/ic/src/public/nccloud/openapi/ic/m4d/MaterialOutResource.java b/ic/src/public/nccloud/openapi/ic/m4d/MaterialOutResource.java new file mode 100644 index 00000000..ae5588fb --- /dev/null +++ b/ic/src/public/nccloud/openapi/ic/m4d/MaterialOutResource.java @@ -0,0 +1,351 @@ +package nccloud.openapi.ic.m4d; + +import nc.bs.framework.common.NCLocator; +import nc.bs.logging.Log; +import nc.bs.scmpub.query.SCMBillQuery; +import nc.vo.ic.m4d.entity.MaterialOutVO; +import nc.vo.ic.pub.define.ICPubMetaNameConst; +import nc.ws.opm.pub.utils.result.APIErrCodeEnum; +import nccloud.api.ic.m4d.IAPIMaterialOutMaintain; +import nccloud.api.ic.m4d.IAPIMaterialOutQuery; +import nccloud.api.rest.utils.ResultMessageUtil; +import nccloud.openapi.scmpub.pub.NCCPubRestResource; +import org.json.JSONString; + +import javax.ws.rs.Consumes; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @version NCC1909 + * @Description: ϳⵥԴ + * @author: ܾ + * @date: 2019-5-17 10:50:42 + */ + +@Path("ic/materialout") +public class MaterialOutResource extends NCCPubRestResource { + + private Integer pageNo = defaultPageIndex; + + private Integer pageSize = defaultPageNum; + + private static String HEADTABLE = "ic_material_h"; + + private static String BODYTABLE = "ic_material_b"; + + private static final Log log = Log.getInstance("wmslog"); + + @POST + @Path("commonquery") + @Consumes("application/json") + @Produces("application/json") + public JSONString queryVOByCommon(Map paramMap) { + if (paramMap == null || !paramMap.containsKey(ICPubMetaNameConst.PK_ORG) + || !paramMap.containsKey(ICPubMetaNameConst.DBILLDATE)) { + return ResultMessageUtil.exceptionToJSON(",֯", APIErrCodeEnum.BUSINESSEXCCODE.getCode()); + } + try { + // ķҳϢ + if (paramMap.get(PAGE_NO) != null) { + Double pageno = (Double) paramMap.get(PAGE_NO); + this.pageNo = pageno.intValue(); + } + if (paramMap.get(PAGE_SIZE) != null) { + Double pagesize = (Double) paramMap.get(PAGE_SIZE); + this.pageSize = pagesize.intValue(); + } + IAPIMaterialOutQuery iQuery = + (IAPIMaterialOutQuery) NCLocator.getInstance().lookup( + IAPIMaterialOutQuery.class.getName()); + MaterialOutVO[] materialOutVOs = + iQuery.queryPageVOByScheme(paramMap, this.pageNo, + this.pageSize); + return ResultMessageUtil.toJSON(materialOutVOs, nc.vo.ml.NCLangRes4VoTransl.getNCLangRes() + .getStrByID("4008027_0", "04008027-0470")/* @res "ϳⵥѯɹ" */); + } catch (Exception e) { + return ResultMessageUtil.exceptionToJSON(e); + } + + } + + @POST + @Path("schemequery") + @Consumes("application/json") + @Produces("application/json") + public JSONString queryVOByScheme(Map paramMap) { + if (paramMap == null) { + return ResultMessageUtil.exceptionToJSON("Ϊ,", APIErrCodeEnum.BUSINESSEXCCODE.getCode()); + } + try { + // ķҳϢ + if (paramMap.get(PAGE_NO) != null) { + Double pageno = (Double) paramMap.get(PAGE_NO); + this.pageNo = pageno.intValue(); + } + if (paramMap.get(PAGE_SIZE) != null) { + Double pagesize = (Double) paramMap.get(PAGE_SIZE); + this.pageSize = pagesize.intValue(); + } + + IAPIMaterialOutQuery iQuery = + (IAPIMaterialOutQuery) NCLocator.getInstance().lookup( + IAPIMaterialOutQuery.class.getName()); + MaterialOutVO[] materialOutVOs = + iQuery.queryPageVOByScheme(paramMap, defaultPageIndex, + defaultPageNum); + return ResultMessageUtil.toJSON(materialOutVOs, nc.vo.ml.NCLangRes4VoTransl.getNCLangRes() + .getStrByID("4008027_0", "04008027-0470")/* @res "ϳⵥѯɹ" */); + } catch (Exception e) { + return ResultMessageUtil.exceptionToJSON(e); + } + + } + + @POST + @Path("operation/save") + @Consumes("application/json") + @Produces("application/json") + public JSONString save(Map param) { + List> paramList = new ArrayList>(); + paramList.add(param); + JSONString result = save(paramList); + return result; + } + + @POST + @Path("save") + @Consumes("application/json") + @Produces("application/json") + public JSONString save(List> paramList) { + try { + for (Map map : paramList) { + if (!map.containsKey(HEADTABLE) || !map.containsKey(BODYTABLE)) { + return ResultMessageUtil.exceptionToJSON("쳣ҪͷϢͱϢ", APIErrCodeEnum.BUSINESSEXCCODE.getCode()); + } + } + IAPIMaterialOutMaintain materialOut = + NCLocator.getInstance().lookup(IAPIMaterialOutMaintain.class); + MaterialOutVO[] materialOutVOs = materialOut.save(paramList); + return ResultMessageUtil.toJSON(materialOutVOs, nc.vo.ml.NCLangRes4VoTransl.getNCLangRes() + .getStrByID("4008027_0", "04008027-0472")/* @res "ϳⵥɹ" */); + } catch (Exception e) { + return ResultMessageUtil.exceptionToJSON(e); + } + } + + @POST + @Path("batchsave") + @Consumes("application/json") + @Produces("application/json") + public JSONString batchsave(List> paramList) { + try { + for (Map map : paramList) { + if (!map.containsKey(HEADTABLE) || !map.containsKey(BODYTABLE)) { + return ResultMessageUtil.exceptionToJSON("쳣ҪͷϢͱϢ", APIErrCodeEnum.BUSINESSEXCCODE.getCode()); + } + } + IAPIMaterialOutMaintain materialOut = + NCLocator.getInstance().lookup(IAPIMaterialOutMaintain.class); + MaterialOutVO[] materialOutVOs = materialOut.batchsave(paramList); + + return ResultMessageUtil.toJSON(materialOutVOs, nc.vo.ml.NCLangRes4VoTransl.getNCLangRes() + .getStrByID("4008027_0", "04008027-0472")/* @res "ϳⵥɹ" */); + } catch (Exception e) { + return ResultMessageUtil.exceptionToJSON(e); + } + } + + @POST + @Path("update") + @Consumes("application/json") + @Produces("application/json") + public JSONString update(Map paramMap) { + try { + if (paramMap == null || !paramMap.containsKey(HEADTABLE)) { + return ResultMessageUtil.exceptionToJSON("쳣ҪͷϢͱϢ", APIErrCodeEnum.BUSINESSEXCCODE.getCode()); + } + List> paramMapList = new ArrayList<>(); + paramMapList.add(paramMap); + + IAPIMaterialOutMaintain materialOut = + NCLocator.getInstance().lookup(IAPIMaterialOutMaintain.class); + // vbatchcode κֶҪݸWMS + MaterialOutVO[] updateVO = materialOut.update(paramMapList); + return ResultMessageUtil.toJSON(updateVO, + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", + "04008027-0474")/* @res "ϳⵥ޸ijɹ" */); + } catch (Exception e) { + return ResultMessageUtil.exceptionToJSON(e); + } + } + @POST + @Path("operation/delete") + @Consumes({"application/json"}) + @Produces({"application/json"}) + public JSONString delete(Map param) { + Object[] paramArray = ((ArrayList)param.get("cgeneralhid")).toArray(); + String[] paramStrings = new String[paramArray.length]; + + for(int i = 0; i < paramArray.length; ++i) { + paramStrings[i] = paramArray[i].toString(); + } + + JSONString result = this.delete(paramStrings); + return result; + } + + + @POST + @Path("delete") + @Consumes("application/json") + @Produces("application/json") + public JSONString delete(String[] hids) { + if (hids == null || hids.length == 0) { + return ResultMessageUtil.exceptionToJSON("Ϊ,", APIErrCodeEnum.BUSINESSEXCCODE.getCode()); + } else { + try { + SCMBillQuery queryTool = + new SCMBillQuery(MaterialOutVO.class); + MaterialOutVO[] materialOutVOs = queryTool.queryVOByIDs(hids); + if (materialOutVOs.length == 0) { + return ResultMessageUtil.exceptionToJSON("ݴδƥ䵽", APIErrCodeEnum.BUSINESSEXCCODE.getCode()); + } else { + NCLocator.getInstance() + .lookup(IAPIMaterialOutMaintain.class).delete(materialOutVOs); + return ResultMessageUtil.toJSON(new String[0], nc.vo.ml.NCLangRes4VoTransl + .getNCLangRes().getStrByID("4008027_0", "04008027-0476")/* + * @res + * "ϳⵥɾɹ" + */); + } + } catch (Exception e) { + return ResultMessageUtil.exceptionToJSON(e); + } + } + } + + @POST + @Path("operation/sign") + @Consumes("application/json") + @Produces("application/json") + public JSONString sign(Map param) { + Object[] paramArray = ((ArrayList) param.get("cgeneralhid")).toArray(); + String[] paramStrings = new String[paramArray.length]; + for (int i = 0; i < paramArray.length; i++) { + paramStrings[i] = paramArray[i].toString(); + } + JSONString result = sign(paramStrings); + return result; + } + + @POST + @Path("sign") + @Consumes("application/json") + @Produces("application/json") + public JSONString sign(String[] hids) { + Map result = new HashMap(); + result.put("success", true); + if (hids == null || hids.length == 0) { + return ResultMessageUtil.exceptionToJSON("Ϊ,", APIErrCodeEnum.BUSINESSEXCCODE.getCode()); + } else { + try { + SCMBillQuery queryTool = + new SCMBillQuery(MaterialOutVO.class); + MaterialOutVO[] materialOutVOs = queryTool.queryVOByIDs(hids); + if (materialOutVOs.length == 0) { + return ResultMessageUtil.exceptionToJSON("ݴδƥ䵽", APIErrCodeEnum.BUSINESSEXCCODE.getCode()); + } else { + IAPIMaterialOutMaintain generalIn = + NCLocator.getInstance().lookup(IAPIMaterialOutMaintain.class); + materialOutVOs = generalIn.sign(materialOutVOs); + return ResultMessageUtil.toJSON(materialOutVOs, nc.vo.ml.NCLangRes4VoTransl + .getNCLangRes().getStrByID("4008027_0", "04008027-0478")/* + * @res + * "ϳⵥǩֳɹ" + */); + } + } catch (Exception e) { + return ResultMessageUtil.exceptionToJSON(e); + } + } + } + + @POST + @Path("operation/unSign") + @Consumes("application/json") + @Produces("application/json") + public JSONString unSign(Map param) { + Object[] paramArray = ((ArrayList) param.get("cgeneralhid")).toArray(); + String[] paramStrings = new String[paramArray.length]; + for (int i = 0; i < paramArray.length; i++) { + paramStrings[i] = paramArray[i].toString(); + } + JSONString result = unSign(paramStrings); + return result; + } + + @POST + @Path("unsign") + @Consumes("application/json") + @Produces("application/json") + public JSONString unSign(String[] hids) { + if (hids == null || hids.length == 0) { + return ResultMessageUtil.exceptionToJSON("Ϊ,", APIErrCodeEnum.BUSINESSEXCCODE.getCode()); + } else { + try { + SCMBillQuery queryTool = + new SCMBillQuery(MaterialOutVO.class); + MaterialOutVO[] materialOutVOs = queryTool.queryVOByIDs(hids); + if (materialOutVOs.length == 0) { + return ResultMessageUtil.exceptionToJSON("ݴδƥ䵽", APIErrCodeEnum.BUSINESSEXCCODE.getCode()); + } else { + IAPIMaterialOutMaintain generalIn = + NCLocator.getInstance().lookup(IAPIMaterialOutMaintain.class); + materialOutVOs = generalIn.unSign(materialOutVOs); + return ResultMessageUtil.toJSON(materialOutVOs, nc.vo.ml.NCLangRes4VoTransl + .getNCLangRes().getStrByID("4008027_0", "04008027-0480")/* + * @res + * "ϳⵥȡǩֳɹ" + */); + } + } catch (Exception e) { + return ResultMessageUtil.exceptionToJSON(e); + } + } + } + + @POST + @Path("saveByRef") + @Consumes("application/json") + @Produces("application/json") + public JSONString saveByRef(Map paramMap) { + try { + if (!paramMap.containsKey(HEADTABLE) || !paramMap.containsKey(BODYTABLE)) { + return ResultMessageUtil.exceptionToJSON("쳣ҪͷϢͱϢ", APIErrCodeEnum.BUSINESSEXCCODE.getCode()); + } + // + List> paramList = + new ArrayList>(); + paramList.add(paramMap); + MaterialOutVO[] resultVOs = + NCLocator.getInstance().lookup(IAPIMaterialOutMaintain.class) + .saveByRef(paramList); + return ResultMessageUtil.toJSON(resultVOs, "ϳⵥɹ"); + } catch (Exception e) { + return ResultMessageUtil.exceptionToJSON(e); + } + } + + @Override + public String getModule() { + // TODO Auto-generated method stub + return null; + } + +} From 5600f4a391f4a887d610fe56b3d46cf07d87fc5e Mon Sep 17 00:00:00 2001 From: mzr Date: Sat, 23 Aug 2025 11:15:59 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat(so):=20=E5=90=8C=E6=AD=A5=20CLM=20?= =?UTF-8?q?=E5=90=88=E5=90=8C=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95=E7=B4=AF?= =?UTF-8?q?=E8=AE=A1=E6=95=B0=E9=87=8F=20-=20=E6=96=B0=E5=A2=9E=E9=94=80?= =?UTF-8?q?=E5=94=AE=E8=AE=A2=E5=8D=95=E7=B4=AF=E8=AE=A1=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E5=9B=9E=E5=86=99=E5=8A=9F=E8=83=BD=20-=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95=E7=B4=AF?= =?UTF-8?q?=E8=AE=A1=E5=BC=80=E7=A5=A8=E6=95=B0=E9=87=8F=E5=9B=9E=E5=86=99?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=20-=20=E6=96=B0=E5=A2=9E=E9=94=80=E5=94=AE?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=B4=AF=E8=AE=A1=E9=80=80=E8=B4=A7=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E5=9B=9E=E5=86=99=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../so/m30/ic/m4c/Rewrite30For4CImpl.java | 190 ++++++++++++++++++ .../so/m30/so/m32/Rewrite30For32Impl.java | 148 ++++++++++++++ .../so/m30/so/m33/Rewrite30For33Impl.java | 2 +- .../RewriteSaleOrderByWitdrawImpl.java | 115 +++++++++++ .../so/m30arrange/Rewrite30ArrangeImpl.java | 2 +- .../nc/pubimpl/so/rule/SyncClmNumRule.java | 36 +++- 6 files changed, 486 insertions(+), 7 deletions(-) create mode 100644 so/src/private/nc/pubimpl/so/m30/ic/m4c/Rewrite30For4CImpl.java create mode 100644 so/src/private/nc/pubimpl/so/m30/so/m32/Rewrite30For32Impl.java create mode 100644 so/src/private/nc/pubimpl/so/m30/so/withdraw/RewriteSaleOrderByWitdrawImpl.java diff --git a/so/src/private/nc/pubimpl/so/m30/ic/m4c/Rewrite30For4CImpl.java b/so/src/private/nc/pubimpl/so/m30/ic/m4c/Rewrite30For4CImpl.java new file mode 100644 index 00000000..3e385c10 --- /dev/null +++ b/so/src/private/nc/pubimpl/so/m30/ic/m4c/Rewrite30For4CImpl.java @@ -0,0 +1,190 @@ +package nc.pubimpl.so.m30.ic.m4c; + +import java.io.Serializable; +import java.util.HashMap; +import java.util.Map; + +import com.yonyou.cloud.ncc.NCCSagas; + +import nc.bs.so.m30.plugin.ServicePlugInPoint; +import nc.bs.so.m30.rule.credit.RenovateARByBidsBeginRule; +import nc.bs.so.m30.rule.credit.RenovateARByBidsEndRule; +import nc.impl.pubapp.env.BSContext; +import nc.impl.pubapp.pattern.data.view.ViewQuery; +import nc.impl.pubapp.pattern.data.view.ViewUpdate; +import nc.impl.pubapp.pattern.pub.LockOperator; +import nc.impl.pubapp.pattern.rule.processer.AroundProcesser; +import nc.itf.scmpub.reference.uap.group.SysInitGroupQuery; +import nc.itf.so.m30.compensate.ISaleOrderSagasCompensate; +import nc.pubimpl.so.m30.ic.m4c.rule.Rewrite35WhenOutNumChange; +import nc.pubimpl.so.m30.ic.m4c.rule.Rewrite38WhenOutNumChange; +import nc.pubimpl.so.m30.ic.m4c.rule.RewriteExchangeOutRule; +import nc.pubimpl.so.m30.ic.m4c.rule.RewriteOPCOutNumRule; +import nc.pubimpl.so.m30.ic.m4c.rule.RewriteOutNumRule; +import nc.pubimpl.so.m30.ic.m4c.rule.RewriteOutStateRule; +import nc.pubimpl.so.m30.ic.m4c.rule.RewritePriceNumRule; +import nc.pubimpl.so.m30.ic.m4c.rule.RewriteSetNumRule; +import nc.pubimpl.so.m30.ic.m4c.rule.RewriteToleranceCheck; +import nc.pubimpl.so.m30.ic.m4c.rule.RewriteZ3ByRowStateRule; +import nc.pubimpl.so.rule.SyncClmNumRule; +import nc.pubitf.so.m30.ic.m4c.IRewrite30For4C; +import nc.pubitf.so.m30.ic.m4c.Rewrite4CPara; +import nc.vo.credit.engrossmaintain.pub.action.M30EngrossAction; +import nc.vo.pub.BusinessException; +import nc.vo.pub.lang.UFBoolean; +import nc.vo.pubapp.pattern.exception.ExceptionUtils; +import nc.vo.pubapp.pattern.log.TimeLog; +import nc.vo.so.m30.entity.SaleOrderBVO; +import nc.vo.so.m30.entity.SaleOrderViewVO; +import nc.vo.so.pub.util.SOSagasConst; + +/** + * д۶ۼƳʵ + *

    + * Ҫ¹ܣ + * + *

      + *
    • Ŀ1 + *
    • Ŀ2 + *
    • ... + *
    + * + * @version 6.0 + * @author ־ΰ + * @time 2010-7-12 04:50:48 + */ +public class Rewrite30For4CImpl implements IRewrite30For4C { + + @Override + public void rewrite30NumFor4C(Rewrite4CPara[] paras) throws BusinessException { + try { + //񲹳 + Map paraMap = new HashMap(); + paraMap.put(SOSagasConst.OPERATER, SOSagasConst.REERITE30NUMFOR4CI); + paraMap.put(SOSagasConst.PARAS,paras); + NCCSagas.compensate(ISaleOrderSagasCompensate.class, paraMap); + this.rewrite(paras); + } + catch (RuntimeException ex) { + ExceptionUtils.marsh(ex); + } + } + + private void addRule(AroundProcesser processer, + SaleOrderViewVO[] views) throws BusinessException { + // -------- ִǰ ---------------- + + // ȼݲΧ + new RewriteToleranceCheck().process(views); + processer.addBeforeRule(new RewriteOutNumRule()); + processer.addBeforeRule(new RewriteExchangeOutRule()); + // ִǰۼƳ + processer.addBeforeRule(new RewriteSetNumRule()); + processer.addBeforeRule(new Rewrite35WhenOutNumChange()); + // ۼ۸ִ jilu for 㰲 + processer.addBeforeRule(new RewritePriceNumRule()); + // end + // õǰ(ǰruleڲ㣬ֹ״̬õǶ) + processer.addBeforeRule(new RenovateARByBidsBeginRule( + M30EngrossAction.M30OutReWrite)); + + // -------- ִк ---------------- + + // õú(ǰruleڲ㣬ֹ״̬õǶ) + processer.addAfterRule(new RenovateARByBidsEndRule( + M30EngrossAction.M30OutReWrite)); + //дԤۼƳ + processer.addAfterRule(new Rewrite38WhenOutNumChange()); + + // Ϊ֪ͨStateCalculateUtil.isAutoTransitInvoiceOpenԶдõģֹ + // ˴dzŤΪʱԺ汾״̬ʹ¿ + BSContext.getInstance().setSession(Rewrite30For4CImpl.class.getName(), + UFBoolean.TRUE); + // д:ۼƳ + if(SysInitGroupQuery.isOPCEnabled()){ + processer.addAfterRule(new RewriteOPCOutNumRule()); + } + processer.addAfterRule(new RewriteOutStateRule()); + + // д۶ʱйرջҪдκͬ + processer.addAfterRule(new RewriteZ3ByRowStateRule()); + + // ͬCLMͬ۶-ۼƳ + processer.addAfterRule(new SyncClmNumRule("ntotaloutnum")); + + } + + private String[] lockBills(Map index) { + int size = index.size(); + String[] bids = new String[size]; + bids = index.keySet().toArray(bids); + LockOperator locker = new LockOperator(); + String message = + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4006011_0", + "04006011-0180")/*@res "۳ⵥд۶ۼƳ۶ʧ"*/; + locker.lock(bids, message); + return bids; + } + + private Map prepareParams(Rewrite4CPara[] paras) { + Map index = new HashMap(); + for (Rewrite4CPara para : paras) { + index.put(para.getCsaleorderbid(), para); + } + return index; + } + + private SaleOrderViewVO[] query(Map index) { + String[] ids = this.lockBills(index); + ViewQuery bo = + new ViewQuery(SaleOrderViewVO.class); + bo.setSharedHead(true); + + SaleOrderViewVO[] views = bo.query(ids); + if (views.length != index.size()) { + String message = + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4006011_0", + "04006011-0171")/*@res "ֲ²ѯ۶"*/; + ExceptionUtils.wrappBusinessException(message); + } + return views; + } + + private void rewrite(Rewrite4CPara[] paras) throws BusinessException { + TimeLog.logStart(); + Map index = this.prepareParams(paras); + // ˴sessionԱ򵽴 + BSContext.getInstance().setSession(Rewrite4CPara.class.getName(), index); + TimeLog.info(""); /*-=notranslate=-*/ + + TimeLog.logStart(); + SaleOrderViewVO[] views = this.query(index); + TimeLog.info("ѯ۶"); /*-=notranslate=-*/ + + AroundProcesser processer = + new AroundProcesser( + ServicePlugInPoint.rewrite30NumFor4C); + this.addRule(processer, views); + + TimeLog.logStart(); + processer.before(views); + TimeLog.info("дݿǰִҵ"); /*-=notranslate=-*/ + + TimeLog.logStart(); + String[] names = new String[] { + SaleOrderBVO.NTOTALNOTOUTNUM, SaleOrderBVO.NTOTALOUTNUM + }; + ViewUpdate bo = new ViewUpdate(); + views = bo.update(views, SaleOrderBVO.class, names); + TimeLog.info("ݿ"); /*-=notranslate=-*/ + + TimeLog.logStart(); + processer.after(views); + TimeLog.info("дݿִҵ"); /*-=notranslate=-*/ + + // ˴ͷsession˷ڴ + BSContext.getInstance().removeSession(Rewrite4CPara.class.getName()); + BSContext.getInstance().removeSession(Rewrite30For4CImpl.class.getName()); + } + +} diff --git a/so/src/private/nc/pubimpl/so/m30/so/m32/Rewrite30For32Impl.java b/so/src/private/nc/pubimpl/so/m30/so/m32/Rewrite30For32Impl.java new file mode 100644 index 00000000..a21f79f3 --- /dev/null +++ b/so/src/private/nc/pubimpl/so/m30/so/m32/Rewrite30For32Impl.java @@ -0,0 +1,148 @@ +package nc.pubimpl.so.m30.so.m32; + +import java.util.HashMap; +import java.util.Map; + +import nc.bs.so.m30.plugin.ServicePlugInPoint; +import nc.bs.so.m30.rule.credit.RenovateARByBidsBeginRule; +import nc.bs.so.m30.rule.credit.RenovateARByBidsEndRule; +import nc.impl.pubapp.env.BSContext; +import nc.impl.pubapp.pattern.data.view.ViewQuery; +import nc.impl.pubapp.pattern.data.view.ViewUpdate; +import nc.impl.pubapp.pattern.pub.LockOperator; +import nc.impl.pubapp.pattern.rule.processer.AroundProcesser; +import nc.pubimpl.so.m30.so.m32.rule.RewriteInvoiceStateRule; +import nc.pubimpl.so.m30.so.m32.rule.RewriteSetNumRule; +import nc.pubimpl.so.m30.so.m32.rule.RewriteToleranceCheck; +import nc.pubimpl.so.rule.SyncClmNumRule; +import nc.pubitf.so.m30.so.m32.IRewrite30For32; +import nc.pubitf.so.m30.so.m32.Rewrite32Para; +import nc.vo.credit.engrossmaintain.pub.action.M30EngrossAction; +import nc.vo.pub.BusinessException; +import nc.vo.pubapp.pattern.exception.ExceptionUtils; +import nc.vo.pubapp.pattern.log.TimeLog; +import nc.vo.so.m30.entity.SaleOrderBVO; +import nc.vo.so.m30.entity.SaleOrderViewVO; + +/** + * ۷Ʊд۶ӿʵࡣ + * + * @author ־ΰ + * @since 6.0 + * @time 2010-01-28 13:49:07 + */ +public class Rewrite30For32Impl implements IRewrite30For32 { + + @Override + public void rewrite30NumFor32(Rewrite32Para[] paras) throws BusinessException { + try { + this.rewrite(paras); + } + catch (RuntimeException ex) { + ExceptionUtils.marsh(ex); + } + } + + private void addRule(AroundProcesser processer, + SaleOrderViewVO[] views) throws BusinessException { + // -------- ִǰ ---------------- + + // ȼ鿪Ʊ + new RewriteToleranceCheck().process(views); + // ִǰÿƱ + processer.addBeforeRule(new RewriteSetNumRule()); + + // -------- ִк ---------------- + + // ִкƱ״̬ + processer.addAfterRule(new RewriteInvoiceStateRule()); + + // ͬCLMͬ۶-ۼƿƱ + processer.addAfterRule(new SyncClmNumRule("ntotalinvoicenum")); + + } + + private String[] lockBills(Map index) { + int size = index.size(); + String[] bids = new String[size]; + bids = index.keySet().toArray(bids); + LockOperator locker = new LockOperator(); + String message = nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4006011_0","04006011-0186")/*@res "۷Ʊд۶ۼƿƱ۶ʧ"*/; + locker.lock(bids, message); + return bids; + } + + private Map prepareParams(Rewrite32Para[] paras) { + Map index = new HashMap(); + for (Rewrite32Para para : paras) { + index.put(para.getCsaleorderbid(), para); + } + return index; + } + + private SaleOrderViewVO[] query(Map index) { + String[] ids = this.lockBills(index); + ViewQuery bo = + new ViewQuery(SaleOrderViewVO.class); + bo.setSharedHead(true); + + SaleOrderViewVO[] views = bo.query(ids); + if (views.length != index.size()) { + String message = nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("4006011_0","04006011-0171")/*@res "ֲ²ѯ۶"*/; + ExceptionUtils.wrappBusinessException(message); + } + return views; + } + + private void rewrite(Rewrite32Para[] paras) throws BusinessException { + TimeLog.logStart(); + Map index = this.prepareParams(paras); + // ˴sessionԱ򵽴 + BSContext.getInstance().setSession(Rewrite32Para.class.getName(), index); + TimeLog.info(""); /*-=notranslate=-*/ + + TimeLog.logStart(); + SaleOrderViewVO[] views = this.query(index); + TimeLog.info("ѯ۶"); /*-=notranslate=-*/ + + AroundProcesser processer = + new AroundProcesser( + ServicePlugInPoint.rewrite30NumFor32); + this.addRule(processer, views); + + TimeLog.logStart(); + processer.before(views); + TimeLog.info("дݿǰִҵ"); /*-=notranslate=-*/ + + TimeLog.logStart(); + String[] names = new String[] { + SaleOrderBVO.NTOTALINVOICENUM + }; + ViewUpdate bo = new ViewUpdate(); + views = bo.update(views, SaleOrderBVO.class, names); + TimeLog.info("ݿ"); /*-=notranslate=-*/ + + TimeLog.logStart(); + processer.after(views); + TimeLog.info("дݿִҵ"); /*-=notranslate=-*/ + + // ˴ͷsession˷ڴ + BSContext.getInstance().removeSession(Rewrite32Para.class.getName()); + } + + @Override + public void rewirte30ForCredit(Rewrite32Para[] paras) throws BusinessException { + Map index = this.prepareParams(paras); + SaleOrderViewVO[] views = this.query(index); + AroundProcesser processer = new AroundProcesser( + ServicePlugInPoint.rewrite30NumFor32); + processer + .addBeforeRule(new RenovateARByBidsBeginRule(M30EngrossAction.M30InvoiceReWrite)); + processer + .addAfterRule(new RenovateARByBidsEndRule(M30EngrossAction.M30InvoiceReWrite)); + processer.before(views); + processer.after(views); + + } + +} \ No newline at end of file diff --git a/so/src/private/nc/pubimpl/so/m30/so/m33/Rewrite30For33Impl.java b/so/src/private/nc/pubimpl/so/m30/so/m33/Rewrite30For33Impl.java index 46297cdd..a20fb718 100644 --- a/so/src/private/nc/pubimpl/so/m30/so/m33/Rewrite30For33Impl.java +++ b/so/src/private/nc/pubimpl/so/m30/so/m33/Rewrite30For33Impl.java @@ -209,7 +209,7 @@ public class Rewrite30For33Impl implements IRewrite30For33 { // -------------------------------------- // õú processer.addAfterRule(new RenovateARByBidsEndRule(engrossAction)); - // ͬCLMͬ۶ + // ͬCLMͬ۶-ۼȷӦս processer.addAfterRule(new SyncClmNumRule("ntotalarmny")); } diff --git a/so/src/private/nc/pubimpl/so/m30/so/withdraw/RewriteSaleOrderByWitdrawImpl.java b/so/src/private/nc/pubimpl/so/m30/so/withdraw/RewriteSaleOrderByWitdrawImpl.java new file mode 100644 index 00000000..76c2b2be --- /dev/null +++ b/so/src/private/nc/pubimpl/so/m30/so/withdraw/RewriteSaleOrderByWitdrawImpl.java @@ -0,0 +1,115 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nc.pubimpl.so.m30.so.withdraw; + +import java.util.HashMap; +import java.util.Map; +import nc.bs.so.m30.plugin.ServicePlugInPoint; +import nc.bs.so.m30.rule.maintainprocess.NullRule; +import nc.bs.so.m30.rule.maintainprocess.RewriteReturnNumRule; +import nc.bs.so.m30.rule.rewrite.m30.CheckWithdrawNumRule; +import nc.impl.pubapp.env.BSContext; +import nc.impl.pubapp.pattern.data.view.ViewQuery; +import nc.impl.pubapp.pattern.data.view.ViewUpdate; +import nc.impl.pubapp.pattern.rule.IRule; +import nc.impl.pubapp.pattern.rule.processer.AroundProcesser; +import nc.pubimpl.so.rule.SyncClmNumRule; +import nc.pubitf.so.m30.so.withdraw.IRewriteSaleOrderByWithdraw; +import nc.pubitf.so.m30.so.withdraw.Rewrite30Para; +import nc.vo.ml.NCLangRes4VoTransl; +import nc.vo.pub.BusinessException; +import nc.vo.pub.lang.UFDouble; +import nc.vo.pubapp.pattern.exception.ExceptionUtils; +import nc.vo.pubapp.pattern.log.TimeLog; +import nc.vo.pubapp.pattern.pub.MathTool; +import nc.vo.so.m30.entity.SaleOrderBVO; +import nc.vo.so.m30.entity.SaleOrderViewVO; + +public class RewriteSaleOrderByWitdrawImpl implements IRewriteSaleOrderByWithdraw { + public RewriteSaleOrderByWitdrawImpl() { + } + + public void rewrite30NumForWithdraw(Rewrite30Para[] paras) throws BusinessException { + try { + this.rewrite(paras); + } catch (RuntimeException ex) { + ExceptionUtils.marsh(ex); + } + + } + + private void addAfterRule(AroundProcesser processer) { + processer.addAfterRule(new NullRule()); + processer.addAfterRule(new RewriteReturnNumRule()); + // ͬCLMͬ۶-ۼ˻ + processer.addAfterRule(new SyncClmNumRule("ntotalreturnnum")); + } + + private void addBeforeRule(AroundProcesser processer) { + IRule rule = new CheckWithdrawNumRule(); + processer.addBeforeRule(rule); + } + + private Map prepareParams(Rewrite30Para[] paras) { + Map index = new HashMap(); + + for(Rewrite30Para para : paras) { + index.put(para.getCsaleorderbid(), para); + } + + return index; + } + + private SaleOrderViewVO[] query(Map index) { + String[] ids = (String[])index.keySet().toArray(new String[0]); + ViewQuery bo = new ViewQuery(SaleOrderViewVO.class); + bo.setSharedHead(true); + SaleOrderViewVO[] views = (SaleOrderViewVO[])bo.query(ids); + if (views.length != index.size()) { + String message = NCLangRes4VoTransl.getNCLangRes().getStrByID("4006011_0", "04006011-0171"); + ExceptionUtils.wrappBusinessException(message); + } + + return views; + } + + private void rewrite(Rewrite30Para[] paras) { + TimeLog.logStart(); + Map index = this.prepareParams(paras); + TimeLog.logStart(); + SaleOrderViewVO[] views = this.query(index); + TimeLog.info("ѯ۶"); + BSContext.getInstance().setSession(Rewrite30Para.class.getName(), index); + AroundProcesser processer = new AroundProcesser(ServicePlugInPoint.rewrite30NumForWithdraw); + + for(SaleOrderViewVO viewvo : views) { + this.setRewiteNum(viewvo, index); + } + + TimeLog.logStart(); + this.addBeforeRule(processer); + processer.before(views); + TimeLog.info("ûдǰ"); + TimeLog.logStart(); + String[] names = new String[]{"ntotalreturnnum"}; + ViewUpdate bo = new ViewUpdate(); + views = (SaleOrderViewVO[])bo.update(views, SaleOrderBVO.class, names); + TimeLog.info("ݿ"); + TimeLog.logStart(); + this.addAfterRule(processer); + processer.after(views); + TimeLog.info("ûд"); + BSContext.getInstance().removeSession(Rewrite30Para.class.getName()); + } + + private void setRewiteNum(SaleOrderViewVO vo, Map index) { + SaleOrderBVO body = vo.getBody(); + Rewrite30Para para = (Rewrite30Para)index.get(body.getCsaleorderbid()); + UFDouble ntotalreturnnum = body.getNtotalreturnnum(); + ntotalreturnnum = MathTool.sub(ntotalreturnnum, para.getNnum()); + body.setNtotalreturnnum(ntotalreturnnum); + } +} diff --git a/so/src/private/nc/pubimpl/so/m30arrange/Rewrite30ArrangeImpl.java b/so/src/private/nc/pubimpl/so/m30arrange/Rewrite30ArrangeImpl.java index 4d04973b..be12821b 100644 --- a/so/src/private/nc/pubimpl/so/m30arrange/Rewrite30ArrangeImpl.java +++ b/so/src/private/nc/pubimpl/so/m30arrange/Rewrite30ArrangeImpl.java @@ -64,7 +64,7 @@ public class Rewrite30ArrangeImpl implements IRewrite30For20, IRewrite30For21, processer.addBeforeRule(new RewriteCheckArrangeNumRule()); processer.addBeforeRule(new RewriteSetNumRule()); if (MMBillType.ProduceOrder.getCode().equals(srctype.getCode()) || MMBillType.LsProduceOrder.getCode().equals(srctype.getCode())) { - // ͬCLMͬ۶ + // ͬCLMͬ۶-ۼư processer.addAfterRule(new SyncClmNumRule("narrangemonum")); } } diff --git a/so/src/private/nc/pubimpl/so/rule/SyncClmNumRule.java b/so/src/private/nc/pubimpl/so/rule/SyncClmNumRule.java index bd3e089d..634db22d 100644 --- a/so/src/private/nc/pubimpl/so/rule/SyncClmNumRule.java +++ b/so/src/private/nc/pubimpl/so/rule/SyncClmNumRule.java @@ -38,9 +38,9 @@ public class SyncClmNumRule implements IRule { if (StringUtils.isEmpty(vdef9) || StringUtils.isEmpty(vbdef11)) { continue; } - // ۼư - UFDouble narrangemonum = body.getNarrangemonum(); - if ("narrangemonum".equals(flag) && narrangemonum == null) { + // ۼƿƱ + UFDouble ntotalinvoicenum = body.getNtotalinvoicenum(); + if ("ntotalinvoicenum".equals(flag) && ntotalinvoicenum == null) { continue; } // ۼȷӦս @@ -48,17 +48,43 @@ public class SyncClmNumRule implements IRule { if ("ntotalarmny".equals(flag) && ntotalarmny == null) { continue; } + // ۼƳ + UFDouble ntotaloutnum = body.getNtotaloutnum(); + if ("ntotaloutnum".equals(flag) && ntotaloutnum == null) { + continue; + } + // ۼư + UFDouble narrangemonum = body.getNarrangemonum(); + if ("narrangemonum".equals(flag) && narrangemonum == null) { + continue; + } + // ۼ˻ + UFDouble ntotalreturnnum = body.getNtotalreturnnum(); + if ("ntotalreturnnum".equals(flag) && ntotalreturnnum == null) { + continue; + } + JSONObject oneJson = new JSONObject(); List> bodyList = new ArrayList<>(); Map bodyMap = new HashMap<>(); bodyMap.put("id", vbdef11); - if (narrangemonum != null) { - bodyMap.put("narrangemonum", narrangemonum.toString()); + + if (ntotalinvoicenum != null) { + bodyMap.put("billQty", ntotalinvoicenum.toString()); } if (ntotalarmny != null) { bodyMap.put("totalAccrued", ntotalarmny.toString()); } + if (ntotaloutnum != null) { + bodyMap.put("totalOutQty", ntotaloutnum.toString()); + } + if (narrangemonum != null) { + bodyMap.put("narrangemonum", narrangemonum.toString()); + } + if (ntotalreturnnum != null) { + bodyMap.put("ntotalreturnnum", ntotalreturnnum.toString()); + } bodyList.add(bodyMap); From d449c36194172594da6977ed7396f2bd57f8e053 Mon Sep 17 00:00:00 2001 From: mzr Date: Sat, 23 Aug 2025 11:17:20 +0800 Subject: [PATCH 4/4] =?UTF-8?q?refactor(uapbd):=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E5=90=AF=E6=BA=90=E7=89=A9=E6=96=99=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=89=B9=E6=AC=A1=E7=BC=96=E5=8F=B7=E7=94=9F=E6=88=90?= =?UTF-8?q?=E9=80=BB=E8=BE=91=20-=E7=A7=BB=E9=99=A4=E4=BA=86=E5=9B=BA?= =?UTF-8?q?=E5=AE=9A=E7=9A=84=E6=89=B9=E6=AC=A1=E7=BC=96=E5=8F=B7"10001"?= =?UTF-8?q?=20-=20=E4=BD=BF=E7=94=A8=E5=BD=93=E5=89=8D=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E6=88=B3=E4=BD=9C=E4=B8=BA=E6=89=B9=E6=AC=A1=E7=BC=96=E5=8F=B7?= =?UTF-8?q?=EF=BC=8C=E7=A1=AE=E4=BF=9D=E5=94=AF=E4=B8=80=E6=80=A7=E5=92=8C?= =?UTF-8?q?=E5=8F=AF=E8=BF=BD=E6=BA=AF=E6=80=A7=20-=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E4=BA=86=E4=BB=A3=E7=A0=81=E7=BB=93=E6=9E=84=EF=BC=8C=E6=8F=90?= =?UTF-8?q?=E9=AB=98=E4=BA=86=E4=BB=A3=E7=A0=81=E7=9A=84=E5=8F=AF=E8=AF=BB?= =?UTF-8?q?=E6=80=A7=E5=92=8C=E5=8F=AF=E7=BB=B4=E6=8A=A4=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/uapbd/material/listener/MaterialToQmsListener.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToQmsListener.java b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToQmsListener.java index 8115004d..2fe2fc8e 100644 --- a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToQmsListener.java +++ b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToQmsListener.java @@ -22,7 +22,6 @@ import nc.vo.pub.BusinessException; import nccloud.baseapp.core.log.NCCForUAPLogger; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -111,7 +110,9 @@ public class MaterialToQmsListener implements IBusinessListener { String statusCode = (3 == enablestate) ? "1" : "0"; // װ JSONObject singleObj = new JSONObject(); - singleObj.put("batchid", "10001");// αţΨһʶǰΣ׷ݺ + // αţΨһʶǰΣ׷ݺ + long cts = System.currentTimeMillis(); + singleObj.put("batchid", cts); JSONObject contentObj = new JSONObject(); contentObj.put("meswlbh", vo.getCode()); // Դϱ contentObj.put("bipwlbh", vo.getCode()); // BIPϱ