精密-启源领料接口调整
This commit is contained in:
parent
6aa16c719a
commit
a90cb1ede0
|
|
@ -362,15 +362,15 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain {
|
|||
// 启源领料
|
||||
/*
|
||||
1、传入数据基本非空校验
|
||||
2、根据传入的生产订单主键获取流程备料计划
|
||||
2、根据传入的生产订单行主键获取关联的流程备料计划
|
||||
3、调用单据转换规则,备料计划VO转为材料出库VO
|
||||
4、处理材料出库VO部分字段的赋值(行数量 = 本次领料套数(启源传入)*单位主用量(备料计划))
|
||||
5、调用材料出库的保存方法
|
||||
*/
|
||||
List<String> mids;
|
||||
try {
|
||||
String sql = "SELECT cpickmid from mm_pickm WHERE dr = 0 AND fbillstatus = 1 AND csourcebillid = '[csourcebillid]'";
|
||||
sql = sql.replace("[csourcebillid]", paramMap.get("cpmohid").toString());
|
||||
String sql = "SELECT cpickmid from mm_pickm WHERE dr = 0 AND fbillstatus = 1 AND csourcebillrowid = '[csourcebillrowid]'";
|
||||
sql = sql.replace("[csourcebillrowid]", paramMap.get("cpmobid").toString());
|
||||
mids = (List<String>) getDao().executeQuery(sql, new ColumnListProcessor());
|
||||
} catch (DAOException e) {
|
||||
throw new BusinessException(e);
|
||||
|
|
@ -427,22 +427,29 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain {
|
|||
}
|
||||
IMaterialOutMaintainAPI materialOut = NCLocator.getInstance().lookup(IMaterialOutMaintainAPI.class);
|
||||
MaterialOutVO[] outVOS = materialOut.insertBills(vos);
|
||||
// 材料出库的来源单据id
|
||||
Set<String> sourceIds = new HashSet<>();
|
||||
for (MaterialOutVO outVO : outVOS) {
|
||||
MaterialOutBodyVO[] bodys = outVO.getBodys();
|
||||
for (MaterialOutBodyVO body : bodys) {
|
||||
sourceIds.add(body.getCfirstbillhid());
|
||||
}
|
||||
}
|
||||
// 查询备料计划行上的成套套数 nbsetpartsnum
|
||||
List<JSONObject> numList = new ArrayList<>();
|
||||
AggPickmVO[] newPickmVOS = queryService.queryBillsByPks(cpickmids);
|
||||
AggPickmVO[] newPickmVOS = queryService.queryBillsByPks(sourceIds.toArray(new String[0]));
|
||||
// 获取备料计划行上的成套套数的合计值
|
||||
Double sum = 0d;
|
||||
for (AggPickmVO newPickmVO : newPickmVOS) {
|
||||
PickmItemVO[] pickmItemVOS = (PickmItemVO[]) newPickmVO.getChildren(PickmItemVO.class);
|
||||
for (PickmItemVO pickmItemVO : pickmItemVOS) {
|
||||
JSONObject numJson = new JSONObject();
|
||||
String nbsetpartsnum = pickmItemVO.getNbsetpartsnum().toString();
|
||||
numJson.put("nbsetpartsnum", nbsetpartsnum);
|
||||
numJson.put("cbmaterialvid", pickmItemVO.getCbmaterialvid());
|
||||
numList.add(numJson);
|
||||
Double nbsetpartsnum = pickmItemVO.getNbsetpartsnum().toDouble();
|
||||
sum += nbsetpartsnum;
|
||||
}
|
||||
}
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("outVOS", outVOS);
|
||||
result.put("numList", numList);
|
||||
result.put("vbillcode", paramMap.get("vbillcode"));// 生产订单号
|
||||
result.put("batchId", paramMap.get("batchId"));// 领料批次id
|
||||
result.put("nbsetpartsnum", sum);// 累计领料套数
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -350,14 +350,13 @@ public class MaterialOutResource extends NCCPubRestResource {
|
|||
@Produces("application/json")
|
||||
public JSONString saveByQyMes(Map<String, Object> paramMap) {
|
||||
try {
|
||||
if (!paramMap.containsKey("num") || !paramMap.containsKey("cpmohid")) {
|
||||
if (!paramMap.containsKey("num") || !paramMap.containsKey("cpmobid")) {
|
||||
return ResultMessageUtil.exceptionToJSON("传入数据异常,参数要包含流程生产订单信息和领料数量信息", APIErrCodeEnum.BUSINESSEXCCODE.getCode());
|
||||
}
|
||||
IAPIMaterialOutMaintain materialOut =
|
||||
NCLocator.getInstance().lookup(IAPIMaterialOutMaintain.class);
|
||||
JSONObject result = materialOut.destIssue(paramMap);
|
||||
return ResultMessageUtil.toJSON(result, nc.vo.ml.NCLangRes4VoTransl.getNCLangRes()
|
||||
.getStrByID("4008027_0", "04008027-0472")/* @res "材料出库单保存成功" */);
|
||||
return ResultMessageUtil.toJSON(result, "操作成功");
|
||||
} catch (Exception e) {
|
||||
return ResultMessageUtil.exceptionToJSON(e);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue