合并备料计划生成出库申请单-2005适配2312
This commit is contained in:
parent
d9c533b614
commit
dc913b0687
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version='1.0' encoding='gb2312'?>
|
||||||
|
<module name="ic">
|
||||||
|
<public>
|
||||||
|
<!-- 备料计划转出库申请 -->
|
||||||
|
<component priority="0" singleton="true" remote="false" tx="NONE" supportAlias="true">
|
||||||
|
<interface>nccloud.pubitf.ic.outbound.service.IOutboundTransferVoService1</interface>
|
||||||
|
<implementation>nccloud.pubimpl.ic.outbound.service.OutboundTransferVoServiceImpl1</implementation>
|
||||||
|
</component>
|
||||||
|
</public>
|
||||||
|
</module>
|
|
@ -0,0 +1,109 @@
|
||||||
|
package nccloud.web.ic.outbound.sapplybill.action;
|
||||||
|
|
||||||
|
import nc.pub.templet.converter.util.helper.ExceptionUtils;
|
||||||
|
import nc.pubitf.pu.m422x.ic.m4455.IQuery422XFor4455;
|
||||||
|
import nc.ui.querytemplate.querytree.IQueryScheme;
|
||||||
|
import nc.vo.ic.pub.util.StringUtil;
|
||||||
|
import nc.vo.ic.pub.util.ValueCheckUtil;
|
||||||
|
import nc.vo.pu.m422x.entity.PickmReqAppVO;
|
||||||
|
import nc.vo.pub.BusinessException;
|
||||||
|
import nc.vo.scmpub.res.billtype.ICBillType;
|
||||||
|
import nccloud.dto.scmpub.page.entity.SCMQueryTreeFormatVO;
|
||||||
|
import nccloud.framework.core.json.IJson;
|
||||||
|
import nccloud.framework.service.ServiceLocator;
|
||||||
|
import nccloud.framework.web.action.itf.ICommonAction;
|
||||||
|
import nccloud.framework.web.container.ClientInfo;
|
||||||
|
import nccloud.framework.web.container.IRequest;
|
||||||
|
import nccloud.framework.web.container.SessionContext;
|
||||||
|
import nccloud.framework.web.json.JsonFactory;
|
||||||
|
import nccloud.framework.web.ui.pattern.billgrid.BillGrid;
|
||||||
|
import nccloud.framework.web.ui.pattern.billgrid.BillGridOperator;
|
||||||
|
import nccloud.nc.vo.pub.pf.PullBillInfoVO;
|
||||||
|
import nccloud.pubitf.ic.pub.service.IICPubQueryService;
|
||||||
|
import nccloud.pubitf.platform.query.INCCloudQueryService;
|
||||||
|
import nccloud.pubitf.riart.businesstype.IPFBusinessTypeService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询备料计划的数据-出库申请单拉单使用
|
||||||
|
*
|
||||||
|
* @author mzr
|
||||||
|
* @date 2024/12/21
|
||||||
|
*/
|
||||||
|
public class QueryPickmFor4455Action implements ICommonAction {
|
||||||
|
public Object doAction(IRequest request) {
|
||||||
|
String read = request.read();
|
||||||
|
IJson json = JsonFactory.create();
|
||||||
|
SCMQueryTreeFormatVO info = (SCMQueryTreeFormatVO) json.fromJson(read, SCMQueryTreeFormatVO.class);
|
||||||
|
|
||||||
|
INCCloudQueryService queryutil = (INCCloudQueryService) ServiceLocator.find(INCCloudQueryService.class);
|
||||||
|
IQueryScheme scheme = queryutil.convertCondition(info.getQueryInfo());
|
||||||
|
|
||||||
|
/*Object transtype = info.getQueryInfo().getUserdefObj().get("transtype");
|
||||||
|
PullBillInfoVO[] refbillinfos = queryRefPara(transtype);
|
||||||
|
appendRefWhr(scheme, refbillinfos);*/
|
||||||
|
|
||||||
|
IICPubQueryService<?, ?> schemeservice = (IICPubQueryService) ServiceLocator.find(IICPubQueryService.class);
|
||||||
|
|
||||||
|
scheme = schemeservice.appendOrgPermission(scheme);
|
||||||
|
|
||||||
|
PickmReqAppVO[] vos = null;
|
||||||
|
|
||||||
|
IQuery422XFor4455 queryService = (IQuery422XFor4455) ServiceLocator.find(IQuery422XFor4455.class);
|
||||||
|
try {
|
||||||
|
vos = queryService.queryPickmAppsFor4455(scheme);
|
||||||
|
} catch (BusinessException e) {
|
||||||
|
ExceptionUtils.wrapException(e);
|
||||||
|
}
|
||||||
|
if (null == vos) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
// VO与UI数据格式转换 卡片列表:BillGridOperator
|
||||||
|
BillGridOperator operator = new BillGridOperator(info.getTempletid(), info.getPageCode());
|
||||||
|
BillGrid[] grids = operator.toBillGrids(vos);
|
||||||
|
/*if (grids != null) {
|
||||||
|
StoreReqScaleUtil util = new StoreReqScaleUtil();
|
||||||
|
for (BillGrid billGrid : grids) {
|
||||||
|
util.processGrid(billGrid, false);
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
return grids;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void appendRefWhr(IQueryScheme scheme, PullBillInfoVO[] refbillinfos) {
|
||||||
|
if (null == refbillinfos || refbillinfos.length == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (PullBillInfoVO info : refbillinfos) {
|
||||||
|
if ("422X".equals(info.getSrc_billtype())) {
|
||||||
|
List<String> busitypes = info.getBusitypes();
|
||||||
|
if (!ValueCheckUtil.isNullORZeroLength(busitypes)) {
|
||||||
|
scheme.put("busitypearray", busitypes.toArray(new String[0]));
|
||||||
|
List<String> tranList = info.getTranstypes();
|
||||||
|
if (!ValueCheckUtil.isNullORZeroLength(tranList)
|
||||||
|
&& !StringUtil.isSEmptyOrNull((String) tranList.get(0))) {
|
||||||
|
scheme.put("transtypearray", tranList.toArray(new String[0]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private PullBillInfoVO[] queryRefPara(Object transtype) {
|
||||||
|
ClientInfo clientinfo = SessionContext.getInstance().getClientInfo();
|
||||||
|
String groupId = clientinfo.getPk_group();
|
||||||
|
String userId = clientinfo.getUserid();
|
||||||
|
|
||||||
|
IPFBusinessTypeService pfservice = (IPFBusinessTypeService) ServiceLocator.find(IPFBusinessTypeService.class);
|
||||||
|
PullBillInfoVO[] refbillinfos = null;
|
||||||
|
try {
|
||||||
|
refbillinfos = pfservice.getPullBillInfo(ICBillType.SapplyBill.getCode(),
|
||||||
|
(null == transtype) ? null : (String) transtype, groupId, userId);
|
||||||
|
} catch (BusinessException e) {
|
||||||
|
ExceptionUtils.wrapException(e);
|
||||||
|
}
|
||||||
|
return refbillinfos;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,48 @@
|
||||||
|
//
|
||||||
|
// Source code recreated from a .class file by IntelliJ IDEA
|
||||||
|
// (powered by FernFlower decompiler)
|
||||||
|
//
|
||||||
|
|
||||||
|
package nccloud.web.ic.outbound.sapplybill.action;
|
||||||
|
|
||||||
|
import nc.vo.ic.m4455.entity.SapplyBillVO;
|
||||||
|
import nccloud.dto.ic.pub.entity.TransferInfo;
|
||||||
|
import nccloud.framework.core.json.IJson;
|
||||||
|
import nccloud.framework.service.ServiceLocator;
|
||||||
|
import nccloud.framework.web.action.itf.ICommonAction;
|
||||||
|
import nccloud.framework.web.container.IRequest;
|
||||||
|
import nccloud.framework.web.json.JsonFactory;
|
||||||
|
import nccloud.framework.web.ui.pattern.billcard.BillCard;
|
||||||
|
import nccloud.framework.web.ui.pattern.billcard.BillCardOperator;
|
||||||
|
import nccloud.pubitf.ic.outbound.service.IOutboundTransferVoService1;
|
||||||
|
import nccloud.web.ic.pub.precision.ICBaseBillcardPrecisionHandler;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ±¸Áϼƻ®×ª³ö¿âÉêÇë
|
||||||
|
*
|
||||||
|
* @author mzr
|
||||||
|
* @date 2024/12/25
|
||||||
|
*/
|
||||||
|
public class TransToSapplyBill1Action implements ICommonAction {
|
||||||
|
public TransToSapplyBill1Action() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object doAction(IRequest request) {
|
||||||
|
String read = request.read();
|
||||||
|
IJson json = JsonFactory.create();
|
||||||
|
TransferInfo transInfo = (TransferInfo) json.fromJson(read, TransferInfo.class);
|
||||||
|
SapplyBillVO[] vos = null;
|
||||||
|
IOutboundTransferVoService1 service = (IOutboundTransferVoService1) ServiceLocator.find(IOutboundTransferVoService1.class);
|
||||||
|
vos = service.transPickmTo4455(transInfo);
|
||||||
|
BillCardOperator operator = new BillCardOperator(transInfo.getPagecode());
|
||||||
|
BillCard[] cards = new BillCard[vos.length];
|
||||||
|
|
||||||
|
for (int i = 0; i < vos.length; ++i) {
|
||||||
|
cards[i] = operator.toCard(vos[i]);
|
||||||
|
ICBaseBillcardPrecisionHandler handler = new SapplyBillPrecisionHandler(cards[i]);
|
||||||
|
handler.process();
|
||||||
|
}
|
||||||
|
|
||||||
|
return cards;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,110 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<actions>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.query</name>
|
||||||
|
<label>出库申请单查询</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.SapplyBillQueryAction</clazz>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.queryPage</name>
|
||||||
|
<label>出库申请单查询</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.SapplyBillPageQueryAction</clazz>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.maintain</name>
|
||||||
|
<label>出库申请单删除、提交、收回</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.SapplyBillMaintainAction</clazz>
|
||||||
|
<btncode>Commit,UnCommit,Delete</btncode>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.save</name>
|
||||||
|
<label>出库申请单保存</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.SapplyBillSaveAction</clazz>
|
||||||
|
<btncode>Save</btncode>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.saveAndCommit</name>
|
||||||
|
<label>出库申请单保存提交</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.SapplyBillSaveCommitAction</clazz>
|
||||||
|
<btncode>SaveCommit, Commit</btncode>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.canbecopy</name>
|
||||||
|
<label>出库申请单查询是否可以复制</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.SapplyBillBeforeCopyAction</clazz>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.copy</name>
|
||||||
|
<label>出库申请单复制</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.SapplyBillCopyAction</clazz>
|
||||||
|
<btncode>Copy</btncode>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.cardquery</name>
|
||||||
|
<label>出库申请单卡片态查询</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.SapplyBillQueryCardAction</clazz>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.query422x</name>
|
||||||
|
<label>拉单物资需求申请单查询</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.Query422XFor4455Action</clazz>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.transfervo</name>
|
||||||
|
<label>物资需求申请单-转单</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.TransToSapplyBillAction</clazz>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.queryPickm</name>
|
||||||
|
<label>拉单备料计划查询</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.QueryPickmFor4455Action</clazz>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.transfervo1</name>
|
||||||
|
<label>备料计划申请单-转单</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.TransToSapplyBill1Action</clazz>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.print</name>
|
||||||
|
<label>出库申请单打印</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.SapplyBillPrintAction</clazz>
|
||||||
|
<btncode>Print,output,Print_list</btncode>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.combine</name>
|
||||||
|
<label>出库申请单合并显示</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.SapplyBillCombineAction</clazz>
|
||||||
|
<btncode>CombinePrint</btncode>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.checkprem</name>
|
||||||
|
<label>出库申请单修改、打印校验权限</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.SapplyBillDataPermissionAction</clazz>
|
||||||
|
<btncode>Edit,Print</btncode>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.headAfterEdit</name>
|
||||||
|
<label>出库申请单表头区域改变事件</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.events.SapplyBillHeadAfterEventAction</clazz>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.bodyAfterEdit</name>
|
||||||
|
<label>出库申请单表体区域改变事件</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.events.SapplyBillBodyAfterEditAction</clazz>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.rowOpenClose</name>
|
||||||
|
<label>出库申请单表体行打开关闭操作</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.SapplyBillRowOpenCloseAction</clazz>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.billOpenClose</name>
|
||||||
|
<label>出库申请单整单打开关闭操作</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.SapplyBillOpenCloseAction</clazz>
|
||||||
|
</action>
|
||||||
|
<action>
|
||||||
|
<name>ic.sapplybill.ntpLinkList</name>
|
||||||
|
<label>预算联查出库申请列表数据加载</label>
|
||||||
|
<clazz>nccloud.web.ic.outbound.sapplybill.action.SapplyBillNtpLinkListAction</clazz>
|
||||||
|
</action>
|
||||||
|
</actions>
|
|
@ -0,0 +1,27 @@
|
||||||
|
<authorizes>
|
||||||
|
<authorize>
|
||||||
|
<appcode>400801200,400801204</appcode>
|
||||||
|
<actions>
|
||||||
|
<action>ic.sapplybill.query</action>
|
||||||
|
<action>ic.sapplybill.queryPage</action>
|
||||||
|
<action>ic.sapplybill.maintain</action>
|
||||||
|
<action>ic.sapplybill.save</action>
|
||||||
|
<action>ic.sapplybill.saveAndCommit</action>
|
||||||
|
<action>ic.sapplybill.canbecopy</action>
|
||||||
|
<action>ic.sapplybill.copy</action>
|
||||||
|
<action>ic.sapplybill.cardquery</action>
|
||||||
|
<action>ic.sapplybill.query422x</action>
|
||||||
|
<action>ic.sapplybill.transfervo</action>
|
||||||
|
<action>ic.sapplybill.queryPickm</action>
|
||||||
|
<action>ic.sapplybill.transfervo1</action>
|
||||||
|
<action>ic.sapplybill.print</action>
|
||||||
|
<action>ic.sapplybill.combine</action>
|
||||||
|
<action>ic.sapplybill.checkprem</action>
|
||||||
|
<action>ic.sapplybill.headAfterEdit</action>
|
||||||
|
<action>ic.sapplybill.bodyAfterEdit</action>
|
||||||
|
<action>ic.sapplybill.rowOpenClose</action>
|
||||||
|
<action>ic.sapplybill.billOpenClose</action>
|
||||||
|
<action>ic.sapplybill.ntpLinkList</action>
|
||||||
|
</actions>
|
||||||
|
</authorize>
|
||||||
|
</authorizes>
|
|
@ -0,0 +1,148 @@
|
||||||
|
//
|
||||||
|
// Source code recreated from a .class file by IntelliJ IDEA
|
||||||
|
// (powered by FernFlower decompiler)
|
||||||
|
//
|
||||||
|
|
||||||
|
package nc.bs.pub.action;
|
||||||
|
|
||||||
|
import java.util.Hashtable;
|
||||||
|
|
||||||
|
import nc.bs.dao.BaseDAO;
|
||||||
|
import nc.bs.framework.common.NCLocator;
|
||||||
|
import nc.bs.ic.pub.env.ICBSContext;
|
||||||
|
import nc.bs.ic.pub.util.ICBillVOQuery;
|
||||||
|
import nc.bs.pub.compiler.AbstractCompiler2;
|
||||||
|
import nc.bs.scmpub.pf.PfParameterUtil;
|
||||||
|
import nc.itf.ic.m4455.self.ISapplyBillMaintain;
|
||||||
|
import nc.jdbc.framework.processor.ColumnProcessor;
|
||||||
|
import nc.vo.ic.m4455.entity.SapplyBillBodyVO;
|
||||||
|
import nc.vo.ic.m4455.entity.SapplyBillVO;
|
||||||
|
import nc.vo.ic.pub.pf.ICPFParameter;
|
||||||
|
import nc.vo.ic.pub.util.ValueCheckUtil;
|
||||||
|
import nc.vo.ml.NCLangRes4VoTransl;
|
||||||
|
import nc.vo.pub.BusinessException;
|
||||||
|
import nc.vo.pub.compiler.PfParameterVO;
|
||||||
|
import nc.vo.pub.lang.UFDouble;
|
||||||
|
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
||||||
|
import nc.vo.pubapp.pattern.pub.MathTool;
|
||||||
|
import nccloud.baseapp.core.log.NCCForUAPLogger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合并备料计划保存前校验申请数量是否超过计划数量-2005适配2312
|
||||||
|
*
|
||||||
|
* @author mzr
|
||||||
|
* @date 2025/3/26
|
||||||
|
*/
|
||||||
|
public class N_4455_WRITE extends AbstractCompiler2 {
|
||||||
|
private Hashtable m_keyHas = null;
|
||||||
|
private Hashtable m_methodReturnHas = new Hashtable();
|
||||||
|
|
||||||
|
private BaseDAO baseDAO = null;
|
||||||
|
|
||||||
|
public N_4455_WRITE() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object runComClass(PfParameterVO vo) throws BusinessException {
|
||||||
|
try {
|
||||||
|
super.m_tmpVo = vo;
|
||||||
|
ICBSContext context = new ICBSContext();
|
||||||
|
ICPFParameter pfparam = (ICPFParameter)this.getUserObj();
|
||||||
|
if (pfparam == null) {
|
||||||
|
pfparam = new ICPFParameter();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ValueCheckUtil.isNullORZeroLength(pfparam.getBusinessCheckMap())) {
|
||||||
|
pfparam.setBAtpCheckFlag(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
context.setICPFParameter(pfparam);
|
||||||
|
SapplyBillVO[] outVOs = (SapplyBillVO[])this.getVos();
|
||||||
|
// 保存前校验申请数量是否超过计划数量
|
||||||
|
for (SapplyBillVO billVO : outVOs) {
|
||||||
|
SapplyBillBodyVO[] bodyVOS = billVO.getBodys();
|
||||||
|
for (SapplyBillBodyVO bodyVO : bodyVOS) {
|
||||||
|
// 只判断来源单据是备料计划的出库申请
|
||||||
|
if (!"55A3".equals(bodyVO.getCsourcetype())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
String csourcebillbid = bodyVO.getCsourcebillbid();
|
||||||
|
// 查询备料计划中的计划出库数量,通过备料计划的表体主键
|
||||||
|
String getPlanNumSql = "SELECT nplanoutastnum "
|
||||||
|
+ "FROM mm_pickm_b "
|
||||||
|
+ "WHERE NVL(dr,0) = 0 AND cpickm_bid = '[csourcebillbid]'";
|
||||||
|
getPlanNumSql = getPlanNumSql.replace("[csourcebillbid]", csourcebillbid);
|
||||||
|
Object nplanoutastnum = getBaseDAO().executeQuery(getPlanNumSql,
|
||||||
|
new ColumnProcessor("nplanoutastnum"));
|
||||||
|
if (nplanoutastnum == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
UFDouble plantNum = new UFDouble(String.valueOf(nplanoutastnum));
|
||||||
|
// 通过备料计划的表体主键查询已申请数量
|
||||||
|
String getApplyNumSql = "SELECT NVL(SUM(nassistnum),0) nassistnum "
|
||||||
|
+ "FROM ic_sapply_b "
|
||||||
|
+ "WHERE NVL(dr,0) = 0 AND csourcebillbid = '[csourcebillbid]'";
|
||||||
|
getApplyNumSql = getApplyNumSql.replace("[csourcebillbid]", csourcebillbid);
|
||||||
|
// 修改的时候加上子表主键
|
||||||
|
if (null != outVOs[0] && null != outVOs[0].getHead() && null != outVOs[0].getHead().getCgeneralhid()) {
|
||||||
|
getApplyNumSql += " AND cgeneralbid != '" + bodyVO.getPrimaryKey() + "'";
|
||||||
|
}
|
||||||
|
Object nassistnum = getBaseDAO().executeQuery(getApplyNumSql,
|
||||||
|
new ColumnProcessor("nassistnum"));
|
||||||
|
UFDouble applyNum = new UFDouble(String.valueOf(nassistnum));
|
||||||
|
NCCForUAPLogger.debug(String.format(
|
||||||
|
"出库申请保存: 来源单据表体主键 = [%S], 计划出库数量 = [%S], 已申请数量 = [%S], 本次申请数量 = [%S],",
|
||||||
|
csourcebillbid, plantNum, applyNum, bodyVO.getNassistnum()
|
||||||
|
));
|
||||||
|
UFDouble applyNum1 = applyNum.add(bodyVO.getNassistnum());
|
||||||
|
if (MathTool.compareTo(plantNum, applyNum1) < 0) {
|
||||||
|
nccloud.framework.core.exception.ExceptionUtils.wrapBusinessException("申请数量已超出计划数量,请检查!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (null != outVOs[0] && null != outVOs[0].getHead() && null != outVOs[0].getHead().getCgeneralhid()) {
|
||||||
|
PfParameterUtil<SapplyBillVO> util = new PfParameterUtil(this.getPfParameterVO(), outVOs);
|
||||||
|
SapplyBillVO[] originBills = (SapplyBillVO[])util.getOrginBills();
|
||||||
|
if (originBills == null) {
|
||||||
|
originBills = (SapplyBillVO[])(new ICBillVOQuery()).fetchVOWithLoc(outVOs);
|
||||||
|
}
|
||||||
|
|
||||||
|
SapplyBillVO[] clientFullBills = (SapplyBillVO[])util.getClientFullInfoBill();
|
||||||
|
return ((ISapplyBillMaintain)NCLocator.getInstance().lookup(ISapplyBillMaintain.class)).update(clientFullBills, originBills);
|
||||||
|
} else {
|
||||||
|
SapplyBillVO[] retunVos = new SapplyBillVO[outVOs.length];
|
||||||
|
ISapplyBillMaintain service = (ISapplyBillMaintain)NCLocator.getInstance().lookup(ISapplyBillMaintain.class);
|
||||||
|
|
||||||
|
for(int i = 0; i < outVOs.length; ++i) {
|
||||||
|
retunVos[i] = service.insert(new SapplyBillVO[]{outVOs[i]})[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
return retunVos;
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ExceptionUtils.marsh(ex);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCodeRemark() {
|
||||||
|
return NCLangRes4VoTransl.getNCLangRes().getStrByID("4008003_0", "04008003-0108");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setParameter(String key, Object val) {
|
||||||
|
if (this.m_keyHas == null) {
|
||||||
|
this.m_keyHas = new Hashtable();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (val != null) {
|
||||||
|
this.m_keyHas.put(key, val);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private BaseDAO getBaseDAO() {
|
||||||
|
if (this.baseDAO == null) {
|
||||||
|
this.baseDAO = new BaseDAO();
|
||||||
|
}
|
||||||
|
return this.baseDAO;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,243 @@
|
||||||
|
//
|
||||||
|
// Source code recreated from a .class file by IntelliJ IDEA
|
||||||
|
// (powered by FernFlower decompiler)
|
||||||
|
//
|
||||||
|
|
||||||
|
package nccloud.pubimpl.ic.outbound.service;
|
||||||
|
|
||||||
|
import nc.bs.framework.common.InvocationInfoProxy;
|
||||||
|
import nc.bs.framework.common.NCLocator;
|
||||||
|
import nc.impl.pubapp.pattern.data.vo.VOQuery;
|
||||||
|
import nc.itf.scmpub.reference.uap.pf.PfServiceScmUtil;
|
||||||
|
import nc.itf.uap.pf.IPfExchangeService;
|
||||||
|
import nc.vo.ic.general.deal.TransBillBaseProcess;
|
||||||
|
import nc.vo.ic.general.define.ICBillBodyVO;
|
||||||
|
import nc.vo.ic.general.define.ICBillHeadVO;
|
||||||
|
import nc.vo.ic.general.define.ICBillVO;
|
||||||
|
import nc.vo.ic.m4455.entity.SapplyBillVO;
|
||||||
|
import nc.vo.ic.m4c.deal.Bill4CFor45Process;
|
||||||
|
import nc.vo.ic.m4c.entity.SaleOutVO;
|
||||||
|
import nc.vo.ic.material.query.InvInfoQuery;
|
||||||
|
import nc.vo.ic.org.OrgInfoQuery;
|
||||||
|
import nc.vo.ic.param.ICSysParam;
|
||||||
|
import nc.vo.ic.pub.calc.BusiCalculator;
|
||||||
|
import nc.vo.ic.pub.define.ICContext;
|
||||||
|
import nc.vo.ic.pub.pf.billtype.BillTypeInfoQuery;
|
||||||
|
import nc.vo.ic.pub.util.StringUtil;
|
||||||
|
import nc.vo.ic.pub.util.VOEntityUtil;
|
||||||
|
import nc.vo.ic.pub.util.ValueCheckUtil;
|
||||||
|
import nc.vo.ic.warehouse.WarehouseInfoQuery;
|
||||||
|
import nc.vo.ml.LanguageVO;
|
||||||
|
import nc.vo.ml.NCLangRes4VoTransl;
|
||||||
|
import nc.vo.mmpac.pickm.entity.PickmHeadVO;
|
||||||
|
import nc.vo.mmpac.pickm.entity.PickmItemVO;
|
||||||
|
import nc.vo.pu.m422x.entity.PickmReqAppVO;
|
||||||
|
import nc.vo.pub.AggregatedValueObject;
|
||||||
|
import nc.vo.pub.BusinessException;
|
||||||
|
import nc.vo.pub.CircularlyAccessibleValueObject;
|
||||||
|
import nc.vo.pub.compiler.PfParameterVO;
|
||||||
|
import nc.vo.pub.lang.UFDate;
|
||||||
|
import nc.vo.pub.lang.UFDateTime;
|
||||||
|
import nc.vo.pub.pfflow01.BillbusinessVO;
|
||||||
|
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
||||||
|
import nc.vo.pubapp.scale.ScaleUtils;
|
||||||
|
import nc.vo.pubapp.util.VORowNoUtils;
|
||||||
|
import nc.vo.scmpub.res.billtype.ICBillType;
|
||||||
|
import nc.vo.scmpub.res.billtype.SOBillType;
|
||||||
|
import nccloud.dto.ic.pub.entity.TransVoInfo;
|
||||||
|
import nccloud.dto.ic.pub.entity.TransferInfo;
|
||||||
|
import nccloud.pubitf.ic.outbound.service.IOutboundTransferVoService1;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class OutboundTransferVoServiceImpl1 implements IOutboundTransferVoService1 {
|
||||||
|
public static final Integer ZERO_INTEGER = 0;
|
||||||
|
private ICContext context = new ICContext() {
|
||||||
|
public String getUserID() {
|
||||||
|
return InvocationInfoProxy.getInstance().getUserId();
|
||||||
|
}
|
||||||
|
|
||||||
|
public UFDateTime getServerDateTime() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPk_group() {
|
||||||
|
return InvocationInfoProxy.getInstance().getGroupId();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getModuleEnableDate() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LanguageVO getCurrentLanguage() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UFDateTime getBizDateTime() {
|
||||||
|
return new UFDateTime(InvocationInfoProxy.getInstance().getBizDateTime());
|
||||||
|
}
|
||||||
|
|
||||||
|
public UFDate getBizDate() {
|
||||||
|
return new UFDate(InvocationInfoProxy.getInstance().getBizDateTime());
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBDDocMultLangName(String bddocname) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public SapplyBillVO[] transPickmTo4455(TransferInfo info) {
|
||||||
|
if (null == info) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
TransVoInfo[] voInfos = info.getInfo();
|
||||||
|
if (voInfos.length < 1) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
VOQuery<PickmHeadVO> query = new VOQuery(PickmHeadVO.class);
|
||||||
|
PickmHeadVO[] hvos = (PickmHeadVO[]) query.query(info.getInfo()[0].getHids());
|
||||||
|
VOQuery<PickmItemVO> queryb = new VOQuery(PickmItemVO.class);
|
||||||
|
PickmItemVO[] bvos = (PickmItemVO[]) queryb.query(info.getInfo()[0].getBids());
|
||||||
|
PickmReqAppVO[] volist = new PickmReqAppVO[hvos.length];
|
||||||
|
|
||||||
|
for (int i = 0; i < hvos.length; ++i) {
|
||||||
|
PickmReqAppVO vo = new PickmReqAppVO();
|
||||||
|
vo.setParentVO(hvos[i]);
|
||||||
|
List<PickmItemVO> bodyvo = new ArrayList();
|
||||||
|
|
||||||
|
for (int j = 0; j < bvos.length; ++j) {
|
||||||
|
if (bvos[j].getCpickmid().equals(hvos[i].getCpickmid())) {
|
||||||
|
bodyvo.add(bvos[j]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
vo.setChildrenVO((CircularlyAccessibleValueObject[]) bodyvo.toArray(new PickmItemVO[0]));
|
||||||
|
volist[i] = vo;
|
||||||
|
}
|
||||||
|
|
||||||
|
IPfExchangeService service = (IPfExchangeService) NCLocator.getInstance().lookup(IPfExchangeService.class);
|
||||||
|
AggregatedValueObject[] vochange = new AggregatedValueObject[0];
|
||||||
|
|
||||||
|
try {
|
||||||
|
String cbilltype = info.getInfo()[0].getCbilltype();
|
||||||
|
vochange = service.runChangeDataAryNeedClassify(cbilltype, ICBillType.SapplyBill.getCode(), volist, (PfParameterVO) null, -1);
|
||||||
|
} catch (BusinessException e) {
|
||||||
|
ExceptionUtils.wrappBusinessException(e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
vochange = this.addFromSource(vochange);
|
||||||
|
return (SapplyBillVO[]) ((SapplyBillVO[]) vochange);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private AggregatedValueObject[] addFromSource(AggregatedValueObject[] retvos) {
|
||||||
|
this.processRowNO(this.processAfterVoChange((AggregatedValueObject[]) retvos));
|
||||||
|
if (retvos instanceof SaleOutVO[]) {
|
||||||
|
Bill4CFor45Process proc = new Bill4CFor45Process(false);
|
||||||
|
proc.setBPushSave(false);
|
||||||
|
proc.setBusiCalc(BusiCalculator.getBusiCalculatorAtBS());
|
||||||
|
proc.setIcSysParam(new ICSysParam(InvocationInfoProxy.getInstance().getGroupId()));
|
||||||
|
proc.setInvQuery(new InvInfoQuery());
|
||||||
|
proc.setOrgInfoQry(new OrgInfoQuery());
|
||||||
|
proc.setScale(ScaleUtils.getScaleUtilAtBS());
|
||||||
|
proc.setWhQuery(new WarehouseInfoQuery());
|
||||||
|
proc.setBilltypeQuery(new BillTypeInfoQuery());
|
||||||
|
proc.setContext(this.context);
|
||||||
|
retvos = proc.changeToSaleOutVO((SaleOutVO[]) ((SaleOutVO[]) retvos));
|
||||||
|
this.checkCbiz((SaleOutVO[]) ((SaleOutVO[]) retvos));
|
||||||
|
}
|
||||||
|
|
||||||
|
return (AggregatedValueObject[]) retvos;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected AggregatedValueObject[] processAfterVoChange(AggregatedValueObject[] retvos) {
|
||||||
|
this.setClientDbilldate(retvos);
|
||||||
|
TransBillBaseProcess<ICBillVO, ICBillHeadVO, ICBillBodyVO> process = new TransBillBaseProcess(false, false);
|
||||||
|
process.setBusiCalc(BusiCalculator.getBusiCalculatorAtBS());
|
||||||
|
process.setIcSysParam(new ICSysParam(InvocationInfoProxy.getInstance().getGroupId()));
|
||||||
|
process.setInvQuery(new InvInfoQuery());
|
||||||
|
process.setOrgInfoQry(new OrgInfoQuery());
|
||||||
|
process.setScale(ScaleUtils.getScaleUtilAtBS());
|
||||||
|
process.setWhQuery(new WarehouseInfoQuery());
|
||||||
|
process.setBilltypeQuery(new BillTypeInfoQuery());
|
||||||
|
process.setContext(this.context);
|
||||||
|
return process.processBillVOs((ICBillVO[]) ((ICBillVO[]) retvos));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void setClientDbilldate(AggregatedValueObject[] retvos) {
|
||||||
|
long time = InvocationInfoProxy.getInstance().getBizDateTime();
|
||||||
|
UFDate date = new UFDate(time);
|
||||||
|
AggregatedValueObject[] var5 = retvos;
|
||||||
|
int var6 = retvos.length;
|
||||||
|
|
||||||
|
for (int var7 = 0; var7 < var6; ++var7) {
|
||||||
|
AggregatedValueObject retvo = var5[var7];
|
||||||
|
ICBillVO billvo = (ICBillVO) retvo;
|
||||||
|
billvo.getHead().setDbilldate(date);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected AggregatedValueObject[] processRowNO(AggregatedValueObject[] retvos) {
|
||||||
|
if (ValueCheckUtil.isNullORZeroLength(retvos)) {
|
||||||
|
return retvos;
|
||||||
|
} else {
|
||||||
|
long time = InvocationInfoProxy.getInstance().getBizDateTime();
|
||||||
|
UFDate date = new UFDate(time);
|
||||||
|
AggregatedValueObject[] var5 = retvos;
|
||||||
|
int var6 = retvos.length;
|
||||||
|
|
||||||
|
for (int var7 = 0; var7 < var6; ++var7) {
|
||||||
|
AggregatedValueObject bill = var5[var7];
|
||||||
|
CircularlyAccessibleValueObject[] bodys = bill.getChildrenVO();
|
||||||
|
if (!ValueCheckUtil.isNullORZeroLength(bodys)) {
|
||||||
|
CircularlyAccessibleValueObject[] var10 = bodys;
|
||||||
|
int var11 = bodys.length;
|
||||||
|
|
||||||
|
for (int var12 = 0; var12 < var11; ++var12) {
|
||||||
|
CircularlyAccessibleValueObject body = var10[var12];
|
||||||
|
body.setAttributeValue("crowno", (Object) null);
|
||||||
|
if (body.getAttributeValue("nnum") != null) {
|
||||||
|
body.setAttributeValue("dbizdate", date);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
VORowNoUtils.setVOsRowNoByRule(bodys, "crowno");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return retvos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkCbiz(SaleOutVO[] vos) {
|
||||||
|
String[] cbiztypes = VOEntityUtil.getVOsNotRepeatValue(VOEntityUtil.getHeadVOs(vos), "cbiztype");
|
||||||
|
if (!ValueCheckUtil.isNullORZeroLength(cbiztypes)) {
|
||||||
|
String pk_group = InvocationInfoProxy.getInstance().getGroupId();
|
||||||
|
String arriveCode = SOBillType.Delivery.getCode();
|
||||||
|
String[] var5 = cbiztypes;
|
||||||
|
int var6 = cbiztypes.length;
|
||||||
|
|
||||||
|
for (int var7 = 0; var7 < var6; ++var7) {
|
||||||
|
String biztype = var5[var7];
|
||||||
|
BillbusinessVO[] businessVOs = PfServiceScmUtil.findBillbusinessVOs(biztype, pk_group);
|
||||||
|
if (!ValueCheckUtil.isNullORZeroLength(businessVOs)) {
|
||||||
|
BillbusinessVO[] var10 = businessVOs;
|
||||||
|
int var11 = businessVOs.length;
|
||||||
|
|
||||||
|
for (int var12 = 0; var12 < var11; ++var12) {
|
||||||
|
BillbusinessVO vo = var10[var12];
|
||||||
|
if (StringUtil.isStringEqual(vo.getPk_billtype(), arriveCode)) {
|
||||||
|
ExceptionUtils.wrappBusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("4008003_0", "04008003-0251"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
//
|
||||||
|
// Source code recreated from a .class file by IntelliJ IDEA
|
||||||
|
// (powered by FernFlower decompiler)
|
||||||
|
//
|
||||||
|
|
||||||
|
package nccloud.pubitf.ic.outbound.service;
|
||||||
|
|
||||||
|
import nc.vo.ic.m4455.entity.SapplyBillVO;
|
||||||
|
import nccloud.dto.ic.pub.entity.TransferInfo;
|
||||||
|
|
||||||
|
public interface IOutboundTransferVoService1 {
|
||||||
|
SapplyBillVO[] transPickmTo4455(TransferInfo info);
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,88 @@
|
||||||
|
//
|
||||||
|
// Source code recreated from a .class file by IntelliJ IDEA
|
||||||
|
// (powered by FernFlower decompiler)
|
||||||
|
//
|
||||||
|
|
||||||
|
package nc.bs.pu.m422x.query;
|
||||||
|
|
||||||
|
import nc.bs.scmpub.util.SCMDataAccessUtils;
|
||||||
|
import nc.impl.pubapp.pattern.data.vo.VOQuery;
|
||||||
|
import nc.ui.querytemplate.querytree.IQueryScheme;
|
||||||
|
import nc.vo.mmpac.pickm.entity.PickmHeadVO;
|
||||||
|
import nc.vo.mmpac.pickm.entity.PickmItemVO;
|
||||||
|
import nc.vo.pu.m422x.entity.PickmReqAppVO;
|
||||||
|
import nc.vo.pubapp.pattern.model.tool.BillComposite;
|
||||||
|
import nc.vo.pubapp.query2.sql.process.QuerySchemeProcessor;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
public abstract class Abstract422XRefQueryBP1 {
|
||||||
|
protected String headtb;
|
||||||
|
protected String itemtb;
|
||||||
|
protected QuerySchemeProcessor psor;
|
||||||
|
|
||||||
|
public Abstract422XRefQueryBP1(IQueryScheme queryScheme) {
|
||||||
|
this.psor = new QuerySchemeProcessor(queryScheme);
|
||||||
|
this.headtb = this.psor.getMainTableAlias();
|
||||||
|
// this.itemtb = this.psor.getTableAliasOfAttribute("pk_storereq_b.pk_storereq_b");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHeadtb() {
|
||||||
|
return this.headtb;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getItemtb() {
|
||||||
|
return this.itemtb;
|
||||||
|
}
|
||||||
|
|
||||||
|
public QuerySchemeProcessor getPsor() {
|
||||||
|
return this.psor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract StringBuilder makeGetPKSql();
|
||||||
|
|
||||||
|
public PickmReqAppVO[] queryPickmReqVOs() {
|
||||||
|
SCMDataAccessUtils utils = new SCMDataAccessUtils(10000);
|
||||||
|
// this.psor.appendCurrentGroup();
|
||||||
|
StringBuilder sql = this.makeGetPKSql();
|
||||||
|
String[][] pks = utils.query(sql.toString()).toTwoDimensionStringArray();
|
||||||
|
if (null != pks && pks.length != 0) {
|
||||||
|
Set<String> headPks = new HashSet();
|
||||||
|
String[] itemPks = new String[pks.length];
|
||||||
|
|
||||||
|
for (int i = 0; i < pks.length; ++i) {
|
||||||
|
headPks.add(pks[i][0]);
|
||||||
|
itemPks[i] = pks[i][1];
|
||||||
|
}
|
||||||
|
|
||||||
|
PickmHeadVO[] headers = (PickmHeadVO[]) (new VOQuery(PickmHeadVO.class)).query((String[]) headPks.toArray(new String[headPks.size()]));
|
||||||
|
PickmItemVO[] items = (PickmItemVO[]) (new VOQuery(PickmItemVO.class)).query(itemPks);
|
||||||
|
BillComposite<PickmReqAppVO> bc = new BillComposite(PickmReqAppVO.class);
|
||||||
|
PickmReqAppVO tempVO = new PickmReqAppVO();
|
||||||
|
bc.append(tempVO.getMetaData().getParent(), headers);
|
||||||
|
bc.append(tempVO.getMetaData().getVOMeta(PickmItemVO.class), items);
|
||||||
|
PickmReqAppVO[] queryResult = (PickmReqAppVO[]) bc.composite();
|
||||||
|
// return this.processQueryResult(queryResult);
|
||||||
|
return queryResult;
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHeadtb(String headtb) {
|
||||||
|
this.headtb = headtb;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setItemtb(String itemtb) {
|
||||||
|
this.itemtb = itemtb;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPsor(QuerySchemeProcessor psor) {
|
||||||
|
this.psor = psor;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected PickmReqAppVO[] processQueryResult(PickmReqAppVO[] queryResult) {
|
||||||
|
return queryResult;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,54 @@
|
||||||
|
//
|
||||||
|
// Source code recreated from a .class file by IntelliJ IDEA
|
||||||
|
// (powered by FernFlower decompiler)
|
||||||
|
//
|
||||||
|
|
||||||
|
package nc.bs.pu.m422x.query;
|
||||||
|
|
||||||
|
import nc.bs.pu.m422x.plugin.StoreReqAppPluginPoint;
|
||||||
|
import nc.bs.pu.m422x.query.rule.CanOutreqNumCalcRule;
|
||||||
|
import nc.impl.pubapp.pattern.rule.processer.AroundProcesser;
|
||||||
|
import nc.ui.querytemplate.querytree.IQueryScheme;
|
||||||
|
import nc.vo.pu.m422x.entity.StoreReqAppVO;
|
||||||
|
import nccloud.baseapp.core.log.NCCForUAPLogger;
|
||||||
|
import nccloud.commons.lang.ArrayUtils;
|
||||||
|
|
||||||
|
public class QueryFor4455BP1 extends Abstract422XRefQueryBP1 {
|
||||||
|
public QueryFor4455BP1(IQueryScheme queryScheme) {
|
||||||
|
super(queryScheme);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addRule(AroundProcesser<StoreReqAppVO> processer) {
|
||||||
|
processer.addAfterRule(new CanOutreqNumCalcRule());
|
||||||
|
}
|
||||||
|
|
||||||
|
public StringBuilder makeGetPKSql() {
|
||||||
|
StringBuilder wholeSql = new StringBuilder();
|
||||||
|
wholeSql.append(" SELECT DISTINCT a.cpickmid,b.cpickm_bid");
|
||||||
|
wholeSql.append(" FROM");
|
||||||
|
wholeSql.append(" (");
|
||||||
|
wholeSql.append(" SELECT cpickmid");
|
||||||
|
wholeSql.append(this.psor.getFinalFromWhere());
|
||||||
|
// 查询审核通过
|
||||||
|
wholeSql.append(" AND fbillstatus = 1");
|
||||||
|
// wholeSql.append(" AND APPROVERTIME > '2024-11-01'");
|
||||||
|
// NCCForUAPLogger.debug("finalFromWhere = " + this.psor.getFinalFromWhere());
|
||||||
|
wholeSql.append(" ) a");
|
||||||
|
wholeSql.append(" INNER JOIN mm_pickm_b b ON b.cpickmid = a.cpickmid AND b.dr = 0 ");
|
||||||
|
// 未出库数量>0
|
||||||
|
wholeSql.append(" WHERE ");
|
||||||
|
wholeSql.append(" ( COALESCE(b.nplanoutastnum, 0) - COALESCE(b.nshouldastnum, 0) - COALESCE(b.npscastnum, 0) - COALESCE(b.naccoutastnum, 0) ) > 0 ");
|
||||||
|
NCCForUAPLogger.debug("wholeSql = " + wholeSql);
|
||||||
|
return wholeSql;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected StoreReqAppVO[] processQueryResult(StoreReqAppVO[] queryResult) {
|
||||||
|
if (ArrayUtils.isEmpty(queryResult)) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
AroundProcesser<StoreReqAppVO> processer = new AroundProcesser(StoreReqAppPluginPoint.PULL_4455);
|
||||||
|
this.addRule(processer);
|
||||||
|
return (StoreReqAppVO[]) processer.after(queryResult);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
//
|
||||||
|
// Source code recreated from a .class file by IntelliJ IDEA
|
||||||
|
// (powered by FernFlower decompiler)
|
||||||
|
//
|
||||||
|
|
||||||
|
package nc.pubimpl.pu.m422x.ic.m4455;
|
||||||
|
|
||||||
|
import nc.bs.pu.m422x.query.QueryFor4455BP;
|
||||||
|
import nc.bs.pu.m422x.query.QueryFor4455BP1;
|
||||||
|
import nc.pubitf.pu.m422x.ic.m4455.IQuery422XFor4455;
|
||||||
|
import nc.ui.querytemplate.querytree.IQueryScheme;
|
||||||
|
import nc.vo.pu.m422x.entity.PickmReqAppVO;
|
||||||
|
import nc.vo.pu.m422x.entity.StoreReqAppVO;
|
||||||
|
import nc.vo.pub.BusinessException;
|
||||||
|
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
||||||
|
|
||||||
|
public class Query422XFor4455Impl implements IQuery422XFor4455 {
|
||||||
|
public Query422XFor4455Impl() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StoreReqAppVO[] queryStoreReqAppsFor4455(IQueryScheme queryScheme) throws BusinessException {
|
||||||
|
try {
|
||||||
|
return (new QueryFor4455BP(queryScheme)).queryStoreReqVOs();
|
||||||
|
} catch (Exception e) {
|
||||||
|
ExceptionUtils.marsh(e);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PickmReqAppVO[] queryPickmAppsFor4455(IQueryScheme queryScheme) throws BusinessException {
|
||||||
|
try {
|
||||||
|
return (new QueryFor4455BP1(queryScheme)).queryPickmReqVOs();
|
||||||
|
} catch (Exception e) {
|
||||||
|
ExceptionUtils.marsh(e);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
//
|
||||||
|
// Source code recreated from a .class file by IntelliJ IDEA
|
||||||
|
// (powered by FernFlower decompiler)
|
||||||
|
//
|
||||||
|
|
||||||
|
package nc.pubitf.pu.m422x.ic.m4455;
|
||||||
|
|
||||||
|
import nc.ui.querytemplate.querytree.IQueryScheme;
|
||||||
|
import nc.vo.pu.m422x.entity.PickmReqAppVO;
|
||||||
|
import nc.vo.pu.m422x.entity.StoreReqAppVO;
|
||||||
|
import nc.vo.pub.BusinessException;
|
||||||
|
|
||||||
|
public interface IQuery422XFor4455 {
|
||||||
|
StoreReqAppVO[] queryStoreReqAppsFor4455(IQueryScheme var1) throws BusinessException;
|
||||||
|
|
||||||
|
PickmReqAppVO[] queryPickmAppsFor4455(IQueryScheme queryScheme) throws BusinessException;
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
//
|
||||||
|
// Source code recreated from a .class file by IntelliJ IDEA
|
||||||
|
// (powered by FernFlower decompiler)
|
||||||
|
//
|
||||||
|
|
||||||
|
package nc.vo.pu.m422x.entity;
|
||||||
|
|
||||||
|
import nc.vo.mmpac.pickm.entity.PickmHeadVO;
|
||||||
|
import nc.vo.mmpac.pickm.entity.PickmItemVO;
|
||||||
|
import nc.vo.pubapp.pattern.model.meta.entity.bill.AbstractBillMeta;
|
||||||
|
|
||||||
|
public class PickmAppVOMeta extends AbstractBillMeta {
|
||||||
|
public PickmAppVOMeta() {
|
||||||
|
this.init();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void init() {
|
||||||
|
this.setParent(PickmHeadVO.class);
|
||||||
|
this.addChildren(PickmItemVO.class);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,48 @@
|
||||||
|
//
|
||||||
|
// Source code recreated from a .class file by IntelliJ IDEA
|
||||||
|
// (powered by FernFlower decompiler)
|
||||||
|
//
|
||||||
|
|
||||||
|
package nc.vo.pu.m422x.entity;
|
||||||
|
|
||||||
|
import nc.vo.annotation.AggVoInfo;
|
||||||
|
import nc.vo.mmpac.pickm.entity.PickmHeadVO;
|
||||||
|
import nc.vo.mmpac.pickm.entity.PickmItemVO;
|
||||||
|
import nc.vo.pubapp.pattern.model.entity.bill.AbstractBill;
|
||||||
|
import nc.vo.pubapp.pattern.model.meta.entity.bill.BillMetaFactory;
|
||||||
|
import nc.vo.pubapp.pattern.model.meta.entity.bill.IBillMeta;
|
||||||
|
|
||||||
|
@AggVoInfo(
|
||||||
|
parentVO = "nc.vo.mmpac.pickm.entity.PickmHeadVO"
|
||||||
|
)
|
||||||
|
public class PickmReqAppVO extends AbstractBill {
|
||||||
|
private static final long serialVersionUID = -3077249229044777149L;
|
||||||
|
|
||||||
|
public PickmReqAppVO() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/*public static StoreReqAppCloseVO[] getCloseVO(PickmReqAppVO[] vos) {
|
||||||
|
return (StoreReqAppCloseVO[]) (new BillToViewConvertor(StoreReqAppCloseVO.class)).convert(vos);
|
||||||
|
}*/
|
||||||
|
|
||||||
|
public PickmItemVO[] getBVO() {
|
||||||
|
return (PickmItemVO[]) ((PickmItemVO[]) this.getChildrenVO());
|
||||||
|
}
|
||||||
|
|
||||||
|
public PickmHeadVO getHVO() {
|
||||||
|
return (PickmHeadVO) this.getParent();
|
||||||
|
}
|
||||||
|
|
||||||
|
public IBillMeta getMetaData() {
|
||||||
|
IBillMeta billMeta = BillMetaFactory.getInstance().getBillMeta(PickmAppVOMeta.class);
|
||||||
|
return billMeta;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBVO(PickmItemVO[] voaChildren) {
|
||||||
|
this.setChildrenVO(voaChildren);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHVO(PickmHeadVO voaParent) {
|
||||||
|
this.setParent(voaParent);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue