MESHelperServiceImpl.java 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329
  1. package com.uas.eis.serviceImpl;
  2. import com.uas.eis.core.config.SpObserver;
  3. import com.uas.eis.dao.BaseDao;
  4. import com.uas.eis.dao.SqlRowList;
  5. import com.uas.eis.entity.ErrorMessage;
  6. import com.uas.eis.entity.HelperType;
  7. import com.uas.eis.exception.ApiSystemException;
  8. import com.uas.eis.sdk.entity.ApiResult;
  9. import com.uas.eis.service.MESDataService;
  10. import com.uas.eis.service.MESHelperService;
  11. import com.uas.eis.utils.*;
  12. import net.sf.json.JSONArray;
  13. import net.sf.json.JSONObject;
  14. import net.sf.json.JsonConfig;
  15. import org.apache.commons.lang.StringUtils;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.beans.factory.annotation.Value;
  18. import org.springframework.stereotype.Service;
  19. import sun.awt.TimedWindowEvent;
  20. import java.sql.Timestamp;
  21. import java.util.ArrayList;
  22. import java.util.HashMap;
  23. import java.util.List;
  24. import java.util.Map;
  25. @Service
  26. public class MESHelperServiceImpl implements MESHelperService {
  27. @Autowired
  28. private BaseDao baseDao;
  29. @Value("${spring.datasource.username}")
  30. private String username;
  31. @Override
  32. public Map<Object,Object> DLLMain(String accessKey, String requestId, String data) {
  33. String AE_MASTER = checkAccessKey(accessKey, requestId);
  34. SpObserver.putSp(AE_MASTER);
  35. Map<Object, Object> map = BaseUtil.parseFormStoreToMap(data);
  36. //解析map
  37. if(!StringUtil.hasText(map.get("type"))){
  38. throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPENULL,requestId));
  39. }
  40. if(!StringUtil.hasText(map.get("detail"))){
  41. throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_DATAILLEGAL,requestId));
  42. }
  43. String type = map.get("type").toString();
  44. JSONObject json = JSONObject.fromObject(map.get("detail"));
  45. HelperType helperType = HelperType.getTypeByCode(type);
  46. if(null == helperType){
  47. throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPEILLEGAL,requestId));
  48. }
  49. int err = 0;
  50. //返回值
  51. Map<Object, Object> remap = new HashMap<Object, Object>();
  52. switch(helperType){
  53. case CheckRoutePassed:
  54. remap = CheckRoutePassed(json);
  55. break;
  56. case GetSnRelation:
  57. remap = GetSnRelation(json);
  58. break;
  59. case CheckUserAndResourcePassed:
  60. remap = CheckUserAndResourcePassed(json);
  61. break;
  62. case GetAddressRangeByMO:
  63. remap = GetAddressRangeByMO(json);
  64. break;
  65. case GetMEIOrNetCodeRange:
  66. remap = GetMEIOrNetCodeRange(json);
  67. break;
  68. case GetRcardMOInfo:
  69. remap = GetRcardMOInfo(json);
  70. break;
  71. case GetMobileAllInfo:
  72. remap = GetMobileAllInfo(json);
  73. break;
  74. case SetAddressInfo:
  75. remap = SetAddressInfo(json);
  76. break;
  77. case GetMaster:
  78. remap = GetMaster(json);
  79. break;
  80. case SetMobileData:
  81. remap = SetMobileData(json);
  82. break;
  83. case SetIMEIInfo:
  84. remap = SetIMEIInfo(json);
  85. break;
  86. case SetIMEIInfo_NEW:
  87. remap = SetIMEIInfo_NEW(json);
  88. break;
  89. case SetTestDetail:
  90. remap = SetTestDetail(json);
  91. break;
  92. case GetMaterialInfo:
  93. remap = GetMaterialInfo(json);
  94. break;
  95. case SetPcbaData:
  96. remap = SetPcbaData(json);
  97. break;
  98. case SetPcbaData_NG:
  99. remap = SetPcbaData_NG(json);
  100. break;
  101. case GetInfoByMaterial:
  102. remap = GetInfoByMaterial(json);
  103. break;
  104. case GoMo:
  105. remap = GoMo(json);
  106. break;
  107. case GetMakeInfoBySN:
  108. remap = GetMakeInfoBySN(json);
  109. break;
  110. case SnList:
  111. remap = SnList(json);
  112. break;
  113. case GetOutBoxCode:
  114. remap = GetOutBoxCode(json);
  115. break;
  116. case ReSetSN:
  117. remap = ReSetSN(json);
  118. break;
  119. case UpdateMakeStatus:
  120. remap = UpdateMakeStatus(json);
  121. break;
  122. default:
  123. err = -1;
  124. break;
  125. }
  126. if(err == -1){
  127. throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPEILLEGAL,requestId));
  128. }
  129. SpObserver.putSp(username);
  130. return remap;
  131. }
  132. private Map<Object, Object> UpdateMakeStatus(JSONObject map){
  133. String oErrMessage=null;
  134. Map<Object, Object> relist = new HashMap<Object, Object>();
  135. if(map.get("iMakeCode")==null){
  136. oErrMessage = "工单号不能为空";
  137. relist.put("oErrMessage",oErrMessage);
  138. return relist;
  139. }
  140. baseDao.execute("insert into messagelog(ML_ID, ML_DATE, ML_CONTENT, ML_RESULT, CODE)" +
  141. "values(messagelog_seq.nextval,sysdate,'工单结案','工单结案成功','"+map.get("iMakeCode")+"')");
  142. baseDao.execute("update make set ma_status='已结案',ma_statuscode='FINISH' where ma_code='"+map.get("iMakeCode")+"'");
  143. relist.put("oStatus","Success");
  144. return relist;
  145. }
  146. private Map<Object, Object> ReSetSN(JSONObject map){
  147. String oErrMessage=null;
  148. Map<Object, Object> relist = new HashMap<Object, Object>();
  149. if(map.get("iSN")==null){
  150. oErrMessage = "SN不能为空";
  151. relist.put("oErrMessage",oErrMessage);
  152. return relist;
  153. }
  154. String iSN=map.get("iSN").toString();
  155. Object obj=baseDao.getFieldDataByCondition("makeserial","ms_sncode","ms_sncode='"+iSN+"'");
  156. if(obj==null){
  157. relist.put("oStatus","Pass");
  158. return relist;
  159. }
  160. SqlRowList rs = baseDao.queryForRowSet("select ms_status,ms_stepcode,ms_outboxcode,ms_craftcode,nvl(ms_iostatus,0)ms_iostatus,ms_firstsn,ms_id,ms_makecode,ms_prodcode 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<>' '))");
  161. if(rs.next()){
  162. String ms_id=rs.getString("ms_id");
  163. String ms_outboxcode=rs.getString("ms_outboxcode");
  164. String ms_makecode=rs.getString("ms_makecode");
  165. String ms_firstsn=rs.getString("ms_firstsn");
  166. String ms_prodcode=rs.getString("ms_prodcode");
  167. String ms_craftcode=rs.getString("ms_craftcode");
  168. String ms_iostatus=rs.getString("ms_iostatus");
  169. if(ms_iostatus.equals("-1")){
  170. oErrMessage = "SN已经入库,不允许操作";
  171. relist.put("oErrMessage",oErrMessage);
  172. relist.put("oStatus","Fail");
  173. return relist;
  174. }
  175. Object stepcode=baseDao.getFieldDataByCondition("craftdetail left join craft on cr_id=cd_crid","cd_stepcode","CD_STEPNO=(select min (CD_STEPNO) from craft left join craftdetail on cr_id=cd_crid where cr_prodcode='"+ms_prodcode+"' and cr_code='"+ms_craftcode+"') and cr_code='"+ms_craftcode+"' and cr_prodcode='"+ms_prodcode+"'");
  176. baseDao.execute("update craftmaterial set cm_status=-1 where cm_sncode='"+ms_firstsn+"' and cm_makecode='"+ms_makecode+"'");
  177. baseDao.execute("update makeserial set ms_outboxcode='',ms_nextstepcode='"+stepcode+"',ms_status=1 where ms_id='"+ms_id+"'");
  178. baseDao.execute("delete from packagedetail where pd_makecode='"+ms_makecode+"' and pd_barcode='"+iSN+"'");
  179. baseDao.execute("update package set PA_PACKAGEQTY=PA_PACKAGEQTY-1, PA_TOTALQTY=PA_TOTALQTY-1, PA_CURRENTQTY=PA_CURRENTQTY-1 where pa_outboxcode='"+ms_outboxcode+"'");
  180. relist.put("oStatus","Pass");
  181. return relist;
  182. }
  183. return relist;
  184. }
  185. private Map<Object, Object> GetOutBoxCode(JSONObject map){
  186. Map<Object, Object> relist = new HashMap<Object, Object>();
  187. String Caller=null;
  188. String iMakeCode=null;
  189. String iProdCode=null;
  190. String iUserCode=null;
  191. String oErrMessage=null;
  192. String oBox=null;
  193. if(map.get("iCaller")==null){
  194. oErrMessage = "Caller不能为空";
  195. relist.put("oErrMessage",oErrMessage);
  196. return relist;
  197. }
  198. if(map.get("iMakeCode")==null){
  199. oErrMessage = "工单号不能为空";
  200. relist.put("oErrMessage",oErrMessage);
  201. return relist;
  202. }
  203. Caller=map.get("iCaller").toString();
  204. iMakeCode=map.get("iMakeCode").toString();
  205. List<String> list = new ArrayList<String>();
  206. list = baseDao.callProcedureWithOut("SP_GETPACKORPALLETCODE", new Object[]{
  207. String.valueOf(Caller),
  208. String.valueOf(iMakeCode),
  209. String.valueOf(iProdCode),
  210. String.valueOf(iUserCode)
  211. }, new Integer[]{1, 2, 3, 4}, new Integer[]{5});
  212. oBox=list.get(0);
  213. relist.put("oBoxCode",oBox);
  214. return relist;
  215. }
  216. private Map<Object, Object> SnList(JSONObject map){
  217. Map<Object, Object> relist = new HashMap<Object, Object>();
  218. List<Map<Object, Object>> Err = new ArrayList<>();
  219. JSONArray snlist= map.getJSONArray("SNLIST");
  220. for (int i=0;i<snlist.size();i++) {
  221. Map<Object, Object> DataErr = new HashMap<Object, Object>();
  222. JSONObject map1=snlist.getJSONObject(i);
  223. String sncode=map1.getString("SN");
  224. String macode=map1.getString("MACODE");
  225. String type=map1.getString("TYPE");
  226. if(!(type.equals("before")||type.equals("after"))){
  227. DataErr.put("TypeErr","类型必须是before或者after,SN["+sncode+"]");
  228. Err.add(DataErr);
  229. continue;
  230. }
  231. if(!baseDao.checkIf("make","ma_code='"+macode+"'")){
  232. DataErr.put("MakeErr","工单号"+macode+"不存在,SN["+sncode+"]");
  233. Err.add(DataErr);
  234. continue;
  235. }
  236. if(baseDao.checkIf("makesnlist","msl_makecode='"+macode+"' and msl_sncode='"+sncode+"'")){
  237. DataErr.put("SnErr","SN["+sncode+"]重复");
  238. Err.add(DataErr);
  239. continue;
  240. }
  241. baseDao.execute("insert into makesnlist (msl_id,msl_makecode,msl_indate,msl_sncode,msl_type)" +
  242. "values(makesnlist_seq.nextval,'"+macode+"',sysdate,'"+sncode+"','"+type+"')");
  243. }
  244. relist.put("oErrMessage",Err);
  245. return relist;
  246. }
  247. private Map<Object,Object> GoMo(JSONObject map){
  248. Map<Object, Object> rmap = new HashMap<Object, Object>();
  249. String iSN=null;
  250. String iResCode=null;
  251. String iMo=null;
  252. String oErrMessage=null;
  253. if(map.get("iMo")==null){
  254. oErrMessage = "工单号不能为空";
  255. rmap.put("oErrMessage",oErrMessage);
  256. return rmap;
  257. }
  258. if(map.get("iResCode")==null){
  259. oErrMessage = "岗位资源不能为空";
  260. rmap.put("oErrMessage",oErrMessage);
  261. return rmap;
  262. }
  263. if(map.get("iSN")==null){
  264. oErrMessage = "SN不能为空";
  265. rmap.put("oErrMessage",oErrMessage);
  266. return rmap;
  267. }
  268. iSN=map.get("iSN").toString();
  269. iResCode=map.get("iResCode").toString();
  270. iMo=map.get("iMo").toString();
  271. List<String> list = new ArrayList<String>();
  272. list = baseDao.callProcedureWithOut("CS_CHECKSTEPSNANDMACODE", new Object[]{
  273. String.valueOf(iMo),
  274. String.valueOf(iResCode),
  275. String.valueOf(iSN),
  276. String.valueOf("")
  277. }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
  278. oErrMessage=list.get(2);
  279. 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<>' '))");
  280. String ms_status = "";
  281. String ms_stepcode = "";
  282. String ms_nextstepcode = "";
  283. if(rs.next()){
  284. ms_status= rs.getString("ms_status");
  285. ms_stepcode=rs.getString("ms_stepcode");
  286. ms_nextstepcode=rs.getString("ms_nextstepcode");
  287. }
  288. String stepcode = GetStepCodeBySource(iResCode);
  289. if ( oErrMessage == null || (ms_status == "3" && ms_stepcode == stepcode))
  290. {
  291. if (ms_status == "3")
  292. {
  293. oErrMessage = null;
  294. }
  295. }
  296. rmap.put("oErrMessage",oErrMessage);
  297. return rmap;
  298. }
  299. private Map<Object,Object> GetInfoByMaterial(JSONObject map){
  300. Map<Object, Object> rmap = new HashMap<Object, Object>();
  301. String iPCBA=null;
  302. String oErrMessage=null;
  303. if(map.get("iPCBA")==null){
  304. oErrMessage = "主板SN不能为空";
  305. rmap.put("oErrMessage",oErrMessage);
  306. return rmap;
  307. }
  308. iPCBA=map.get("iPCBA").toString();
  309. 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 " +
  310. "left join makeserial on ms_firstsn=cm_firstsn and cm_makecode=ms_makecode where cm_barcode='"+iPCBA+"'");
  311. if(rs.next()){
  312. rmap.put("oSN",rs.getString("ms_sncode"));
  313. rmap.put("oBIOS",rs.getString("ma_bios"));
  314. rmap.put("oEC",rs.getString("ma_ec"));
  315. rmap.put("oHardWare",rs.getString("ma_hardware"));
  316. }else{
  317. oErrMessage = "主板SN未查询到关联信息";
  318. rmap.put("oErrMessage",oErrMessage);
  319. return rmap;
  320. }
  321. return rmap;
  322. }
  323. private Map<Object,Object> GetSnRelation(JSONObject map){
  324. Map<Object, Object> rmap = new HashMap<>();
  325. String iSN=map.get("iSN").toString();
  326. String oSN="";
  327. String oErrMessage="";
  328. if (iSN ==null)
  329. {
  330. oErrMessage = "SN不能为空";
  331. }
  332. List<String> list = new ArrayList<String>();
  333. list = baseDao.callProcedureWithOut("GetSnRelation", new Object[]{
  334. String.valueOf(iSN)
  335. }, new Integer[]{1}, new Integer[]{2,3});
  336. oSN = list.get(0);
  337. oErrMessage= list.get(1);
  338. if(oErrMessage!=null){
  339. rmap.put("oErrMessage",oErrMessage);
  340. return rmap;
  341. }
  342. rmap.put("oSN",oSN);
  343. rmap.put("oErrMessage",oErrMessage);
  344. return rmap;
  345. }
  346. private Map<Object,Object> CheckRoutePassed(JSONObject map){
  347. //实际业务数据
  348. Map<Object, Object> rmap = new HashMap<>();
  349. String iSN=map.get("iSN").toString();
  350. String iResCode=map.get("iResCode").toString();
  351. String oErrMessage="";
  352. if (iSN ==null)
  353. {
  354. oErrMessage = "SN不能为空";
  355. }
  356. List<String> list = new ArrayList<String>();
  357. list = baseDao.callProcedureWithOut("CS_CHECKSTEPSNANDMACODE", new Object[]{
  358. String.valueOf(""),
  359. String.valueOf(iResCode),
  360. String.valueOf(iSN),
  361. String.valueOf("")
  362. }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
  363. oErrMessage=list.get(2);
  364. if(oErrMessage!=null){
  365. rmap.put("oErrMessage",oErrMessage);
  366. return rmap;
  367. }
  368. 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<>' '))");
  369. String ms_status = "";
  370. String ms_stepcode = "";
  371. String ms_nextstepcode = "";
  372. if(rs.next()){
  373. ms_status= rs.getString("ms_status");
  374. ms_stepcode=rs.getString("ms_stepcode");
  375. ms_nextstepcode=rs.getString("ms_nextstepcode");
  376. }
  377. String stepcode = GetStepCodeBySource(iResCode);
  378. if (ms_nextstepcode != "" && !ms_nextstepcode.equals(stepcode))
  379. {
  380. oErrMessage = "当前序列号下一工序" + ms_nextstepcode;
  381. }
  382. rmap.put("oErrMessage",oErrMessage);
  383. return rmap;
  384. }
  385. private Map<Object,Object> CheckUserAndResourcePassed(JSONObject map){
  386. //实际业务数据
  387. Map<Object, Object> rmap = new HashMap<>();
  388. String oErrMessage = null;
  389. if (map.get("iUserCode") == null || map.get("iResCode") == null || map.get("iPassWord") == null)
  390. {
  391. oErrMessage = "用户名,密码,岗位资源必须填写";
  392. rmap.put("oErrMessage",oErrMessage);
  393. return rmap;
  394. }
  395. String iUserCode=map.get("iUserCode").toString();
  396. String iPassWord=map.get("iPassWord").toString();
  397. String iResCode=map.get("iResCode").toString();
  398. if (CheckUserLogin(iUserCode, iPassWord))
  399. {
  400. String SQL = "select em_code,em_type,em_name from employee where em_code=? ";
  401. SqlRowList rs = baseDao.queryForRowSet(SQL, iUserCode);
  402. if (rs.next())
  403. {
  404. String em_name = rs.getString("em_name");
  405. String em_type = rs.getString("em_type");
  406. if (iResCode ==null)
  407. {
  408. oErrMessage = "岗位资源不允许为空";
  409. rmap.put("oErrMessage",oErrMessage);
  410. return rmap;
  411. }
  412. if (em_type.equals("admin"))
  413. {
  414. if (!baseDao.checkIf("Source", "sc_code='" + iResCode + "' and sc_statuscode='AUDITED'"))
  415. {
  416. oErrMessage = "岗位资源编号错误或者未审核!";
  417. }
  418. }
  419. else
  420. {
  421. 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'");
  422. //如果存在该编号
  423. if (rs1.next())
  424. {
  425. //判断如果多个岗位资源存在,用户输入的只要在其中就行
  426. while (rs1.next())
  427. {
  428. if (rs1.getString("ur_resourcecode").equals(iResCode)){
  429. oErrMessage=null;
  430. rmap.put("oErrMessage",oErrMessage);
  431. return rmap;
  432. }else
  433. {
  434. oErrMessage = "用户不处于当前资源所属分组!";
  435. }
  436. }
  437. }
  438. else
  439. oErrMessage = "岗位资源编号错误或者未审核!";
  440. }
  441. }
  442. else
  443. oErrMessage = "用户不存在!";
  444. }else{
  445. oErrMessage = "用户名密码不正确!";
  446. }
  447. rmap.put("oErrMessage",oErrMessage);
  448. return rmap;
  449. }
  450. private Map<Object,Object> GetAddressRangeByMO(JSONObject map){
  451. //实际业务数据
  452. Map<Object, Object> rmap = new HashMap<>();
  453. String iSN="";
  454. String oErrMessage = null;
  455. String oWIFI = "";
  456. String oBT = "";
  457. String oCode1 = "";
  458. String oCode2 = "";
  459. String oCode3 = "";
  460. if(map.get("iSN")==null){
  461. oErrMessage = "SN不能为空";
  462. rmap.put("oErrMessage",oErrMessage);
  463. return rmap;
  464. }
  465. iSN=map.get("iSN").toString();
  466. //判断工单是否归属
  467. JSONObject map3=new JSONObject();
  468. map3.put("iSN",iSN);
  469. Map<Object, Object> map2=GetRcardMOInfo(map3);
  470. if(map2.get("oErrMessage")!=null){
  471. oErrMessage=map2.get("oErrMessage").toString();
  472. rmap.put("oErrMessage",oErrMessage);
  473. return rmap;
  474. }
  475. List<String> list = new ArrayList<String>();
  476. list = baseDao.callProcedureWithOut("CS_GETADDRESSBYMAKECODE", new Object[]{
  477. String.valueOf(iSN),
  478. String.valueOf(map2.get("oMoCode").toString()),
  479. }, new Integer[]{1,2}, new Integer[]{3,4,5,6,7,8});
  480. oWIFI = list.get(0);
  481. oBT = list.get(1);
  482. oCode1 = list.get(2);
  483. oCode2 = list.get(3);
  484. oCode3 = list.get(4);
  485. oErrMessage= list.get(5);
  486. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  487. rmap.put("oWIFI",oWIFI);
  488. rmap.put("oBT",oBT);
  489. rmap.put("oCode1",oCode1);
  490. rmap.put("oCode2",oCode2);
  491. rmap.put("oCode3",oCode3);
  492. }
  493. else
  494. rmap.put("oErrMessage",oErrMessage);
  495. return rmap;
  496. }
  497. private Map<Object,Object> GetMaterialInfo(JSONObject map){
  498. Map<Object, Object> rmap = new HashMap<>();
  499. String iSN="123";
  500. String oErrMessage = null;
  501. String Code1 = "";
  502. String Code2 = "";
  503. String Code3 = "";
  504. String Code4 = "";
  505. String Code5 = "";
  506. String Code6 = "";
  507. String Code7 = "";
  508. if(map.get("iSN")==null){
  509. oErrMessage = "SN不能为空";
  510. rmap.put("oErrMessage",oErrMessage);
  511. return rmap;
  512. }
  513. iSN=map.get("iSN").toString();
  514. String ms_id =baseDao.getFieldDataByCondition("makeserial", "max(ms_id)", "ms_sncode='" + iSN + "' or ms_firstsn='" + iSN + "'").toString();
  515. List<String> list = new ArrayList<String>();
  516. list = baseDao.callProcedureWithOut("GetMaterialInfo", new Object[]{
  517. String.valueOf(ms_id),
  518. }, new Integer[]{1}, new Integer[]{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16});
  519. Code1 = list.get(0);
  520. Code2 = list.get(1);
  521. Code3 = list.get(2);
  522. Code4 = list.get(3);
  523. Code5 = list.get(4);
  524. Code6 = list.get(5);
  525. Code7 = list.get(7);
  526. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  527. rmap.put("BT",Code1);
  528. rmap.put("MAC1",Code2);
  529. rmap.put("RFID",Code3);
  530. rmap.put("空白贴纸",Code4);
  531. rmap.put("NFC",Code5);
  532. rmap.put("主板",Code6);
  533. rmap.put("光机",Code7);
  534. }
  535. else
  536. rmap.put("oErrMessage",oErrMessage);
  537. return rmap;
  538. }
  539. private Map<Object,Object> GetMEIOrNetCodeRange(JSONObject map){
  540. //实际业务数据
  541. Map<Object, Object> rmap = new HashMap<>();
  542. String iSN="";
  543. String oErrMessage = null;
  544. String oIMEI1 = "";
  545. String oIMEI2 = "";
  546. String oIMEI3 = "";
  547. String oMEID = "";
  548. String oNetCode = "";
  549. String oPSN = "";
  550. String oID1 = "";
  551. String oID2 = "";
  552. String oID3 = "";
  553. String oID4 = "";
  554. String oID5 = "";
  555. if(map.get("iSN")==null){
  556. oErrMessage = "SN不能为空";
  557. rmap.put("oErrMessage",oErrMessage);
  558. return rmap;
  559. }
  560. if(map.get("iIMEI1")!=null){
  561. oIMEI1=map.get("iIMEI1").toString();
  562. }
  563. if(map.get("iNetCode")!=null){
  564. oNetCode=map.get("iNetCode").toString();
  565. }
  566. iSN=map.get("iSN").toString();
  567. List<String> list = new ArrayList<String>();
  568. list = baseDao.callProcedureWithOut("CS_GETIMEIORNETCODERANGE", new Object[]{
  569. String.valueOf(iSN),
  570. String.valueOf(""),
  571. String.valueOf(oIMEI1),
  572. String.valueOf(oNetCode),
  573. }, new Integer[]{1,2,3,4}, new Integer[]{5,6,7,8,9,10,11,12,13,14});
  574. oIMEI1 = list.get(0);
  575. oIMEI2 = list.get(1);
  576. oIMEI3 = list.get(2);
  577. oMEID = list.get(3);
  578. oNetCode = list.get(4);
  579. oPSN = list.get(5);
  580. oID1 = list.get(6);
  581. oID2 = list.get(7);
  582. oID3 = list.get(8);
  583. oErrMessage= list.get(9);
  584. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  585. rmap.put("oIMEI1",oIMEI1);
  586. rmap.put("oIMEI2",oIMEI2);
  587. rmap.put("oIMEI3",oIMEI3);
  588. rmap.put("oMEID",oMEID);
  589. rmap.put("oNetCode",oNetCode);
  590. rmap.put("oPSN",oPSN);
  591. rmap.put("oID1",oID1);
  592. rmap.put("oID2",oID2);
  593. rmap.put("oID3",oID3);
  594. }
  595. else
  596. rmap.put("oErrMessage",oErrMessage);
  597. return rmap;
  598. }
  599. private Map<Object,Object> GetRcardMOInfo(JSONObject map){
  600. //实际业务数据
  601. Map<Object, Object> rmap = new HashMap<>();
  602. //取MakeProcess表中的执行记录ID最大的一个工单的号码
  603. String oErrMessage = null;
  604. if(map.get("iSN")==null){
  605. oErrMessage = "SN不能为空";
  606. rmap.put("oErrMessage",oErrMessage);
  607. return rmap;
  608. }
  609. String iSN=map.get("iSN").toString();
  610. StringBuffer sql=new StringBuffer();
  611. sql.append("select max(ms_id)ms_id from makeserial where ms_sncode in (select '" + iSN + "' from dual union select sn from ");
  612. sql.append("makesnrelation where beforesn='" + iSN + "' and sn<>' ' union select beforesn from makesnrelation where sn='" + iSN + "' and beforesn<>' ')");
  613. SqlRowList rs = baseDao.queryForRowSet(sql.toString());
  614. String ms_id="";
  615. if(rs.next()){
  616. if(rs.getString("ms_id")==null){
  617. oErrMessage = "序列号:" + iSN + " 未归属工单";
  618. rmap.put("oErrMessage",oErrMessage);
  619. return rmap;
  620. }
  621. else{
  622. ms_id= rs.getString("ms_id");
  623. }
  624. }
  625. Object oMoCode = baseDao.getFieldDataByCondition("MakeSerial", "ms_makecode", "ms_id='" + ms_id + "'");
  626. if (oMoCode != null){
  627. rmap.put("oMoCode",oMoCode);
  628. oErrMessage= null;
  629. }
  630. else
  631. {
  632. oErrMessage = "序列号:" + iSN + " 未归属工单";
  633. }
  634. rmap.put("oErrMessage",oErrMessage);
  635. return rmap;
  636. }
  637. private Map<Object,Object> GetMobileAllInfo(JSONObject map){
  638. //实际业务数据
  639. Map<Object, Object> rmap = new HashMap<>();
  640. String iSN="";
  641. String oErrMessage = null;
  642. String oIMEI1 = "";
  643. String oIMEI2 = "";
  644. String oMEID = "";
  645. String oNetCode = "";
  646. String oPSN = "";
  647. String oID1 = "";
  648. String oID2 = "";
  649. String oID3 = "";
  650. String oID4 = "";
  651. String oID5 = "";
  652. String oWIFI = "";
  653. String oBT = "";
  654. String oCode1 = "";
  655. String oCode2 = "";
  656. String oCode3 = "";
  657. String UUID="";
  658. String KEYID="";
  659. String KEYPRODCODE="";
  660. String ICCID="";
  661. String IMSI="";
  662. String SIM="";
  663. String CARCODE="";
  664. String CORLID="";
  665. String CPU="";
  666. String PN="";
  667. String oWIDEVINE="";
  668. if(map.get("iSN")==null){
  669. oErrMessage = "SN不能为空";
  670. rmap.put("oErrMessage",oErrMessage);
  671. return rmap;
  672. }
  673. iSN=map.get("iSN").toString();
  674. Object ms_id =baseDao.getFieldDataByCondition("makeserial", "max(ms_id)", "ms_sncode='" + iSN + "'");
  675. if(ms_id!=null)
  676. {
  677. 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,MS_UUID, MS_KEYID, MS_KEYPRODCODE,ms_widevine_base64, MS_ICCID, MS_IMSI, MS_SIM, MS_CARCODE, MS_CORLID, MS_CPU, MS_PN from MakeSerial where ms_id="+ms_id.toString());
  678. if(rs.next()){
  679. oWIFI = rs.getString("ms_mac");
  680. oBT = rs.getString("ms_bt");
  681. oPSN = rs.getString("ms_psn");
  682. oNetCode = rs.getString("ms_netcode");
  683. oMEID = rs.getString("ms_meid");
  684. oIMEI1 = rs.getString("ms_imei1");
  685. oIMEI2 = rs.getString("ms_imei2");
  686. oCode1 = rs.getString("ms_othcode1");
  687. oCode2 = rs.getString("ms_othcode2");
  688. oCode3 = rs.getString("ms_othcode3");
  689. oID1 = rs.getString("ms_othid3");
  690. oID2 = rs.getString("ms_othid3");
  691. oID3 = rs.getString("ms_othid3");
  692. UUID=rs.getString("ms_uuid");
  693. KEYID=rs.getString("ms_keyid");
  694. KEYPRODCODE=rs.getString("ms_keyprodcode");
  695. ICCID=rs.getString("ms_iccid");
  696. IMSI=rs.getString("ms_imsi");
  697. SIM=rs.getString("ms_sim");
  698. CARCODE=rs.getString("ms_carcode");
  699. CORLID=rs.getString("ms_corlid");
  700. CPU=rs.getString("ms_cpu");
  701. PN=rs.getString("ms_pn");
  702. oWIDEVINE=rs.getString("ms_widevine_base64");
  703. }
  704. }else
  705. {
  706. oErrMessage = "序列号" + iSN + "不存在";
  707. rmap.put("oErrMessage",oErrMessage);
  708. return rmap;
  709. }
  710. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  711. rmap.put("oIMEI1",oIMEI1);
  712. rmap.put("oIMEI2",oIMEI2);
  713. rmap.put("oMEID",oMEID);
  714. rmap.put("oNetCode",oNetCode);
  715. rmap.put("oPSN",oPSN);
  716. rmap.put("oID1",oID1);
  717. rmap.put("oID2",oID2);
  718. rmap.put("oID3",oID3);
  719. rmap.put("oID4",oID4);
  720. rmap.put("oID5",oID5);
  721. rmap.put("oWIFI",oWIFI);
  722. rmap.put("oBT",oBT);
  723. rmap.put("oCode1",oCode1);
  724. rmap.put("oCode2",oCode2);
  725. rmap.put("oCode3",oCode3);
  726. rmap.put("oUUID",UUID);
  727. rmap.put("oKEYID",KEYID);
  728. rmap.put("oKEYPRODCODE",KEYPRODCODE);
  729. rmap.put("oICCID",ICCID);
  730. rmap.put("oIMSI",IMSI);
  731. rmap.put("oSIM",SIM);
  732. rmap.put("oCARCODE",CARCODE);
  733. rmap.put("oCORLID",CORLID);
  734. rmap.put("oCPU",CPU);
  735. rmap.put("oPN",PN);
  736. rmap.put("oWIDEVINE",oWIDEVINE);
  737. }
  738. else
  739. rmap.put("oErrMessage",oErrMessage);
  740. return rmap;
  741. }
  742. private Map<Object,Object> SetAddressInfo(JSONObject map){
  743. //实际业务数据
  744. Map<Object, Object> rmap = new HashMap<>();
  745. String oErrMessage = null;
  746. if(map.get("iSN")==null){
  747. oErrMessage = "SN不能为空";
  748. rmap.put("oErrMessage",oErrMessage);
  749. return rmap;
  750. }
  751. String iSN=map.get("iSN").toString();
  752. String iWIFI = null;
  753. String iBT = null;
  754. String iCode1 = null;
  755. String iCode2 = null;
  756. String iCode3 = null;
  757. String MAC5G=null;
  758. String ETHMAC=null;
  759. String WIDEVINE_BASE64=null;
  760. if(map.get("iWIFI")!=null){
  761. iWIFI=map.get("iWIFI").toString();
  762. }
  763. if(map.get("iBT")!=null){
  764. iBT=map.get("iBT").toString();
  765. }
  766. if(map.get("iCode1")!=null){
  767. iCode1=map.get("iCode1").toString();
  768. }
  769. if(map.get("iCode2")!=null){
  770. iCode2=map.get("iCode2").toString();
  771. }
  772. if(map.get("iCode3")!=null){
  773. iCode3=map.get("iCode3").toString();
  774. }
  775. if(map.get("iMac5G")!=null){
  776. MAC5G=map.get("iMac5G").toString();
  777. }
  778. if(map.get("iEthMac")!=null){
  779. ETHMAC=map.get("iEthMac").toString();
  780. }
  781. if(map.get("iWIDEVINE")!=null){
  782. WIDEVINE_BASE64=map.get("iWIDEVINE").toString();
  783. }
  784. List<String> list = new ArrayList<String>();
  785. list = baseDao.callProcedureWithOut("CS_SETADDRESSINFO_TOOL_NEW", new Object[]{
  786. String.valueOf(iSN),
  787. String.valueOf(iWIFI),
  788. String.valueOf(iBT),
  789. String.valueOf(iCode1),
  790. String.valueOf(iCode2),
  791. String.valueOf(iCode3),
  792. String.valueOf(MAC5G),
  793. String.valueOf(ETHMAC),
  794. String.valueOf(WIDEVINE_BASE64)
  795. }, new Integer[]{1, 2, 3, 4, 5, 6,7,8,9}, new Integer[]{10});
  796. oErrMessage = list.get(0);
  797. rmap.put("oErrMessage",oErrMessage);
  798. return rmap;
  799. }
  800. private Map<Object,Object> GetMaster(JSONObject map){
  801. //实际业务数据
  802. Map<Object, Object> rmap = new HashMap<>();
  803. SqlRowList rs=baseDao.queryForRowSet("select ma_user from mes.master");
  804. while(rs.next())
  805. {
  806. rmap.put(rs.getString("ma_user"),rs.getString("ma_user"));
  807. }
  808. return rmap;
  809. }
  810. private Map<Object,Object> SetMobileData(JSONObject map){
  811. //实际业务数据
  812. Map<Object, Object> rmap = new HashMap<>();
  813. String oErrMessage = null;
  814. if(map.get("iSN")==null||map.get("iTSN")==null){
  815. oErrMessage = "SN不能为空";
  816. rmap.put("oErrMessage",oErrMessage);
  817. return rmap;
  818. }
  819. String iSN=map.get("iSN").toString();
  820. String iTSN=map.get("iTSN").toString();
  821. String iResCode = null;
  822. String iOperator = null;
  823. String iResult = null;
  824. String flag = null;
  825. String iErrCode = null;
  826. if(map.get("iResCode")!=null){
  827. iResCode=map.get("iResCode").toString();
  828. }
  829. if(map.get("iOperator")!=null){
  830. iOperator=map.get("iOperator").toString();
  831. }
  832. if(map.get("iResult")!=null){
  833. iResult=map.get("iResult").toString();
  834. }
  835. if(map.get("flag")!=null){
  836. flag=map.get("flag").toString();
  837. }
  838. if(map.get("iErrCode")!=null){
  839. iErrCode=map.get("iErrCode").toString();
  840. }
  841. List<String> list = new ArrayList<String>();
  842. list = baseDao.callProcedureWithOut("CS_DLLSNCHANGE", new Object[]{
  843. String.valueOf(iTSN),
  844. String.valueOf(iSN),
  845. String.valueOf(iResCode),
  846. String.valueOf(iOperator),
  847. String.valueOf(iResult),
  848. String.valueOf(iErrCode),
  849. }, new Integer[]{1, 2, 3, 4, 5, 6}, new Integer[]{7});
  850. oErrMessage = list.get(0);
  851. rmap.put("oErrMessage",oErrMessage);
  852. return rmap;
  853. }
  854. private Map<Object,Object> SetIMEIInfo(JSONObject map){
  855. //实际业务数据
  856. Map<Object, Object> rmap = new HashMap<>();
  857. String oErrMessage = null;
  858. if(map.get("iSN")==null){
  859. oErrMessage = "SN不能为空";
  860. rmap.put("oErrMessage",oErrMessage);
  861. return rmap;
  862. }
  863. String iSN=map.get("iSN").toString();
  864. String iIMEI1=null;
  865. String iIMEI2 = null;
  866. String iIMEI3 = null;
  867. String iMEID = null;
  868. String iNET = null;
  869. String iID1 = null;
  870. String iID2 = null;
  871. String iID3 = null;
  872. if(map.get("iIMEI1")!=null){
  873. iIMEI1=map.get("iIMEI1").toString();
  874. }
  875. if(map.get("iIMEI2")!=null){
  876. iIMEI2=map.get("iIMEI2").toString();
  877. }
  878. if(map.get("iIMEI3")!=null){
  879. iIMEI3=map.get("iIMEI3").toString();
  880. }
  881. if(map.get("iMEID")!=null){
  882. iMEID=map.get("iMEID").toString();
  883. }
  884. if(map.get("iNET")!=null){
  885. iNET=map.get("iNET").toString();
  886. }
  887. if(map.get("iID1")!=null){
  888. iID1=map.get("iID1").toString();
  889. }
  890. if(map.get("iID2")!=null){
  891. iID2=map.get("iID2").toString();
  892. }
  893. if(map.get("iID3")!=null){
  894. iID3=map.get("iID3").toString();
  895. }
  896. List<String> list = new ArrayList<String>();
  897. list = baseDao.callProcedureWithOut("CS_SETIMEIINFO", new Object[]{
  898. String.valueOf(iSN),
  899. String.valueOf(iIMEI1),
  900. String.valueOf(iIMEI2),
  901. String.valueOf(iIMEI3),
  902. String.valueOf(iMEID),
  903. String.valueOf(iNET),
  904. String.valueOf(""),
  905. String.valueOf(iID1),
  906. String.valueOf(iID2),
  907. String.valueOf(iID3),
  908. }, new Integer[]{1, 2, 3, 4, 5, 6,7,8,9,10}, new Integer[]{11});
  909. oErrMessage = list.get(0);
  910. rmap.put("oErrMessage",oErrMessage);
  911. return rmap;
  912. }
  913. private Map<Object,Object> SetIMEIInfo_NEW(JSONObject map){
  914. //实际业务数据
  915. Map<Object, Object> rmap = new HashMap<>();
  916. String oErrMessage = null;
  917. if(map.get("iSN")==null){
  918. oErrMessage = "SN不能为空";
  919. rmap.put("oErrMessage",oErrMessage);
  920. return rmap;
  921. }
  922. String iSN=map.get("iSN").toString();
  923. String iIMEI1=null;
  924. String iIMEI2 = null;
  925. String iIMEI3 = null;
  926. String iMEID = null;
  927. String iNET = null;
  928. String iID1 = null;
  929. String iID2 = null;
  930. String iID3 = null;
  931. String iUUID = null;
  932. String iKEYID = null;
  933. String iKEYPRODCODE = null;
  934. String iCCID = null;
  935. String iMSI = null;
  936. String iSIM = null;
  937. String iCARDCODE = null;
  938. String iCORLID = null;
  939. String iCPU = null;
  940. String iFIELD = null;
  941. if(map.get("iIMEI1")!=null){
  942. iIMEI1=map.get("iIMEI1").toString();
  943. }
  944. if(map.get("iIMEI2")!=null){
  945. iIMEI2=map.get("iIMEI2").toString();
  946. }
  947. if(map.get("iIMEI3")!=null){
  948. iIMEI3=map.get("iIMEI3").toString();
  949. }
  950. if(map.get("iMEID")!=null){
  951. iMEID=map.get("iMEID").toString();
  952. }
  953. if(map.get("iNET")!=null){
  954. iNET=map.get("iNET").toString();
  955. }
  956. if(map.get("iID1")!=null){
  957. iID1=map.get("iID1").toString();
  958. }
  959. if(map.get("iID2")!=null){
  960. iID2=map.get("iID2").toString();
  961. }
  962. if(map.get("iID3")!=null){
  963. iID3=map.get("iID3").toString();
  964. }
  965. if(map.get("iUUID")!=null){
  966. iUUID=map.get("iUUID").toString();
  967. }
  968. if(map.get("iKEYID")!=null){
  969. iKEYID=map.get("iKEYID").toString();
  970. }
  971. if(map.get("iKEYPRODCODE")!=null){
  972. iKEYPRODCODE=map.get("iKEYPRODCODE").toString();
  973. }
  974. if(map.get("iCCID")!=null){
  975. iCCID=map.get("iCCID").toString();
  976. }
  977. if(map.get("iMSI")!=null){
  978. iMSI=map.get("iMSI").toString();
  979. }
  980. if(map.get("iSIM")!=null){
  981. iSIM=map.get("iSIM").toString();
  982. }
  983. if(map.get("iCARDCODE")!=null){
  984. iCARDCODE=map.get("iCARDCODE").toString();
  985. }
  986. if(map.get("iCORLID")!=null){
  987. iCORLID=map.get("iCORLID").toString();
  988. }
  989. if(map.get("iCPU")!=null){
  990. iCPU=map.get("iCPU").toString();
  991. }
  992. if(map.get("iFIELD")!=null){
  993. iFIELD=map.get("iFIELD").toString();
  994. }
  995. List<String> list = new ArrayList<String>();
  996. list = baseDao.callProcedureWithOut("CS_SETIMEIINFO_NEW", new Object[]{
  997. String.valueOf(iSN),
  998. String.valueOf(iIMEI1),
  999. String.valueOf(iIMEI2),
  1000. String.valueOf(iIMEI3),
  1001. String.valueOf(iMEID),
  1002. String.valueOf(iNET),
  1003. String.valueOf(""),
  1004. String.valueOf(iID1),
  1005. String.valueOf(iID2),
  1006. String.valueOf(iID3),
  1007. String.valueOf(iUUID),
  1008. String.valueOf(iKEYID),
  1009. String.valueOf(iKEYPRODCODE),
  1010. String.valueOf(iCCID),
  1011. String.valueOf(iMSI),
  1012. String.valueOf(iSIM),
  1013. String.valueOf(iCARDCODE),
  1014. String.valueOf(iCORLID),
  1015. String.valueOf(iCPU),
  1016. String.valueOf(iFIELD),
  1017. }, new Integer[]{1, 2, 3, 4, 5, 6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}, new Integer[]{21});
  1018. oErrMessage = list.get(0);
  1019. rmap.put("oErrMessage",oErrMessage);
  1020. return rmap;
  1021. }
  1022. private Map<Object,Object> SetTestDetail(JSONObject map){
  1023. //实际业务数据
  1024. Map<Object, Object> rmap = new HashMap<>();
  1025. String oErrMessage=null;
  1026. if(map.get("iSN")==null){
  1027. oErrMessage = "SN不能为空";
  1028. rmap.put("oErrMessage",oErrMessage);
  1029. return rmap;
  1030. }
  1031. String iSN=map.get("iSN").toString();
  1032. String iTestResult= "";
  1033. String iResCode= "";
  1034. String iClassName="";
  1035. String iTestDetail= "";
  1036. if(map.get("iTestResult")!=null){
  1037. iTestResult=map.get("iTestResult").toString();
  1038. }
  1039. if(map.get("iClassName")!=null){
  1040. iClassName=map.get("iClassName").toString();
  1041. }
  1042. if(map.get("iResCode")!=null){
  1043. iResCode=map.get("iResCode").toString();
  1044. }
  1045. if(map.get("iTestDetail")!=null){
  1046. iTestDetail=map.get("iTestDetail").toString();
  1047. }
  1048. JSONObject map3=new JSONObject();
  1049. map3.put("iSN",iSN);
  1050. Map<Object, Object> map2=GetRcardMOInfo(map3);
  1051. String omakeCode = "";
  1052. StringBuffer sql=new StringBuffer();
  1053. String[] name=iClassName.split("\\|");
  1054. String[] result=iTestResult.split("\\|");
  1055. String[] value=iTestDetail.split("\\|");
  1056. if(name.length!=value.length||name.length!=result.length){
  1057. rmap.put("oErrMessage","测试项目名称和值的项次不一致");
  1058. return rmap;
  1059. }
  1060. for (int i=0;i<name.length;i++){
  1061. sql.setLength(0);
  1062. sql.append("Insert into STEPTESTDETAIL (STD_ID,STD_CLASS,STD_SN,STD_MAKECODE,STD_ACTUALVALUE,STD_TESTRESULT,STD_INDATE,STD_RESCODE)");
  1063. sql.append("values(STEPTESTDETAIL_SEQ.nextval,'"+name[i]+"','" + iSN + "','" + map2.get("oMoCode") + "','" + value[i] + "','" + result[i] + "',sysdate,'" + iResCode + "')");
  1064. baseDao.execute(sql.toString());
  1065. }
  1066. rmap.put("oErrMessage",oErrMessage);
  1067. return rmap;
  1068. }
  1069. private Map<Object,Object> SetPcbaData(JSONObject map){
  1070. //实际业务数据
  1071. Map<Object, Object> rmap = new HashMap<>();
  1072. String oErrMessage = null;
  1073. if(map.get("iSN")==null){
  1074. oErrMessage = "SN不能为空";
  1075. rmap.put("oErrMessage",oErrMessage);
  1076. return rmap;
  1077. }
  1078. String iSN=map.get("iSN").toString();
  1079. String iResCode = null;
  1080. String iOperator = null;
  1081. String iResult = null;
  1082. String iErrCode = null;
  1083. if(map.get("iResCode")!=null){
  1084. iResCode=map.get("iResCode").toString();
  1085. }
  1086. if(map.get("iOperator")!=null){
  1087. iOperator=map.get("iOperator").toString();
  1088. }
  1089. if(map.get("iResult")!=null){
  1090. iResult=map.get("iResult").toString();
  1091. }
  1092. if(map.get("iErrCode")!=null){
  1093. iErrCode=map.get("iErrCode").toString();
  1094. }
  1095. JSONObject map3=new JSONObject();
  1096. map3.put("iSN",iSN);
  1097. Map<Object, Object> map2=GetRcardMOInfo(map3);
  1098. String oMoCode=null;
  1099. if(map2.get("oMoCode")!=null){
  1100. oMoCode=map2.get("oMoCode").toString();
  1101. }
  1102. if (map2.get("oErrMessage")==null)
  1103. return SetStepFinish(oMoCode, iResCode, iSN, "", iResult, iOperator, iErrCode);
  1104. return rmap;
  1105. }
  1106. private Map<Object,Object> SetPcbaData_NG(JSONObject map){
  1107. String iErrCode="";
  1108. String iSN="";
  1109. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1110. String oErrMessage;
  1111. if(map.get("iErrCode")!=null){
  1112. iErrCode=map.get("iErrCode").toString();
  1113. }
  1114. if(map.get("iSN")!=null){
  1115. iSN=map.get("iSN").toString();
  1116. }
  1117. SqlRowList rs=baseDao.queryForRowSet("select ms_sncode,ms_makecode,ms_status,ms_outboxcode from makeserial where ms_sncode='"+iSN+"' order by ms_id desc");
  1118. if(rs.next()){
  1119. String ms_status=rs.getString("ms_status");
  1120. String iMakeCode=rs.getString("ms_makecode");
  1121. String ms_outboxcode=rs.getString("ms_outboxcode");
  1122. if(!ms_status.equals("2")){
  1123. oErrMessage = "SN未完工,不允许采集";
  1124. rmap.put("oErrMessage",oErrMessage);
  1125. return rmap;
  1126. }
  1127. //实际业务数据
  1128. String[] BadCode = iErrCode.split(",");
  1129. StringBuffer sql=new StringBuffer();
  1130. for (int i = 0; i < BadCode.length; i++)
  1131. {
  1132. int mb_id = baseDao.getSeqId("makebad_seq");
  1133. sql.setLength(0);
  1134. sql.append("insert into makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,mb_indate,mb_stepcode");
  1135. sql.append(",mb_sourcecode,mb_badcode,mb_badtable,mb_bgcode,mb_soncode,mb_status) select '" + mb_id + "'");
  1136. sql.append(",ma_code,ms_code,ms_sncode,'',sysdate,'','','" + BadCode[i] + "','',");
  1137. sql.append("'',sp_soncode,'0' from make left join makeSerial on ms_makecode=ma_code left join stepProduct on ");
  1138. sql.append("sp_mothercode=ma_prodcode and sp_stepcode=ms_nextstepcode where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1139. baseDao.execute(sql.toString());
  1140. }
  1141. //将不良的序列号的状态码设为3
  1142. baseDao.execute("update makeserial set ms_status='3',ms_outboxcode='' where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1143. baseDao.execute("delete from packagedetail where pd_barcode='"+iSN+"' and pd_makecode='"+iMakeCode+"'");
  1144. baseDao.execute("update package set pa_status=0,PA_PACKAGEQTY=PA_PACKAGEQTY-1, PA_TOTALQTY=PA_TOTALQTY-1, PA_CURRENTQTY=PA_CURRENTQTY-1 where pa_outboxcode='"+ms_outboxcode+"'");
  1145. }else {
  1146. oErrMessage = "SN不存在";
  1147. rmap.put("oErrMessage",oErrMessage);
  1148. return rmap;
  1149. }
  1150. return rmap;
  1151. }
  1152. /// <summary>
  1153. /// 获取步骤代码
  1154. /// </summary>
  1155. /// <param name="Source"></param>
  1156. /// <returns></returns>
  1157. private String GetStepCodeBySource(String Source)
  1158. {
  1159. Object o=baseDao.getFieldDataByCondition("source", "sc_stepcode", "sc_code='" + Source + "'");
  1160. if(o!=null)
  1161. return o.toString();
  1162. else
  1163. return "";
  1164. }
  1165. private Boolean CheckUserLogin(String iUserCode, String iPassWord)
  1166. {
  1167. SqlRowList rs =baseDao.queryForRowSet("select em_code from employee where em_code='"+iUserCode+"' and em_password =?",iPassWord);
  1168. if (rs.next())
  1169. return true;
  1170. else
  1171. {
  1172. return false;
  1173. }
  1174. }
  1175. private Map<Object,Object> GetMakeInfoBySN(JSONObject map)
  1176. {
  1177. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1178. String iSN=null;
  1179. String oErrMessage=null;
  1180. if(map.get("iSN")==null){
  1181. oErrMessage = "SN不能为空";
  1182. rmap.put("oErrMessage",oErrMessage);
  1183. return rmap;
  1184. }
  1185. iSN=map.get("iSN").toString();
  1186. SqlRowList rs=baseDao.queryForRowSet("select ma_softversion from make " +
  1187. "left join makeserial on ms_makecode=ma_code where ms_sncode='"+iSN+"' order by ms_id desc");
  1188. if(rs.next()){
  1189. rmap.put("oSoftVersion",rs.getString("ma_softversion"));
  1190. return rmap;
  1191. }else{
  1192. oErrMessage = "SN未查询到关联信息";
  1193. rmap.put("oErrMessage",oErrMessage);
  1194. return rmap;
  1195. }
  1196. }
  1197. public Map<Object,Object> SetStepFinish(String iMakeCode, String iSourceCode, String iSN, String iMPKind, String iResult, String iUserCode, String iErrCode)
  1198. {
  1199. String oErrMessage = null;
  1200. Object StepCode = baseDao.getFieldDataByCondition("Makeserial", "ms_stepcode", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1201. String CurrentStep = GetStepCodeBySource(iSourceCode);
  1202. Object BgCode = baseDao.getFieldDataByCondition("step", "nvl(st_badgroupcode,' ')", "st_code='" + CurrentStep + "'");
  1203. Map<Object, Object> rmap = new HashMap<>();
  1204. switch (iResult)
  1205. {
  1206. case "OK":
  1207. break;
  1208. case "NG":
  1209. if (iErrCode == "")
  1210. {
  1211. oErrMessage = "测试结果为NG时必须传递不良代码";
  1212. rmap.put("oErrMessage",oErrMessage);
  1213. return rmap;
  1214. }
  1215. else
  1216. {
  1217. baseDao.updateByCondition("makebad", "mb_status=-1", "mb_sncode='" + iSN + "' and mb_makecode='" + iMakeCode + "' and mb_stepcode='" + CurrentStep + "' and mb_status=0");
  1218. String[] BadCode = iErrCode.split(",");
  1219. StringBuffer sql=new StringBuffer();
  1220. for (int i = 0; i < BadCode.length; i++)
  1221. {
  1222. int mb_id = baseDao.getSeqId("makebad_seq");
  1223. sql.setLength(0);
  1224. sql.append("insert into makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,mb_indate,mb_stepcode");
  1225. sql.append(",mb_sourcecode,mb_badcode,mb_badtable,mb_bgcode,mb_soncode,mb_status) select '" + mb_id + "'");
  1226. sql.append(",ma_code,ms_code,ms_sncode,'" + iUserCode + "',sysdate,'" + CurrentStep + "','" + iSourceCode + "','" + BadCode[i] + "','',");
  1227. sql.append("'" + BgCode + "',sp_soncode,'0' from make left join makeSerial on ms_makecode=ma_code left join stepProduct on ");
  1228. sql.append("sp_mothercode=ma_prodcode and sp_stepcode=ms_nextstepcode where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1229. baseDao.execute(sql.toString());
  1230. }
  1231. //将不良的序列号的状态码设为3
  1232. baseDao.execute("update makeserial set ms_status='3' where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1233. }
  1234. break;
  1235. default:
  1236. oErrMessage = "测试结果必须为NG或者OK";
  1237. rmap.put("oErrMessage",oErrMessage);
  1238. return rmap;
  1239. }
  1240. //不良采集为良品是更新
  1241. if (StepCode!=null &&StepCode.toString().equals(CurrentStep) && iResult == "OK")
  1242. {
  1243. Object[] ob = baseDao.getFieldsDataByCondition("makeserial", "ms_status,ms_craftcode,ms_prodcode", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1244. if (ob!=null)
  1245. {
  1246. String ms_status =ob[0].toString();
  1247. String ms_craftcode= ob[1].toString();
  1248. String ms_prodcode = ob[2].toString();
  1249. if (ms_status == "3")
  1250. {
  1251. 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();
  1252. baseDao.updateByCondition("makeserial", "ms_status=1,ms_nextstepcode='" + nextstepcode + "'", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1253. baseDao.updateByCondition("makebad", "mb_status=-1", "mb_sncode='" + iSN + "' and mb_makecode='" + iMakeCode + "'");
  1254. }
  1255. }
  1256. }
  1257. return CS_SetFinish(iMakeCode, iSourceCode, iSN, iUserCode, iResult);
  1258. }
  1259. private Map<Object,Object> CS_SetFinish(String iMakeCode, String iSourceCode, String iSN, String iUserCode, String iResult)
  1260. {
  1261. Map<Object, Object> rmap = new HashMap<>();
  1262. String oErrMessage=null;
  1263. List<String> list = new ArrayList<String>();
  1264. list = baseDao.callProcedureWithOut("CS_SETSTEPRESULT", new Object[]{
  1265. String.valueOf(iMakeCode),
  1266. String.valueOf(iSourceCode),
  1267. String.valueOf(iSN),
  1268. String.valueOf(iUserCode),
  1269. String.valueOf(iResult),
  1270. }, new Integer[]{1, 2, 3, 4, 5}, new Integer[]{6});
  1271. oErrMessage = list.get(0);
  1272. rmap.put("oErrMessage",oErrMessage);
  1273. return rmap;
  1274. }
  1275. private String checkAccessKey(String accessKey,String requestId){
  1276. Object accessSecret_O = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_SECRET", "AE_KEY='" + accessKey + "'");
  1277. Object AE_MASTER = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_MASTER", "AE_KEY='" + accessKey + "'");
  1278. String accessSecret = accessSecret_O == null ? "" : accessSecret_O.toString();
  1279. // 检查KEY是否合理
  1280. if (StringUtils.isEmpty(accessKey) || StringUtils.isEmpty(accessSecret) || AE_MASTER== null || "".equals(AE_MASTER.toString())) {
  1281. ApiResult apiResult = new ApiResult(ErrorMessage.ACCESSKEY_ILLEGAL.getCode(),ErrorMessage.ACCESSKEY_ILLEGAL.getMessage(),requestId);
  1282. throw new ApiSystemException(apiResult);
  1283. }
  1284. return AE_MASTER.toString();
  1285. }
  1286. }