package com.uas.eis.serviceImpl; import com.uas.eis.core.config.SpObserver; import com.uas.eis.dao.BaseDao; import com.uas.eis.dao.SqlRowList; import com.uas.eis.entity.ErrorMessage; import com.uas.eis.entity.HelperType; import com.uas.eis.exception.ApiSystemException; import com.uas.eis.sdk.entity.ApiResult; import com.uas.eis.service.MESDataService; import com.uas.eis.service.MESHelperService; import com.uas.eis.utils.*; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import sun.awt.TimedWindowEvent; import java.sql.Timestamp; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Service public class MESHelperServiceImpl implements MESHelperService { @Autowired private BaseDao baseDao; @Value("${spring.datasource.username}") private String username; @Override public Map DLLMain(String accessKey, String requestId, String data) { String AE_MASTER = checkAccessKey(accessKey, requestId); SpObserver.putSp(AE_MASTER); Map map = BaseUtil.parseFormStoreToMap(data); //解析map if(!StringUtil.hasText(map.get("type"))){ throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPENULL,requestId)); } if(!StringUtil.hasText(map.get("detail"))){ throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_DATAILLEGAL,requestId)); } String type = map.get("type").toString(); JSONObject json = JSONObject.fromObject(map.get("detail")); HelperType helperType = HelperType.getTypeByCode(type); if(null == helperType){ throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPEILLEGAL,requestId)); } int err = 0; //返回值 Map remap = new HashMap(); switch(helperType){ case CheckRoutePassed: remap = CheckRoutePassed(json); break; case CheckUserAndResourcePassed: remap = CheckUserAndResourcePassed(json); break; case GetAddressRangeByMO: remap = GetAddressRangeByMO(json); break; case GetMEIOrNetCodeRange: remap = GetMEIOrNetCodeRange(json); break; case GetRcardMOInfo: remap = GetRcardMOInfo(json); break; case GetMobileAllInfo: remap = GetMobileAllInfo(json); break; case SetAddressInfo: remap = SetAddressInfo(json); break; case GetMaster: remap = GetMaster(json); break; case SetMobileData: remap = SetMobileData(json); break; case SetIMEIInfo: remap = SetIMEIInfo(json); break; case SetTestDetail: remap = SetTestDetail(json); break; case SetPcbaData: remap = SetPcbaData(json); break; case GetInfoByMaterial: remap = GetInfoByMaterial(json); break; case GoMo: remap = GoMo(json); break; default: err = -1; break; } if(err == -1){ throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPEILLEGAL,requestId)); } SpObserver.putSp(username); return remap; } private Map GoMo(JSONObject map){ Map rmap = new HashMap(); String iSN=null; String iResCode=null; String iMo=null; String oErrMessage=null; if(map.get("iMo")==null){ oErrMessage = "工单号不能为空"; rmap.put("oErrMessage",oErrMessage); return rmap; } if(map.get("iResCode")==null){ oErrMessage = "岗位资源不能为空"; rmap.put("oErrMessage",oErrMessage); return rmap; } if(map.get("iSN")==null){ oErrMessage = "SN不能为空"; rmap.put("oErrMessage",oErrMessage); return rmap; } iSN=map.get("iSN").toString(); iResCode=map.get("iResCode").toString(); iMo=map.get("iMo").toString(); List list = new ArrayList(); list = baseDao.callProcedureWithOut("CS_CHECKSTEPSNANDMACODE", new Object[]{ String.valueOf(iMo), String.valueOf(iResCode), String.valueOf(iSN), String.valueOf("") }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7}); oErrMessage=list.get(2); SqlRowList rs = baseDao.queryForRowSet("select 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 = ""; if(rs.next()){ ms_status= rs.getString("ms_status"); ms_stepcode=rs.getString("ms_stepcode"); ms_nextstepcode=rs.getString("ms_nextstepcode"); } String stepcode = GetStepCodeBySource(iResCode); if ( oErrMessage == null || (ms_status == "3" && ms_stepcode == stepcode)) { if (ms_status == "3") { oErrMessage = null; } } rmap.put("oErrMessage",oErrMessage); return rmap; } private Map GetInfoByMaterial(JSONObject map){ Map rmap = new HashMap(); String iPCBA=null; String oErrMessage=null; if(map.get("iPCBA")==null){ oErrMessage = "主板SN不能为空"; rmap.put("oErrMessage",oErrMessage); return rmap; } iPCBA=map.get("iPCBA").toString(); SqlRowList rs=baseDao.queryForRowSet("select ms_firstsn,ms_sncode,ma_bios,ma_ec,ma_hardware 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='"+iPCBA+"'"); if(rs.next()){ rmap.put("oSN",rs.getString("ms_sncode")); rmap.put("oBIOS",rs.getString("ma_bios")); rmap.put("oEC",rs.getString("ma_ec")); rmap.put("oHardWare",rs.getString("ma_hardware")); }else{ oErrMessage = "主板SN未查询到关联信息"; rmap.put("oErrMessage",oErrMessage); return rmap; } return rmap; } private Map CheckRoutePassed(JSONObject map){ //实际业务数据 Map rmap = new HashMap<>(); String iSN=map.get("iSN").toString(); String iResCode=map.get("iResCode").toString(); String oErrMessage=""; if (iSN ==null) { oErrMessage = "SN不能为空"; } List list = new ArrayList(); 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); SqlRowList rs = baseDao.queryForRowSet("select 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 = ""; if(rs.next()){ ms_status= rs.getString("ms_status"); ms_stepcode=rs.getString("ms_stepcode"); ms_nextstepcode=rs.getString("ms_nextstepcode"); } String stepcode = GetStepCodeBySource(iResCode); if (ms_nextstepcode != "" && ms_nextstepcode != stepcode) { oErrMessage = "当前序列号下一工序" + ms_nextstepcode; } rmap.put("oErrMessage",oErrMessage); return rmap; } private Map CheckUserAndResourcePassed(JSONObject map){ //实际业务数据 Map rmap = new HashMap<>(); 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) { oErrMessage = "岗位资源不允许为空"; rmap.put("oErrMessage",oErrMessage); return rmap; } if (em_type.equals("admin")) { if (!baseDao.checkIf("Source", "sc_code='" + iResCode + "' and sc_statuscode='AUDITED'")) { 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")){ oErrMessage = "用户不处于当前资源所属分组!"; }else { oErrMessage=null; continue; } } } else oErrMessage = "岗位资源编号错误或者未审核!"; } } else oErrMessage = "用户不存在!"; }else{ oErrMessage = "用户名密码不正确!"; } rmap.put("oErrMessage",oErrMessage); return rmap; } private Map GetAddressRangeByMO(JSONObject map){ //实际业务数据 Map rmap = new HashMap<>(); String iSN=""; String oErrMessage = null; String oWIFI = ""; String oBT = ""; String oCode1 = ""; String oCode2 = ""; String oCode3 = ""; if(map.get("iSN")==null){ oErrMessage = "SN不能为空"; rmap.put("oErrMessage",oErrMessage); return rmap; } iSN=map.get("iSN").toString(); //判断工单是否归属 JSONObject map3=new JSONObject(); map3.put("iSN",iSN); Map map2=GetRcardMOInfo(map3); if(map2.get("oErrMessage")!=null){ oErrMessage=map2.get("oErrMessage").toString(); rmap.put("oErrMessage",oErrMessage); return rmap; } List list = new ArrayList(); list = baseDao.callProcedureWithOut("CS_GETADDRESSBYMAKECODE", new Object[]{ String.valueOf(iSN), String.valueOf(map2.get("oMoCode").toString()), }, new Integer[]{1,2}, new Integer[]{3,4,5,6,7,8}); oWIFI = list.get(0); oBT = list.get(1); oCode1 = list.get(2); oCode2 = list.get(3); oCode3 = list.get(4); oErrMessage= list.get(5); if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){ rmap.put("oWIFI",oWIFI); rmap.put("oBT",oBT); rmap.put("oCode1",oCode1); rmap.put("oCode2",oCode2); rmap.put("oCode3",oCode3); } else rmap.put("oErrMessage",oErrMessage); return rmap; } private Map GetMEIOrNetCodeRange(JSONObject map){ //实际业务数据 Map rmap = new HashMap<>(); String iSN=""; String oErrMessage = null; String oIMEI1 = ""; String oIMEI2 = ""; String oMEID = ""; String oNetCode = ""; String oPSN = ""; String oID1 = ""; String oID2 = ""; String oID3 = ""; String oID4 = ""; String oID5 = ""; if(map.get("iSN")==null){ oErrMessage = "SN不能为空"; rmap.put("oErrMessage",oErrMessage); return rmap; } if(map.get("iIMEI1")!=null){ oIMEI1=map.get("iIMEI1").toString(); } if(map.get("iNetCode")!=null){ oNetCode=map.get("iNetCode").toString(); } iSN=map.get("iSN").toString(); List list = new ArrayList(); list = baseDao.callProcedureWithOut("CS_GETIMEIORNETCODERANGE", new Object[]{ String.valueOf(iSN), String.valueOf(""), String.valueOf(oIMEI1), String.valueOf(oNetCode), }, new Integer[]{1,2,3,4}, new Integer[]{5,6,7,8,9,10,11,12,13,14}); oIMEI1 = list.get(0); oIMEI2 = list.get(1); oMEID = list.get(2); oNetCode = list.get(3); oID1 = list.get(4); oID2 = list.get(5); oID3 = list.get(6); oID4 = list.get(7); oID5 = list.get(8); oErrMessage= list.get(9); if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){ rmap.put("oIMEI1",oIMEI1); rmap.put("oIMEI2",oIMEI2); rmap.put("oMEID",oMEID); rmap.put("oNetCode",oNetCode); rmap.put("oPSN",oPSN); rmap.put("oID1",oID1); rmap.put("oID2",oID2); rmap.put("oID3",oID3); rmap.put("oID4",oID4); rmap.put("oID5",oID5); } else rmap.put("oErrMessage",oErrMessage); return rmap; } private Map GetRcardMOInfo(JSONObject map){ //实际业务数据 Map rmap = new HashMap<>(); //取MakeProcess表中的执行记录ID最大的一个工单的号码 String oErrMessage = null; if(map.get("iSN")==null){ oErrMessage = "SN不能为空"; rmap.put("oErrMessage",oErrMessage); return rmap; } String iSN=map.get("iSN").toString(); StringBuffer sql=new StringBuffer(); sql.append("select max(ms_id)ms_id from makeserial where ms_sncode in (select '" + iSN + "' from dual union select sn from "); sql.append("makesnrelation where beforesn='" + iSN + "' and sn<>' ' union select beforesn from makesnrelation where sn='" + iSN + "' and beforesn<>' ')"); SqlRowList rs = baseDao.queryForRowSet(sql.toString()); String ms_id=""; if(rs.next()){ if(rs.getString("ms_id")==null){ oErrMessage = "序列号:" + iSN + " 未归属工单"; rmap.put("oErrMessage",oErrMessage); return rmap; } else{ ms_id= rs.getString("ms_id"); } } Object oMoCode = baseDao.getFieldDataByCondition("MakeSerial", "ms_makecode", "ms_id='" + ms_id + "'"); if (oMoCode != null){ rmap.put("oMoCode",oMoCode); oErrMessage= null; } else { oErrMessage = "序列号:" + iSN + " 未归属工单"; } rmap.put("oErrMessage",oErrMessage); return rmap; } private Map GetMobileAllInfo(JSONObject map){ //实际业务数据 Map rmap = new HashMap<>(); String iSN=""; String oErrMessage = null; String oIMEI1 = ""; String oIMEI2 = ""; String oMEID = ""; String oNetCode = ""; String oPSN = ""; String oID1 = ""; String oID2 = ""; String oID3 = ""; String oID4 = ""; String oID5 = ""; String oWIFI = ""; String oBT = ""; String oCode1 = ""; String oCode2 = ""; String oCode3 = ""; if(map.get("iSN")==null){ oErrMessage = "SN不能为空"; rmap.put("oErrMessage",oErrMessage); return rmap; } iSN=map.get("iSN").toString(); Object ms_id =baseDao.getFieldDataByCondition("makeserial", "max(ms_id)", "ms_sncode='" + iSN + "'"); if(ms_id!=null) { SqlRowList rs=baseDao.queryForRowSet("select ms_id, ms_mac, ms_bt, ms_meid, ms_netcode, ms_psn, ms_imei1, ms_imei2, ms_imei3, ms_othcode1, ms_othcode2, ms_othcode3, ms_othid1, ms_othid2, ms_othid3 from MakeSerial where ms_id="+ms_id.toString()); if(rs.next()){ oWIFI = rs.getString("ms_mac"); oBT = rs.getString("ms_bt"); oPSN = rs.getString("ms_psn"); oNetCode = rs.getString("ms_netcode"); oMEID = rs.getString("ms_meid"); oIMEI1 = rs.getString("ms_imei1"); oIMEI2 = rs.getString("ms_imei2"); oCode1 = rs.getString("ms_othcode1"); oCode2 = rs.getString("ms_othcode2"); oCode3 = rs.getString("ms_othcode3"); oID1 = rs.getString("ms_othid3"); oID2 = rs.getString("ms_othid3"); oID3 = rs.getString("ms_othid3"); } }else { oErrMessage = "序列号" + iSN + "不存在"; rmap.put("oErrMessage",oErrMessage); return rmap; } if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){ rmap.put("oIMEI1",oIMEI1); rmap.put("oIMEI2",oIMEI2); rmap.put("oMEID",oMEID); rmap.put("oNetCode",oNetCode); rmap.put("oPSN",oPSN); rmap.put("oID1",oID1); rmap.put("oID2",oID2); rmap.put("oID3",oID3); rmap.put("oID4",oID4); rmap.put("oID5",oID5); rmap.put("oWIFI",oWIFI); rmap.put("oBT",oBT); rmap.put("oCode1",oCode1); rmap.put("oCode2",oCode2); rmap.put("oCode3",oCode3); } else rmap.put("oErrMessage",oErrMessage); return rmap; } private Map SetAddressInfo(JSONObject map){ //实际业务数据 Map rmap = new HashMap<>(); String oErrMessage = null; if(map.get("iSN")==null){ oErrMessage = "SN不能为空"; rmap.put("oErrMessage",oErrMessage); return rmap; } String iSN=map.get("iSN").toString(); String iWIFI = null; String iBT = null; String iCode1 = null; String iCode2 = null; String iCode3 = null; if(map.get("iWIFI")!=null){ iWIFI=map.get("iWIFI").toString(); } if(map.get("iBT")!=null){ iBT=map.get("iBT").toString(); } if(map.get("iCode1")!=null){ iCode1=map.get("iCode1").toString(); } if(map.get("iCode2")!=null){ iCode2=map.get("iCode2").toString(); } if(map.get("iCode3")!=null){ iCode3=map.get("iCode3").toString(); } List list = new ArrayList(); list = baseDao.callProcedureWithOut("CS_SETADDRESSINFO", new Object[]{ String.valueOf(iSN), String.valueOf(iWIFI), String.valueOf(iBT), String.valueOf(iCode1), String.valueOf(iCode2), String.valueOf(iCode3) }, new Integer[]{1, 2, 3, 4, 5, 6}, new Integer[]{7}); oErrMessage = list.get(0); rmap.put("oErrMessage",oErrMessage); return rmap; } private Map GetMaster(JSONObject map){ //实际业务数据 Map rmap = new HashMap<>(); SqlRowList rs=baseDao.queryForRowSet("select ma_user from mes.master"); while(rs.next()) { rmap.put(rs.getString("ma_user"),rs.getString("ma_user")); } return rmap; } private Map SetMobileData(JSONObject map){ //实际业务数据 Map rmap = new HashMap<>(); String oErrMessage = null; if(map.get("iSN")==null||map.get("iTSN")==null){ oErrMessage = "SN不能为空"; rmap.put("oErrMessage",oErrMessage); return rmap; } String iSN=map.get("iSN").toString(); String iTSN=map.get("iTSN").toString(); String iSourceCode = null; String iOperater = null; String iResult = null; String flag = null; String iErrCode = null; if(map.get("iSourceCode")!=null){ iSourceCode=map.get("iSourceCode").toString(); } if(map.get("iOperater")!=null){ iOperater=map.get("iOperater").toString(); } if(map.get("iResult")!=null){ iResult=map.get("iResult").toString(); } if(map.get("flag")!=null){ flag=map.get("flag").toString(); } if(map.get("iErrCode")!=null){ iErrCode=map.get("iErrCode").toString(); } List list = new ArrayList(); list = baseDao.callProcedureWithOut("CS_DLLSNCHANGE", new Object[]{ String.valueOf(iTSN), String.valueOf(iSN), String.valueOf(iSourceCode), String.valueOf(iOperater), String.valueOf(iResult), String.valueOf(iErrCode), }, new Integer[]{1, 2, 3, 4, 5, 6}, new Integer[]{7}); oErrMessage = list.get(0); rmap.put("oErrMessage",oErrMessage); return rmap; } private Map SetIMEIInfo(JSONObject map){ //实际业务数据 Map rmap = new HashMap<>(); String oErrMessage = null; if(map.get("iSN")==null){ oErrMessage = "SN不能为空"; rmap.put("oErrMessage",oErrMessage); return rmap; } String iSN=map.get("iSN").toString(); String iIMEI1=null; String iIMEI2 = null; String iIMEI3 = null; String iMEID = null; String iNET = null; String iID1 = null; String iID2 = null; String iID3 = null; if(map.get("iIMEI1")!=null){ iIMEI1=map.get("iIMEI1").toString(); } if(map.get("iIMEI2")!=null){ iIMEI2=map.get("iIMEI2").toString(); } if(map.get("iIMEI3")!=null){ iIMEI3=map.get("iIMEI3").toString(); } if(map.get("iMEID")!=null){ iMEID=map.get("iMEID").toString(); } if(map.get("iNET")!=null){ iNET=map.get("iNET").toString(); } if(map.get("iID1")!=null){ iID1=map.get("iID1").toString(); } if(map.get("iID2")!=null){ iID2=map.get("iID2").toString(); } if(map.get("iID3")!=null){ iID3=map.get("iID3").toString(); } List list = new ArrayList(); list = baseDao.callProcedureWithOut("CS_SETIMEIINFO", new Object[]{ String.valueOf(iSN), String.valueOf(iIMEI1), String.valueOf(iIMEI2), String.valueOf(iIMEI3), String.valueOf(iMEID), String.valueOf(iNET), String.valueOf(""), String.valueOf(iID1), String.valueOf(iID2), String.valueOf(iID3), }, new Integer[]{1, 2, 3, 4, 5, 6,7,8,9,10}, new Integer[]{11}); oErrMessage = list.get(0); rmap.put("oErrMessage",oErrMessage); return rmap; } private Map SetTestDetail(JSONObject map){ //实际业务数据 Map rmap = new HashMap<>(); String oErrMessage=null; if(map.get("iSN")==null){ oErrMessage = "SN不能为空"; rmap.put("oErrMessage",oErrMessage); return rmap; } String iSN=map.get("iSN").toString(); String iTestResult= ""; String iResCode= ""; String iClassName=""; String iTestDetail= ""; if(map.get("iTestResult")!=null){ iTestResult=map.get("iTestResult").toString(); } if(map.get("iClassName")!=null){ iClassName=map.get("iClassName").toString(); } if(map.get("iResCode")!=null){ iResCode=map.get("iResCode").toString(); } if(map.get("iTestDetail")!=null){ iTestDetail=map.get("iTestDetail").toString(); } JSONObject map3=new JSONObject(); map3.put("iSN",iSN); Map map2=GetRcardMOInfo(map3); String omakeCode = ""; StringBuffer sql=new StringBuffer(); String[] name=iClassName.split("\\|"); String[] result=iTestResult.split("\\|"); String[] value=iTestDetail.split("\\|"); if(name.length!=value.length||name.length!=result.length){ rmap.put("oErrMessage","测试项目名称和值的项次不一致"); return rmap; } for (int i=0;i SetPcbaData(JSONObject map){ //实际业务数据 Map rmap = new HashMap<>(); String oErrMessage = null; if(map.get("iSN")==null){ oErrMessage = "SN不能为空"; rmap.put("oErrMessage",oErrMessage); return rmap; } String iSN=map.get("iSN").toString(); String iResCode = null; String iOperator = null; String iResult = null; String iErrCode = null; if(map.get("iResCode")!=null){ iResCode=map.get("iResCode").toString(); } if(map.get("iOperator")!=null){ iOperator=map.get("iOperator").toString(); } if(map.get("iResult")!=null){ iResult=map.get("iResult").toString(); } if(map.get("iErrCode")!=null){ iErrCode=map.get("iErrCode").toString(); } JSONObject map3=new JSONObject(); map3.put("iSN",iSN); Map map2=GetRcardMOInfo(map3); String oMoCode=null; if(map2.get("oMoCode")!=null){ oMoCode=map2.get("oMoCode").toString(); } if (map2.get("oErrMessage")==null) return SetStepFinish(oMoCode, iResCode, iSN, "", iResult, iOperator, iErrCode); return rmap; } /// /// 获取步骤代码 /// /// /// private String GetStepCodeBySource(String Source) { Object o=baseDao.getFieldDataByCondition("source", "sc_stepcode", "sc_code='" + Source + "'"); if(o!=null) return o.toString(); else return ""; } private Boolean CheckUserLogin(String iUserCode, String iPassWord) { SqlRowList rs =baseDao.queryForRowSet("select em_code from employee where em_code='"+iUserCode+"' and em_password =?",iPassWord); if (rs.next()) return true; else { return false; } } public Map SetStepFinish(String iMakeCode, String iSourceCode, String iSN, String iMPKind, String iResult, String iUserCode, String iErrCode) { String oErrMessage = null; String StepCode = baseDao.getFieldDataByCondition("Makeserial", "ms_stepcode", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'").toString(); String CurrentStep = GetStepCodeBySource(iSourceCode); Object BgCode = baseDao.getFieldDataByCondition("step", "st_badgroupcode", "st_code='" + CurrentStep + "'"); Map rmap = new HashMap<>(); switch (iResult) { case "OK": break; case "NG": if (iErrCode == "") { oErrMessage = "测试结果为NG时必须传递不良代码"; rmap.put("oErrMessage",oErrMessage); return rmap; } else { baseDao.updateByCondition("makebad", "mb_status=-1", "mb_sncode='" + iSN + "' and mb_makecode='" + iMakeCode + "' and mb_stepcode='" + CurrentStep + "' and mb_status=0"); String[] BadCode = iErrCode.split("\\|"); StringBuffer sql=new StringBuffer(); for (int i = 0; i < BadCode.length; i++) { int mb_id = baseDao.getSeqId("makebad_seq"); sql.setLength(0); sql.append("insert into makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,mb_indate,mb_stepcode"); sql.append(",mb_sourcecode,mb_badcode,mb_badtable,mb_bgcode,mb_soncode,mb_status) select '" + mb_id + "'"); sql.append(",ma_code,ms_code,ms_sncode,'" + iUserCode + "',sysdate,'" + CurrentStep + "','" + iSourceCode + "',:bc_code,'',"); sql.append("'" + BgCode!=null?BgCode:"" + "',sp_soncode,'0' from make left join makeSerial on ms_makecode=ma_code left join stepProduct on "); sql.append("sp_mothercode=ma_prodcode and sp_stepcode=ms_nextstepcode where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'"); baseDao.execute(sql.toString().replace(":bc_code", "'" + BadCode[i] + "'")); } //将不良的序列号的状态码设为3 baseDao.execute("update makeserial set ms_status='3' where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'"); } break; default: oErrMessage = "测试结果必须为NG或者OK"; rmap.put("oErrMessage",oErrMessage); return rmap; } //不良采集为良品是更新 if (StepCode == CurrentStep && iResult == "OK") { Object[] ob = baseDao.getFieldsDataByCondition("makeserial", "ms_status,ms_craftcode,ms_prodcode", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'"); if (ob!=null) { String ms_status =ob[0].toString(); String ms_craftcode= ob[1].toString(); String ms_prodcode = ob[2].toString(); if (ms_status == "3") { String nextstepcode =baseDao.getFieldDataByCondition("craft left join craftdetail on cr_id=cd_crid ", "cd_nextstepcode", "cr_code='" + ms_craftcode + "' and cr_prodcode='" + ms_prodcode + "' and cd_stepcode='" + CurrentStep + "'").toString(); baseDao.updateByCondition("makeserial", "ms_status=1,ms_nextstepcode='" + nextstepcode + "'", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'"); baseDao.updateByCondition("makebad", "mb_status=-1", "mb_sncode='" + iSN + "' and mb_makecode='" + iMakeCode + "'"); } } } return CS_SetFinish(iMakeCode, iSourceCode, iSN, iUserCode, iResult); } private Map CS_SetFinish(String iMakeCode, String iSourceCode, String iSN, String iUserCode, String iResult) { Map rmap = new HashMap<>(); String oErrMessage=null; List list = new ArrayList(); list = baseDao.callProcedureWithOut("CS_SETSTEPRESULT", new Object[]{ String.valueOf(iMakeCode), String.valueOf(iSourceCode), String.valueOf(iSN), String.valueOf(iUserCode), String.valueOf(iResult), }, new Integer[]{1, 2, 3, 4, 5}, new Integer[]{6}); oErrMessage = list.get(0); rmap.put("oErrMessage",oErrMessage); return rmap; } private String checkAccessKey(String accessKey,String requestId){ Object accessSecret_O = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_SECRET", "AE_KEY='" + accessKey + "'"); Object AE_MASTER = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_MASTER", "AE_KEY='" + accessKey + "'"); String accessSecret = accessSecret_O == null ? "" : accessSecret_O.toString(); // 检查KEY是否合理 if (StringUtils.isEmpty(accessKey) || StringUtils.isEmpty(accessSecret) || AE_MASTER== null || "".equals(AE_MASTER.toString())) { ApiResult apiResult = new ApiResult(ErrorMessage.ACCESSKEY_ILLEGAL.getCode(),ErrorMessage.ACCESSKEY_ILLEGAL.getMessage(),requestId); throw new ApiSystemException(apiResult); } return AE_MASTER.toString(); } }