fix(ic): 借料入库-其它入库批次号校验-优化
This commit is contained in:
parent
a94b6c7170
commit
fd4acfa697
|
@ -11,6 +11,7 @@ import java.util.HashSet;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import nc.bs.ic.pub.env.ICBSContext;
|
||||
import nc.impl.pubapp.env.BSContext;
|
||||
import nc.itf.ic.batch.IBatchCheck;
|
||||
|
@ -50,10 +51,10 @@ public class BatchCheckImpl implements IBatchCheck {
|
|||
Set<String> keySet = new HashSet();
|
||||
List<InvCalbodyKey> keys = new ArrayList();
|
||||
|
||||
for(ICBillVO bill : bills) {
|
||||
for(ICBillBodyVO body : bill.getBodys()) {
|
||||
for (ICBillVO bill : bills) {
|
||||
for (ICBillBodyVO body : bill.getBodys()) {
|
||||
if (body.getDproducedate() != null && body.getDvalidate() != null && body.getDproducedate().compareTo(body.getDvalidate()) > 0) {
|
||||
ExceptionUtils.wrappException(new BusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("4008028_0", "04008028-0067", (String)null, new String[]{"" + body.getVbatchcode()})));
|
||||
ExceptionUtils.wrappException(new BusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("4008028_0", "04008028-0067", (String) null, new String[]{"" + body.getVbatchcode()})));
|
||||
}
|
||||
|
||||
String var10001 = bill.getHead().getPk_org();
|
||||
|
@ -69,10 +70,10 @@ public class BatchCheckImpl implements IBatchCheck {
|
|||
return;
|
||||
}
|
||||
|
||||
Map<InvCalbodyKey, InvCalBodyVO> invInfoMap = (new ICBSContext()).getInvInfo().getInvCalBodyVOs((InvCalbodyKey[])keys.toArray(new InvCalbodyKey[keys.size()]));
|
||||
Map<InvCalbodyKey, InvCalBodyVO> invInfoMap = (new ICBSContext()).getInvInfo().getInvCalBodyVOs((InvCalbodyKey[]) keys.toArray(new InvCalbodyKey[keys.size()]));
|
||||
Map<String, InvCalBodyVO> cInvInfoMap = this.changeRet(invInfoMap);
|
||||
|
||||
for(ICBillVO bill : bills) {
|
||||
for (ICBillVO bill : bills) {
|
||||
StringBuilder errStr = new StringBuilder();
|
||||
List<String> errRowNos = new ArrayList();
|
||||
this.checkBatchcode(bill, cInvInfoMap, errStr, errRowNos, true);
|
||||
|
@ -91,7 +92,7 @@ public class BatchCheckImpl implements IBatchCheck {
|
|||
private Map<String, InvCalBodyVO> changeRet(Map<InvCalbodyKey, InvCalBodyVO> invInfoMap) {
|
||||
Map<String, InvCalBodyVO> cInvInfoMap = new HashMap();
|
||||
|
||||
for(InvCalBodyVO vo : invInfoMap.values()) {
|
||||
for (InvCalBodyVO vo : invInfoMap.values()) {
|
||||
cInvInfoMap.put(vo.getPk_org() + vo.getPk_material(), vo);
|
||||
}
|
||||
|
||||
|
@ -107,7 +108,7 @@ public class BatchCheckImpl implements IBatchCheck {
|
|||
String pk_org = bill.getHead().getPk_org();
|
||||
List<String> cmaterialVIDs = new ArrayList();
|
||||
|
||||
for(ICBillBodyVO body : bill.getBodys()) {
|
||||
for (ICBillBodyVO body : bill.getBodys()) {
|
||||
if (body.getStatus() != 3 && !cmaterialVIDs.contains(body.getCmaterialvid()) && body.getNnum() != null) {
|
||||
cmaterialVIDs.add(body.getCmaterialvid());
|
||||
}
|
||||
|
@ -137,7 +138,7 @@ public class BatchCheckImpl implements IBatchCheck {
|
|||
String pk_org = bill.getHead().getPk_org();
|
||||
List<String> cmaterialVIDs = new ArrayList();
|
||||
|
||||
for(ICBillBodyVO body : bill.getBodys()) {
|
||||
for (ICBillBodyVO body : bill.getBodys()) {
|
||||
if (body.getStatus() != 3 && !cmaterialVIDs.contains(body.getCmaterialvid()) && !NCBaseTypeUtils.isNullOrZero(body.getNnum())) {
|
||||
cmaterialVIDs.add(body.getCmaterialvid());
|
||||
}
|
||||
|
@ -159,10 +160,10 @@ public class BatchCheckImpl implements IBatchCheck {
|
|||
}
|
||||
|
||||
private void checkBatchcode(ICBillVO bill, Map<String, InvCalBodyVO> materialVOs, StringBuilder errStr, List<String> errRowNos, boolean checkQualFlag) {
|
||||
for(ICBillBodyVO body : bill.getBodys()) {
|
||||
for (ICBillBodyVO body : bill.getBodys()) {
|
||||
if (body.getStatus() != 3 && body.getNnum() != null && !StringUtil.isSEmptyOrNull(body.getCmaterialvid())) {
|
||||
String var10001 = bill.getHead().getPk_org();
|
||||
InvCalBodyVO materialVO = (InvCalBodyVO)materialVOs.get(var10001 + body.getCmaterialvid());
|
||||
InvCalBodyVO materialVO = (InvCalBodyVO) materialVOs.get(var10001 + body.getCmaterialvid());
|
||||
AssertUtils.assertValue(materialVO != null, BatchRes.getMaterialStockErr());
|
||||
ICBillHeadVO head = bill.getHead();
|
||||
boolean isError = this.checkWholeMngInv(materialVO, body, errStr, errRowNos, checkQualFlag, head);
|
||||
|
@ -223,9 +224,9 @@ public class BatchCheckImpl implements IBatchCheck {
|
|||
private Map<String, InvCalBodyVO> fetchMaterialInfo(String pk_org, List<String> cmaterialVIDs) {
|
||||
Map<String, InvCalBodyVO> retMap = new HashMap();
|
||||
ICBSContext context = new ICBSContext();
|
||||
InvCalBodyVO[] stockVOs = context.getInvInfo().getInvCalBodyVO(pk_org, (String[])cmaterialVIDs.toArray(new String[cmaterialVIDs.size()]));
|
||||
InvCalBodyVO[] stockVOs = context.getInvInfo().getInvCalBodyVO(pk_org, (String[]) cmaterialVIDs.toArray(new String[cmaterialVIDs.size()]));
|
||||
if (stockVOs != null && stockVOs.length != 0) {
|
||||
for(InvCalBodyVO vo : stockVOs) {
|
||||
for (InvCalBodyVO vo : stockVOs) {
|
||||
retMap.put(vo.getPk_org() + vo.getPk_material(), vo);
|
||||
}
|
||||
|
||||
|
@ -239,10 +240,10 @@ public class BatchCheckImpl implements IBatchCheck {
|
|||
if (errRowNos != null && errRowNos.size() != 0) {
|
||||
List<String> cpickmbids = new ArrayList();
|
||||
|
||||
for(String rowNo : errRowNos) {
|
||||
for(ICBillBodyVO body : bill.getChildrenVO()) {
|
||||
for (String rowNo : errRowNos) {
|
||||
for (ICBillBodyVO body : bill.getChildrenVO()) {
|
||||
if (rowNo.equals(body.getCrowno())) {
|
||||
String cpickmbid = (String)body.getAttributeValue("cpickmbid");
|
||||
String cpickmbid = (String) body.getAttributeValue("cpickmbid");
|
||||
cpickmbids.add(cpickmbid);
|
||||
}
|
||||
}
|
||||
|
@ -259,15 +260,15 @@ public class BatchCheckImpl implements IBatchCheck {
|
|||
int status = head.getStatus();
|
||||
if (status == VOStatus.UNCHANGED) {
|
||||
// 借料类型的其它入库跳过批次号校验
|
||||
String typeCode = "";
|
||||
try {
|
||||
typeCode = SysInitQuery.getParaString(head.getPk_org(), "ICIN_TYPE");
|
||||
} catch (BusinessException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (!"".equals(typeCode) && typeCode.equals(head.getVtrantypecode())) {
|
||||
isBatchEmpty = false;
|
||||
}
|
||||
String typeCode = "";
|
||||
try {
|
||||
typeCode = SysInitQuery.getParaString(head.getPk_org(), "ICIN_TYPE");
|
||||
} catch (BusinessException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (typeCode != null && !"".equals(typeCode) && typeCode.equals(head.getVtrantypecode())) {
|
||||
isBatchEmpty = false;
|
||||
}
|
||||
}
|
||||
boolean isNumNotEmpty = body.getNnum() != null && !NCBaseTypeUtils.isNullOrZero(body.getNnum());
|
||||
return isBatchEmpty && isNumNotEmpty;
|
||||
|
|
Loading…
Reference in New Issue