Compare commits
No commits in common. "0fa0c1288be302a4cd449bee325ba97e44cf00d0" and "d4528962b0871723a8430fa454184bca3f4d8e0d" have entirely different histories.
0fa0c1288b
...
d4528962b0
|
@ -1,129 +0,0 @@
|
||||||
package nc.bs.ic.m4a.util;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
|
|
||||||
import nc.bs.framework.common.NCLocator;
|
|
||||||
import nc.bs.ic.general.util.GenFinanceProcess;
|
|
||||||
import nc.bs.ic.general.util.GeneralFinanceContext;
|
|
||||||
import nc.itf.uap.IUAPQueryBS;
|
|
||||||
import nc.jdbc.framework.processor.ColumnProcessor;
|
|
||||||
import nc.pubitf.ia.mi4.ic.IIAI4ForIC4ASign;
|
|
||||||
import nc.vo.ia.bill.entity.base.AbstractBaseBill;
|
|
||||||
import nc.vo.ia.bill.entity.base.AbstractBaseHeadVO;
|
|
||||||
import nc.vo.ia.bill.entity.base.AbstractBaseItemVO;
|
|
||||||
import nc.vo.ia.mi4.entity.I4BillVO;
|
|
||||||
import nc.vo.ia.mi4.entity.I4HeadVO;
|
|
||||||
import nc.vo.ia.mi4.entity.I4ItemVO;
|
|
||||||
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.m4a.entity.GeneralInBodyVO;
|
|
||||||
import nc.vo.ic.m4a.entity.GeneralInHeadVO;
|
|
||||||
import nc.vo.ic.m4a.entity.GeneralInVO;
|
|
||||||
import nc.vo.ic.pub.util.VOEntityUtil;
|
|
||||||
import nc.vo.pub.BusinessException;
|
|
||||||
import nc.vo.pubapp.pattern.pub.SqlBuilder;
|
|
||||||
import nc.vo.scmpub.res.billtype.IABillType;
|
|
||||||
|
|
||||||
public class Bill4AFinanceProcess
|
|
||||||
extends GenFinanceProcess<GeneralInVO, GeneralInBodyVO>
|
|
||||||
{
|
|
||||||
public Bill4AFinanceProcess() { super(GeneralFinanceContext.createOneDomainContext(IABillType.QTRK)); }
|
|
||||||
|
|
||||||
protected void deleteIABill(String[] billids) throws BusinessException {
|
|
||||||
((IIAI4ForIC4ASign)NCLocator.getInstance().lookup(IIAI4ForIC4ASign.class)).deleteI4ForIC4AUnsign(billids);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void insertOneDomainIAByService(AbstractBaseBill[] iabills, GeneralInVO[] icbills) throws BusinessException {
|
|
||||||
String[] costorgs = loadCostInfoForCalbody(
|
|
||||||
(ICBillHeadVO[])VOEntityUtil.getHeadVOs(icbills));
|
|
||||||
fillIABillCostOrg(iabills, costorgs);
|
|
||||||
GeneralInVO[] _icbills = filterIcbills(icbills);//库存其它入库单筛选-华丰
|
|
||||||
I4BillVO[] _iabills = filterIabills(iabills, _icbills);//筛选核算库存信息-华丰
|
|
||||||
((IIAI4ForIC4ASign)NCLocator.getInstance().lookup(IIAI4ForIC4ASign.class)).insertI4ForIC4Asign((I4BillVO[])_iabills);
|
|
||||||
}
|
|
||||||
|
|
||||||
//处理备料计划-转库-其它入库,如果寄存供应商有值,则这一行物料信息不生成存货核算单据
|
|
||||||
private I4BillVO[] filterIabills(AbstractBaseBill[] iabills, GeneralInVO[] icbills) throws BusinessException {
|
|
||||||
I4BillVO _iabill = null;
|
|
||||||
ArrayList<I4BillVO> iabillsList = new ArrayList<I4BillVO>();
|
|
||||||
ArrayList<I4ItemVO> itemList = new ArrayList<I4ItemVO>();
|
|
||||||
|
|
||||||
ICBillBodyVO[] icBillBodys = (ICBillBodyVO[])VOEntityUtil.getBodyVOs(icbills);//获取所有入库单表体
|
|
||||||
Set<String> values = VOEntityUtil.getVOsValueSet(icBillBodys, "cgeneralbid");//获取所有入库单子表主键
|
|
||||||
|
|
||||||
for(int i = 0; i < iabills.length; i++) {
|
|
||||||
I4BillVO iabill = (I4BillVO)iabills[i];
|
|
||||||
I4HeadVO headVO = iabill.getParentVO();
|
|
||||||
I4ItemVO[] itemVOs = iabill.getChildrenVO();
|
|
||||||
if(itemVOs != null && itemVOs.length > 0) {
|
|
||||||
for(int j = 0; j < itemVOs.length; j++) {//核算库存子表过滤筛选
|
|
||||||
I4ItemVO itemVO = itemVOs[j];
|
|
||||||
String csrcbid = itemVO.getCsrcbid();//获取来源单据id
|
|
||||||
if(values.contains(csrcbid)) {
|
|
||||||
itemList.add(itemVO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(itemList != null && itemList.size() > 0) {//筛选后的核算库存子表数大于0
|
|
||||||
iabillsList.add(_iabill);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return iabillsList.toArray(new I4BillVO[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//库存其它入库单筛选
|
|
||||||
private GeneralInVO[] filterIcbills(GeneralInVO[] icbills) throws BusinessException {
|
|
||||||
GeneralInVO _icbill = null;
|
|
||||||
ArrayList<GeneralInVO> icbillsList = new ArrayList<GeneralInVO>();
|
|
||||||
ArrayList<GeneralInBodyVO> itemList = new ArrayList<GeneralInBodyVO>();
|
|
||||||
|
|
||||||
for(int i = 0; i < icbills.length; i++) {
|
|
||||||
GeneralInVO iabill = (GeneralInVO)icbills[i];
|
|
||||||
GeneralInHeadVO headVO = iabill.getHead();
|
|
||||||
GeneralInBodyVO[] itemVOs = iabill.getBodys();
|
|
||||||
if(itemVOs != null && itemVOs.length > 0) {
|
|
||||||
for(int j = 0; j < itemVOs.length; j++) {//库存子表过滤筛选
|
|
||||||
GeneralInBodyVO itemVO = itemVOs[j];
|
|
||||||
String csourcetype = itemVO.getCsourcetype();//获取核算库存来源单据类型
|
|
||||||
String cvmivenderid = itemVO.getCvmivenderid();//获取寄存商户id
|
|
||||||
String csourcebillbid = itemVO.getCsourcebillbid();//获取来源单据子表id
|
|
||||||
String csourcetype_zk = querySourceType(csourcebillbid);//转库单来源单据类型
|
|
||||||
if("4K".equals(csourcetype) && StringUtils.isNotEmpty(cvmivenderid)
|
|
||||||
&& "55A3".equals(csourcetype_zk)) {
|
|
||||||
itemList.add(itemVO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(itemList != null && itemList.size() > 0) {//筛选后的核算库存子表数大于0
|
|
||||||
icbillsList.add(_icbill);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return icbillsList.toArray(new GeneralInVO[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//转库单来源单据类型查询
|
|
||||||
public String querySourceType(String id) throws BusinessException {
|
|
||||||
if(StringUtils.isNotEmpty(id)) {
|
|
||||||
SqlBuilder sb = new SqlBuilder();
|
|
||||||
sb.reset();
|
|
||||||
sb.append("select csourcetype from ic_whstrans_b where cspecialbid = '" + id + "' and dr = 0");
|
|
||||||
IUAPQueryBS querybs = NCLocator.getInstance().lookup(IUAPQueryBS.class);
|
|
||||||
Object result = querybs.executeQuery(sb.toString(), new ColumnProcessor());
|
|
||||||
if(result != null && !"".equals(result)) {
|
|
||||||
return result.toString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue