备料计划申请单-转单

This commit is contained in:
mzr 2024-12-25 17:26:42 +08:00
parent 577666687f
commit e55d24a1ca
8 changed files with 401 additions and 89 deletions

View File

@ -22,7 +22,6 @@ 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 nccloud.web.pu.storereq.util.StoreReqScaleUtil;
import java.util.List;
@ -63,12 +62,12 @@ public class QueryPickmFor4455Action implements ICommonAction {
// VO与UI数据格式转换 卡片列表BillGridOperator
BillGridOperator operator = new BillGridOperator(info.getTempletid(), info.getPageCode());
BillGrid[] grids = operator.toBillGrids(vos);
if (grids != null) {
/*if (grids != null) {
StoreReqScaleUtil util = new StoreReqScaleUtil();
for (BillGrid billGrid : grids) {
util.processGrid(billGrid, false);
}
}
}*/
return grids;
}

View File

@ -0,0 +1,49 @@
//
// 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.IOutboundTransferVoService;
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(IOutboundTransferVoService.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;
}
}

View File

@ -55,6 +55,11 @@
<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>

View File

@ -13,6 +13,7 @@
<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>

View File

@ -18,6 +18,7 @@ public class Query422XFor4455Impl implements IQuery422XFor4455 {
public Query422XFor4455Impl() {
}
@Override
public StoreReqAppVO[] queryStoreReqAppsFor4455(IQueryScheme queryScheme) throws BusinessException {
try {
return (new QueryFor4455BP(queryScheme)).queryStoreReqVOs();

View File

@ -0,0 +1,242 @@
//
// 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 OutboundTransferVoServiceImpl11 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 {
vochange = service.runChangeDataAryNeedClassify(info.getInfo()[0].getCbilltype(), ICBillType.SapplyBill.getCode(), volist, (PfParameterVO) null, -1);
} catch (BusinessException var16) {
ExceptionUtils.wrappBusinessException(var16.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"));
}
}
}
}
}
}
}

View File

@ -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);
}

View File

@ -29,7 +29,8 @@ public class QueryFor4455BP1 extends Abstract422XRefQueryBP1 {
wholeSql.append(" (");
wholeSql.append(" SELECT cpickmid");
wholeSql.append(this.psor.getFinalFromWhere());
wholeSql.append(" AND APPROVERTIME > '2024-10-01'");
wholeSql.append(" AND APPROVERTIME > '2024-11-01'");
// wholeSql.append(" AND APPROVERTIME = '2024-12-20 00:00:00'");
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");