精密-启源领料接口调整
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