Explorar o código

添加重置站点接口

callm hai 19 horas
pai
achega
f26670ef24

+ 20 - 7
src/main/java/com/uas/eis/serviceImpl/MESHelperServiceImpl.java

@@ -911,6 +911,9 @@ public class MESHelperServiceImpl implements MESHelperService {
 	 * <p>
 	 * Key发放表按客户区分:华硕固定取makeimeilist(mil_*),其它客户取Key_Release.kr_key指定的表(mk_*)。
 	 * 该SN在Key表里没有记录时跳过解冻(说明本来就没占用Key),不影响站点重置。
+	 * <p>
+	 * 客户不接收调用方入参:由该SN工单用料表中含'01.DPK'的KEY料号反查product.pr_custcode得到,
+	 * KEY料号或客户编号未维护时直接报错返回。
 	 */
 	private Map<Object,Object> KeyFreeze(JSONObject map,String Master){
 		Map<Object, Object> rmap = new HashMap<Object, Object>();
@@ -929,13 +932,6 @@ public class MESHelperServiceImpl implements MESHelperService {
 		}
 		String iStepCode=map.get("iStepCode").toString();
 
-		//客户,可传Key_Release的kr_custcode或kr_custname,替代客户端cu_code
-		if(map.get("iCustCode")==null){
-			rmap.put("oErrMessage","客户不能为空");
-			return rmap;
-		}
-		String iCustCode=map.get("iCustCode").toString();
-
 		//操作人,对应客户端User.UserCode
 		String iUserCode=map.get("iUserCode")==null?"":map.get("iUserCode").toString();
 		//岗位资源,对应客户端User.UserSourceCode
@@ -943,6 +939,22 @@ public class MESHelperServiceImpl implements MESHelperService {
 		//备注,对应客户端Remark文本框(客户端用于拼接到操作日志结果中)
 		String iRemark=map.get("iRemark")==null?"":map.get("iRemark").toString();
 
+		//客户不再由调用方传入:先用该SN工单用料表中含'01.DPK'的KEY料号,再用料号反查product的客户编号
+		Object mmProdCodeObj=baseDao.getFieldDataByCondition(Master+".MAKESERIAL left join "+Master+".make on ms_makecode=ma_code " +
+				"left join "+Master+".makematerial on mm_code=ma_code", "max(mm_prodcode)",
+				"ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"') and instr(mm_prodcode,'01.DPK')>0");
+		String mmProdCode=mmProdCodeObj==null?"":mmProdCodeObj.toString();
+		if("".equals(mmProdCode)){
+			rmap.put("oErrMessage","用料表未维护KEY料号");
+			return rmap;
+		}
+		Object prCustCodeObj=baseDao.getFieldDataByCondition(Master+".product","max(pr_custcode)","pr_code='"+mmProdCode+"'");
+		String iCustCode=prCustCodeObj==null?"":prCustCodeObj.toString();
+		if("".equals(iCustCode)){
+			rmap.put("oErrMessage","料号"+mmProdCode+"未维护客户编号");
+			return rmap;
+		}
+
 		//客户对应的Key发放表:华硕固定makeimeilist,其它客户取Key_Release.kr_key
 		String custName="";
 		String keyTable="";
@@ -1078,6 +1090,7 @@ public class MESHelperServiceImpl implements MESHelperService {
 		rmap.put("oStepName",st_name);
 		rmap.put("oMakeCode",ms_makecode);
 		rmap.put("oKeyNet",keyNet);
+		rmap.put("oCustCode",iCustCode);
 		rmap.put("oRemark",iRemark);
 		return rmap;
 	}