采购入库增加保存方法
This commit is contained in:
parent
9c725d2c9a
commit
747e94d84d
|
|
@ -125,6 +125,66 @@ public class APIPurchaseInMaitainImpl implements IAPIPurchaseInMaitain {
|
|||
return insert;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PurchaseInVO[] save_RequiresNew(List<Map<String, Object>> paramList) throws BusinessException {
|
||||
// MapList转聚合VOList
|
||||
List<PurchaseInVO> aggVOList = TransferMapToVOTool.transferMapToAggVO(paramList, PurchaseInVO.class);
|
||||
String creatorCode = aggVOList.get(0).getHead().getCreator();
|
||||
PurchaseInVO[] vos = aggVOList.toArray(new PurchaseInVO[aggVOList.size()]);
|
||||
// 设置货位序列号VO
|
||||
ICAPILocationVOUtils.setLocationVO(ICBillType.PurchaseIn.getCode(), vos);
|
||||
// 1、传入数据基本非空校验
|
||||
BillVOsCheckRule checker = new BillVOsCheckRule(new CheckPurchaseInSaveValidator());
|
||||
// 2025年4月23日15点10分 采购入库单接口项目字段为波浪则清空 sdlizheng --start
|
||||
for (PurchaseInVO vo : vos) {
|
||||
PurchaseInBodyVO[] bodys = vo.getBodys();
|
||||
vo.getHead().setStatus(VOStatus.NEW);
|
||||
if (bodys != null && bodys.length > 0) {
|
||||
String[] attributeNames = bodys[0].getAttributeNames();
|
||||
for (PurchaseInBodyVO body : bodys) {
|
||||
body.setStatus(VOStatus.NEW);
|
||||
for (String fildName : attributeNames) {
|
||||
if (body.getAttributeValue(fildName) != null && "~".equals(body.getAttributeValue(fildName))) {
|
||||
body.setAttributeValue(fildName, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
// 2025年4月23日15点10分 采购入库单接口项目字段为波浪则清空 sdlizheng --end
|
||||
// 添加供应商和交易类型为空赋值
|
||||
fillHeadDataBeforeCheck(vos);
|
||||
checker.check(vos);
|
||||
// 2、编码翻译成pk
|
||||
aggVOList = TransferCodeToPKTool.transferAggVO(aggVOList);
|
||||
if (aggVOList == null || aggVOList.size() < 1) {
|
||||
throw new BusinessException("翻译采购入库对象失败,检查数据格式");
|
||||
}
|
||||
// 翻译货位
|
||||
ICAPILocationVOUtils.translate(vos);
|
||||
|
||||
// begin没取到财务组织导致的报错,在这里给财务组织赋值为库存组织
|
||||
for (PurchaseInVO vo : vos) {
|
||||
if (vo.getHead().getCfanaceorgoid() != null) {
|
||||
continue;
|
||||
}
|
||||
String cfinanceoid = (new OrgInfoQuery()).getFinanceOrgIDByCalBodyID(vo.getHead().getPk_org());
|
||||
String cfinancevid = (new OrgInfoQuery()).getFinanceOrgVIDByCalBodyID(vo.getHead().getPk_org());
|
||||
vo.getHead().setCfanaceorgoid(cfinanceoid);
|
||||
vo.getHead().setCfanaceorgvid(cfinancevid);
|
||||
}
|
||||
// end
|
||||
|
||||
// 3、其他数据填充
|
||||
new PurchaseInSaveFillValue().setDefaultValue(vos);
|
||||
|
||||
BillMaintainTool<PurchaseInVO> tool = new BillMaintainTool<PurchaseInVO>(PurchaseInVO.class,
|
||||
ICBillType.PurchaseIn.getCode());
|
||||
PurchaseInVO[] insert = tool.insert(vos);
|
||||
return insert;
|
||||
}
|
||||
|
||||
private UFBoolean checkWmsOrg(List<PurchaseInVO> paramList) throws BusinessException {
|
||||
if (paramList == null || paramList.size() < 1) {
|
||||
throw new BusinessException("转换采购入库对象失败,检查报文结构及数据格式");
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
package nccloud.api.ic.m45;
|
||||
|
||||
import nc.vo.ic.m45.entity.PurchaseInVO;
|
||||
import nc.vo.pub.BusinessException;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface IAPIPurchaseInMaitain {
|
||||
PurchaseInVO[] save(List<Map<String, Object>> paramList) throws BusinessException;
|
||||
|
||||
PurchaseInVO[] save_RequiresNew(List<Map<String, Object>> paramList) throws BusinessException;
|
||||
|
||||
PurchaseInVO[] update(List<Map<String, Object>> paramList) throws BusinessException;
|
||||
|
||||
void delete(PurchaseInVO[] vos) throws BusinessException;
|
||||
|
||||
PurchaseInVO[] sign(PurchaseInVO[] vos) throws BusinessException;
|
||||
|
||||
PurchaseInVO[] unSign(PurchaseInVO[] vos) throws BusinessException;
|
||||
}
|
||||
Loading…
Reference in New Issue