diff --git a/mmpac/resources/excel/billdefine/mmpac/pmo_sernio.xml b/mmpac/resources/excel/billdefine/mmpac/pmo_sernio.xml new file mode 100644 index 00000000..7b168480 --- /dev/null +++ b/mmpac/resources/excel/billdefine/mmpac/pmo_sernio.xml @@ -0,0 +1,59 @@ + + + + + pk_org + pk_org + String + yes + yes + no + no + + + vsndef1 + vsndef1 + String + yes + yes + no + no + + + vsndef2 + vsndef2 + String + yes + yes + no + no + + + vsncode + vsncode + String + yes + yes + no + no + + + nsnastnum + nsnastnum + UFDouble + yes + yes + no + no + + + diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/pluginpoint/PmoSerialNoImportProcess.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/pluginpoint/PmoSerialNoImportProcess.java new file mode 100644 index 00000000..eef786a8 --- /dev/null +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/pluginpoint/PmoSerialNoImportProcess.java @@ -0,0 +1,107 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nc.bs.mmpac.pmo.pac0002.pluginpoint; + +import nc.bs.dao.BaseDAO; +import nc.bs.framework.common.InvocationInfoProxy; +import nc.bs.trade.business.HYPubBO; +import nc.impl.pubapp.pattern.data.bill.BillQuery; +import nc.jdbc.framework.processor.MapProcessor; +import nc.vo.ml.NCLangRes4VoTransl; +import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO; +import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO; +import nc.vo.mmpac.pmo.pac0002.entity.PMOSerialNoVO; +import nc.vo.pub.BusinessException; +import nc.vo.pub.VOStatus; +import nc.vo.pub.lang.UFDouble; +import nc.vo.pubapp.pattern.exception.ExceptionUtils; +import nccloud.baseapp.core.log.NCCForUAPLogger; +import nccloud.bs.excel.IXChangeContext; +import nccloud.bs.excel.plugin.AbstractImportProceeWithContext; + +import java.util.Map; + +/** + * -к + * + * @author mzr + * @date 20250917 + */ +public class PmoSerialNoImportProcess extends AbstractImportProceeWithContext { + private static final BaseDAO dao = new BaseDAO(); + + protected void processBillWithContext(Object vo, IXChangeContext context) throws BusinessException { + String billtype = context.getSwapContext().getBilltype(); + String appcode = context.getXChangeConfigInfo().getPagetemplet().getAppcode(); + String userid = InvocationInfoProxy.getInstance().getUserId(); + String pk_group = InvocationInfoProxy.getInstance().getGroupId(); + // PMOAggVO pmoAggVo = (PMOAggVO) vo; + PMOSerialNoVO pmoSerialNoVO = (PMOSerialNoVO) vo; + if (pmoSerialNoVO != null) { + String pk_org = pmoSerialNoVO.getPk_org();// ֯ + String cmoid = pmoSerialNoVO.getVsndef2();// к + String cpmohid = pmoSerialNoVO.getVsndef1();// + String vsncode = pmoSerialNoVO.getVsncode();// к + UFDouble nsnastnum = pmoSerialNoVO.getNsnastnum();// + // ѯ + String selSql = " SELECT a.cpmohid,b.cmoid" + + " FROM mm_mo b" + + " LEFT JOIN mm_pmo a ON a.cpmohid = b.cpmohid" + + // " LEFT JOIN org_factory c ON c.pk_factory = b.pk_org " + + " WHERE" + + " a.vbillcode = '[cpmohid]'" + + " AND b.vrowno = '[cmoid]'" + + " AND b.pk_org = '[pk_org]'"; + selSql = selSql.replace("[cpmohid]", cpmohid); + selSql = selSql.replace("[cmoid]", cmoid); + selSql = selSql.replace("[pk_org]", pk_org); + Map pmoIdMap = (Map) dao.executeQuery(selSql, new MapProcessor()); + String cpmohid1 = "", cmoid1 = ""; + if (pmoIdMap != null && !pmoIdMap.isEmpty()) { + cpmohid1 = (String) pmoIdMap.get("cpmohid"); + cmoid1 = (String) pmoIdMap.get("cmoid"); + } else { + throw new BusinessException("δѯӦ"); + } + BillQuery query = new BillQuery(PMOAggVO.class); + PMOAggVO[] vos = query.query(new String[]{cpmohid1}); + for (PMOAggVO pmoAggVO : vos) { + PMOItemVO[] pmoItemVOS = pmoAggVO.getChildrenVO(); + for (PMOItemVO pmoItemVO : pmoItemVOS) { + if (cmoid1.equals(pmoItemVO.getCmoid())) { + PMOSerialNoVO pmoSerialNoVO1 = new PMOSerialNoVO(); + pmoSerialNoVO1.setCmoid(pmoItemVO.getCmoid()); + pmoSerialNoVO1.setPk_group(pmoItemVO.getPk_group()); + pmoSerialNoVO1.setPk_org(pmoItemVO.getPk_org()); + pmoSerialNoVO1.setPk_org_v(pmoItemVO.getPk_org_v()); + pmoSerialNoVO1.setVsncode(vsncode); + pmoSerialNoVO1.setNsnnum(nsnastnum); + pmoSerialNoVO1.setNsnastnum(nsnastnum); + // pmoItemVO.setStatus(VOStatus.UPDATED); + pmoSerialNoVO1.setStatus(VOStatus.NEW); + pmoSerialNoVO1.setDr(0); + this.doAddSave(pmoSerialNoVO1); + // pmoItemVO.setSerialnos(new PMOSerialNoVO[]{pmoSerialNoVO1}); + } + } + } + } else { + throw new BusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("5008001_import", "01015362-0002")); + } + } + + private void doAddSave(PMOSerialNoVO vo) { + try { + HYPubBO hy = new HYPubBO(); + String insert = hy.insert(vo); + NCCForUAPLogger.debug(insert); + // NCLocator.getInstance().lookup(IPMOMaintainService.class).insert(resvo); + } catch (BusinessException e) { + ExceptionUtils.wrappException(e); + } + + } +}