MESHelperServiceImpl.java 64 KB

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