MESHelperServiceImpl.java 54 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461
  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. String accessKey1="";
  32. @Override
  33. public Map<Object,Object> DLLMain(String accessKey, String requestId, String data) {
  34. String AE_MASTER = checkAccessKey(accessKey, requestId);
  35. accessKey1=accessKey;
  36. SpObserver.putSp(AE_MASTER);
  37. String Master=AE_MASTER;
  38. Map<Object, Object> map = BaseUtil.parseFormStoreToMap(data);
  39. //解析map
  40. if(!StringUtil.hasText(map.get("type"))){
  41. throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPENULL,requestId));
  42. }
  43. if(!StringUtil.hasText(map.get("detail"))){
  44. throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_DATAILLEGAL,requestId));
  45. }
  46. String type = map.get("type").toString();
  47. JSONObject json = JSONObject.fromObject(map.get("detail"));
  48. HelperType helperType = HelperType.getTypeByCode(type);
  49. if(null == helperType){
  50. throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPEILLEGAL,requestId));
  51. }
  52. baseDao.execute("insert into "+Master+".EISDATA(ed_id,ed_data,ed_indate)values("+Master+".EISDATA_seq.nextval,?,sysdate)",data);
  53. int err = 0;
  54. //返回值
  55. Map<Object, Object> remap = new HashMap<Object, Object>();
  56. switch(helperType){
  57. case CheckRoutePassed:
  58. remap = CheckRoutePassed(json,AE_MASTER);
  59. break;
  60. case CheckUserAndResourcePassed:
  61. remap = CheckUserAndResourcePassed(json,AE_MASTER);
  62. break;
  63. case GetAddressRangeByMO:
  64. remap = GetAddressRangeByMO(json,AE_MASTER);
  65. break;
  66. case GetMEIOrNetCodeRange:
  67. remap = GetMEIOrNetCodeRange(json,AE_MASTER);
  68. break;
  69. case GetRcardMOInfo:
  70. remap = GetRcardMOInfo(json,AE_MASTER);
  71. break;
  72. case GetMobileAllInfo:
  73. remap = GetMobileAllInfo(json,AE_MASTER);
  74. break;
  75. case SetAddressInfo:
  76. remap = SetAddressInfo(json,AE_MASTER);
  77. break;
  78. case GetMaster:
  79. remap = GetMaster(json,AE_MASTER);
  80. break;
  81. case SetMobileData:
  82. remap = SetMobileData(json,AE_MASTER);
  83. break;
  84. case SetIMEIInfo:
  85. remap = SetIMEIInfo(json,AE_MASTER);
  86. break;
  87. case SetTestDetail:
  88. remap = SetTestDetail(json,AE_MASTER);
  89. break;
  90. case SetPcbaData:
  91. remap = SetPcbaData(json,AE_MASTER);
  92. break;
  93. case GetInfoByMaterial:
  94. remap = GetInfoByMaterial(json,AE_MASTER);
  95. break;
  96. case GetPCBABySN:
  97. remap = GetPCBABySN(json,AE_MASTER);
  98. break;
  99. case GetLCDBySN:
  100. remap = GetLCDBySN(json,AE_MASTER);
  101. break;
  102. case GoMo:
  103. remap = GoMo(json,AE_MASTER);
  104. break;
  105. case GetMakeInfoBySN:
  106. remap = GetMakeInfoBySN(json,AE_MASTER);
  107. break;
  108. case GetMakeInfoByProd:
  109. remap = GetMakeInfoByProd(json,AE_MASTER);
  110. break;
  111. case GetProdInfo:
  112. remap = GetProdInfo(json,AE_MASTER);
  113. break;
  114. case GetPSN:
  115. remap = GetPSN(json,AE_MASTER);
  116. break;
  117. case GetMakeRelation:
  118. remap = GetMakeRelation(json,AE_MASTER);
  119. break;
  120. case GetFeeReason:
  121. remap = GetFeeReason(json,AE_MASTER);
  122. break;
  123. case GetMakeSN:
  124. remap = GetMakeSN(json,AE_MASTER);
  125. break;
  126. case SetFeeReason:
  127. remap = SetFeeReason(json,AE_MASTER);
  128. break;
  129. case WriteMakeInfo:
  130. remap = WriteMakeInfo(json,AE_MASTER);
  131. break;
  132. case GetMakeInfo:
  133. remap = GetMakeInfo(json,AE_MASTER);
  134. break;
  135. default:
  136. err = -1;
  137. break;
  138. }
  139. if(err == -1){
  140. throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPEILLEGAL,requestId));
  141. }
  142. SpObserver.putSp(username);
  143. return remap;
  144. }
  145. @Override
  146. public JSONArray getFiles(String accessKey, String requestId, String id) {
  147. String AE_MASTER = checkAccessKey(accessKey, requestId);
  148. accessKey1=accessKey;
  149. SpObserver.putSp(AE_MASTER);
  150. String Master=AE_MASTER;
  151. JSONArray arr = new JSONArray();
  152. JSONObject obj = null;
  153. for (String i : id.split(";")) {
  154. if (i != null && !i.trim().equals("")) {
  155. SqlRowList rs = baseDao.queryForRowSet("SELECT * FROM "+Master+".FilePath WHERE fp_id=" + i);
  156. if(rs.next()){
  157. JSONObject o = new JSONObject();
  158. o.put("fp_id", i);
  159. o.put("fp_path", rs.getString("fp_path"));
  160. o.put("fp_size", rs.getInt("fp_size"));
  161. o.put("fp_name", rs.getString("fp_name"));
  162. o.put("fp_date", rs.getGeneralTimestamp("fp_date"));
  163. o.put("fp_man", rs.getString("fp_man"));
  164. arr.add(o);
  165. }
  166. }
  167. }
  168. return arr;
  169. }
  170. private Map<Object,Object> GetMakeInfo(JSONObject map,String Master){
  171. Map<Object, Object> rmap = new HashMap<Object, Object>();
  172. String iSN=null;
  173. String oErrMessage=null;
  174. if(map.get("iSN")==null){
  175. oErrMessage = "SN不能为空";
  176. rmap.put("oErrMessage",oErrMessage);
  177. return rmap;
  178. }
  179. iSN=map.get("iSN").toString();
  180. Object makecode=baseDao.getFieldDataByCondition(Master+".makeserial","ms_makecode","ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  181. if(makecode==null){
  182. oErrMessage = "SN不存在";
  183. rmap.put("oErrMessage",oErrMessage);
  184. return rmap;
  185. }
  186. SqlRowList rs=baseDao.queryForRowSet("select mid_item,mid_value from "+Master+".makeitem left join "+Master+".makeitemdetail on mi_id=mid_miid " +
  187. "where mi_makecode='"+makecode+"' and mid_item is not null");
  188. while(rs.next()){
  189. rmap.put(rs.getString("mid_item"),rs.getString("mid_value"));
  190. }
  191. return rmap;
  192. /*if(rs.next()){
  193. }else{
  194. oErrMessage = "SN未查询到关联信息";
  195. rmap.put("oErrMessage",oErrMessage);
  196. return rmap;
  197. }*/
  198. }
  199. private Map<Object,Object> WriteMakeInfo(JSONObject map,String Master){
  200. Map<Object, Object> rmap = new HashMap<Object, Object>();
  201. String oErrMessage=null;
  202. if(map.get("iMakeCode")==null){
  203. oErrMessage = "工单号不能为空";
  204. rmap.put("oErrMessage",oErrMessage);
  205. return rmap;
  206. }
  207. String MO=map.get("iMakeCode").toString();
  208. String Item=map.get("Item").toString();
  209. SqlRowList rs=baseDao.queryForRowSet("select * from "+Master+".makeitem where mi_makecode='"+MO+"'");
  210. //如果已经存在工单了
  211. if(rs.next()){
  212. String[] str=Item.split("\\|");
  213. String mi_id=rs.getString("mi_id");
  214. baseDao.execute("delete from "+Master+".makeitemdetail where mid_miid='"+mi_id+"'");
  215. for (int i=0;i<str.length;i++) {
  216. Object key = str[i].split("#")[0];
  217. Object value = str[i].split("#")[1];
  218. baseDao.execute("insert into "+Master+".makeitemdetail(mid_id,mid_miid,mid_item,mid_value)" +
  219. "values("+Master+".makeitemdetail_seq.nextval,'"+mi_id+"','"+key.toString()+"','"+value.toString()+"')");
  220. }
  221. }else {
  222. int mi_id = baseDao.getSeqId(Master+".makeitem_seq");
  223. String[] str=Item.split("\\|");
  224. baseDao.execute("insert into "+Master+".makeitem(mi_id,mi_makecode,mi_indate)values("+mi_id+",'"+MO+"',sysdate)");
  225. for (int i=0;i<str.length;i++) {
  226. Object key = str[i].split("#")[0];
  227. Object value = str[i].split("#")[1];
  228. baseDao.execute("insert into "+Master+".makeitemdetail(mid_id,mid_miid,mid_item,mid_value)" +
  229. "values("+Master+".makeitemdetail_seq.nextval,'"+mi_id+"','"+key.toString()+"','"+value.toString()+"')");
  230. }
  231. }
  232. return rmap;
  233. }
  234. private Map<Object,Object> GetMakeSN(JSONObject map,String Master){
  235. Map<Object, Object> rmap = new HashMap<Object, Object>();
  236. List<Map<String, Object>> maps = new ArrayList<>();
  237. String ma_custname="";
  238. String TIME_BEGIN="";
  239. String TIME_END="";
  240. String oErrMessage="";
  241. // if(map.get("MA_CUSTNAME")==null){
  242. // oErrMessage = "客户名称不能为空";
  243. // rmap.put("oErrMessage",oErrMessage);
  244. // return rmap;
  245. // }
  246. if(map.get("TIME_BEGIN")==null){
  247. oErrMessage = "开始时间不能为空";
  248. rmap.put("oErrMessage",oErrMessage);
  249. return rmap;
  250. }
  251. if(map.get("TIME_END")==null){
  252. oErrMessage = "结束时间不能为空";
  253. rmap.put("oErrMessage",oErrMessage);
  254. return rmap;
  255. }
  256. ma_custname=map.get("MA_CUSTNAME").toString();
  257. TIME_BEGIN=map.get("TIME_BEGIN").toString();
  258. TIME_END=map.get("TIME_END").toString();
  259. SqlRowList rs=baseDao.queryForRowSet("select sn from DeliveryIn " +
  260. " where DELIVERY between to_date('"+TIME_BEGIN+"','yyyy-mm-dd') " +
  261. "and to_date('"+TIME_END+"','yyyy-mm-dd') union select sn from Deliveryout " +
  262. "where DELIVERY between to_date('"+TIME_BEGIN+"','yyyy-mm-dd') " +
  263. "and to_date('"+TIME_END+"','yyyy-mm-dd') union select asd_sn from aftersaledet " +
  264. "where ASD_FINISHTIME between to_date('"+TIME_BEGIN+"','yyyy-mm-dd') " +
  265. "and to_date('"+TIME_END+"','yyyy-mm-dd') ");
  266. rmap.put("data",rs.getResultList());
  267. return rmap;
  268. }
  269. private Map<Object,Object> GetFeeReason(JSONObject map,String Master){
  270. Map<Object, Object> rmap = new HashMap<Object, Object>();
  271. String oErrMessage="";
  272. if(map.get("CT_ID")==null){
  273. oErrMessage = "单据ID不能为空";
  274. rmap.put("oErrMessage",oErrMessage);
  275. return rmap;
  276. }
  277. SqlRowList rs=baseDao.queryForRowSet("select ct_code,ct_number_3,ct_varchar50_18,ct_varchar500_1,ct_varchar500_2,ct_varchar500_3,ct_varchar500_4,ct_varchar500_5,ct_number_2,ct_varchar50_27,ct_number_19,ct_varchar50_30,ct_varchar50_25,ct_number_12,ct_number_23,ct_varchar50_34,ct_varchar50_39,ct_varchar50_22,ct_statuscode,ct_date_1,ct_status,ct_recorder,ct_varchar50_10,ct_date_2,ct_id,ct_varchar50_1,ct_varchar50_2,ct_varchar50_3,ct_varchar50_4,ct_varchar50_5,ct_varchar50_6,ct_varchar50_7,ct_varchar50_8,ct_varchar50_11,ct_number_1,ct_varchar50_9,ct_varchar50_12,ct_varchar50_13,ct_varchar50_14,ct_varchar50_15,ct_varchar50_16,ct_caller,ct_date_3,ct_varchar50_17,ct_varchar2000_2" +
  278. " from "+Master+".CUSTOMTABLE where ct_id="+map.get("CT_ID") +" and ct_caller='MakeFee'");
  279. if(rs.next()){
  280. for(String key:rs.getCurrentMap().keySet()){
  281. rmap.put(key,rs.getCurrentMap().get(key));
  282. }
  283. return rmap;
  284. }else {
  285. oErrMessage = "单据ID不存在";
  286. rmap.put("oErrMessage",oErrMessage);
  287. return rmap;
  288. }
  289. }
  290. private Map<Object,Object> SetFeeReason(JSONObject map,String Master){
  291. Map<Object, Object> rmap = new HashMap<Object, Object>();
  292. String formstore=map.get("data").toString();
  293. Map<Object, Object> gstore = BaseUtil.parseFormStoreToMap(formstore);
  294. String gridSql = SqlUtil.getUpdateSqlByFormStore(gstore,Master+".CUSTOMTABLE", "CT_ID");
  295. baseDao.execute(gridSql);
  296. return null;
  297. }
  298. private Map<Object,Object> GoMo(JSONObject map,String Master){
  299. Map<Object, Object> rmap = new HashMap<Object, Object>();
  300. String iSN=null;
  301. String iResCode=null;
  302. String iMo=null;
  303. String oErrMessage=null;
  304. if(map.get("iMo")==null){
  305. oErrMessage = "工单号不能为空";
  306. rmap.put("oErrMessage",oErrMessage);
  307. return rmap;
  308. }
  309. if(map.get("iResCode")==null){
  310. oErrMessage = "岗位资源不能为空";
  311. rmap.put("oErrMessage",oErrMessage);
  312. return rmap;
  313. }
  314. if(map.get("iSN")==null){
  315. oErrMessage = "SN不能为空";
  316. rmap.put("oErrMessage",oErrMessage);
  317. return rmap;
  318. }
  319. iSN=map.get("iSN").toString();
  320. iResCode=map.get("iResCode").toString();
  321. iMo=map.get("iMo").toString();
  322. List<String> list = new ArrayList<String>();
  323. list = baseDao.callProcedureWithOut(Master+".CS_CHECKSTEPSNANDMACODE", new Object[]{
  324. String.valueOf(iMo),
  325. String.valueOf(iResCode),
  326. String.valueOf(iSN),
  327. String.valueOf("")
  328. }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
  329. oErrMessage=list.get(2);
  330. SqlRowList rs = baseDao.queryForRowSet("select ms_status,ms_stepcode,ms_nextstepcode from "+Master+".makeserial where ms_id=( select max(ms_id) from "+Master+".makeserial where ms_sncode in ( select '" + iSN + "' from dual union select sn from "+Master+".makesnrelation where beforesn='" + iSN + "' and sn<>' ' union select beforesn from "+Master+".makesnrelation where sn='" + iSN + "' and beforesn<>' '))");
  331. String ms_status = "";
  332. String ms_stepcode = "";
  333. String ms_nextstepcode = "";
  334. if(rs.next()){
  335. ms_status= rs.getString("ms_status");
  336. ms_stepcode=rs.getString("ms_stepcode");
  337. ms_nextstepcode=rs.getString("ms_nextstepcode");
  338. }
  339. String stepcode = GetStepCodeBySource(iResCode,Master);
  340. if ( oErrMessage == null || (ms_status == "3" && ms_stepcode == stepcode))
  341. {
  342. if (ms_status == "3")
  343. {
  344. oErrMessage = null;
  345. }
  346. }
  347. rmap.put("oErrMessage",oErrMessage);
  348. return rmap;
  349. }
  350. private Map<Object,Object> GetPCBABySN(JSONObject map,String Master){
  351. Map<Object, Object> rmap = new HashMap<Object, Object>();
  352. String iSN="";
  353. String oErrMessage="";
  354. if(map.get("iSN")==null){
  355. oErrMessage = "SN不能为空";
  356. rmap.put("oErrMessage",oErrMessage);
  357. return rmap;
  358. }
  359. iSN=map.get("iSN").toString();
  360. SqlRowList rs=baseDao.queryForRowSet("select ms_firstsn from "+Master+".makeserial where ms_sncode='"+iSN+"' order by ms_id desc");
  361. if(rs.next()){
  362. rs=baseDao.queryForRowSet("select cm_barcode from "+Master+".craftmaterial left join "+Master+".product on cm_fsoncode=pr_code " +
  363. "where cm_firstsn='"+rs.getString("ms_firstsn")+"' and cm_status=0 and (pr_detail like '%PCBA%' or pr_detail like '%主板%')");
  364. if(rs.next()){
  365. rmap.put("oPCBA",rs.getString("cm_barcode"));
  366. }
  367. }
  368. return rmap;
  369. }
  370. private Map<Object,Object> GetLCDBySN(JSONObject map,String Master){
  371. Map<Object, Object> rmap = new HashMap<Object, Object>();
  372. String iSN="";
  373. String oErrMessage="";
  374. if(map.get("iSN")==null){
  375. oErrMessage = "SN不能为空";
  376. rmap.put("oErrMessage",oErrMessage);
  377. return rmap;
  378. }
  379. iSN=map.get("iSN").toString();
  380. SqlRowList rs=baseDao.queryForRowSet("select ms_firstsn from "+Master+".makeserial where ms_sncode='"+iSN+"' order by ms_id desc");
  381. if(rs.next()){
  382. rs=baseDao.queryForRowSet("select cm_barcode from "+Master+".craftmaterial left join "+Master+".product on cm_fsoncode=pr_code " +
  383. "where cm_firstsn='"+rs.getString("ms_firstsn")+"' and cm_status=0 and (pr_kind2='屏')");
  384. if(rs.next()){
  385. rmap.put("oPCBA",rs.getString("cm_barcode"));
  386. }
  387. }
  388. return rmap;
  389. }
  390. private Map<Object,Object> GetInfoByMaterial(JSONObject map,String Master){
  391. Map<Object, Object> rmap = new HashMap<Object, Object>();
  392. String iPCBA=null;
  393. String oErrMessage=null;
  394. if(map.get("iPCBA")==null){
  395. oErrMessage = "主板SN不能为空";
  396. rmap.put("oErrMessage",oErrMessage);
  397. return rmap;
  398. }
  399. iPCBA=map.get("iPCBA").toString();
  400. SqlRowList rs=baseDao.queryForRowSet("select nvl(max(ms_id),0)ms_id from "+Master+".CRAFTMATERIAL left join "+Master+".makeserial on ms_firstsn=cm_firstsn where cm_barcode='"+iPCBA+"' and nvl(cm_status,0)<>-1 order by cm_id desc");
  401. if(rs.next()){
  402. if(!rs.getString("ms_id").equals("0")){
  403. rs=baseDao.queryForRowSet("select ma_bios,ma_ec,ms_sncode,ma_hardware from "+Master+".makeserial left join "+Master+".make on ms_makecode=ma_code where ms_id='"+rs.getString("ms_id")+"'");
  404. if (rs.next()){
  405. rmap.put("oSN",rs.getString("ms_sncode"));
  406. rmap.put("oBIOS",rs.getString("ma_bios"));
  407. rmap.put("oEC",rs.getString("ma_ec"));
  408. rmap.put("oHardWare",rs.getString("ma_hardware"));
  409. rmap.put("oMaster",Master);
  410. }
  411. }else{
  412. oErrMessage = "主板SN未查询到关联信息";
  413. rmap.put("oErrMessage",oErrMessage);
  414. return rmap;
  415. }
  416. }
  417. return rmap;
  418. }
  419. private Map<Object,Object> CheckRoutePassed(JSONObject map,String Master){
  420. //实际业务数据
  421. Map<Object, Object> rmap = new HashMap<>();
  422. String iSN=map.get("iSN").toString();
  423. String iResCode=map.get("iResCode").toString();
  424. String oErrMessage="";
  425. if (iSN ==null)
  426. {
  427. oErrMessage = "SN不能为空";
  428. }
  429. List<String> list = new ArrayList<String>();
  430. list = baseDao.callProcedureWithOut(Master+".CS_CHECKSTEPSNANDMACODE", new Object[]{
  431. String.valueOf(""),
  432. String.valueOf(iResCode),
  433. String.valueOf(iSN),
  434. String.valueOf("")
  435. }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
  436. oErrMessage=list.get(2);
  437. if(oErrMessage!=null){
  438. rmap.put("oErrMessage",oErrMessage);
  439. return rmap;
  440. }
  441. SqlRowList rs = baseDao.queryForRowSet("select ms_status,ms_stepcode,ms_nextstepcode from "+Master+".makeserial where ms_id=( select max(ms_id) from "+Master+".makeserial where ms_sncode in ( select '" + iSN + "' from dual union select sn from "+Master+".makesnrelation where beforesn='" + iSN + "' and sn<>' ' union select beforesn from "+Master+".makesnrelation where sn='" + iSN + "' and beforesn<>' '))");
  442. String ms_status = "";
  443. String ms_stepcode = "";
  444. String ms_nextstepcode = "";
  445. if(rs.next()){
  446. ms_status= rs.getString("ms_status");
  447. ms_stepcode=rs.getString("ms_stepcode");
  448. ms_nextstepcode=rs.getString("ms_nextstepcode");
  449. }
  450. String stepcode = GetStepCodeBySource(iResCode,Master);
  451. if (ms_nextstepcode != "" && !ms_nextstepcode.equals(stepcode))
  452. {
  453. oErrMessage = "当前序列号下一工序" + ms_nextstepcode;
  454. }
  455. rmap.put("oErrMessage",oErrMessage);
  456. return rmap;
  457. }
  458. private Map<Object,Object> CheckUserAndResourcePassed(JSONObject map,String Master){
  459. //实际业务数据
  460. Map<Object, Object> rmap = new HashMap<>();
  461. String oErrMessage = null;
  462. if (map.get("iUserCode") == null || map.get("iResCode") == null || map.get("iPassWord") == null)
  463. {
  464. oErrMessage = "用户名,密码,岗位资源必须填写";
  465. rmap.put("oErrMessage",oErrMessage);
  466. return rmap;
  467. }
  468. String iUserCode=map.get("iUserCode").toString();
  469. String iPassWord=map.get("iPassWord").toString();
  470. String iResCode=map.get("iResCode").toString();
  471. if (CheckUserLogin(iUserCode, iPassWord,Master))
  472. {
  473. String SQL = "select em_code,em_type,em_name from "+Master+".employee where em_code=? ";
  474. SqlRowList rs = baseDao.queryForRowSet(SQL, iUserCode);
  475. if (rs.next())
  476. {
  477. String em_name = rs.getString("em_name");
  478. String em_type = rs.getString("em_type");
  479. if (iResCode ==null)
  480. {
  481. oErrMessage = "岗位资源不允许为空";
  482. rmap.put("oErrMessage",oErrMessage);
  483. return rmap;
  484. }
  485. if (em_type.equals("admin"))
  486. {
  487. if (!baseDao.checkIf(""+Master+".Source", "sc_code='" + iResCode + "' and sc_statuscode='AUDITED'"))
  488. {
  489. oErrMessage = "岗位资源编号错误或者未审核!";
  490. }
  491. }
  492. else
  493. {
  494. SqlRowList rs1=baseDao.queryForRowSet("select ur_resourcecode from "+Master+".cs$empgroup left join "+Master+".cs$userresource on ur_groupcode=eg_groupcode left join "+Master+".source on ur_resourcecode=sc_code where eg_emcode = '"+ iUserCode + "' and sc_statuscode='AUDITED'");
  495. //如果存在该编号
  496. if (rs1.next())
  497. {
  498. //判断如果多个岗位资源存在,用户输入的只要在其中就行
  499. while (rs.next())
  500. {
  501. if (!rs.getString("ur_resourcecode").equals("iResCode")){
  502. oErrMessage = "用户不处于当前资源所属分组!";
  503. }else
  504. {
  505. oErrMessage=null;
  506. continue;
  507. }
  508. }
  509. }
  510. else
  511. oErrMessage = "岗位资源编号错误或者未审核!";
  512. }
  513. }
  514. else
  515. oErrMessage = "用户不存在!";
  516. }else{
  517. oErrMessage = "用户名密码不正确!";
  518. }
  519. rmap.put("oErrMessage",oErrMessage);
  520. return rmap;
  521. }
  522. private Map<Object,Object> GetAddressRangeByMO(JSONObject map,String Master){
  523. //实际业务数据
  524. Map<Object, Object> rmap = new HashMap<>();
  525. String iSN="";
  526. String oErrMessage = null;
  527. String oWIFI = "";
  528. String oBT = "";
  529. String oNetCard = "";
  530. String oCode1 = "";
  531. String oCode2 = "";
  532. String oCode3 = "";
  533. if(map.get("iSN")==null){
  534. oErrMessage = "SN不能为空";
  535. rmap.put("oErrMessage",oErrMessage);
  536. return rmap;
  537. }
  538. iSN=map.get("iSN").toString();
  539. //判断工单是否归属
  540. JSONObject map3=new JSONObject();
  541. map3.put("iSN",iSN);
  542. Map<Object, Object> map2=GetRcardMOInfo(map3,Master);
  543. if(map2.get("oErrMessage")!=null){
  544. oErrMessage=map2.get("oErrMessage").toString();
  545. rmap.put("oErrMessage",oErrMessage);
  546. return rmap;
  547. }
  548. List<String> list = new ArrayList<String>();
  549. list = baseDao.callProcedureWithOut(Master+".CS_GETADDRESSBYMAKECODE_TOOL", new Object[]{
  550. String.valueOf(iSN),
  551. String.valueOf(map2.get("oMoCode").toString()),
  552. }, new Integer[]{1,2}, new Integer[]{3,4,5,6,7,8,9});
  553. oWIFI = list.get(0);
  554. oBT = list.get(1);
  555. oNetCard = list.get(2);
  556. oCode1 = list.get(3);
  557. oCode2 = list.get(4);
  558. oCode3 = list.get(5);
  559. oErrMessage= list.get(6);
  560. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  561. rmap.put("oWIFI",oWIFI);
  562. rmap.put("oBT",oBT);
  563. rmap.put("oNetCard",oNetCard);
  564. rmap.put("oCode1",oCode1);
  565. rmap.put("oCode2",oCode2);
  566. rmap.put("oCode3",oCode3);
  567. }
  568. else
  569. rmap.put("oErrMessage",oErrMessage);
  570. return rmap;
  571. }
  572. private Map<Object,Object> GetMEIOrNetCodeRange(JSONObject map,String Master){
  573. //实际业务数据
  574. Map<Object, Object> rmap = new HashMap<>();
  575. String iSN="";
  576. String oErrMessage = null;
  577. String oIMEI1 = "";
  578. String oIMEI2 = "";
  579. String oMEID = "";
  580. String oNetCode = "";
  581. String oPSN = "";
  582. String oID1 = "";
  583. String oID2 = "";
  584. String oID3 = "";
  585. if(map.get("iSN")==null){
  586. oErrMessage = "SN不能为空";
  587. rmap.put("oErrMessage",oErrMessage);
  588. return rmap;
  589. }
  590. if(map.get("iIMEI1")!=null){
  591. oIMEI1=map.get("iIMEI1").toString();
  592. }
  593. if(map.get("iNetCode")!=null){
  594. oNetCode=map.get("iNetCode").toString();
  595. }
  596. iSN=map.get("iSN").toString();
  597. List<String> list = new ArrayList<String>();
  598. list = baseDao.callProcedureWithOut(Master+".CS_GETIMEIORNETCODERANGE", new Object[]{
  599. String.valueOf(iSN),
  600. String.valueOf(""),
  601. String.valueOf(oIMEI1),
  602. String.valueOf(oNetCode),
  603. }, new Integer[]{1,2,3,4}, new Integer[]{5,6,7,8,9,10,11,12,13,14});
  604. oIMEI1 = list.get(0);
  605. oIMEI2 = list.get(1);
  606. oMEID = list.get(3);
  607. oNetCode = list.get(4);
  608. oPSN = list.get(5);
  609. oID1 = list.get(6);
  610. oID2 = list.get(7);
  611. oID3 = list.get(8);
  612. oErrMessage= list.get(9);
  613. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  614. rmap.put("oIMEI1",oIMEI1);
  615. rmap.put("oIMEI2",oIMEI2);
  616. rmap.put("oMEID",oMEID);
  617. rmap.put("oNetCode",oNetCode);
  618. rmap.put("oPSN",oPSN);
  619. rmap.put("oID1",oID1);
  620. rmap.put("oID2",oID2);
  621. rmap.put("oID3",oID3);
  622. }
  623. else
  624. rmap.put("oErrMessage",oErrMessage);
  625. return rmap;
  626. }
  627. private Map<Object,Object> GetRcardMOInfo(JSONObject map,String Master){
  628. //实际业务数据
  629. Map<Object, Object> rmap = new HashMap<>();
  630. //取MakeProcess表中的执行记录ID最大的一个工单的号码
  631. String oErrMessage = null;
  632. if(map.get("iSN")==null){
  633. oErrMessage = "SN不能为空";
  634. rmap.put("oErrMessage",oErrMessage);
  635. return rmap;
  636. }
  637. String iSN=map.get("iSN").toString();
  638. StringBuffer sql=new StringBuffer();
  639. sql.append("select max(ms_id)ms_id from "+Master+".makeserial where ms_sncode in (select '" + iSN + "' from dual union select sn from ");
  640. sql.append(""+Master+".makesnrelation where beforesn='" + iSN + "' and sn<>' ' union select beforesn from "+Master+".makesnrelation where sn='" + iSN + "' and beforesn<>' ')");
  641. SqlRowList rs = baseDao.queryForRowSet(sql.toString());
  642. String ms_id="";
  643. if(rs.next()){
  644. if(rs.getString("ms_id")==null){
  645. oErrMessage = "序列号:" + iSN + " 未归属工单";
  646. rmap.put("oErrMessage",oErrMessage);
  647. return rmap;
  648. }
  649. else{
  650. ms_id= rs.getString("ms_id");
  651. }
  652. }
  653. Object[] oMoCode = baseDao.getFieldsDataByCondition(Master+".MakeSerial", "ms_makecode,ms_prodcode", "ms_id='" + ms_id + "'");
  654. if (oMoCode != null){
  655. rmap.put("oMoCode",oMoCode[0]);
  656. rmap.put("oPrCode",oMoCode[1]);
  657. oErrMessage= null;
  658. }
  659. else
  660. {
  661. oErrMessage = "序列号:" + iSN + " 未归属工单";
  662. }
  663. rmap.put("oErrMessage",oErrMessage);
  664. return rmap;
  665. }
  666. private Map<Object,Object> GetMobileAllInfo(JSONObject map,String Master){
  667. //实际业务数据
  668. Map<Object, Object> rmap = new HashMap<>();
  669. String iSN="";
  670. String oErrMessage = null;
  671. String oIMEI1 = "";
  672. String oIMEI2 = "";
  673. String oMEID = "";
  674. String oNetCode = "";
  675. String oPSN = "";
  676. String oID1 = "";
  677. String oID2 = "";
  678. String oID3 = "";
  679. String oID4 = "";
  680. String oID5 = "";
  681. String oWIFI = "";
  682. String oBT = "";
  683. String oCode1 = "";
  684. String oCode2 = "";
  685. String oCode3 = "";
  686. if(map.get("iSN")==null){
  687. oErrMessage = "SN不能为空";
  688. rmap.put("oErrMessage",oErrMessage);
  689. return rmap;
  690. }
  691. iSN=map.get("iSN").toString();
  692. Object ms_id =baseDao.getFieldDataByCondition(Master+".makeserial", "max(ms_id)", "ms_sncode='" + iSN + "'");
  693. if(ms_id!=null)
  694. {
  695. 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 "+Master+".MakeSerial where ms_id="+ms_id.toString());
  696. if(rs.next()){
  697. oWIFI = rs.getString("ms_mac");
  698. oBT = rs.getString("ms_bt");
  699. oPSN = rs.getString("ms_psn");
  700. oNetCode = rs.getString("ms_netcode");
  701. oMEID = rs.getString("ms_meid");
  702. oIMEI1 = rs.getString("ms_imei1");
  703. oIMEI2 = rs.getString("ms_imei2");
  704. oCode1 = rs.getString("ms_othcode1");
  705. oCode2 = rs.getString("ms_othcode2");
  706. oCode3 = rs.getString("ms_othcode3");
  707. oID1 = rs.getString("ms_othid3");
  708. oID2 = rs.getString("ms_othid3");
  709. oID3 = rs.getString("ms_othid3");
  710. }
  711. }else
  712. {
  713. oErrMessage = "序列号" + iSN + "不存在";
  714. rmap.put("oErrMessage",oErrMessage);
  715. return rmap;
  716. }
  717. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  718. rmap.put("oIMEI1",oIMEI1);
  719. rmap.put("oIMEI2",oIMEI2);
  720. rmap.put("oMEID",oMEID);
  721. rmap.put("oNetCode",oNetCode);
  722. rmap.put("oPSN",oPSN);
  723. rmap.put("oID1",oID1);
  724. rmap.put("oID2",oID2);
  725. rmap.put("oID3",oID3);
  726. rmap.put("oID4",oID4);
  727. rmap.put("oID5",oID5);
  728. rmap.put("oWIFI",oWIFI);
  729. rmap.put("oBT",oBT);
  730. rmap.put("oCode1",oCode1);
  731. rmap.put("oCode2",oCode2);
  732. rmap.put("oCode3",oCode3);
  733. }
  734. else
  735. rmap.put("oErrMessage",oErrMessage);
  736. return rmap;
  737. }
  738. private Map<Object,Object> SetAddressInfo(JSONObject map,String Master){
  739. //实际业务数据
  740. Map<Object, Object> rmap = new HashMap<>();
  741. String oErrMessage = null;
  742. if(map.get("iSN")==null){
  743. oErrMessage = "SN不能为空";
  744. rmap.put("oErrMessage",oErrMessage);
  745. return rmap;
  746. }
  747. String iSN=map.get("iSN").toString();
  748. String iWIFI = null;
  749. String iBT = null;
  750. String iNetCard=null;
  751. String iNetCard2=null;
  752. String iCode1 = null;
  753. String iCode2 = null;
  754. String iCode3 = null;
  755. if(map.get("iMAC")!=null){
  756. iWIFI=map.get("iMAC").toString();
  757. }
  758. if(map.get("iWIFI")!=null){
  759. iWIFI=map.get("iWIFI").toString();
  760. }
  761. if(map.get("iBT")!=null){
  762. iBT=map.get("iBT").toString();
  763. }
  764. if(map.get("iNetCard")!=null){
  765. iNetCard=map.get("iNetCard").toString();
  766. }
  767. if(map.get("iNetCard2")!=null){
  768. iNetCard2=map.get("iNetCard2").toString();
  769. }
  770. if(map.get("iCode1")!=null){
  771. iCode1=map.get("iCode1").toString();
  772. }
  773. if(map.get("iCode2")!=null){
  774. iCode2=map.get("iCode2").toString();
  775. }
  776. if(map.get("iCode3")!=null){
  777. iCode3=map.get("iCode3").toString();
  778. }
  779. List<String> list = new ArrayList<String>();
  780. list = baseDao.callProcedureWithOut(Master+".CS_SETADDRESSINFO_TOOL_NEW", new Object[]{
  781. String.valueOf(iSN),
  782. String.valueOf(iWIFI),
  783. String.valueOf(iBT),
  784. String.valueOf(iNetCard),
  785. String.valueOf(iNetCard2),
  786. String.valueOf(iCode1),
  787. String.valueOf(iCode2),
  788. String.valueOf(iCode3)
  789. }, new Integer[]{1, 2, 3, 4, 5, 6,7,8}, new Integer[]{9});
  790. oErrMessage = list.get(0);
  791. rmap.put("oErrMessage",oErrMessage);
  792. return rmap;
  793. }
  794. private Map<Object,Object> GetMaster(JSONObject map,String Master){
  795. //实际业务数据
  796. Map<Object, Object> rmap = new HashMap<>();
  797. SqlRowList rs=baseDao.queryForRowSet("select ma_user,AE_KEY,AE_SECRET from mes.master left join MES.APIEMPLOYEE B on ma_user=ae_master");
  798. while(rs.next())
  799. {
  800. rmap.put(rs.getString("ma_user"),rs.getString("AE_KEY")+"|"+rs.getString("AE_SECRET"));
  801. }
  802. return rmap;
  803. }
  804. private Map<Object,Object> SetMobileData(JSONObject map,String Master){
  805. //实际业务数据
  806. Map<Object, Object> rmap = new HashMap<>();
  807. String oErrMessage = null;
  808. if(map.get("iSN")==null||map.get("iTSN")==null){
  809. oErrMessage = "SN不能为空";
  810. rmap.put("oErrMessage",oErrMessage);
  811. return rmap;
  812. }
  813. String iSN=map.get("iSN").toString();
  814. String iTSN=map.get("iTSN").toString();
  815. String iSourceCode = null;
  816. String iOperater = null;
  817. String iResult = null;
  818. String flag = null;
  819. String iErrCode = null;
  820. if(map.get("iSourceCode")!=null){
  821. iSourceCode=map.get("iSourceCode").toString();
  822. }
  823. if(map.get("iResCode")!=null){
  824. iSourceCode=map.get("iResCode").toString();
  825. }
  826. if(map.get("iOperater")!=null){
  827. iOperater=map.get("iOperater").toString();
  828. }
  829. if(map.get("iResult")!=null){
  830. iResult=map.get("iResult").toString();
  831. }
  832. if(map.get("flag")!=null){
  833. flag=map.get("flag").toString();
  834. }
  835. if(map.get("iErrCode")!=null){
  836. iErrCode=map.get("iErrCode").toString();
  837. }
  838. List<String> list = new ArrayList<String>();
  839. list = baseDao.callProcedureWithOut(Master+".CS_DLLSNCHANGE_TOOL", new Object[]{
  840. String.valueOf(iTSN),
  841. String.valueOf(iSN),
  842. String.valueOf(iSourceCode),
  843. String.valueOf(iOperater),
  844. String.valueOf(iResult),
  845. String.valueOf(iErrCode),
  846. }, new Integer[]{1, 2, 3, 4, 5, 6}, new Integer[]{7});
  847. oErrMessage = list.get(0);
  848. rmap.put("oErrMessage",oErrMessage);
  849. return rmap;
  850. }
  851. private Map<Object,Object> SetIMEIInfo(JSONObject map,String Master){
  852. //实际业务数据
  853. Map<Object, Object> rmap = new HashMap<>();
  854. String oErrMessage = null;
  855. if(map.get("iSN")==null){
  856. oErrMessage = "SN不能为空";
  857. rmap.put("oErrMessage",oErrMessage);
  858. return rmap;
  859. }
  860. String iSN=map.get("iSN").toString();
  861. String iIMEI1=null;
  862. String iIMEI2 = null;
  863. String iIMEI3 = null;
  864. String iMEID = null;
  865. String iNET = null;
  866. String iID1 = null;
  867. String iID2 = null;
  868. String iID3 = null;
  869. if(map.get("iIMEI1")!=null){
  870. iIMEI1=map.get("iIMEI1").toString();
  871. }
  872. if(map.get("iIMEI2")!=null){
  873. iIMEI2=map.get("iIMEI2").toString();
  874. }
  875. if(map.get("iIMEI3")!=null){
  876. iIMEI3=map.get("iIMEI3").toString();
  877. }
  878. if(map.get("iMEID")!=null){
  879. iMEID=map.get("iMEID").toString();
  880. }
  881. if(map.get("iNET")!=null){
  882. iNET=map.get("iNET").toString();
  883. }
  884. if(map.get("iID1")!=null){
  885. iID1=map.get("iID1").toString();
  886. }
  887. if(map.get("iID2")!=null){
  888. iID2=map.get("iID2").toString();
  889. }
  890. if(map.get("iID3")!=null){
  891. iID3=map.get("iID3").toString();
  892. }
  893. List<String> list = new ArrayList<String>();
  894. list = baseDao.callProcedureWithOut(Master+".CS_SETIMEIINFO", new Object[]{
  895. String.valueOf(iSN),
  896. String.valueOf(iIMEI1),
  897. String.valueOf(iIMEI2),
  898. String.valueOf(iIMEI3),
  899. String.valueOf(iMEID),
  900. String.valueOf(iNET),
  901. String.valueOf(""),
  902. String.valueOf(iID1),
  903. String.valueOf(iID2),
  904. String.valueOf(iID3),
  905. }, new Integer[]{1, 2, 3, 4, 5, 6,7,8,9,10}, new Integer[]{11});
  906. oErrMessage = list.get(0);
  907. rmap.put("oErrMessage",oErrMessage);
  908. return rmap;
  909. }
  910. private Map<Object,Object> SetTestDetail(JSONObject map,String Master){
  911. //实际业务数据
  912. Map<Object, Object> rmap = new HashMap<>();
  913. String oErrMessage=null;
  914. if(map.get("iSN")==null){
  915. oErrMessage = "SN不能为空";
  916. rmap.put("oErrMessage",oErrMessage);
  917. return rmap;
  918. }
  919. String iSN=map.get("iSN").toString();
  920. String iTestResult= "";
  921. String iResCode= "";
  922. String iClassName="";
  923. String iTestDetail= "";
  924. String iMaxValue= "";
  925. String iMinValue= "";
  926. if(map.get("iTestResult")!=null){
  927. iTestResult=map.get("iTestResult").toString();
  928. }
  929. if(map.get("iClassName")!=null){
  930. iClassName=map.get("iClassName").toString();
  931. }
  932. if(map.get("iResCode")!=null){
  933. iResCode=map.get("iResCode").toString();
  934. }
  935. if(map.get("iTestDetail")!=null){
  936. iTestDetail=map.get("iTestDetail").toString();
  937. }
  938. if(map.get("iMaxValue")!=null){
  939. iMaxValue=map.get("iMaxValue").toString();
  940. }
  941. if(map.get("iMinValue")!=null){
  942. iMinValue=map.get("iMinValue").toString();
  943. }
  944. JSONObject map3=new JSONObject();
  945. map3.put("iSN",iSN);
  946. Map<Object, Object> map2=GetRcardMOInfo(map3,Master);
  947. String omakeCode = "";
  948. StringBuffer sql=new StringBuffer();
  949. String[] name=iClassName.split("\\|");
  950. String[] result=iTestResult.split("\\|");
  951. String[] value=iTestDetail.split("\\|");
  952. if(name.length!=value.length||name.length!=result.length){
  953. rmap.put("oErrMessage","测试项目名称和值的项次不一致");
  954. return rmap;
  955. }
  956. for (int i=0;i<name.length;i++){
  957. sql.setLength(0);
  958. sql.append("Insert into "+Master+".STEPTESTDETAIL (STD_ID,STD_CLASS,STD_SN,STD_MAKECODE,STD_ACTUALVALUE,STD_TESTRESULT,STD_INDATE,STD_RESCODE,STD_MAXVALUE, STD_MINVALUE)");
  959. sql.append("values("+Master+".STEPTESTDETAIL_SEQ.nextval,?,'" + iSN + "','" + map2.get("oMoCode") + "',?,?,sysdate,'" + iResCode + "','"+iMaxValue+"','"+iMinValue+"')");
  960. baseDao.execute(sql.toString(),name[i],value[i],result[i] );
  961. }
  962. rmap.put("oErrMessage",oErrMessage);
  963. return rmap;
  964. }
  965. private Map<Object,Object> SetPcbaData(JSONObject map,String Master){
  966. //实际业务数据
  967. Map<Object, Object> rmap = new HashMap<>();
  968. String oErrMessage = null;
  969. if(map.get("iSN")==null){
  970. oErrMessage = "SN不能为空";
  971. rmap.put("oErrMessage",oErrMessage);
  972. return rmap;
  973. }
  974. String iSN=map.get("iSN").toString();
  975. String iResCode = null;
  976. String iOperator = null;
  977. String iResult = null;
  978. String iErrCode = null;
  979. if(map.get("iResCode")!=null){
  980. iResCode=map.get("iResCode").toString();
  981. }
  982. if(map.get("iOperater")!=null){
  983. iOperator=map.get("iOperater").toString();
  984. }
  985. if(map.get("iResult")!=null){
  986. iResult=map.get("iResult").toString();
  987. }
  988. if(map.get("iErrCode")!=null){
  989. iErrCode=map.get("iErrCode").toString();
  990. }
  991. SqlRowList rs=baseDao.queryForRowSet("select nvl(st_ifinput,0)st_ifinput,nvl(st_ifoqc,0)st_ifoqc,nvl(st_ifweigh,0)st_ifweigh from "+Master+".source left join "+Master+".step on sc_stepcode=st_code where sc_code='"+iResCode+"'");
  992. if(rs.next()){
  993. String st_ifinput=rs.getString("st_ifinput");
  994. String st_ifoqc=rs.getString("st_ifinput");
  995. String st_ifweigh=rs.getString("st_ifweigh");
  996. if(st_ifinput.equals("-1")){
  997. oErrMessage = "上料工序必须在客户端进行过站";
  998. rmap.put("oErrMessage",oErrMessage);
  999. return rmap;
  1000. }
  1001. if(st_ifoqc.equals("-1")){
  1002. oErrMessage = "OQC必须在客户端进行过站";
  1003. rmap.put("oErrMessage",oErrMessage);
  1004. return rmap;
  1005. }
  1006. if(st_ifweigh.equals("-1")){
  1007. oErrMessage = "称重工序必须在客户端进行过站";
  1008. rmap.put("oErrMessage",oErrMessage);
  1009. return rmap;
  1010. }
  1011. }
  1012. rs=baseDao.queryForRowSet("select ms_sncode from makeserial where ms_imei1='"+iSN+"' order by ms_id desc");
  1013. if(rs.next()){
  1014. iSN=rs.getString("ms_sncode");
  1015. }
  1016. rs=baseDao.queryForRowSet("select ms_sncode from makeserial where ms_mac='"+iSN+"' order by ms_id desc");
  1017. if(rs.next()){
  1018. iSN=rs.getString("ms_sncode");
  1019. }
  1020. JSONObject map3=new JSONObject();
  1021. map3.put("iSN",iSN);
  1022. Map<Object, Object> map2=GetRcardMOInfo(map3,Master);
  1023. String oMoCode=null;
  1024. if(map2.get("oMoCode")!=null){
  1025. oMoCode=map2.get("oMoCode").toString();
  1026. }
  1027. if (map2.get("oErrMessage")==null)
  1028. return SetStepFinish(oMoCode, iResCode, iSN, "", iResult, iOperator, iErrCode,Master);
  1029. return rmap;
  1030. }
  1031. /// <summary>
  1032. /// 获取步骤代码
  1033. /// </summary>
  1034. /// <param name="Source"></param>
  1035. /// <returns></returns>
  1036. private String GetStepCodeBySource(String Source,String Master)
  1037. {
  1038. Object o=baseDao.getFieldDataByCondition(Master+".source", "sc_stepcode", "sc_code='" + Source + "'");
  1039. if(o!=null)
  1040. return o.toString();
  1041. else
  1042. return "";
  1043. }
  1044. private Boolean CheckUserLogin(String iUserCode, String iPassWord,String Master)
  1045. {
  1046. SqlRowList rs =baseDao.queryForRowSet("select em_code from "+Master+".employee where em_code='"+iUserCode+"' and em_password =?",iPassWord);
  1047. if (rs.next())
  1048. return true;
  1049. else
  1050. {
  1051. return false;
  1052. }
  1053. }
  1054. private Map<Object,Object> GetMakeInfoBySN(JSONObject map,String Master)
  1055. {
  1056. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1057. String iSN=null;
  1058. String oErrMessage=null;
  1059. if(map.get("iSN")==null){
  1060. oErrMessage = "SN不能为空";
  1061. rmap.put("oErrMessage",oErrMessage);
  1062. return rmap;
  1063. }
  1064. iSN=map.get("iSN").toString();
  1065. SqlRowList rs=baseDao.queryForRowSet("select ma_remark1,ma_remark2,ma_remark3,ma_remark4,ma_remark5,ma_remark6,ma_remark7,ma_remark8,ma_remark9,ma_remark10,ma_remark11,ma_remark12,ma_remark13,ma_remark14,ma_remark15,ma_remark16,ma_remark17,ma_remark18 from "+Master+".make " +
  1066. "left join "+Master+".makeserial on ms_makecode=ma_code where ms_sncode='"+iSN+"' order by ms_id desc");
  1067. if(rs.next()){
  1068. rmap.put("oMaremark1",rs.getString("ma_remark1"));
  1069. rmap.put("oMaremark2",rs.getString("ma_remark2"));
  1070. rmap.put("oMaremark3",rs.getString("ma_remark3"));
  1071. rmap.put("oMaremark4",rs.getString("ma_remark4"));
  1072. rmap.put("oMaremark5",rs.getString("ma_remark5"));
  1073. rmap.put("oMaremark6",rs.getString("ma_remark6"));
  1074. rmap.put("oMaremark7",rs.getString("ma_remark7"));
  1075. rmap.put("oMaremark8",rs.getString("ma_remark8"));
  1076. rmap.put("oMaremark9",rs.getString("ma_remark9"));
  1077. rmap.put("oMaremark10",rs.getString("ma_remark10"));
  1078. rmap.put("oMaremark11",rs.getString("ma_remark11"));
  1079. rmap.put("oMaremark12",rs.getString("ma_remark12"));
  1080. rmap.put("oMaremark13",rs.getString("ma_remark13"));
  1081. rmap.put("oMaremark14",rs.getString("ma_remark14"));
  1082. rmap.put("oMaremark15",rs.getString("ma_remark15"));
  1083. rmap.put("oMaremark16",rs.getString("ma_remark16"));
  1084. rmap.put("oMaremark17",rs.getString("ma_remark17"));
  1085. rmap.put("oMaremark18",rs.getString("ma_remark18"));
  1086. return rmap;
  1087. }else{
  1088. oErrMessage = "SN未查询到关联信息";
  1089. rmap.put("oErrMessage",oErrMessage);
  1090. return rmap;
  1091. }
  1092. }
  1093. private Map<Object,Object> GetPSN(JSONObject map,String Master){
  1094. String oErrMessage="";
  1095. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1096. if(map.get("iSN")==null){
  1097. oErrMessage = "SN不能为空";
  1098. rmap.put("oErrMessage",oErrMessage);
  1099. return rmap;
  1100. }
  1101. String iSN=map.get("iSN").toString();
  1102. SqlRowList rs=baseDao.queryForRowSet("select li_upperline,ms_firstsn,ms_sncode from "+Master+".makeserial left join "+Master+".line on ms_linecode=li_code where ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  1103. if(rs.next()){
  1104. String li_upperline=rs.getString("li_upperline");
  1105. if(li_upperline.equals("7F")||li_upperline.equals("6F")){
  1106. rmap.put("msl_sncode",iSN);
  1107. return rmap;
  1108. }
  1109. }
  1110. Object iMakecode=baseDao.getFieldDataByCondition(""+Master+".makeserial","ms_makecode","ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"' or ms_firstsn='"+iSN+"')");
  1111. if(iMakecode==null){
  1112. oErrMessage = iSN+"无关联工单";
  1113. rmap.put("oErrMessage",oErrMessage);
  1114. return rmap;
  1115. }
  1116. //之前有获取过的
  1117. rs=baseDao.queryForRowSet("select msl_sncode from "+Master+".makesnlist where msl_beforesn='"+iSN+"'");
  1118. if(rs.next()){
  1119. rmap.put("msl_sncode",rs.getString("msl_sncode"));
  1120. return rmap;
  1121. }
  1122. List<String> list = new ArrayList<String>();
  1123. list = baseDao.callProcedureWithOut(Master+".SP_GETPSN", new Object[]{
  1124. String.valueOf(iSN),
  1125. String.valueOf(iMakecode),
  1126. }, new Integer[]{1,2}, new Integer[]{3});
  1127. String msl_sncode=list.get(0);
  1128. if(msl_sncode!=null){
  1129. rmap.put("msl_sncode",msl_sncode);
  1130. return rmap;
  1131. }else{
  1132. oErrMessage = "无可分配号段";
  1133. rmap.put("oErrMessage",oErrMessage);
  1134. return rmap;
  1135. }
  1136. }
  1137. private Map<Object,Object> GetMakeRelation(JSONObject map,String Master){
  1138. String oErrMessage="";
  1139. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1140. if(map.get("iSN")==null){
  1141. oErrMessage = "SN不能为空";
  1142. rmap.put("oErrMessage",oErrMessage);
  1143. return rmap;
  1144. }
  1145. String iSN=map.get("iSN").toString();
  1146. // Object iMakecode=baseDao.getFieldDataByCondition(Master+".makeserial","ms_makecode","ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  1147. // if(iMakecode==null){
  1148. // oErrMessage = iSN+"无关联工单";
  1149. // rmap.put("oErrMessage",oErrMessage);
  1150. // return rmap;
  1151. // }
  1152. //之前有获取过的
  1153. SqlRowList rs=baseDao.queryForRowSet("select MID_ID, MID_MIID, MID_ORDERCODE, MID_SN, MID_WIFIMAC, MID_IMEI, MID_BTMAC, MID_OSVERSION, MID_OSPRODUCTKEY, MID_OSPRODUCTID, MID_DRIVERVERSION, MID_BIOSVERSION, MID_PROCESSID, MID_HARDDISKSN, MID_HARDDISKMODEL, MID_CREATETIME, MID_DETNO, MID_EC, ORDERNUMBER, MODEL, ORDERQUANTITY, BARCODE, CPU, RAM, ROM, GENERATION, WIFI, LCD, DPI, TP, NFC, CAMERA, BAT, GPS, FINGERPRINT, MAINBOARDVER, SUBBOARDVER, OSTYPE, MACHINECODE, MCU, GYROSCOPE, ACCELEROMETER, MAGNETOMETER, LIGHTSENSOR, BRIDGEIC, REMARK, IDENTITYMODULE, ASD_ID, ASD_ASID, ASD_MACHINETYPE, ASD_RECIVETIME, ASD_SALEER, ASD_CUSTNAME, ASD_QTY, ASD_SENDMAN, ASD_CONFIG, ASD_CONTENT, ASD_KIND, ASD_DEALMAN, ASD_FINISHTIME, ASD_STATUS, ASD_REMARK, ASD_ACTREMAKETIME, ASD_BIOS, ASD_OS, ASD_DETNO, ASD_SN, ASD_IMEI, ASD_INDATE, DeliveryIn.SN IN_SN, DeliveryIn.IMEI IN_IMEI, DeliveryIn.SALES IN_SALES, DeliveryIn.CUSTOMER IN_CUSTOMER, DeliveryIn.DELIVERY IN_DELIVERY, Deliveryout.SN OUT_SN, Deliveryout.IMEI OUT_IMEI, Deliveryout.SALES OUT_SALES, Deliveryout.CUSTOMER OUT_CUSTOMER, Deliveryout.DELIVERY OUT_DELIVERY, RMD_ID, RMD_RMID, RMD_MACHINETYPE, RMD_SN, RMD_REMARK, RMD_RECIVETIME, RMD_SALEER, RMD_CUSTNAME, RMD_QTY, RMD_ASSISTANT, RMD_BADNAME, RMD_BADCONFRM, RMD_BADTYPE, RMD_BADREASON, RMD_DEALMAN, RMD_FINISHTIME, RMD_STATUS, RMD_ANAREASON, RMD_REPAIR, RMD_REPAIRKIND, RMD_DAYS, RMD_MDM, RMD_TYPE, RMD_DETNO from "+Master+".makeinfodet left join "+Master+".MakeRemark on MID_ORDERCODE=ordernumber " +
  1154. "left join "+Master+".aftersaledet on asd_sn=mid_sn left join "+Master+".DeliveryIn on "+Master+".DeliveryIn.sn=mid_sn " +
  1155. "left join "+Master+".Deliveryout on "+Master+".Deliveryout.sn=mid_sn left join "+Master+".remakedet on mid_sn=RMD_SN where mid_sn='"+iSN+"' and rownum=1");
  1156. if(rs.next()){
  1157. rmap.put("MID_ID","");
  1158. rmap.put("MID_MIID",rs.getString("MID_MIID"));
  1159. rmap.put("MID_ORDERCODE",rs.getString("MID_ORDERCODE"));
  1160. rmap.put("MID_SN",rs.getString("MID_SN"));
  1161. rmap.put("MID_WIFIMAC",rs.getString("MID_WIFIMAC"));
  1162. rmap.put("MID_IMEI",rs.getString("MID_IMEI"));
  1163. rmap.put("MID_BTMAC",rs.getString("MID_BTMAC"));
  1164. rmap.put("MID_OSVERSION",rs.getString("MID_OSVERSION"));
  1165. rmap.put("MID_OSPRODUCTKEY",rs.getString("MID_OSPRODUCTKEY"));
  1166. rmap.put("MID_OSPRODUCTID",rs.getString("MID_OSPRODUCTID"));
  1167. rmap.put("MID_DRIVERVERSION",rs.getString("MID_DRIVERVERSION"));
  1168. rmap.put("MID_BIOSVERSION",rs.getString("MID_BIOSVERSION"));
  1169. rmap.put("MID_PROCESSID",rs.getString("MID_PROCESSID"));
  1170. rmap.put("MID_HARDDISKSN",rs.getString("MID_HARDDISKSN"));
  1171. rmap.put("MID_HARDDISKMODEL",rs.getString("MID_HARDDISKMODEL"));
  1172. rmap.put("MID_CREATETIME",rs.getString("MID_CREATETIME"));
  1173. rmap.put("MID_DETNO",rs.getString("MID_DETNO"));
  1174. rmap.put("MID_EC",rs.getString("MID_EC"));
  1175. rmap.put("ORDERNUMBER",rs.getString("ORDERNUMBER"));
  1176. rmap.put("CUSTOMER",rs.getString("CUSTOMER"));
  1177. rmap.put("MODEL",rs.getString("MODEL"));
  1178. rmap.put("ORDERQUANTITY",rs.getString("ORDERQUANTITY"));
  1179. rmap.put("BARCODE",rs.getString("BARCODE"));
  1180. rmap.put("CPU",rs.getString("CPU"));
  1181. rmap.put("RAM",rs.getString("RAM"));
  1182. rmap.put("ROM",rs.getString("ROM"));
  1183. rmap.put("GENERATION",rs.getString("GENERATION"));
  1184. rmap.put("WIFI",rs.getString("WIFI"));
  1185. rmap.put("LCD",rs.getString("LCD"));
  1186. rmap.put("DPI",rs.getString("DPI"));
  1187. rmap.put("TP",rs.getString("TP"));
  1188. rmap.put("NFC",rs.getString("NFC"));
  1189. rmap.put("CAMERA",rs.getString("CAMERA"));
  1190. rmap.put("BAT",rs.getString("BAT"));
  1191. rmap.put("GPS",rs.getString("GPS"));
  1192. rmap.put("FINGERPRINT",rs.getString("FINGERPRINT"));
  1193. rmap.put("MAINBOARDVER",rs.getString("MAINBOARDVER"));
  1194. rmap.put("SUBBOARDVER",rs.getString("SUBBOARDVER"));
  1195. rmap.put("OSTYPE",rs.getString("OSTYPE"));
  1196. rmap.put("MACHINECODE",rs.getString("MACHINECODE"));
  1197. rmap.put("MCU",rs.getString("MCU"));
  1198. rmap.put("GYROSCOPE",rs.getString("GYROSCOPE"));
  1199. rmap.put("ACCELEROMETER",rs.getString("ACCELEROMETER"));
  1200. rmap.put("MAGNETOMETER",rs.getString("MAGNETOMETER"));
  1201. rmap.put("LIGHTSENSOR",rs.getString("LIGHTSENSOR"));
  1202. rmap.put("BRIDGEIC",rs.getString("BRIDGEIC"));
  1203. rmap.put("REMARK",rs.getString("REMARK"));
  1204. rmap.put("IDENTITYMODULE",rs.getString("IDENTITYMODULE"));
  1205. rmap.put("ASD_MACHINETYPE",rs.getString("ASD_MACHINETYPE"));
  1206. rmap.put("ASD_RECIVETIME",rs.getString("ASD_RECIVETIME"));
  1207. rmap.put("ASD_SALEER",rs.getString("ASD_SALEER"));
  1208. rmap.put("ASD_CUSTNAME",rs.getString("ASD_CUSTNAME"));
  1209. rmap.put("ASD_QTY",rs.getString("ASD_QTY"));
  1210. rmap.put("ASD_SENDMAN",rs.getString("ASD_SENDMAN"));
  1211. rmap.put("ASD_CONFIG",rs.getString("ASD_CONFIG"));
  1212. rmap.put("ASD_CONTENT",rs.getString("ASD_CONTENT"));
  1213. rmap.put("ASD_KIND",rs.getString("ASD_KIND"));
  1214. rmap.put("ASD_DEALMAN",rs.getString("ASD_DEALMAN"));
  1215. rmap.put("ASD_FINISHTIME",rs.getString("ASD_FINISHTIME"));
  1216. rmap.put("ASD_STATUS",rs.getString("ASD_STATUS"));
  1217. rmap.put("ASD_REMARK",rs.getString("ASD_REMARK"));
  1218. rmap.put("ASD_ACTREMAKETIME",rs.getString("ASD_ACTREMAKETIME"));
  1219. rmap.put("ASD_BIOS",rs.getString("ASD_BIOS"));
  1220. rmap.put("ASD_OS",rs.getString("ASD_OS"));
  1221. rmap.put("ASD_DETNO",rs.getString("ASD_DETNO"));
  1222. rmap.put("ASD_SN",rs.getString("ASD_SN"));
  1223. rmap.put("ASD_IMEI",rs.getString("ASD_IMEI"));
  1224. rmap.put("ASD_INDATE",rs.getString("ASD_INDATE"));
  1225. rmap.put("IN_SN",rs.getString("IN_SN"));
  1226. rmap.put("IN_IMEI",rs.getString("IN_IMEI"));
  1227. rmap.put("IN_CUSTOMER",rs.getString("IN_CUSTOMER"));
  1228. rmap.put("IN_SALES",rs.getString("IN_SALES"));
  1229. rmap.put("IN_DELIVERY",rs.getString("IN_DELIVERY"));
  1230. rmap.put("OUT_SN",rs.getString("OUT_SN"));
  1231. rmap.put("OUT_IMEI",rs.getString("OUT_IMEI"));
  1232. rmap.put("OUT_CUSTOMER",rs.getString("OUT_CUSTOMER"));
  1233. rmap.put("OUT_SALES",rs.getString("OUT_SALES"));
  1234. rmap.put("OUT_DELIVERY",rs.getString("OUT_DELIVERY"));
  1235. rmap.put("RMD_MACHINETYPE",rs.getString("RMD_MACHINETYPE"));
  1236. rmap.put("RMD_SN",rs.getString("RMD_SN"));
  1237. rmap.put("RMD_REMARK",rs.getString("RMD_REMARK"));
  1238. rmap.put("RMD_RECIVETIME",rs.getString("RMD_RECIVETIME"));
  1239. rmap.put("RMD_SALEER",rs.getString("RMD_SALEER"));
  1240. rmap.put("RMD_CUSTNAME",rs.getString("RMD_CUSTNAME"));
  1241. rmap.put("RMD_QTY",rs.getString("RMD_QTY"));
  1242. rmap.put("RMD_ASSISTANT",rs.getString("RMD_ASSISTANT"));
  1243. rmap.put("RMD_BADNAME",rs.getString("RMD_BADNAME"));
  1244. rmap.put("RMD_BADCONFRM",rs.getString("RMD_BADCONFRM"));
  1245. rmap.put("RMD_BADTYPE",rs.getString("RMD_BADTYPE"));
  1246. rmap.put("RMD_BADREASON",rs.getString("RMD_BADREASON"));
  1247. rmap.put("RMD_DEALMAN",rs.getString("RMD_DEALMAN"));
  1248. rmap.put("RMD_FINISHTIME",rs.getString("RMD_FINISHTIME"));
  1249. rmap.put("RMD_STATUS",rs.getString("RMD_STATUS"));
  1250. rmap.put("RMD_ANAREASON",rs.getString("RMD_ANAREASON"));
  1251. rmap.put("RMD_REPAIR",rs.getString("RMD_REPAIR"));
  1252. rmap.put("RMD_REPAIRKIND",rs.getString("RMD_REPAIRKIND"));
  1253. rmap.put("RMD_DAYS",rs.getString("RMD_DAYS"));
  1254. rmap.put("RMD_MDM",rs.getString("RMD_MDM"));
  1255. rmap.put("RMD_TYPE",rs.getString("RMD_TYPE"));
  1256. rmap.put("RMD_DETNO",rs.getString("RMD_DETNO"));
  1257. return rmap;
  1258. }else{
  1259. oErrMessage = "无对应配置信息";
  1260. rmap.put("oErrMessage",oErrMessage);
  1261. return rmap;
  1262. }
  1263. }
  1264. private Map<Object,Object> GetProdInfo(JSONObject map,String Master){
  1265. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1266. String iSN=null;
  1267. String oErrMessage=null;
  1268. if(map.get("iSN")==null){
  1269. oErrMessage = "SN不能为空";
  1270. rmap.put("oErrMessage",oErrMessage);
  1271. return rmap;
  1272. }
  1273. iSN=map.get("iSN").toString();
  1274. String prcode=baseDao.getFieldDataByCondition(Master+".makeserial","ms_prodcode","ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')").toString();
  1275. SqlRowList rs=baseDao.queryForRowSet("select pid_item,pid_value from "+Master+".productitem left join "+Master+".productitemdetail on pi_id=pid_piid " +
  1276. "where pi_prodcode='"+prcode+"' and pid_item is not null");
  1277. while(rs.next()){
  1278. rmap.put(rs.getString("pid_item"),rs.getString("pid_value"));
  1279. }
  1280. return rmap;
  1281. /*if(rs.next()){
  1282. }else{
  1283. oErrMessage = "SN未查询到关联信息";
  1284. rmap.put("oErrMessage",oErrMessage);
  1285. return rmap;
  1286. }*/
  1287. }
  1288. private Map<Object,Object> GetMakeInfoByProd(JSONObject map,String Master)
  1289. {
  1290. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1291. String iSN=null;
  1292. String oErrMessage=null;
  1293. if(map.get("iSN")==null){
  1294. oErrMessage = "产品编号不能为空";
  1295. rmap.put("oErrMessage",oErrMessage);
  1296. return rmap;
  1297. }
  1298. iSN=map.get("iSN").toString();
  1299. SqlRowList rs=baseDao.queryForRowSet("select pr_remark1,pr_remark2,pr_remark3,pr_remark4,pr_remark5" +
  1300. ",pr_remark6,pr_remark7,pr_remark8 from "+Master+".Makeserial left join "+Master+".product on pr_code=ms_prodcode where ms_sncode='"+iSN+"' order by ms_id desc");
  1301. if(rs.next()){
  1302. rmap.put("oProdmark1",rs.getString("pr_remark1"));
  1303. rmap.put("oProdmark2",rs.getString("pr_remark2"));
  1304. rmap.put("oProdmark3",rs.getString("pr_remark3"));
  1305. rmap.put("oProdmark4",rs.getString("pr_remark4"));
  1306. rmap.put("oProdmark5",rs.getString("pr_remark5"));
  1307. rmap.put("oProdmark6",rs.getString("pr_remark6"));
  1308. rmap.put("oProdmark7",rs.getString("pr_remark7"));
  1309. rmap.put("oProdmark8",rs.getString("pr_remark8"));
  1310. return rmap;
  1311. }else{
  1312. oErrMessage = "产品未查询到关联信息";
  1313. rmap.put("oErrMessage",oErrMessage);
  1314. return rmap;
  1315. }
  1316. }
  1317. public Map<Object,Object> SetStepFinish(String iMakeCode, String iSourceCode, String iSN, String iMPKind, String iResult, String iUserCode, String iErrCode,String Master)
  1318. {
  1319. String oErrMessage = null;
  1320. Object StepCode = baseDao.getFieldDataByCondition(Master+".Makeserial", "ms_stepcode", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1321. String CurrentStep = GetStepCodeBySource(iSourceCode,Master);
  1322. Object BgCode = baseDao.getFieldDataByCondition(Master+".step", "nvl(st_badgroupcode,' ')", "st_code='" + CurrentStep + "'");
  1323. Map<Object, Object> rmap = new HashMap<>();
  1324. switch (iResult)
  1325. {
  1326. case "OK":
  1327. break;
  1328. case "NG":
  1329. if (iErrCode.equals("")||iErrCode==null)
  1330. {
  1331. oErrMessage = "测试结果为NG时必须传递不良代码";
  1332. rmap.put("oErrMessage",oErrMessage);
  1333. return rmap;
  1334. }
  1335. else
  1336. {
  1337. baseDao.updateByCondition(""+Master+".makebad", "mb_status=-1", "mb_sncode='" + iSN + "' and mb_makecode='" + iMakeCode + "' and mb_stepcode='" + CurrentStep + "' and mb_status=0");
  1338. String[] BadCode = iErrCode.split(",");
  1339. StringBuffer sql=new StringBuffer();
  1340. for (int i = 0; i < BadCode.length; i++)
  1341. {
  1342. if(!baseDao.checkIf(Master+".badcode","bc_code='"+ BadCode[i]+"'")){
  1343. oErrMessage = "不良代码"+BadCode[i]+"不存在";
  1344. rmap.put("oErrMessage",oErrMessage);
  1345. return rmap;
  1346. }
  1347. int mb_id = baseDao.getSeqId("makebad_seq");
  1348. sql.setLength(0);
  1349. sql.append("insert into "+Master+".makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,mb_indate,mb_stepcode");
  1350. sql.append(",mb_sourcecode,mb_badcode,mb_badtable,mb_bgcode,mb_soncode,mb_status) select '" + mb_id + "'");
  1351. sql.append(",ma_code,ms_code,ms_sncode,'" + iUserCode + "',sysdate,'" + CurrentStep + "','" + iSourceCode + "','" + BadCode[i] + "','',");
  1352. sql.append("'" + BgCode + "',sp_soncode,'0' from "+Master+".make left join "+Master+".makeSerial on ms_makecode=ma_code left join "+Master+".stepProduct on ");
  1353. sql.append("sp_mothercode=ma_prodcode and sp_stepcode=ms_nextstepcode where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1354. baseDao.execute(sql.toString());
  1355. }
  1356. //将不良的序列号的状态码设为3
  1357. //baseDao.execute("update "+Master+".makeserial set ms_status='3' where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1358. }
  1359. break;
  1360. default:
  1361. oErrMessage = "测试结果必须为NG或者OK";
  1362. rmap.put("oErrMessage",oErrMessage);
  1363. return rmap;
  1364. }
  1365. //不良采集为良品是更新
  1366. if (StepCode!=null &&StepCode.toString().equals(CurrentStep) && iResult == "OK")
  1367. {
  1368. Object[] ob = baseDao.getFieldsDataByCondition(Master+".makeserial", "ms_status,ms_craftcode,ms_prodcode", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1369. if (ob!=null)
  1370. {
  1371. String ms_status =ob[0].toString();
  1372. String ms_craftcode= ob[1].toString();
  1373. String ms_prodcode = ob[2].toString();
  1374. if (ms_status == "3")
  1375. {
  1376. String nextstepcode =baseDao.getFieldDataByCondition(Master+".craft left join "+Master+".craftdetail on cr_id=cd_crid ", "cd_nextstepcode", "cr_code='" + ms_craftcode + "' and cr_prodcode='" + ms_prodcode + "' and cd_stepcode='" + CurrentStep + "'").toString();
  1377. baseDao.updateByCondition(Master+".makeserial", "ms_status=1,ms_nextstepcode='" + nextstepcode + "'", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1378. baseDao.updateByCondition(Master+".makebad", "mb_status=-1", "mb_sncode='" + iSN + "' and mb_makecode='" + iMakeCode + "'");
  1379. }
  1380. }
  1381. }
  1382. return CS_SetFinish(iMakeCode, iSourceCode, iSN, iUserCode, iResult,Master);
  1383. }
  1384. private Map<Object,Object> CS_SetFinish(String iMakeCode, String iSourceCode, String iSN, String iUserCode, String iResult,String Master)
  1385. {
  1386. Map<Object, Object> rmap = new HashMap<>();
  1387. String oErrMessage=null;
  1388. List<String> list = new ArrayList<String>();
  1389. list = baseDao.callProcedureWithOut(Master+".CS_SETSTEPRESULT_TOOL", new Object[]{
  1390. String.valueOf(iMakeCode),
  1391. String.valueOf(iSourceCode),
  1392. String.valueOf(iSN),
  1393. String.valueOf(iUserCode),
  1394. String.valueOf(iResult),
  1395. }, new Integer[]{1, 2, 3, 4, 5}, new Integer[]{6});
  1396. oErrMessage = list.get(0);
  1397. rmap.put("oErrMessage",oErrMessage);
  1398. return rmap;
  1399. }
  1400. private String checkAccessKey(String accessKey,String requestId){
  1401. Object accessSecret_O = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_SECRET", "AE_KEY='" + accessKey + "'");
  1402. Object AE_MASTER = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_MASTER", "AE_KEY='" + accessKey + "'");
  1403. String accessSecret = accessSecret_O == null ? "" : accessSecret_O.toString();
  1404. // 检查KEY是否合理
  1405. if (StringUtils.isEmpty(accessKey) || StringUtils.isEmpty(accessSecret) || AE_MASTER== null || "".equals(AE_MASTER.toString())) {
  1406. ApiResult apiResult = new ApiResult(ErrorMessage.ACCESSKEY_ILLEGAL.getCode(),ErrorMessage.ACCESSKEY_ILLEGAL.getMessage(),requestId);
  1407. throw new ApiSystemException(apiResult);
  1408. }
  1409. return AE_MASTER.toString();
  1410. }
  1411. }