导入流程生产订单-序列号V1
This commit is contained in:
parent
afca6722ce
commit
24796e96da
|
|
@ -0,0 +1,59 @@
|
||||||
|
<?xml version="1.0" encoding='utf-8'?>
|
||||||
|
<ufinterface roottag="bill">
|
||||||
|
<record displayName="序列号明细"
|
||||||
|
aggname="nc.vo.mmpac.pmo.pac0002.entity.PMOSerialNoVO"
|
||||||
|
areaname="serial_body"
|
||||||
|
displayNameResid="excel_mmpac_head00001"
|
||||||
|
metadataid="4bbf97e4-403e-4497-858f-e2aa716bfad5"
|
||||||
|
stabletag="header"
|
||||||
|
tablename="mm_pmo_serialno"
|
||||||
|
tabletag="mm_pmo_serialno"
|
||||||
|
tabletype="head"
|
||||||
|
typeName="表头">
|
||||||
|
<field desc="组织编码">
|
||||||
|
<matchtag>pk_org</matchtag>
|
||||||
|
<name>pk_org</name>
|
||||||
|
<type>String</type>
|
||||||
|
<set>yes</set>
|
||||||
|
<visual>yes</visual>
|
||||||
|
<isRequired>no</isRequired>
|
||||||
|
<checkTranslatedPK>no</checkTranslatedPK>
|
||||||
|
</field>
|
||||||
|
<field desc="生产订单单据号">
|
||||||
|
<matchtag>vsndef1</matchtag>
|
||||||
|
<name>vsndef1</name>
|
||||||
|
<type>String</type>
|
||||||
|
<set>yes</set>
|
||||||
|
<visual>yes</visual>
|
||||||
|
<isRequired>no</isRequired>
|
||||||
|
<checkTranslatedPK>no</checkTranslatedPK>
|
||||||
|
</field>
|
||||||
|
<field desc="生产订单单据行号">
|
||||||
|
<matchtag>vsndef2</matchtag>
|
||||||
|
<name>vsndef2</name>
|
||||||
|
<type>String</type>
|
||||||
|
<set>yes</set>
|
||||||
|
<visual>yes</visual>
|
||||||
|
<isRequired>no</isRequired>
|
||||||
|
<checkTranslatedPK>no</checkTranslatedPK>
|
||||||
|
</field>
|
||||||
|
<field desc="序列号">
|
||||||
|
<matchtag>vsncode</matchtag>
|
||||||
|
<name>vsncode</name>
|
||||||
|
<type>String</type>
|
||||||
|
<set>yes</set>
|
||||||
|
<visual>yes</visual>
|
||||||
|
<isRequired>no</isRequired>
|
||||||
|
<checkTranslatedPK>no</checkTranslatedPK>
|
||||||
|
</field>
|
||||||
|
<field desc="数量">
|
||||||
|
<matchtag>nsnastnum</matchtag>
|
||||||
|
<name>nsnastnum</name>
|
||||||
|
<type>UFDouble</type>
|
||||||
|
<set>yes</set>
|
||||||
|
<visual>yes</visual>
|
||||||
|
<isRequired>no</isRequired>
|
||||||
|
<checkTranslatedPK>no</checkTranslatedPK>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
</ufinterface>
|
||||||
|
|
@ -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<String, Object> pmoIdMap = (Map<String, Object>) 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<PMOAggVO> 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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue