callm 3 päivää sitten
vanhempi
commit
701f661abd

+ 5 - 0
src/main/java/com/uas/eis/controller/MESHelperController.java

@@ -209,4 +209,9 @@ public class MESHelperController {
     public Map<Object,Object> GetMESSnCode(HttpServletRequest request,  @RequestBody String json){
         return mesHelperService.getMESSnCode(json);
     }
+
+    @RequestMapping(value="/CheckRoutePassed")
+    public Map<Object,Object> CheckRoutePassed(HttpServletRequest request,  @RequestBody String json){
+        return mesHelperService.CheckRoutePassed(json);
+    }
 }

+ 3 - 0
src/main/java/com/uas/eis/service/MESHelperService.java

@@ -25,6 +25,9 @@ public interface MESHelperService {
 	Map<Object, Object> SPI(String data);
 
 	String CheckSteel(String data);
+	Map<Object, Object> CheckRoutePassed(String data);
+
+	Map<Object, Object> CheckUserAndResourcePassed(String data);
 
 	String UploadSteel(String SteelMeshCode,String scraperCode, String SteelMeshCount, String scraperCount, String datatime);
 

+ 189 - 0
src/main/java/com/uas/eis/serviceImpl/MESHelperServiceImpl.java

@@ -967,6 +967,110 @@ public class MESHelperServiceImpl implements MESHelperService {
 		return rmap;
 	}
 
+	@Override
+	public Map<Object,Object> CheckRoutePassed(String data){
+		//实际业务数据
+		Map<Object, Object> rmap = new HashMap<>();
+		Map<String, Object> map=null;
+		try{
+			map =BaseUtil.convertJsonToMap(data);
+		}catch (Exception e){
+			rmap.put("code",-1);
+			rmap.put("message",e.getMessage());
+			System.out.printf(e.getMessage()) ;
+			return rmap;
+		}
+		String iSN=map.get("iSN").toString();
+		String oErrMessage="";
+		String iResCode=map.get("iResCode").toString();
+		SqlRowList rs1=baseDao.queryForRowSet("select ms_sncode from makeserial where ms_code='"+iSN+"' order by ms_id desc");
+		if(rs1.next()){
+			iSN=rs1.getString("ms_sncode");
+		}
+		String iGetTsn=baseDao.getFieldDataByCondition("source left join step on SC_STEPCODE=st_code", "nvl(st_getsn,'0')", "sc_code='" + iResCode + "'").toString();
+		if (!iGetTsn.equals("0"))
+		{
+			SqlRowList dt =baseDao.queryForRowSet("select ms_firstsn,ms_sncode from CRAFTMATERIAL left join make on cm_makecode=ma_code " +
+					"left join makeserial on ms_firstsn=cm_firstsn and cm_makecode=ms_makecode  where cm_barcode='" + iSN + "' and nvl(cm_status,0)<>-1 order by cm_id desc");
+			if (dt.next())
+			{
+				iSN = dt.getString("ms_sncode");
+			}
+			else
+			{
+				oErrMessage = "主板SN未查询到关联信息";
+			}
+		}
+
+		SqlRowList rs=baseDao.queryForRowSet("select ms_sncode from  makeserial where ms_imei1='"+iSN+"' or ms_imei2='"+iSN+"' or ms_imei3='"+iSN+"'");
+		if(rs.next()){
+			iSN=rs.getString("ms_sncode");
+		}else{
+			rs=baseDao.queryForRowSet("select mil_sncode from  makeimeilist where mil_imei1='"+iSN+"' or mil_imei2='"+iSN+"' or mil_imei3='"+iSN+"'");
+			if(rs.next()){
+				iSN=rs.getString("mil_sncode");
+			}
+		}
+		Integer code=0;
+		if (iSN ==null)
+		{
+			oErrMessage = "SN不能为空";
+			code=-1;
+		}
+		List<String> list = new ArrayList<String>();
+		list = baseDao.callProcedureWithOut("CS_CHECKSTEPSNANDMACODE", new Object[]{
+				String.valueOf(""),
+				String.valueOf(iResCode),
+				String.valueOf(iSN),
+				String.valueOf("")
+		}, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
+		oErrMessage=list.get(2);
+		if(oErrMessage!=null){
+			rmap.put("code",-1);
+			rmap.put("oErrMessage",oErrMessage);
+			return rmap;
+		}
+		rs = baseDao.queryForRowSet("select ms_makecode,ms_firstsn,ms_prodcode,ms_bomversion,ms_craftcode,ms_status,ms_stepcode,ms_nextstepcode from makeserial where ms_id=(  select max(ms_id) from makeserial where ms_sncode  in ( select '" + iSN + "' from dual union select sn from makesnrelation where beforesn='" + iSN + "' and sn<>' '  union select beforesn from makesnrelation where sn='" + iSN + "' and beforesn<>' '))");
+		String ms_status = "";
+		String ms_stepcode = "";
+		String ms_nextstepcode = "";
+		String ms_craftcode = "";
+		String ms_bomversion = "";
+		String ms_prodcode = "";
+		String ms_firstsn = "";
+		String ms_makecode = "";
+		if(rs.next()){
+			ms_status= rs.getString("ms_status");
+			ms_stepcode=rs.getString("ms_stepcode");
+			ms_nextstepcode=rs.getString("ms_nextstepcode");
+			ms_craftcode=rs.getString("ms_craftcode");
+			ms_bomversion=rs.getString("ms_bomversion");
+			ms_prodcode=rs.getString("ms_prodcode");
+			ms_firstsn=rs.getString("ms_firstsn");
+			ms_makecode=rs.getString("ms_makecode");
+		}
+		String stepcode = GetStepCodeBySource(iResCode);
+		if (ms_nextstepcode != "" && !ms_nextstepcode.equals(stepcode))
+		{
+			oErrMessage = "当前序列号下一工序" + ms_nextstepcode;
+			code=-1;
+		}
+		rs=baseDao.queryForRowSet("select max(SP_DETNO)SP_DETNO,sp_fsoncode,max(sp_length)sp_length,replace(wm_concat(sp_prefix),',','|')sp_prefix,\n" +
+				"max(pr_detail)pr_detail,max(substr(pr_spec,0,20))pr_spec from stepproduct left join product on pr_code=sp_fsoncode where\n" +
+				"sp_bomversion='"+ms_bomversion+"' and sp_craftcode='"+ms_craftcode+"' and sp_stepcode='"+stepcode+"'\n" +
+				"And sp_mothercode ='"+ms_prodcode+"' and sp_tracekind=1 and not exists(select 1 from craftmaterial where \n" +
+				"cm_sncode in (select '"+ms_firstsn+"' from dual union select sn from makesnrelation where firstsn='"+ms_firstsn+"') \n" +
+				"and cm_makecode='"+ms_makecode+"' and cm_fsoncode=\n" +
+				"sp_fsoncode and cm_status=0) group by sp_fsoncode order by SP_DETNO asc");
+
+		rmap.put("code",code);
+		rmap.put("oErrMessage",oErrMessage);
+		if(rs.next()){
+			rmap.put("data",rs.getResultList());
+		}
+		return rmap;
+	}
+
 	private String CheckRoutePassed(String iSN,String iResCode){
 		//实际业务数据
 		Map<Object, Object> rmap = new HashMap<>();
@@ -1067,6 +1171,91 @@ public class MESHelperServiceImpl implements MESHelperService {
 		rmap.put("oErrMessage",oErrMessage);
 		return rmap;
 	}
+
+	@Override
+	public Map<Object,Object> CheckUserAndResourcePassed(String data){
+		//实际业务数据
+		Map<Object, Object> rmap = new HashMap<>();
+		Map<String, Object> map=null;
+		Integer code=0;
+		try{
+			map =BaseUtil.convertJsonToMap(data);
+		}catch (Exception e){
+			rmap.put("code",-1);
+			rmap.put("message",e.getMessage());
+			System.out.printf(e.getMessage()) ;
+			return rmap;
+		}
+		String oErrMessage = null;
+		if (map.get("iUserCode") == null || map.get("iResCode") == null || map.get("iPassWord") == null)
+		{
+			oErrMessage = "用户名,密码,岗位资源必须填写";
+			rmap.put("oErrMessage",oErrMessage);
+			return rmap;
+		}
+		String iUserCode=map.get("iUserCode").toString();
+		String iPassWord=map.get("iPassWord").toString();
+		String iResCode=map.get("iResCode").toString();
+		if (CheckUserLogin(iUserCode, iPassWord))
+		{
+			String SQL = "select em_code,em_type,em_name from employee where em_code=? ";
+			SqlRowList rs = baseDao.queryForRowSet(SQL,  iUserCode);
+			if (rs.next())
+			{
+				String em_name = rs.getString("em_name");
+				String em_type = rs.getString("em_type");
+				if (iResCode ==null)
+				{
+					code=-1;
+					oErrMessage = "岗位资源不允许为空";
+					rmap.put("oErrMessage",oErrMessage);
+					return rmap;
+				}
+				if (em_type.equals("admin"))
+				{
+					if (!baseDao.checkIf("Source", "sc_code='" + iResCode + "' and sc_statuscode='AUDITED'"))
+					{
+						code=-1;
+						oErrMessage = "岗位资源编号错误或者未审核!";
+					}
+				}
+				else
+				{
+					SqlRowList rs1=baseDao.queryForRowSet("select ur_resourcecode from cs$empgroup left join cs$userresource on ur_groupcode=eg_groupcode left join source on ur_resourcecode=sc_code where eg_emcode = '"+ iUserCode + "' and sc_statuscode='AUDITED'");
+					//如果存在该编号
+					if (rs1.next())
+					{
+						//判断如果多个岗位资源存在,用户输入的只要在其中就行
+						while (rs.next())
+						{
+							if (!rs.getString("ur_resourcecode").equals("iResCode")){
+								code=-1;
+								oErrMessage = "用户不处于当前资源所属分组!";
+							}else
+							{
+								oErrMessage=null;
+								continue;
+							}
+						}
+					}
+					else{
+						code=-1;
+						oErrMessage = "岗位资源编号错误或者未审核!";
+					}
+				}
+			}
+			else{
+				code=-1;
+				oErrMessage = "用户不存在!";
+			}
+		}else{
+			code=-1;
+			oErrMessage = "用户名密码不正确!";
+		}
+		rmap.put("code",code);
+		rmap.put("oErrMessage",oErrMessage);
+		return rmap;
+	}
 	private Map<Object,Object> GetAddressRangeByMO(JSONObject map){
 		//实际业务数据
 		Map<Object, Object> rmap = new HashMap<>();