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