MESHelperServiceImpl.java 69 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882
  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 GetMEIOrNetCodeRangeByPo:
  70. remap = GetMEIOrNetCodeRangeByPo(json,AE_MASTER);
  71. break;
  72. case GetMechRevoKey:
  73. remap = GetMechRevoKey(json,AE_MASTER);
  74. break;
  75. case GetRcardMOInfo:
  76. remap = GetRcardMOInfo(json,AE_MASTER);
  77. break;
  78. case GetMobileAllInfo:
  79. remap = GetMobileAllInfo(json,AE_MASTER);
  80. break;
  81. case SetAddressInfo:
  82. remap = SetAddressInfo(json,AE_MASTER);
  83. break;
  84. case GetMaster:
  85. remap = GetMaster(json,AE_MASTER);
  86. break;
  87. case SetMobileData:
  88. remap = SetMobileData(json,AE_MASTER);
  89. break;
  90. case SetIMEIInfo:
  91. remap = SetIMEIInfo(json,AE_MASTER);
  92. break;
  93. case SetTestDetail:
  94. remap = SetTestDetail(json,AE_MASTER);
  95. break;
  96. case Set_Soft_Hard_WareInfo:
  97. remap = Set_Soft_Hard_WareInfo(json,AE_MASTER);
  98. break;
  99. case SetPcbaData:
  100. remap = SetPcbaData(json,AE_MASTER);
  101. break;
  102. case GetEDISN:
  103. remap = GetEDISN(json,AE_MASTER);
  104. break;
  105. case GetInfoByMaterial:
  106. remap = GetInfoByMaterial(json,AE_MASTER);
  107. break;
  108. case GetPCBABySN:
  109. remap = GetPCBABySN(json,AE_MASTER);
  110. break;
  111. case GetLCDBySN:
  112. remap = GetLCDBySN(json,AE_MASTER);
  113. break;
  114. case GetBatteryBySN:
  115. remap = GetBatteryBySN(json,AE_MASTER);
  116. break;
  117. case GoMo:
  118. remap = GoMo(json,AE_MASTER);
  119. break;
  120. case GetMakeInfoBySN:
  121. remap = GetMakeInfoBySN(json,AE_MASTER);
  122. break;
  123. case GetMakeInfoByProd:
  124. remap = GetMakeInfoByProd(json,AE_MASTER);
  125. break;
  126. case GetProdInfo:
  127. remap = GetProdInfo(json,AE_MASTER);
  128. break;
  129. case GetPSN:
  130. remap = GetPSN(json,AE_MASTER);
  131. break;
  132. case GetMakeRelation:
  133. remap = GetMakeRelation(json,AE_MASTER);
  134. break;
  135. case GetFeeReason:
  136. remap = GetFeeReason(json,AE_MASTER);
  137. break;
  138. case GetMakeSN:
  139. remap = GetMakeSN(json,AE_MASTER);
  140. break;
  141. case SetFeeReason:
  142. remap = SetFeeReason(json,AE_MASTER);
  143. break;
  144. case WriteMakeInfo:
  145. remap = WriteMakeInfo(json,AE_MASTER);
  146. break;
  147. case GetMakeInfo:
  148. remap = GetMakeInfo(json,AE_MASTER);
  149. break;
  150. case SetHashValue:
  151. remap = SetHashValue(json,AE_MASTER);
  152. break;
  153. case GetHashValue:
  154. remap = GetHashValue(json,AE_MASTER);
  155. break;
  156. case Weigh:
  157. remap = Weigh(json,AE_MASTER);
  158. break;
  159. default:
  160. err = -1;
  161. break;
  162. }
  163. if(err == -1){
  164. throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPEILLEGAL,requestId));
  165. }
  166. SpObserver.putSp(username);
  167. return remap;
  168. }
  169. @Override
  170. public JSONArray getFiles(String accessKey, String requestId, String id) {
  171. String AE_MASTER = checkAccessKey(accessKey, requestId);
  172. accessKey1=accessKey;
  173. SpObserver.putSp(AE_MASTER);
  174. String Master=AE_MASTER;
  175. JSONArray arr = new JSONArray();
  176. JSONObject obj = null;
  177. for (String i : id.split(";")) {
  178. if (i != null && !i.trim().equals("")) {
  179. SqlRowList rs = baseDao.queryForRowSet("SELECT * FROM "+Master+".FilePath WHERE fp_id=" + i);
  180. if(rs.next()){
  181. JSONObject o = new JSONObject();
  182. o.put("fp_id", i);
  183. o.put("fp_path", rs.getString("fp_path"));
  184. o.put("fp_size", rs.getInt("fp_size"));
  185. o.put("fp_name", rs.getString("fp_name"));
  186. o.put("fp_date", rs.getGeneralTimestamp("fp_date"));
  187. o.put("fp_man", rs.getString("fp_man"));
  188. arr.add(o);
  189. }
  190. }
  191. }
  192. return arr;
  193. }
  194. public Map<Object,Object> Weigh(JSONObject map,String Master) {
  195. Map<Object, Object> rmap = new HashMap<Object, Object>();
  196. String oErrMessage="";
  197. String iSN="";
  198. String iSource="";
  199. String weight="";
  200. String iUserCode="";
  201. if(map.get("iSN")==null){
  202. oErrMessage = "SN不能为空";
  203. rmap.put("oErrMessage",oErrMessage);
  204. return rmap;
  205. }
  206. if(map.get("iSource")==null){
  207. oErrMessage = "工序不能为空";
  208. rmap.put("oErrMessage",oErrMessage);
  209. return rmap;
  210. }
  211. if(map.get("iUserCode")==null){
  212. oErrMessage = "人员编号不能为空";
  213. rmap.put("oErrMessage",oErrMessage);
  214. return rmap;
  215. }
  216. if(map.get("weight")==null){
  217. oErrMessage = "重量不能为空";
  218. rmap.put("oErrMessage",oErrMessage);
  219. return rmap;
  220. }
  221. iSN=map.get("iSN").toString();
  222. iSource=map.get("iSource").toString();
  223. iUserCode=map.get("iUserCode").toString();
  224. weight=map.get("weight").toString().replaceAll("KG","");
  225. Object[] obj = baseDao.getFieldsDataByCondition(Master+".makeserial left join "+Master+".product on pr_code=ms_prodcode","pr_colorboxminw,pr_colorboxmaxw,ms_makecode","ms_id =(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  226. if(obj[0]!=null&&obj[1]!=null){
  227. //不在设置的重量范围内
  228. if(Double.parseDouble(weight)<Double.parseDouble(obj[0].toString())||Double.parseDouble(weight)>Double.parseDouble(obj[1].toString())){
  229. rmap.put("code",-1);
  230. rmap.put("message","SN["+iSN+"]重量为"+weight+",不符合重量范围"+obj[0]+"-"+obj[1]);
  231. Map<String, String> rmap1 = new HashMap<String, String>();
  232. rmap1.put("minWeight",obj[0].toString());
  233. rmap1.put("maxWeight",obj[1].toString());
  234. rmap1.put("machineModel","");
  235. rmap.put("dataInfo",rmap1);
  236. return rmap;
  237. }
  238. rmap.put("message","SN["+iSN+"]重量为"+weight+",符合重量范围"+obj[0]+"-"+obj[1]+",称重通过");
  239. Object ms_id=baseDao.getFieldDataByCondition(Master+".makeserial","max(ms_id)","ms_sncode='"+iSN+"'");
  240. baseDao.execute("update "+Master+".makeserial set ms_grossw ='"+weight+"' where ms_id="+ms_id);
  241. Map<String, String> rmap1 = new HashMap<String, String>();
  242. rmap1.put("minWeight",obj[0].toString());
  243. rmap1.put("maxWeight",obj[1].toString());
  244. rmap1.put("machineModel","");
  245. rmap.put("dataInfo",rmap1);
  246. return SetStepFinish(obj[2].toString(), iSource, iSN, "", "OK", iUserCode, "",Master);
  247. }else{
  248. oErrMessage = "未设置标准重量";
  249. rmap.put("oErrMessage",oErrMessage);
  250. return rmap;
  251. }
  252. }
  253. private Object SetPcbaData(String iSN,String iResCode,String iOperator,String iResult,String Master){
  254. //实际业务数据
  255. Map<Object, Object> rmap = new HashMap<>();
  256. String iErrCode = null;
  257. if(iSN==null){
  258. iErrCode = "SN不能为空";
  259. return iErrCode;
  260. }
  261. JSONObject map3=new JSONObject();
  262. map3.put("iSN",iSN);
  263. Map<Object, Object> map2=GetRcardMOInfo(map3,Master);
  264. String oMoCode=null;
  265. if(map2.get("oMoCode")!=null){
  266. oMoCode=map2.get("oMoCode").toString();
  267. }
  268. if (map2.get("oErrMessage")==null)
  269. map2= SetStepFinish(oMoCode, iResCode, iSN, "", iResult, iResCode, iErrCode,Master);
  270. return map2.get("oErrMessage");
  271. }
  272. private Map<Object,Object> GetHashValue(JSONObject map,String Master){
  273. Map<Object, Object> rmap = new HashMap<Object, Object>();
  274. String oErrMessage="";
  275. if(map.get("iSN")==null){
  276. oErrMessage = "SN不能为空";
  277. rmap.put("oErrMessage",oErrMessage);
  278. return rmap;
  279. }
  280. String iSN=map.get("iSN").toString();
  281. SqlRowList rs=baseDao.queryForRowSet("select MC_HASHVALUE from makecbr where MC_SNCODE='"+iSN+"'");
  282. if(rs.next()){
  283. rmap.put("oHashValue",rs.getString("MC_HASHVALUE"));
  284. }else{
  285. rmap.put("oHashValue","");
  286. }
  287. return rmap;
  288. }
  289. private Map<Object,Object> SetHashValue(JSONObject map,String Master){
  290. Map<Object, Object> rmap = new HashMap<Object, Object>();
  291. String oErrMessage="";
  292. if(map.get("iSN")==null){
  293. oErrMessage = "SN不能为空";
  294. rmap.put("oErrMessage",oErrMessage);
  295. return rmap;
  296. }
  297. if(map.get("iHashValue")==null){
  298. oErrMessage = "HashValue不能为空";
  299. rmap.put("oErrMessage",oErrMessage);
  300. return rmap;
  301. }
  302. String iSN=map.get("iSN").toString();
  303. String iHashValue=map.get("iHashValue").toString();
  304. Object makecode=baseDao.getFieldDataByCondition(Master+".makeserial","ms_makecode","ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  305. if(makecode==null){
  306. oErrMessage = "SN:"+iSN+"不存在";
  307. rmap.put("oErrMessage",oErrMessage);
  308. return rmap;
  309. }
  310. if(baseDao.checkIf("makecbr","mc_makecode='"+makecode+"' and mc_sncode='"+iSN+"'")){
  311. baseDao.execute("delete from makecbr where mc_makecode='"+makecode+"' and mc_sncode='"+iSN+"'");
  312. }
  313. baseDao.execute("insert into makecbr(MC_ID, MC_MAKECODE, MC_SNCODE, MC_HASHVALUE, MC_INDATE)" +
  314. "values(makecbr_seq.nextval,'"+makecode+"','"+iSN+"','"+iHashValue+"',sysdate)");
  315. rmap.put("oErrMessage",null);
  316. return rmap;
  317. }
  318. private Map<Object,Object> GetMakeInfo(JSONObject map,String Master){
  319. Map<Object, Object> rmap = new HashMap<Object, Object>();
  320. String iSN=null;
  321. String oErrMessage=null;
  322. // if(map.get("iSN")==null){
  323. // oErrMessage = "SN不能为空";
  324. // rmap.put("oErrMessage",oErrMessage);
  325. // return rmap;
  326. // }
  327. String iMakeCode;
  328. if(map.get("iMakeCode")!= null){
  329. iMakeCode=map.get("iMakeCode").toString();
  330. SqlRowList rs=baseDao.queryForRowSet("select distinct mid_item,mid_value,sid_item,sid_value from "+Master+".makeitem left join "+Master+".makeitemdetail on mi_id=mid_miid " +
  331. "left join make on mi_makecode=ma_code left join asus_product on" +
  332. " (ma_prodcode=ap_unboxedcode or ma_prodcode=ap_finishedcode) left join SOFTWAREITEMDETAIL on ap_custprodcode=sid_pn " +
  333. "where mi_makecode='"+iMakeCode+"' and mid_item is not null");
  334. while(rs.next()){
  335. rmap.put(rs.getString("mid_item"),rs.getString("mid_value"));
  336. if(rs.getString("sid_item")!=null){
  337. rmap.put(rs.getString("sid_item"),rs.getString("sid_value"));
  338. }
  339. }
  340. }else {
  341. iSN=map.get("iSN").toString();
  342. Object makecode=baseDao.getFieldDataByCondition(Master+".makeserial","ms_makecode","ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  343. if(makecode==null){
  344. oErrMessage = "SN不存在";
  345. rmap.put("oErrMessage",oErrMessage);
  346. return rmap;
  347. }
  348. SqlRowList rs=baseDao.queryForRowSet("select distinct mid_item,mid_value,sid_item,sid_value from "+Master+".makeitem left join "+Master+".makeitemdetail on mi_id=mid_miid " +
  349. "left join make on mi_makecode=ma_code left join asus_product on" +
  350. " (ma_prodcode=ap_unboxedcode or ma_prodcode=ap_finishedcode) left join SOFTWAREITEMDETAIL on ap_custprodcode=sid_pn " +
  351. "where mi_makecode='"+makecode+"' and mid_item is not null");
  352. while(rs.next()){
  353. rmap.put(rs.getString("mid_item"),rs.getString("mid_value"));
  354. if(rs.getString("sid_item")!=null){
  355. rmap.put(rs.getString("sid_item"),rs.getString("sid_value"));
  356. }
  357. }
  358. }
  359. return rmap;
  360. /*if(rs.next()){
  361. }else{
  362. oErrMessage = "SN未查询到关联信息";
  363. rmap.put("oErrMessage",oErrMessage);
  364. return rmap;
  365. }*/
  366. }
  367. private Map<Object,Object> WriteMakeInfo(JSONObject map,String Master){
  368. Map<Object, Object> rmap = new HashMap<Object, Object>();
  369. String oErrMessage=null;
  370. if(map.get("iMakeCode")==null){
  371. oErrMessage = "工单号不能为空";
  372. rmap.put("oErrMessage",oErrMessage);
  373. return rmap;
  374. }
  375. String MO=map.get("iMakeCode").toString();
  376. String Item=map.get("Item").toString();
  377. SqlRowList rs=baseDao.queryForRowSet("select * from "+Master+".makeitem where mi_makecode='"+MO+"'");
  378. //如果已经存在工单了
  379. if(rs.next()){
  380. String[] str=Item.split("\\|");
  381. String mi_id=rs.getString("mi_id");
  382. baseDao.execute("delete from "+Master+".makeitemdetail where mid_miid='"+mi_id+"'");
  383. for (int i=0;i<str.length;i++) {
  384. Object key = str[i].split("#")[0];
  385. Object value = str[i].split("#")[1];
  386. baseDao.execute("insert into "+Master+".makeitemdetail(mid_id,mid_miid,mid_item,mid_value)" +
  387. "values("+Master+".makeitemdetail_seq.nextval,'"+mi_id+"','"+key.toString()+"','"+value.toString()+"')");
  388. }
  389. }else {
  390. int mi_id = baseDao.getSeqId(Master+".makeitem_seq");
  391. String[] str=Item.split("\\|");
  392. baseDao.execute("insert into "+Master+".makeitem(mi_id,mi_makecode,mi_indate)values("+mi_id+",'"+MO+"',sysdate)");
  393. for (int i=0;i<str.length;i++) {
  394. Object key = str[i].split("#")[0];
  395. Object value = str[i].split("#")[1];
  396. baseDao.execute("insert into "+Master+".makeitemdetail(mid_id,mid_miid,mid_item,mid_value)" +
  397. "values("+Master+".makeitemdetail_seq.nextval,'"+mi_id+"','"+key.toString()+"','"+value.toString()+"')");
  398. }
  399. }
  400. return rmap;
  401. }
  402. private Map<Object,Object> GetMakeSN(JSONObject map,String Master){
  403. Map<Object, Object> rmap = new HashMap<Object, Object>();
  404. List<Map<String, Object>> maps = new ArrayList<>();
  405. String ma_custname="";
  406. String TIME_BEGIN="";
  407. String TIME_END="";
  408. String oErrMessage="";
  409. // if(map.get("MA_CUSTNAME")==null){
  410. // oErrMessage = "客户名称不能为空";
  411. // rmap.put("oErrMessage",oErrMessage);
  412. // return rmap;
  413. // }
  414. if(map.get("TIME_BEGIN")==null){
  415. oErrMessage = "开始时间不能为空";
  416. rmap.put("oErrMessage",oErrMessage);
  417. return rmap;
  418. }
  419. if(map.get("TIME_END")==null){
  420. oErrMessage = "结束时间不能为空";
  421. rmap.put("oErrMessage",oErrMessage);
  422. return rmap;
  423. }
  424. ma_custname=map.get("MA_CUSTNAME").toString();
  425. TIME_BEGIN=map.get("TIME_BEGIN").toString();
  426. TIME_END=map.get("TIME_END").toString();
  427. SqlRowList rs=baseDao.queryForRowSet("select sn from DeliveryIn " +
  428. " where DELIVERY between to_date('"+TIME_BEGIN+"','yyyy-mm-dd') " +
  429. "and to_date('"+TIME_END+"','yyyy-mm-dd') union select sn from Deliveryout " +
  430. "where DELIVERY between to_date('"+TIME_BEGIN+"','yyyy-mm-dd') " +
  431. "and to_date('"+TIME_END+"','yyyy-mm-dd') union select asd_sn from aftersaledet " +
  432. "where ASD_FINISHTIME between to_date('"+TIME_BEGIN+"','yyyy-mm-dd') " +
  433. "and to_date('"+TIME_END+"','yyyy-mm-dd') ");
  434. rmap.put("data",rs.getResultList());
  435. return rmap;
  436. }
  437. private Map<Object,Object> GetFeeReason(JSONObject map,String Master){
  438. Map<Object, Object> rmap = new HashMap<Object, Object>();
  439. String oErrMessage="";
  440. if(map.get("CT_ID")==null){
  441. oErrMessage = "单据ID不能为空";
  442. rmap.put("oErrMessage",oErrMessage);
  443. return rmap;
  444. }
  445. 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" +
  446. " from "+Master+".CUSTOMTABLE where ct_id="+map.get("CT_ID") +" and ct_caller='MakeFee'");
  447. if(rs.next()){
  448. for(String key:rs.getCurrentMap().keySet()){
  449. rmap.put(key,rs.getCurrentMap().get(key));
  450. }
  451. return rmap;
  452. }else {
  453. oErrMessage = "单据ID不存在";
  454. rmap.put("oErrMessage",oErrMessage);
  455. return rmap;
  456. }
  457. }
  458. private Map<Object,Object> SetFeeReason(JSONObject map,String Master){
  459. Map<Object, Object> rmap = new HashMap<Object, Object>();
  460. String formstore=map.get("data").toString();
  461. Map<Object, Object> gstore = BaseUtil.parseFormStoreToMap(formstore);
  462. String gridSql = SqlUtil.getUpdateSqlByFormStore(gstore,Master+".CUSTOMTABLE", "CT_ID");
  463. baseDao.execute(gridSql);
  464. return null;
  465. }
  466. private Map<Object,Object> GoMo(JSONObject map,String Master){
  467. Map<Object, Object> rmap = new HashMap<Object, Object>();
  468. String iSN=null;
  469. String iResCode=null;
  470. String iMo=null;
  471. String oErrMessage=null;
  472. if(map.get("iMo")==null){
  473. oErrMessage = "工单号不能为空";
  474. rmap.put("oErrMessage",oErrMessage);
  475. return rmap;
  476. }
  477. if(map.get("iResCode")==null){
  478. oErrMessage = "岗位资源不能为空";
  479. rmap.put("oErrMessage",oErrMessage);
  480. return rmap;
  481. }
  482. if(map.get("iSN")==null){
  483. oErrMessage = "SN不能为空";
  484. rmap.put("oErrMessage",oErrMessage);
  485. return rmap;
  486. }
  487. iSN=map.get("iSN").toString();
  488. iResCode=map.get("iResCode").toString();
  489. iMo=map.get("iMo").toString();
  490. List<String> list = new ArrayList<String>();
  491. list = baseDao.callProcedureWithOut(Master+".CS_CHECKSTEPSNANDMACODE", new Object[]{
  492. String.valueOf(iMo),
  493. String.valueOf(iResCode),
  494. String.valueOf(iSN),
  495. String.valueOf("")
  496. }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
  497. oErrMessage=list.get(2);
  498. 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<>' '))");
  499. String ms_status = "";
  500. String ms_stepcode = "";
  501. String ms_nextstepcode = "";
  502. if(rs.next()){
  503. ms_status= rs.getString("ms_status");
  504. ms_stepcode=rs.getString("ms_stepcode");
  505. ms_nextstepcode=rs.getString("ms_nextstepcode");
  506. }
  507. String stepcode = GetStepCodeBySource(iResCode,Master);
  508. if ( oErrMessage == null || (ms_status == "3" && ms_stepcode == stepcode))
  509. {
  510. if (ms_status == "3")
  511. {
  512. oErrMessage = null;
  513. }
  514. }
  515. rmap.put("oErrMessage",oErrMessage);
  516. return rmap;
  517. }
  518. private Map<Object,Object> GetPCBABySN(JSONObject map,String Master){
  519. Map<Object, Object> rmap = new HashMap<Object, Object>();
  520. String iSN="";
  521. String oErrMessage="";
  522. if(map.get("iSN")==null){
  523. oErrMessage = "SN不能为空";
  524. rmap.put("oErrMessage",oErrMessage);
  525. return rmap;
  526. }
  527. iSN=map.get("iSN").toString();
  528. SqlRowList rs=baseDao.queryForRowSet("select ms_firstsn from "+Master+".makeserial where ms_sncode='"+iSN+"' order by ms_id desc");
  529. if(rs.next()){
  530. rs=baseDao.queryForRowSet("select cm_barcode from "+Master+".craftmaterial left join "+Master+".product on cm_fsoncode=pr_code " +
  531. "where cm_firstsn='"+rs.getString("ms_firstsn")+"' and cm_status=0 and (pr_detail like '%主板 PCBA%' or pr_detail like '%主板%')");
  532. if(rs.next()){
  533. rmap.put("oPCBA",rs.getString("cm_barcode"));
  534. }
  535. }
  536. return rmap;
  537. }
  538. private Map<Object,Object> GetLCDBySN(JSONObject map,String Master){
  539. Map<Object, Object> rmap = new HashMap<Object, Object>();
  540. String iSN="";
  541. String oErrMessage="";
  542. if(map.get("iSN")==null){
  543. oErrMessage = "SN不能为空";
  544. rmap.put("oErrMessage",oErrMessage);
  545. return rmap;
  546. }
  547. iSN=map.get("iSN").toString();
  548. SqlRowList rs=baseDao.queryForRowSet("select ms_firstsn from "+Master+".makeserial where ms_sncode='"+iSN+"' order by ms_id desc");
  549. if(rs.next()){
  550. rs=baseDao.queryForRowSet("select cm_barcode from "+Master+".craftmaterial left join "+Master+".product on cm_fsoncode=pr_code " +
  551. "where cm_firstsn='"+rs.getString("ms_firstsn")+"' and cm_status=0 and (pr_kind2='屏')");
  552. if(rs.next()){
  553. rmap.put("oPCBA",rs.getString("cm_barcode"));
  554. }
  555. }
  556. return rmap;
  557. }
  558. private Map<Object,Object> GetBatteryBySN(JSONObject map,String Master){
  559. Map<Object, Object> rmap = new HashMap<Object, Object>();
  560. String iSN="";
  561. String oErrMessage="";
  562. if(map.get("iSN")==null){
  563. oErrMessage = "SN不能为空";
  564. rmap.put("oErrMessage",oErrMessage);
  565. return rmap;
  566. }
  567. iSN=map.get("iSN").toString();
  568. SqlRowList rs=baseDao.queryForRowSet("select ms_firstsn from "+Master+".makeserial where ms_sncode='"+iSN+"' order by ms_id desc");
  569. if(rs.next()){
  570. rs=baseDao.queryForRowSet("select cm_barcode from "+Master+".craftmaterial left join "+Master+".product on cm_fsoncode=pr_code " +
  571. "where cm_firstsn='"+rs.getString("ms_firstsn")+"' and cm_status=0 and (pr_kind2='电池')");
  572. if(rs.next()){
  573. rmap.put("oPCBA",rs.getString("cm_barcode"));
  574. }
  575. }
  576. return rmap;
  577. }
  578. private Map<Object,Object> GetInfoByMaterial(JSONObject map,String Master){
  579. Map<Object, Object> rmap = new HashMap<Object, Object>();
  580. String iPCBA=null;
  581. String oErrMessage=null;
  582. if(map.get("iPCBA")==null){
  583. oErrMessage = "主板SN不能为空";
  584. rmap.put("oErrMessage",oErrMessage);
  585. return rmap;
  586. }
  587. iPCBA=map.get("iPCBA").toString();
  588. 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");
  589. if(rs.next()){
  590. if(!rs.getString("ms_id").equals("0")){
  591. 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")+"'");
  592. if (rs.next()){
  593. rmap.put("oSN",rs.getString("ms_sncode"));
  594. rmap.put("oBIOS",rs.getString("ma_bios"));
  595. rmap.put("oEC",rs.getString("ma_ec"));
  596. rmap.put("oHardWare",rs.getString("ma_hardware"));
  597. rmap.put("oMaster",Master);
  598. }
  599. }else{
  600. oErrMessage = "主板SN未查询到关联信息";
  601. rmap.put("oErrMessage",oErrMessage);
  602. return rmap;
  603. }
  604. }
  605. return rmap;
  606. }
  607. private Map<Object,Object> CheckRoutePassed(JSONObject map,String Master){
  608. //实际业务数据
  609. Map<Object, Object> rmap = new HashMap<>();
  610. String iSN=map.get("iSN").toString();
  611. String iResCode=map.get("iResCode").toString();
  612. String oErrMessage="";
  613. if (iSN ==null)
  614. {
  615. oErrMessage = "SN不能为空";
  616. }
  617. List<String> list = new ArrayList<String>();
  618. list = baseDao.callProcedureWithOut(Master+".CS_CHECKSTEPSNANDMACODE", new Object[]{
  619. String.valueOf(""),
  620. String.valueOf(iResCode),
  621. String.valueOf(iSN),
  622. String.valueOf("")
  623. }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
  624. oErrMessage=list.get(2);
  625. if(oErrMessage!=null){
  626. rmap.put("oErrMessage",oErrMessage);
  627. return rmap;
  628. }
  629. 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<>' '))");
  630. String ms_status = "";
  631. String ms_stepcode = "";
  632. String ms_nextstepcode = "";
  633. if(rs.next()){
  634. ms_status= rs.getString("ms_status");
  635. ms_stepcode=rs.getString("ms_stepcode");
  636. ms_nextstepcode=rs.getString("ms_nextstepcode");
  637. }
  638. String stepcode = GetStepCodeBySource(iResCode,Master);
  639. if (ms_nextstepcode != "" && !ms_nextstepcode.equals(stepcode))
  640. {
  641. oErrMessage = "当前序列号下一工序" + ms_nextstepcode;
  642. }
  643. rmap.put("oErrMessage",oErrMessage);
  644. return rmap;
  645. }
  646. private Map<Object,Object> CheckUserAndResourcePassed(JSONObject map,String Master){
  647. //实际业务数据
  648. Map<Object, Object> rmap = new HashMap<>();
  649. String oErrMessage = null;
  650. if (map.get("iUserCode") == null || map.get("iResCode") == null || map.get("iPassWord") == null)
  651. {
  652. oErrMessage = "用户名,密码,岗位资源必须填写";
  653. rmap.put("oErrMessage",oErrMessage);
  654. return rmap;
  655. }
  656. String iUserCode=map.get("iUserCode").toString();
  657. String iPassWord=map.get("iPassWord").toString();
  658. String iResCode=map.get("iResCode").toString();
  659. if (CheckUserLogin(iUserCode, iPassWord,Master))
  660. {
  661. String SQL = "select em_code,em_type,em_name from "+Master+".employee where em_code=? ";
  662. SqlRowList rs = baseDao.queryForRowSet(SQL, iUserCode);
  663. if (rs.next())
  664. {
  665. String em_name = rs.getString("em_name");
  666. String em_type = rs.getString("em_type");
  667. if (iResCode ==null)
  668. {
  669. oErrMessage = "岗位资源不允许为空";
  670. rmap.put("oErrMessage",oErrMessage);
  671. return rmap;
  672. }
  673. if (em_type.equals("admin"))
  674. {
  675. if (!baseDao.checkIf(""+Master+".Source", "sc_code='" + iResCode + "' and sc_statuscode='AUDITED'"))
  676. {
  677. oErrMessage = "岗位资源编号错误或者未审核!";
  678. }
  679. }
  680. else
  681. {
  682. 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'");
  683. //如果存在该编号
  684. if (rs1.next())
  685. {
  686. //判断如果多个岗位资源存在,用户输入的只要在其中就行
  687. while (rs.next())
  688. {
  689. if (!rs.getString("ur_resourcecode").equals("iResCode")){
  690. oErrMessage = "用户不处于当前资源所属分组!";
  691. }else
  692. {
  693. oErrMessage=null;
  694. continue;
  695. }
  696. }
  697. }
  698. else
  699. oErrMessage = "岗位资源编号错误或者未审核!";
  700. }
  701. }
  702. else
  703. oErrMessage = "用户不存在!";
  704. }else{
  705. oErrMessage = "用户名密码不正确!";
  706. }
  707. rmap.put("oErrMessage",oErrMessage);
  708. return rmap;
  709. }
  710. private Map<Object,Object> GetAddressRangeByMO(JSONObject map,String Master){
  711. //实际业务数据
  712. Map<Object, Object> rmap = new HashMap<>();
  713. String iSN="";
  714. String oErrMessage = null;
  715. String oWIFI = "";
  716. String oBT = "";
  717. String oNetCard = "";
  718. String oCode1 = "";
  719. String oCode2 = "";
  720. String oCode3 = "";
  721. if(map.get("iSN")==null){
  722. oErrMessage = "SN不能为空";
  723. rmap.put("oErrMessage",oErrMessage);
  724. return rmap;
  725. }
  726. iSN=map.get("iSN").toString();
  727. //判断工单是否归属
  728. JSONObject map3=new JSONObject();
  729. map3.put("iSN",iSN);
  730. Map<Object, Object> map2=GetRcardMOInfo(map3,Master);
  731. if(map2.get("oErrMessage")!=null){
  732. oErrMessage=map2.get("oErrMessage").toString();
  733. rmap.put("oErrMessage",oErrMessage);
  734. return rmap;
  735. }
  736. List<String> list = new ArrayList<String>();
  737. list = baseDao.callProcedureWithOut(Master+".CS_GETADDRESSBYMAKECODE_TOOL", new Object[]{
  738. String.valueOf(iSN),
  739. String.valueOf(map2.get("oMoCode").toString()),
  740. }, new Integer[]{1,2}, new Integer[]{3,4,5,6,7,8,9});
  741. oWIFI = list.get(0);
  742. oBT = list.get(1);
  743. oNetCard = list.get(2);
  744. oCode1 = list.get(3);
  745. oCode2 = list.get(4);
  746. oCode3 = list.get(5);
  747. oErrMessage= list.get(6);
  748. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  749. rmap.put("oWIFI",oWIFI);
  750. rmap.put("oBT",oBT);
  751. rmap.put("oNetCard",oNetCard);
  752. rmap.put("oCode1",oCode1);
  753. rmap.put("oCode2",oCode2);
  754. rmap.put("oCode3",oCode3);
  755. }
  756. else
  757. rmap.put("oErrMessage",oErrMessage);
  758. return rmap;
  759. }
  760. private Map<Object,Object> GetMEIOrNetCodeRange(JSONObject map,String Master){
  761. //实际业务数据
  762. Map<Object, Object> rmap = new HashMap<>();
  763. String iSN="";
  764. String oErrMessage = null;
  765. String oIMEI1 = "";
  766. String oIMEI2 = "";
  767. String oMEID = "";
  768. String oNetCode = "";
  769. String oPSN = "";
  770. String oID1 = "";
  771. String oID2 = "";
  772. String oID3 = "";
  773. String oKeyID = "";
  774. String oHashValue = "";
  775. if(map.get("iSN")==null){
  776. oErrMessage = "SN不能为空";
  777. rmap.put("oErrMessage",oErrMessage);
  778. return rmap;
  779. }
  780. if(map.get("iIMEI1")!=null){
  781. oIMEI1=map.get("iIMEI1").toString();
  782. }
  783. if(map.get("iNetCode")!=null){
  784. oNetCode=map.get("iNetCode").toString();
  785. }
  786. iSN=map.get("iSN").toString();
  787. List<String> list = new ArrayList<String>();
  788. list = baseDao.callProcedureWithOut(Master+".CS_GETIMEIORNETCODERANGE_T", new Object[]{
  789. String.valueOf(iSN),
  790. String.valueOf(""),
  791. String.valueOf(oIMEI1),
  792. String.valueOf(oNetCode),
  793. }, new Integer[]{1,2,3,4}, new Integer[]{5,6,7,8,9,10,11,12,13,14,15,16});
  794. oIMEI1 = list.get(0);
  795. oIMEI2 = list.get(1);
  796. oMEID = list.get(3);
  797. oNetCode = list.get(4);
  798. oPSN = list.get(5);
  799. oID1 = list.get(6);
  800. oID2 = list.get(7);
  801. oID3 = list.get(8);
  802. oKeyID = list.get(9);
  803. oHashValue = list.get(10);
  804. oErrMessage= list.get(11);
  805. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  806. rmap.put("oIMEI1",oIMEI1);
  807. rmap.put("oIMEI2",oIMEI2);
  808. rmap.put("oMEID",oMEID);
  809. rmap.put("oNetCode",oNetCode);
  810. rmap.put("oPSN",oPSN);
  811. rmap.put("oID1",oID1);
  812. rmap.put("oID2",oID2);
  813. rmap.put("oID3",oID3);
  814. rmap.put("oKeyID",oKeyID);
  815. rmap.put("oHashValue",oHashValue);
  816. }
  817. else
  818. rmap.put("oErrMessage",oErrMessage);
  819. return rmap;
  820. }
  821. private Map<Object,Object> GetMechRevoKey(JSONObject map,String Master){
  822. Map<Object, Object> rmap = new HashMap<>();
  823. String iSN="";
  824. String MK_DPK="";
  825. String MK_DPKID="";
  826. String oErrMessage="";
  827. if(map.get("iSN")==null){
  828. oErrMessage = "SN不能为空";
  829. rmap.put("oErrMessage",oErrMessage);
  830. return rmap;
  831. }
  832. List<String> list = new ArrayList<String>();
  833. iSN=map.get("iSN").toString();
  834. list = baseDao.callProcedureWithOut(Master+".CS_GETMECHREVOKYE", new Object[]{
  835. String.valueOf(iSN),
  836. String.valueOf(""),
  837. }, new Integer[]{1,2}, new Integer[]{3,4,5});
  838. MK_DPK = list.get(0);
  839. MK_DPKID = list.get(1);
  840. oErrMessage= list.get(2);
  841. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  842. rmap.put("oDPK",MK_DPK);
  843. rmap.put("oDPKID",MK_DPKID);
  844. }
  845. else
  846. rmap.put("oErrMessage",oErrMessage);
  847. return rmap;
  848. }
  849. private Map<Object,Object> GetMEIOrNetCodeRangeByPo(JSONObject map,String Master){
  850. //实际业务数据
  851. Map<Object, Object> rmap = new HashMap<>();
  852. String iSN="";
  853. String oErrMessage = null;
  854. String oIMEI1 = "";
  855. String oIMEI2 = "";
  856. String oMEID = "";
  857. String oNetCode = "";
  858. String oPSN = "";
  859. String oID1 = "";
  860. String oID2 = "";
  861. String oID3 = "";
  862. String oKeyID = "";
  863. String oHashValue = "";
  864. if(map.get("iSN")==null){
  865. oErrMessage = "SN不能为空";
  866. rmap.put("oErrMessage",oErrMessage);
  867. return rmap;
  868. }
  869. if(map.get("iIMEI1")!=null){
  870. oIMEI1=map.get("iIMEI1").toString();
  871. }
  872. if(map.get("iNetCode")!=null){
  873. oNetCode=map.get("iNetCode").toString();
  874. }
  875. iSN=map.get("iSN").toString();
  876. List<String> list = new ArrayList<String>();
  877. list = baseDao.callProcedureWithOut(Master+".CS_GETIMEIORNETCODERANGEBYPO_T", new Object[]{
  878. String.valueOf(iSN),
  879. String.valueOf(""),
  880. String.valueOf(oIMEI1),
  881. String.valueOf(oNetCode),
  882. }, new Integer[]{1,2,3,4}, new Integer[]{5,6,7,8,9,10,11,12,13,14,15,16});
  883. oIMEI1 = list.get(0);
  884. oIMEI2 = list.get(1);
  885. oMEID = list.get(3);
  886. oNetCode = list.get(4);
  887. oPSN = list.get(5);
  888. oID1 = list.get(6);
  889. oID2 = list.get(7);
  890. oID3 = list.get(8);
  891. oKeyID = list.get(9);
  892. oHashValue = list.get(10);
  893. oErrMessage= list.get(11);
  894. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  895. rmap.put("oIMEI1",oIMEI1);
  896. rmap.put("oIMEI2",oIMEI2);
  897. rmap.put("oMEID",oMEID);
  898. rmap.put("oNetCode",oNetCode);
  899. rmap.put("oPSN",oPSN);
  900. rmap.put("oID1",oID1);
  901. rmap.put("oID2",oID2);
  902. rmap.put("oID3",oID3);
  903. rmap.put("oKeyID",oKeyID);
  904. rmap.put("oHashValue",oHashValue);
  905. }
  906. else
  907. rmap.put("oErrMessage",oErrMessage);
  908. return rmap;
  909. }
  910. private Map<Object,Object> GetRcardMOInfo(JSONObject map,String Master){
  911. //实际业务数据
  912. Map<Object, Object> rmap = new HashMap<>();
  913. //取MakeProcess表中的执行记录ID最大的一个工单的号码
  914. String oErrMessage = null;
  915. if(map.get("iSN")==null){
  916. oErrMessage = "SN不能为空";
  917. rmap.put("oErrMessage",oErrMessage);
  918. return rmap;
  919. }
  920. String iSN=map.get("iSN").toString();
  921. StringBuffer sql=new StringBuffer();
  922. sql.append("select max(ms_id)ms_id from "+Master+".makeserial where ms_sncode in (select '" + iSN + "' from dual union select sn from ");
  923. sql.append(""+Master+".makesnrelation where beforesn='" + iSN + "' and sn<>' ' union select beforesn from "+Master+".makesnrelation where sn='" + iSN + "' and beforesn<>' ')");
  924. SqlRowList rs = baseDao.queryForRowSet(sql.toString());
  925. String ms_id="";
  926. if(rs.next()){
  927. if(rs.getString("ms_id")==null){
  928. oErrMessage = "序列号:" + iSN + " 未归属工单";
  929. rmap.put("oErrMessage",oErrMessage);
  930. return rmap;
  931. }
  932. else{
  933. ms_id= rs.getString("ms_id");
  934. }
  935. }
  936. Object[] oMoCode = baseDao.getFieldsDataByCondition(Master+".MakeSerial", "ms_makecode,ms_prodcode", "ms_id='" + ms_id + "'");
  937. if (oMoCode != null){
  938. rmap.put("oMoCode",oMoCode[0]);
  939. rmap.put("oPrCode",oMoCode[1]);
  940. oErrMessage= null;
  941. }
  942. else
  943. {
  944. oErrMessage = "序列号:" + iSN + " 未归属工单";
  945. }
  946. rmap.put("oErrMessage",oErrMessage);
  947. return rmap;
  948. }
  949. private Map<Object,Object> GetMobileAllInfo(JSONObject map,String Master){
  950. //实际业务数据
  951. Map<Object, Object> rmap = new HashMap<>();
  952. String iSN="";
  953. String oErrMessage = null;
  954. String oIMEI1 = "";
  955. String oIMEI2 = "";
  956. String oMEID = "";
  957. String oNetCode = "";
  958. String oPSN = "";
  959. String oID1 = "";
  960. String oID2 = "";
  961. String oID3 = "";
  962. String oID4 = "";
  963. String oID5 = "";
  964. String oWIFI = "";
  965. String oBT = "";
  966. String oCode1 = "";
  967. String oCode2 = "";
  968. String oCode3 = "";
  969. if(map.get("iSN")==null){
  970. oErrMessage = "SN不能为空";
  971. rmap.put("oErrMessage",oErrMessage);
  972. return rmap;
  973. }
  974. iSN=map.get("iSN").toString();
  975. Object ms_id =baseDao.getFieldDataByCondition(Master+".makeserial", "max(ms_id)", "ms_sncode='" + iSN + "'");
  976. if(ms_id!=null)
  977. {
  978. 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());
  979. if(rs.next()){
  980. oWIFI = rs.getString("ms_mac");
  981. oBT = rs.getString("ms_bt");
  982. oPSN = rs.getString("ms_psn");
  983. oNetCode = rs.getString("ms_netcode");
  984. oMEID = rs.getString("ms_meid");
  985. oIMEI1 = rs.getString("ms_imei1");
  986. oIMEI2 = rs.getString("ms_imei2");
  987. oCode1 = rs.getString("ms_othcode1");
  988. oCode2 = rs.getString("ms_othcode2");
  989. oCode3 = rs.getString("ms_othcode3");
  990. oID1 = rs.getString("ms_othid3");
  991. oID2 = rs.getString("ms_othid3");
  992. oID3 = rs.getString("ms_othid3");
  993. }
  994. }else
  995. {
  996. oErrMessage = "序列号" + iSN + "不存在";
  997. rmap.put("oErrMessage",oErrMessage);
  998. return rmap;
  999. }
  1000. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  1001. rmap.put("oIMEI1",oIMEI1);
  1002. rmap.put("oIMEI2",oIMEI2);
  1003. rmap.put("oMEID",oMEID);
  1004. rmap.put("oNetCode",oNetCode);
  1005. rmap.put("oPSN",oPSN);
  1006. rmap.put("oID1",oID1);
  1007. rmap.put("oID2",oID2);
  1008. rmap.put("oID3",oID3);
  1009. rmap.put("oID4",oID4);
  1010. rmap.put("oID5",oID5);
  1011. rmap.put("oWIFI",oWIFI);
  1012. rmap.put("oBT",oBT);
  1013. rmap.put("oCode1",oCode1);
  1014. rmap.put("oCode2",oCode2);
  1015. rmap.put("oCode3",oCode3);
  1016. }
  1017. else
  1018. rmap.put("oErrMessage",oErrMessage);
  1019. return rmap;
  1020. }
  1021. private Map<Object,Object> SetAddressInfo(JSONObject map,String Master){
  1022. //实际业务数据
  1023. Map<Object, Object> rmap = new HashMap<>();
  1024. String oErrMessage = null;
  1025. if(map.get("iSN")==null){
  1026. oErrMessage = "SN不能为空";
  1027. rmap.put("oErrMessage",oErrMessage);
  1028. return rmap;
  1029. }
  1030. String iSN=map.get("iSN").toString();
  1031. String iWIFI = null;
  1032. String iBT = null;
  1033. String iNetCard=null;
  1034. String iNetCard2=null;
  1035. String iCode1 = null;
  1036. String iCode2 = null;
  1037. String iCode3 = null;
  1038. if(map.get("iMAC")!=null){
  1039. iWIFI=map.get("iMAC").toString();
  1040. }
  1041. if(map.get("iWIFI")!=null){
  1042. iWIFI=map.get("iWIFI").toString();
  1043. }
  1044. if(map.get("iBT")!=null){
  1045. iBT=map.get("iBT").toString();
  1046. }
  1047. if(map.get("iNetCard")!=null){
  1048. iNetCard=map.get("iNetCard").toString();
  1049. }
  1050. if(map.get("iNetCard2")!=null){
  1051. iNetCard2=map.get("iNetCard2").toString();
  1052. }
  1053. if(map.get("iCode1")!=null){
  1054. iCode1=map.get("iCode1").toString();
  1055. }
  1056. if(map.get("iCode2")!=null){
  1057. iCode2=map.get("iCode2").toString();
  1058. }
  1059. if(map.get("iCode3")!=null){
  1060. iCode3=map.get("iCode3").toString();
  1061. }
  1062. List<String> list = new ArrayList<String>();
  1063. list = baseDao.callProcedureWithOut(Master+".CS_SETADDRESSINFO_TOOL_NEW", new Object[]{
  1064. String.valueOf(iSN),
  1065. String.valueOf(iWIFI),
  1066. String.valueOf(iBT),
  1067. String.valueOf(iNetCard),
  1068. String.valueOf(iNetCard2),
  1069. String.valueOf(iCode1),
  1070. String.valueOf(iCode2),
  1071. String.valueOf(iCode3)
  1072. }, new Integer[]{1, 2, 3, 4, 5, 6,7,8}, new Integer[]{9});
  1073. oErrMessage = list.get(0);
  1074. rmap.put("oErrMessage",oErrMessage);
  1075. return rmap;
  1076. }
  1077. private Map<Object,Object> GetMaster(JSONObject map,String Master){
  1078. //实际业务数据
  1079. Map<Object, Object> rmap = new HashMap<>();
  1080. SqlRowList rs=baseDao.queryForRowSet("select ma_user,AE_KEY,AE_SECRET from mes.master left join MES.APIEMPLOYEE B on ma_user=ae_master");
  1081. while(rs.next())
  1082. {
  1083. rmap.put(rs.getString("ma_user"),rs.getString("AE_KEY")+"|"+rs.getString("AE_SECRET"));
  1084. }
  1085. return rmap;
  1086. }
  1087. private Map<Object,Object> SetMobileData(JSONObject map,String Master){
  1088. //实际业务数据
  1089. Map<Object, Object> rmap = new HashMap<>();
  1090. String oErrMessage = null;
  1091. if(map.get("iSN")==null||map.get("iTSN")==null){
  1092. oErrMessage = "SN不能为空";
  1093. rmap.put("oErrMessage",oErrMessage);
  1094. return rmap;
  1095. }
  1096. String iSN=map.get("iSN").toString();
  1097. String iTSN=map.get("iTSN").toString();
  1098. String iSourceCode = null;
  1099. String iOperater = null;
  1100. String iResult = null;
  1101. String flag = null;
  1102. String iErrCode = null;
  1103. if(map.get("iSourceCode")!=null){
  1104. iSourceCode=map.get("iSourceCode").toString();
  1105. }
  1106. if(map.get("iResCode")!=null){
  1107. iSourceCode=map.get("iResCode").toString();
  1108. }
  1109. if(map.get("iOperater")!=null){
  1110. iOperater=map.get("iOperater").toString();
  1111. }
  1112. if(map.get("iResult")!=null){
  1113. iResult=map.get("iResult").toString();
  1114. }
  1115. if(map.get("flag")!=null){
  1116. flag=map.get("flag").toString();
  1117. }
  1118. if(map.get("iErrCode")!=null){
  1119. iErrCode=map.get("iErrCode").toString();
  1120. }
  1121. List<String> list = new ArrayList<String>();
  1122. list = baseDao.callProcedureWithOut(Master+".CS_DLLSNCHANGE_TOOL", new Object[]{
  1123. String.valueOf(iTSN),
  1124. String.valueOf(iSN),
  1125. String.valueOf(iSourceCode),
  1126. String.valueOf(iOperater),
  1127. String.valueOf(iResult),
  1128. String.valueOf(iErrCode),
  1129. }, new Integer[]{1, 2, 3, 4, 5, 6}, new Integer[]{7});
  1130. oErrMessage = list.get(0);
  1131. rmap.put("oErrMessage",oErrMessage);
  1132. return rmap;
  1133. }
  1134. private Map<Object,Object> SetIMEIInfo(JSONObject map,String Master){
  1135. //实际业务数据
  1136. Map<Object, Object> rmap = new HashMap<>();
  1137. String oErrMessage = null;
  1138. if(map.get("iSN")==null){
  1139. oErrMessage = "SN不能为空";
  1140. rmap.put("oErrMessage",oErrMessage);
  1141. return rmap;
  1142. }
  1143. String iSN=map.get("iSN").toString();
  1144. String iIMEI1=null;
  1145. String iIMEI2 = null;
  1146. String iIMEI3 = null;
  1147. String iMEID = null;
  1148. String iNET = null;
  1149. String iID1 = null;
  1150. String iID2 = null;
  1151. String iID3 = null;
  1152. String iKeyID = null;
  1153. String iHashValue = null;
  1154. if(map.get("iIMEI1")!=null){
  1155. iIMEI1=map.get("iIMEI1").toString();
  1156. }
  1157. if(map.get("iIMEI2")!=null){
  1158. iIMEI2=map.get("iIMEI2").toString();
  1159. }
  1160. if(map.get("iIMEI3")!=null){
  1161. iIMEI3=map.get("iIMEI3").toString();
  1162. }
  1163. if(map.get("iMEID")!=null){
  1164. iMEID=map.get("iMEID").toString();
  1165. }
  1166. if(map.get("iNET")!=null){
  1167. iNET=map.get("iNET").toString();
  1168. }
  1169. if(map.get("iID1")!=null){
  1170. iID1=map.get("iID1").toString();
  1171. }
  1172. if(map.get("iID2")!=null){
  1173. iID2=map.get("iID2").toString();
  1174. }
  1175. if(map.get("iID3")!=null){
  1176. iID3=map.get("iID3").toString();
  1177. }
  1178. if(map.get("iKeyID")!=null){
  1179. iKeyID=map.get("iKeyID").toString();
  1180. }
  1181. if(map.get("iHashValue")!=null){
  1182. iHashValue=map.get("iHashValue").toString();
  1183. }
  1184. List<String> list = new ArrayList<String>();
  1185. list = baseDao.callProcedureWithOut(Master+".CS_SETIMEIINFO_NEW", new Object[]{
  1186. String.valueOf(iSN),
  1187. String.valueOf(iIMEI1),
  1188. String.valueOf(iIMEI2),
  1189. String.valueOf(iIMEI3),
  1190. String.valueOf(iMEID),
  1191. String.valueOf(iNET),
  1192. String.valueOf(""),
  1193. String.valueOf(iID1),
  1194. String.valueOf(iID2),
  1195. String.valueOf(iID3),
  1196. String.valueOf(iKeyID),
  1197. String.valueOf(iHashValue),
  1198. }, new Integer[]{1, 2, 3, 4, 5, 6,7,8,9,10,11,12}, new Integer[]{13});
  1199. oErrMessage = list.get(0);
  1200. rmap.put("oErrMessage",oErrMessage);
  1201. return rmap;
  1202. }
  1203. private Map<Object,Object> Set_Soft_Hard_WareInfo(JSONObject map,String Master){
  1204. //实际业务数据
  1205. Map<Object, Object> rmap = new HashMap<>();
  1206. String oErrMessage=null;
  1207. if(map.get("iSN")==null){
  1208. oErrMessage = "SN不能为空";
  1209. rmap.put("oErrMessage",oErrMessage);
  1210. return rmap;
  1211. }
  1212. String iSN=map.get("iSN").toString();
  1213. String iTestResult= "";
  1214. String iResCode= "";
  1215. String iClassName="";
  1216. String iTestDetail= "";
  1217. String iMaxValue= "";
  1218. String iMinValue= "";
  1219. if(map.get("iTestResult")!=null){
  1220. iTestResult=map.get("iTestResult").toString();
  1221. }
  1222. if(map.get("iClassName")!=null){
  1223. iClassName=map.get("iClassName").toString();
  1224. }
  1225. if(map.get("iResCode")!=null){
  1226. iResCode=map.get("iResCode").toString();
  1227. }
  1228. if(map.get("iTestDetail")!=null){
  1229. iTestDetail=map.get("iTestDetail").toString();
  1230. }
  1231. JSONObject map3=new JSONObject();
  1232. map3.put("iSN",iSN);
  1233. Map<Object, Object> map2=GetRcardMOInfo(map3,Master);
  1234. String omakeCode = "";
  1235. StringBuffer sql=new StringBuffer();
  1236. String[] name=iClassName.split("\\|");
  1237. String[] value=iTestDetail.split("\\|");
  1238. if(name.length!=value.length){
  1239. rmap.put("oErrMessage","测试项目名称和值的项次不一致");
  1240. return rmap;
  1241. }
  1242. for (int i=0;i<name.length;i++){
  1243. baseDao.execute("delete from "+Master+".HARDWARESOFTWARE where hs_sncode=? and HS_IITEM=? and HS_SOURCECODE=?",iSN,name[i],iResCode);
  1244. sql.setLength(0);
  1245. sql.append("Insert into "+Master+".HARDWARESOFTWARE (HS_SNCODE,HS_MAKECODE, HS_IITEM, HS_IITEMVALUES, HS_INDATE,HS_SOURCECODE)");
  1246. sql.append("values('" + iSN + "','" + map2.get("oMoCode") + "',?,?,sysdate,?)");
  1247. baseDao.execute(sql.toString(),name[i],value[i],iResCode);
  1248. }
  1249. rmap.put("oErrMessage",oErrMessage);
  1250. return rmap;
  1251. }
  1252. private Map<Object,Object> SetTestDetail(JSONObject map,String Master){
  1253. //实际业务数据
  1254. Map<Object, Object> rmap = new HashMap<>();
  1255. String oErrMessage=null;
  1256. if(map.get("iSN")==null){
  1257. oErrMessage = "SN不能为空";
  1258. rmap.put("oErrMessage",oErrMessage);
  1259. return rmap;
  1260. }
  1261. String iSN=map.get("iSN").toString();
  1262. String iTestResult= "";
  1263. String iResCode= "";
  1264. String iClassName="";
  1265. String iTestDetail= "";
  1266. String iMaxValue= "";
  1267. String iMinValue= "";
  1268. String iTestTimes= "";
  1269. if(map.get("iTestResult")!=null){
  1270. iTestResult=map.get("iTestResult").toString();
  1271. }
  1272. if(map.get("iClassName")!=null){
  1273. iClassName=map.get("iClassName").toString();
  1274. }
  1275. if(map.get("iResCode")!=null){
  1276. iResCode=map.get("iResCode").toString();
  1277. }
  1278. if(map.get("iTestDetail")!=null){
  1279. iTestDetail=map.get("iTestDetail").toString();
  1280. }
  1281. if(map.get("iTestTimes")!=null){
  1282. iTestTimes=map.get("iTestTimes").toString();
  1283. }
  1284. if(map.get("iMaxValue")!=null){
  1285. iMaxValue=map.get("iMaxValue").toString();
  1286. }
  1287. if(map.get("iMinValue")!=null){
  1288. iMinValue=map.get("iMinValue").toString();
  1289. }
  1290. JSONObject map3=new JSONObject();
  1291. map3.put("iSN",iSN);
  1292. Map<Object, Object> map2=GetRcardMOInfo(map3,Master);
  1293. String omakeCode = "";
  1294. StringBuffer sql=new StringBuffer();
  1295. String[] name=iClassName.split("\\|");
  1296. String[] result=iTestResult.split("\\|");
  1297. String[] value=iTestDetail.split("\\|");
  1298. String[] times=iTestTimes.split("\\|");
  1299. if(name.length!=value.length||name.length!=result.length){
  1300. rmap.put("oErrMessage","测试项目名称和值的项次不一致");
  1301. return rmap;
  1302. }
  1303. if(iTestTimes!=""){
  1304. if(times.length!=name.length){
  1305. rmap.put("oErrMessage","测试项目名称和值的项次不一致");
  1306. return rmap;
  1307. }
  1308. for (int i=0;i<name.length;i++){
  1309. sql.setLength(0);
  1310. sql.append("Insert into "+Master+".STEPTESTDETAIL (STD_ID,std_testtime,STD_CLASS,STD_SN,STD_MAKECODE,STD_ACTUALVALUE,STD_TESTRESULT,STD_INDATE,STD_RESCODE,STD_MAXVALUE, STD_MINVALUE)");
  1311. sql.append("values("+Master+".STEPTESTDETAIL_SEQ.nextval,?,?,'" + iSN + "','" + map2.get("oMoCode") + "',?,?,sysdate,'" + iResCode + "','"+iMaxValue+"','"+iMinValue+"')");
  1312. baseDao.execute(sql.toString(),times[i],name[i],value[i],result[i] );
  1313. }
  1314. }else {
  1315. for (int i=0;i<name.length;i++){
  1316. sql.setLength(0);
  1317. 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)");
  1318. sql.append("values("+Master+".STEPTESTDETAIL_SEQ.nextval,?,'" + iSN + "','" + map2.get("oMoCode") + "',?,?,sysdate,'" + iResCode + "','"+iMaxValue+"','"+iMinValue+"')");
  1319. baseDao.execute(sql.toString(),name[i],value[i],result[i] );
  1320. }
  1321. }
  1322. rmap.put("oErrMessage",oErrMessage);
  1323. return rmap;
  1324. }
  1325. private Map<Object,Object> GetEDISN(JSONObject map,String Master){
  1326. Map<Object, Object> rmap = new HashMap<>();
  1327. JSONArray dataArray = map.getJSONArray("data");
  1328. List<Map<String, Object>> maps = new ArrayList<>();
  1329. for (int i = 0; i < dataArray.size(); i++) {
  1330. JSONObject item = dataArray.getJSONObject(i);
  1331. Object sn = item.get("SN");
  1332. SqlRowList rs=baseDao.queryForRowSet("select ms_id from makeserial where ms_sncode='"+sn+"'");
  1333. if(rs.next()){
  1334. baseDao.execute("update makeserial set ms_edistatus=-1 where ms_id=(select max(ms_id) from makeserial where ms_sncode='"+sn+"')");
  1335. Map<String, Object> map1 = new HashMap<>();
  1336. map1.put("Pass",sn+"标记成功");
  1337. maps.add(map1);
  1338. }
  1339. else {
  1340. Map<String, Object> map1 = new HashMap<>();
  1341. map1.put("Fail",sn+"不存在");
  1342. maps.add(map1);
  1343. }
  1344. }
  1345. rmap.put("Result",maps);
  1346. return rmap;
  1347. }
  1348. private Map<Object,Object> SetPcbaData(JSONObject map,String Master){
  1349. //实际业务数据
  1350. Map<Object, Object> rmap = new HashMap<>();
  1351. String oErrMessage = null;
  1352. if(map.get("iSN")==null){
  1353. oErrMessage = "SN不能为空";
  1354. rmap.put("oErrMessage",oErrMessage);
  1355. return rmap;
  1356. }
  1357. String iSN=map.get("iSN").toString();
  1358. String iResCode = null;
  1359. String iOperator = null;
  1360. String iResult = null;
  1361. String iErrCode = null;
  1362. if(map.get("iResCode")!=null){
  1363. iResCode=map.get("iResCode").toString();
  1364. }
  1365. if(map.get("iOperater")!=null){
  1366. iOperator=map.get("iOperater").toString();
  1367. }
  1368. if(map.get("iResult")!=null){
  1369. iResult=map.get("iResult").toString();
  1370. }
  1371. if(map.get("iErrCode")!=null){
  1372. iErrCode=map.get("iErrCode").toString();
  1373. }
  1374. 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+"'");
  1375. if(rs.next()){
  1376. String st_ifinput=rs.getString("st_ifinput");
  1377. String st_ifoqc=rs.getString("st_ifinput");
  1378. String st_ifweigh=rs.getString("st_ifweigh");
  1379. if(st_ifinput.equals("-1")){
  1380. oErrMessage = "上料工序必须在客户端进行过站";
  1381. rmap.put("oErrMessage",oErrMessage);
  1382. return rmap;
  1383. }
  1384. if(st_ifoqc.equals("-1")){
  1385. oErrMessage = "OQC必须在客户端进行过站";
  1386. rmap.put("oErrMessage",oErrMessage);
  1387. return rmap;
  1388. }
  1389. if(st_ifweigh.equals("-1")){
  1390. oErrMessage = "称重工序必须在客户端进行过站";
  1391. rmap.put("oErrMessage",oErrMessage);
  1392. return rmap;
  1393. }
  1394. }
  1395. rs=baseDao.queryForRowSet("select ms_sncode from makeserial where ms_imei1='"+iSN+"' order by ms_id desc");
  1396. if(rs.next()){
  1397. iSN=rs.getString("ms_sncode");
  1398. }
  1399. rs=baseDao.queryForRowSet("select ms_sncode from makeserial where ms_mac='"+iSN+"' order by ms_id desc");
  1400. if(rs.next()){
  1401. iSN=rs.getString("ms_sncode");
  1402. }
  1403. JSONObject map3=new JSONObject();
  1404. map3.put("iSN",iSN);
  1405. Map<Object, Object> map2=GetRcardMOInfo(map3,Master);
  1406. String oMoCode=null;
  1407. if(map2.get("oMoCode")!=null){
  1408. oMoCode=map2.get("oMoCode").toString();
  1409. }
  1410. if (map2.get("oErrMessage")==null)
  1411. return SetStepFinish(oMoCode, iResCode, iSN, "", iResult, iOperator, iErrCode,Master);
  1412. return rmap;
  1413. }
  1414. /// <summary>
  1415. /// 获取步骤代码
  1416. /// </summary>
  1417. /// <param name="Source"></param>
  1418. /// <returns></returns>
  1419. private String GetStepCodeBySource(String Source,String Master)
  1420. {
  1421. Object o=baseDao.getFieldDataByCondition(Master+".source", "sc_stepcode", "sc_code='" + Source + "'");
  1422. if(o!=null)
  1423. return o.toString();
  1424. else
  1425. return "";
  1426. }
  1427. private Boolean CheckUserLogin(String iUserCode, String iPassWord,String Master)
  1428. {
  1429. SqlRowList rs =baseDao.queryForRowSet("select em_code from "+Master+".employee where em_code='"+iUserCode+"' and em_password =?",iPassWord);
  1430. if (rs.next())
  1431. return true;
  1432. else
  1433. {
  1434. return false;
  1435. }
  1436. }
  1437. private Map<Object,Object> GetMakeInfoBySN(JSONObject map,String Master)
  1438. {
  1439. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1440. String iSN=null;
  1441. String iMakeCode=null;
  1442. String oErrMessage=null;
  1443. if(map.get("iSN")!= null){
  1444. iSN=map.get("iSN").toString();
  1445. }
  1446. if(map.get("iMakeCode")!= null){
  1447. iMakeCode=map.get("iMakeCode").toString();
  1448. }
  1449. 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 " +
  1450. "left join "+Master+".makeserial on ms_makecode=ma_code where ms_sncode='"+iSN+"' order by ms_id desc");
  1451. if(rs.next()){
  1452. rmap.put("oMaremark1",rs.getString("ma_remark1"));
  1453. rmap.put("oMaremark2",rs.getString("ma_remark2"));
  1454. rmap.put("oMaremark3",rs.getString("ma_remark3"));
  1455. rmap.put("oMaremark4",rs.getString("ma_remark4"));
  1456. rmap.put("oMaremark5",rs.getString("ma_remark5"));
  1457. rmap.put("oMaremark6",rs.getString("ma_remark6"));
  1458. rmap.put("oMaremark7",rs.getString("ma_remark7"));
  1459. rmap.put("oMaremark8",rs.getString("ma_remark8"));
  1460. rmap.put("oMaremark9",rs.getString("ma_remark9"));
  1461. rmap.put("oMaremark10",rs.getString("ma_remark10"));
  1462. rmap.put("oMaremark11",rs.getString("ma_remark11"));
  1463. rmap.put("oMaremark12",rs.getString("ma_remark12"));
  1464. rmap.put("oMaremark13",rs.getString("ma_remark13"));
  1465. rmap.put("oMaremark14",rs.getString("ma_remark14"));
  1466. rmap.put("oMaremark15",rs.getString("ma_remark15"));
  1467. rmap.put("oMaremark16",rs.getString("ma_remark16"));
  1468. rmap.put("oMaremark17",rs.getString("ma_remark17"));
  1469. rmap.put("oMaremark18",rs.getString("ma_remark18"));
  1470. return rmap;
  1471. }else{
  1472. 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 " +
  1473. " where ma_code='"+iMakeCode+"'");
  1474. if(rs.next()){
  1475. rmap.put("oMaremark1",rs.getString("ma_remark1"));
  1476. rmap.put("oMaremark2",rs.getString("ma_remark2"));
  1477. rmap.put("oMaremark3",rs.getString("ma_remark3"));
  1478. rmap.put("oMaremark4",rs.getString("ma_remark4"));
  1479. rmap.put("oMaremark5",rs.getString("ma_remark5"));
  1480. rmap.put("oMaremark6",rs.getString("ma_remark6"));
  1481. rmap.put("oMaremark7",rs.getString("ma_remark7"));
  1482. rmap.put("oMaremark8",rs.getString("ma_remark8"));
  1483. rmap.put("oMaremark9",rs.getString("ma_remark9"));
  1484. rmap.put("oMaremark10",rs.getString("ma_remark10"));
  1485. rmap.put("oMaremark11",rs.getString("ma_remark11"));
  1486. rmap.put("oMaremark12",rs.getString("ma_remark12"));
  1487. rmap.put("oMaremark13",rs.getString("ma_remark13"));
  1488. rmap.put("oMaremark14",rs.getString("ma_remark14"));
  1489. rmap.put("oMaremark15",rs.getString("ma_remark15"));
  1490. rmap.put("oMaremark16",rs.getString("ma_remark16"));
  1491. rmap.put("oMaremark17",rs.getString("ma_remark17"));
  1492. rmap.put("oMaremark18",rs.getString("ma_remark18"));
  1493. return rmap;
  1494. }else {
  1495. oErrMessage = "未查询到关联信息";
  1496. rmap.put("oErrMessage",oErrMessage);
  1497. return rmap;
  1498. }
  1499. }
  1500. }
  1501. private Map<Object,Object> GetPSN(JSONObject map,String Master){
  1502. String oErrMessage="";
  1503. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1504. if(map.get("iSN")==null){
  1505. oErrMessage = "SN不能为空";
  1506. rmap.put("oErrMessage",oErrMessage);
  1507. return rmap;
  1508. }
  1509. String iSN=map.get("iSN").toString();
  1510. SqlRowList rs;
  1511. 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+"')");
  1512. if(iMakecode==null){
  1513. oErrMessage = iSN+"无关联工单";
  1514. rmap.put("oErrMessage",oErrMessage);
  1515. return rmap;
  1516. }
  1517. //之前有获取过的
  1518. rs=baseDao.queryForRowSet("select msl_sncode from "+Master+".makesnlist where msl_beforesn='"+iSN+"'");
  1519. if(rs.next()){
  1520. rmap.put("msl_sncode",rs.getString("msl_sncode"));
  1521. return rmap;
  1522. }
  1523. List<String> list = new ArrayList<String>();
  1524. list = baseDao.callProcedureWithOut(Master+".SP_GETPSN", new Object[]{
  1525. String.valueOf(iSN),
  1526. String.valueOf(iMakecode),
  1527. }, new Integer[]{1,2}, new Integer[]{3});
  1528. String msl_sncode=list.get(0);
  1529. if(msl_sncode!=null){
  1530. rmap.put("msl_sncode",msl_sncode);
  1531. return rmap;
  1532. }else{
  1533. rmap.put("msl_sncode",iSN);
  1534. return rmap;
  1535. }
  1536. }
  1537. private Map<Object,Object> GetMakeRelation(JSONObject map,String Master){
  1538. String oErrMessage="";
  1539. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1540. if(map.get("iSN")==null){
  1541. oErrMessage = "SN不能为空";
  1542. rmap.put("oErrMessage",oErrMessage);
  1543. return rmap;
  1544. }
  1545. String iSN=map.get("iSN").toString();
  1546. // Object iMakecode=baseDao.getFieldDataByCondition(Master+".makeserial","ms_makecode","ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  1547. // if(iMakecode==null){
  1548. // oErrMessage = iSN+"无关联工单";
  1549. // rmap.put("oErrMessage",oErrMessage);
  1550. // return rmap;
  1551. // }
  1552. //之前有获取过的
  1553. 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 " +
  1554. "left join "+Master+".aftersaledet on asd_sn=mid_sn left join "+Master+".DeliveryIn on "+Master+".DeliveryIn.sn=mid_sn " +
  1555. "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");
  1556. if(rs.next()){
  1557. rmap.put("MID_ID","");
  1558. rmap.put("MID_MIID",rs.getString("MID_MIID"));
  1559. rmap.put("MID_ORDERCODE",rs.getString("MID_ORDERCODE"));
  1560. rmap.put("MID_SN",rs.getString("MID_SN"));
  1561. rmap.put("MID_WIFIMAC",rs.getString("MID_WIFIMAC"));
  1562. rmap.put("MID_IMEI",rs.getString("MID_IMEI"));
  1563. rmap.put("MID_BTMAC",rs.getString("MID_BTMAC"));
  1564. rmap.put("MID_OSVERSION",rs.getString("MID_OSVERSION"));
  1565. rmap.put("MID_OSPRODUCTKEY",rs.getString("MID_OSPRODUCTKEY"));
  1566. rmap.put("MID_OSPRODUCTID",rs.getString("MID_OSPRODUCTID"));
  1567. rmap.put("MID_DRIVERVERSION",rs.getString("MID_DRIVERVERSION"));
  1568. rmap.put("MID_BIOSVERSION",rs.getString("MID_BIOSVERSION"));
  1569. rmap.put("MID_PROCESSID",rs.getString("MID_PROCESSID"));
  1570. rmap.put("MID_HARDDISKSN",rs.getString("MID_HARDDISKSN"));
  1571. rmap.put("MID_HARDDISKMODEL",rs.getString("MID_HARDDISKMODEL"));
  1572. rmap.put("MID_CREATETIME",rs.getString("MID_CREATETIME"));
  1573. rmap.put("MID_DETNO",rs.getString("MID_DETNO"));
  1574. rmap.put("MID_EC",rs.getString("MID_EC"));
  1575. rmap.put("ORDERNUMBER",rs.getString("ORDERNUMBER"));
  1576. rmap.put("CUSTOMER",rs.getString("CUSTOMER"));
  1577. rmap.put("MODEL",rs.getString("MODEL"));
  1578. rmap.put("ORDERQUANTITY",rs.getString("ORDERQUANTITY"));
  1579. rmap.put("BARCODE",rs.getString("BARCODE"));
  1580. rmap.put("CPU",rs.getString("CPU"));
  1581. rmap.put("RAM",rs.getString("RAM"));
  1582. rmap.put("ROM",rs.getString("ROM"));
  1583. rmap.put("GENERATION",rs.getString("GENERATION"));
  1584. rmap.put("WIFI",rs.getString("WIFI"));
  1585. rmap.put("LCD",rs.getString("LCD"));
  1586. rmap.put("DPI",rs.getString("DPI"));
  1587. rmap.put("TP",rs.getString("TP"));
  1588. rmap.put("NFC",rs.getString("NFC"));
  1589. rmap.put("CAMERA",rs.getString("CAMERA"));
  1590. rmap.put("BAT",rs.getString("BAT"));
  1591. rmap.put("GPS",rs.getString("GPS"));
  1592. rmap.put("FINGERPRINT",rs.getString("FINGERPRINT"));
  1593. rmap.put("MAINBOARDVER",rs.getString("MAINBOARDVER"));
  1594. rmap.put("SUBBOARDVER",rs.getString("SUBBOARDVER"));
  1595. rmap.put("OSTYPE",rs.getString("OSTYPE"));
  1596. rmap.put("MACHINECODE",rs.getString("MACHINECODE"));
  1597. rmap.put("MCU",rs.getString("MCU"));
  1598. rmap.put("GYROSCOPE",rs.getString("GYROSCOPE"));
  1599. rmap.put("ACCELEROMETER",rs.getString("ACCELEROMETER"));
  1600. rmap.put("MAGNETOMETER",rs.getString("MAGNETOMETER"));
  1601. rmap.put("LIGHTSENSOR",rs.getString("LIGHTSENSOR"));
  1602. rmap.put("BRIDGEIC",rs.getString("BRIDGEIC"));
  1603. rmap.put("REMARK",rs.getString("REMARK"));
  1604. rmap.put("IDENTITYMODULE",rs.getString("IDENTITYMODULE"));
  1605. rmap.put("ASD_MACHINETYPE",rs.getString("ASD_MACHINETYPE"));
  1606. rmap.put("ASD_RECIVETIME",rs.getString("ASD_RECIVETIME"));
  1607. rmap.put("ASD_SALEER",rs.getString("ASD_SALEER"));
  1608. rmap.put("ASD_CUSTNAME",rs.getString("ASD_CUSTNAME"));
  1609. rmap.put("ASD_QTY",rs.getString("ASD_QTY"));
  1610. rmap.put("ASD_SENDMAN",rs.getString("ASD_SENDMAN"));
  1611. rmap.put("ASD_CONFIG",rs.getString("ASD_CONFIG"));
  1612. rmap.put("ASD_CONTENT",rs.getString("ASD_CONTENT"));
  1613. rmap.put("ASD_KIND",rs.getString("ASD_KIND"));
  1614. rmap.put("ASD_DEALMAN",rs.getString("ASD_DEALMAN"));
  1615. rmap.put("ASD_FINISHTIME",rs.getString("ASD_FINISHTIME"));
  1616. rmap.put("ASD_STATUS",rs.getString("ASD_STATUS"));
  1617. rmap.put("ASD_REMARK",rs.getString("ASD_REMARK"));
  1618. rmap.put("ASD_ACTREMAKETIME",rs.getString("ASD_ACTREMAKETIME"));
  1619. rmap.put("ASD_BIOS",rs.getString("ASD_BIOS"));
  1620. rmap.put("ASD_OS",rs.getString("ASD_OS"));
  1621. rmap.put("ASD_DETNO",rs.getString("ASD_DETNO"));
  1622. rmap.put("ASD_SN",rs.getString("ASD_SN"));
  1623. rmap.put("ASD_IMEI",rs.getString("ASD_IMEI"));
  1624. rmap.put("ASD_INDATE",rs.getString("ASD_INDATE"));
  1625. rmap.put("IN_SN",rs.getString("IN_SN"));
  1626. rmap.put("IN_IMEI",rs.getString("IN_IMEI"));
  1627. rmap.put("IN_CUSTOMER",rs.getString("IN_CUSTOMER"));
  1628. rmap.put("IN_SALES",rs.getString("IN_SALES"));
  1629. rmap.put("IN_DELIVERY",rs.getString("IN_DELIVERY"));
  1630. rmap.put("OUT_SN",rs.getString("OUT_SN"));
  1631. rmap.put("OUT_IMEI",rs.getString("OUT_IMEI"));
  1632. rmap.put("OUT_CUSTOMER",rs.getString("OUT_CUSTOMER"));
  1633. rmap.put("OUT_SALES",rs.getString("OUT_SALES"));
  1634. rmap.put("OUT_DELIVERY",rs.getString("OUT_DELIVERY"));
  1635. rmap.put("RMD_MACHINETYPE",rs.getString("RMD_MACHINETYPE"));
  1636. rmap.put("RMD_SN",rs.getString("RMD_SN"));
  1637. rmap.put("RMD_REMARK",rs.getString("RMD_REMARK"));
  1638. rmap.put("RMD_RECIVETIME",rs.getString("RMD_RECIVETIME"));
  1639. rmap.put("RMD_SALEER",rs.getString("RMD_SALEER"));
  1640. rmap.put("RMD_CUSTNAME",rs.getString("RMD_CUSTNAME"));
  1641. rmap.put("RMD_QTY",rs.getString("RMD_QTY"));
  1642. rmap.put("RMD_ASSISTANT",rs.getString("RMD_ASSISTANT"));
  1643. rmap.put("RMD_BADNAME",rs.getString("RMD_BADNAME"));
  1644. rmap.put("RMD_BADCONFRM",rs.getString("RMD_BADCONFRM"));
  1645. rmap.put("RMD_BADTYPE",rs.getString("RMD_BADTYPE"));
  1646. rmap.put("RMD_BADREASON",rs.getString("RMD_BADREASON"));
  1647. rmap.put("RMD_DEALMAN",rs.getString("RMD_DEALMAN"));
  1648. rmap.put("RMD_FINISHTIME",rs.getString("RMD_FINISHTIME"));
  1649. rmap.put("RMD_STATUS",rs.getString("RMD_STATUS"));
  1650. rmap.put("RMD_ANAREASON",rs.getString("RMD_ANAREASON"));
  1651. rmap.put("RMD_REPAIR",rs.getString("RMD_REPAIR"));
  1652. rmap.put("RMD_REPAIRKIND",rs.getString("RMD_REPAIRKIND"));
  1653. rmap.put("RMD_DAYS",rs.getString("RMD_DAYS"));
  1654. rmap.put("RMD_MDM",rs.getString("RMD_MDM"));
  1655. rmap.put("RMD_TYPE",rs.getString("RMD_TYPE"));
  1656. rmap.put("RMD_DETNO",rs.getString("RMD_DETNO"));
  1657. return rmap;
  1658. }else{
  1659. oErrMessage = "无对应配置信息";
  1660. rmap.put("oErrMessage",oErrMessage);
  1661. return rmap;
  1662. }
  1663. }
  1664. private Map<Object,Object> GetProdInfo(JSONObject map,String Master){
  1665. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1666. String iSN=null;
  1667. String oErrMessage=null;
  1668. if(map.get("iSN")==null){
  1669. oErrMessage = "SN不能为空";
  1670. rmap.put("oErrMessage",oErrMessage);
  1671. return rmap;
  1672. }
  1673. iSN=map.get("iSN").toString();
  1674. Object prcode=baseDao.getFieldDataByCondition(Master+".makeserial","ms_prodcode","ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  1675. if(prcode==null){
  1676. oErrMessage = "SN未关联产品编号";
  1677. rmap.put("oErrMessage",oErrMessage);
  1678. return rmap;
  1679. }
  1680. SqlRowList rs=baseDao.queryForRowSet("select pid_item,pid_value from "+Master+".productitem left join "+Master+".productitemdetail on pi_id=pid_piid " +
  1681. "where pi_prodcode='"+prcode+"' and pid_item is not null");
  1682. while(rs.next()){
  1683. rmap.put(rs.getString("pid_item"),rs.getString("pid_value"));
  1684. }
  1685. return rmap;
  1686. /*if(rs.next()){
  1687. }else{
  1688. oErrMessage = "SN未查询到关联信息";
  1689. rmap.put("oErrMessage",oErrMessage);
  1690. return rmap;
  1691. }*/
  1692. }
  1693. private Map<Object,Object> GetMakeInfoByProd(JSONObject map,String Master)
  1694. {
  1695. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1696. String iSN=null;
  1697. String oErrMessage=null;
  1698. if(map.get("iSN")==null){
  1699. oErrMessage = "产品编号不能为空";
  1700. rmap.put("oErrMessage",oErrMessage);
  1701. return rmap;
  1702. }
  1703. iSN=map.get("iSN").toString();
  1704. SqlRowList rs=baseDao.queryForRowSet("select pr_remark1,pr_remark2,pr_remark3,pr_remark4,pr_remark5" +
  1705. ",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");
  1706. if(rs.next()){
  1707. rmap.put("oProdmark1",rs.getString("pr_remark1"));
  1708. rmap.put("oProdmark2",rs.getString("pr_remark2"));
  1709. rmap.put("oProdmark3",rs.getString("pr_remark3"));
  1710. rmap.put("oProdmark4",rs.getString("pr_remark4"));
  1711. rmap.put("oProdmark5",rs.getString("pr_remark5"));
  1712. rmap.put("oProdmark6",rs.getString("pr_remark6"));
  1713. rmap.put("oProdmark7",rs.getString("pr_remark7"));
  1714. rmap.put("oProdmark8",rs.getString("pr_remark8"));
  1715. return rmap;
  1716. }else{
  1717. oErrMessage = "产品未查询到关联信息";
  1718. rmap.put("oErrMessage",oErrMessage);
  1719. return rmap;
  1720. }
  1721. }
  1722. public Map<Object,Object> SetStepFinish(String iMakeCode, String iSourceCode, String iSN, String iMPKind, String iResult, String iUserCode, String iErrCode,String Master)
  1723. {
  1724. String oErrMessage = null;
  1725. Object StepCode = baseDao.getFieldDataByCondition(Master+".Makeserial", "ms_stepcode", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1726. String CurrentStep = GetStepCodeBySource(iSourceCode,Master);
  1727. Object BgCode = baseDao.getFieldDataByCondition(Master+".step", "nvl(st_badgroupcode,' ')", "st_code='" + CurrentStep + "'");
  1728. Map<Object, Object> rmap = new HashMap<>();
  1729. switch (iResult)
  1730. {
  1731. case "OK":
  1732. break;
  1733. case "NG":
  1734. if (iErrCode.equals("")||iErrCode==null)
  1735. {
  1736. oErrMessage = "测试结果为NG时必须传递不良代码";
  1737. rmap.put("oErrMessage",oErrMessage);
  1738. return rmap;
  1739. }
  1740. else
  1741. {
  1742. baseDao.updateByCondition(""+Master+".makebad", "mb_status=-1", "mb_sncode='" + iSN + "' and mb_makecode='" + iMakeCode + "' and mb_stepcode='" + CurrentStep + "' and mb_status=0");
  1743. String[] BadCode = iErrCode.split(",");
  1744. StringBuffer sql=new StringBuffer();
  1745. for (int i = 0; i < BadCode.length; i++)
  1746. {
  1747. if(!baseDao.checkIf(Master+".badcode","bc_code='"+ BadCode[i]+"'")){
  1748. oErrMessage = "不良代码"+BadCode[i]+"不存在";
  1749. rmap.put("oErrMessage",oErrMessage);
  1750. return rmap;
  1751. }
  1752. int mb_id = baseDao.getSeqId("makebad_seq");
  1753. sql.setLength(0);
  1754. sql.append("insert into "+Master+".makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,mb_indate,mb_stepcode");
  1755. sql.append(",mb_sourcecode,mb_badcode,mb_badtable,mb_bgcode,mb_soncode,mb_status) select '" + mb_id + "'");
  1756. sql.append(",ma_code,ms_code,ms_sncode,'" + iUserCode + "',sysdate,'" + CurrentStep + "','" + iSourceCode + "','" + BadCode[i] + "','',");
  1757. sql.append("'" + BgCode + "',sp_soncode,'0' from "+Master+".make left join "+Master+".makeSerial on ms_makecode=ma_code left join "+Master+".stepProduct on ");
  1758. sql.append("sp_mothercode=ma_prodcode and sp_stepcode=ms_nextstepcode where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1759. baseDao.execute(sql.toString());
  1760. }
  1761. //将不良的序列号的状态码设为3
  1762. //baseDao.execute("update "+Master+".makeserial set ms_status='3' where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1763. }
  1764. break;
  1765. default:
  1766. oErrMessage = "测试结果必须为NG或者OK";
  1767. rmap.put("oErrMessage",oErrMessage);
  1768. return rmap;
  1769. }
  1770. //不良采集为良品是更新
  1771. if (StepCode!=null &&StepCode.toString().equals(CurrentStep) && iResult == "OK")
  1772. {
  1773. Object[] ob = baseDao.getFieldsDataByCondition(Master+".makeserial", "ms_status,ms_craftcode,ms_prodcode", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1774. if (ob!=null)
  1775. {
  1776. String ms_status =ob[0].toString();
  1777. String ms_craftcode= ob[1].toString();
  1778. String ms_prodcode = ob[2].toString();
  1779. if (ms_status == "3")
  1780. {
  1781. 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();
  1782. baseDao.updateByCondition(Master+".makeserial", "ms_status=1,ms_nextstepcode='" + nextstepcode + "'", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1783. baseDao.updateByCondition(Master+".makebad", "mb_status=-1", "mb_sncode='" + iSN + "' and mb_makecode='" + iMakeCode + "'");
  1784. }
  1785. }
  1786. }
  1787. return CS_SetFinish(iMakeCode, iSourceCode, iSN, iUserCode, iResult,Master);
  1788. }
  1789. private Map<Object,Object> CS_SetFinish(String iMakeCode, String iSourceCode, String iSN, String iUserCode, String iResult,String Master)
  1790. {
  1791. Map<Object, Object> rmap = new HashMap<>();
  1792. String oErrMessage=null;
  1793. List<String> list = new ArrayList<String>();
  1794. list = baseDao.callProcedureWithOut(Master+".CS_SETSTEPRESULT_TOOL", new Object[]{
  1795. String.valueOf(iMakeCode),
  1796. String.valueOf(iSourceCode),
  1797. String.valueOf(iSN),
  1798. String.valueOf(iUserCode),
  1799. String.valueOf(iResult),
  1800. }, new Integer[]{1, 2, 3, 4, 5}, new Integer[]{6});
  1801. oErrMessage = list.get(0);
  1802. rmap.put("oErrMessage",oErrMessage);
  1803. return rmap;
  1804. }
  1805. private String checkAccessKey(String accessKey,String requestId){
  1806. Object accessSecret_O = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_SECRET", "AE_KEY='" + accessKey + "'");
  1807. Object AE_MASTER = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_MASTER", "AE_KEY='" + accessKey + "'");
  1808. String accessSecret = accessSecret_O == null ? "" : accessSecret_O.toString();
  1809. // 检查KEY是否合理
  1810. if (StringUtils.isEmpty(accessKey) || StringUtils.isEmpty(accessSecret) || AE_MASTER== null || "".equals(AE_MASTER.toString())) {
  1811. ApiResult apiResult = new ApiResult(ErrorMessage.ACCESSKEY_ILLEGAL.getCode(),ErrorMessage.ACCESSKEY_ILLEGAL.getMessage(),requestId);
  1812. throw new ApiSystemException(apiResult);
  1813. }
  1814. return AE_MASTER.toString();
  1815. }
  1816. }