MESHelperServiceImpl.java 96 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644
  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 GetMakeMaterial:
  61. remap = GetMakeMaterial(json,AE_MASTER);
  62. break;
  63. case CheckUserAndResourcePassed:
  64. remap = CheckUserAndResourcePassed(json,AE_MASTER);
  65. break;
  66. case GetAddressRangeByMO:
  67. remap = GetAddressRangeByMO(json,AE_MASTER);
  68. break;
  69. case GetMEIOrNetCodeRange:
  70. remap = GetMEIOrNetCodeRange(json,AE_MASTER);
  71. break;
  72. case GetMEIOrNetCodeRangeByPo:
  73. remap = GetMEIOrNetCodeRangeByPo(json,AE_MASTER);
  74. break;
  75. case GetMechRevoKey:
  76. remap = GetMechRevoKey(json,AE_MASTER);
  77. break;
  78. case GetReleaseKey:
  79. remap = GetReleaseKey(json,AE_MASTER);
  80. break;
  81. case GetRcardMOInfo:
  82. remap = GetRcardMOInfo(json,AE_MASTER);
  83. break;
  84. case GetMobileAllInfo:
  85. remap = GetMobileAllInfo(json,AE_MASTER);
  86. break;
  87. case SetAddressInfo:
  88. remap = SetAddressInfo(json,AE_MASTER);
  89. break;
  90. case GetMaster:
  91. remap = GetMaster(json,AE_MASTER);
  92. break;
  93. case SetMobileData:
  94. remap = SetMobileData(json,AE_MASTER);
  95. break;
  96. case SetIMEIInfo:
  97. remap = SetIMEIInfo(json,AE_MASTER);
  98. break;
  99. case SetTestDetail:
  100. remap = SetTestDetail(json,AE_MASTER);
  101. break;
  102. case Set_Soft_Hard_WareInfo:
  103. remap = Set_Soft_Hard_WareInfo(json,AE_MASTER);
  104. break;
  105. case SetPcbaData:
  106. remap = SetPcbaData(json,AE_MASTER);
  107. break;
  108. case GetEDISN:
  109. remap = GetEDISN(json,AE_MASTER);
  110. break;
  111. case GetInfoByMaterial:
  112. remap = GetInfoByMaterial(json,AE_MASTER);
  113. break;
  114. case GetPCBABySN:
  115. remap = GetPCBABySN(json,AE_MASTER);
  116. break;
  117. case GetLCDBySN:
  118. remap = GetLCDBySN(json,AE_MASTER);
  119. break;
  120. case GetBatteryBySN:
  121. remap = GetBatteryBySN(json,AE_MASTER);
  122. break;
  123. case GoMo:
  124. remap = GoMo(json,AE_MASTER);
  125. break;
  126. case GetMakeInfoBySN:
  127. remap = GetMakeInfoBySN(json,AE_MASTER);
  128. break;
  129. case GetMakeInfoByProd:
  130. remap = GetMakeInfoByProd(json,AE_MASTER);
  131. break;
  132. case GetProdInfo:
  133. remap = GetProdInfo(json,AE_MASTER);
  134. break;
  135. case GetPSN:
  136. remap = GetPSN(json,AE_MASTER);
  137. break;
  138. case GetMakeRelation:
  139. remap = GetMakeRelation(json,AE_MASTER);
  140. break;
  141. case GetFeeReason:
  142. remap = GetFeeReason(json,AE_MASTER);
  143. break;
  144. case GetMakeSN:
  145. remap = GetMakeSN(json,AE_MASTER);
  146. break;
  147. case SetFeeReason:
  148. remap = SetFeeReason(json,AE_MASTER);
  149. break;
  150. case WriteMakeInfo:
  151. remap = WriteMakeInfo(json,AE_MASTER);
  152. break;
  153. case GetMakeInfo:
  154. remap = GetMakeInfo(json,AE_MASTER);
  155. break;
  156. case ReSetSN:
  157. remap = ReSetSN(json,AE_MASTER);
  158. break;
  159. case SetHashValue:
  160. remap = SetHashValue(json,AE_MASTER);
  161. break;
  162. case SetCRBValue:
  163. remap = SetCRBValue(json,AE_MASTER);
  164. break;
  165. case CRBValueGet:
  166. remap = CRBValueGet(json,AE_MASTER);
  167. break;
  168. case CRBValueSet:
  169. remap = CRBValueSet(json,AE_MASTER);
  170. break;
  171. case GetHashValue:
  172. remap = GetHashValue(json,AE_MASTER);
  173. break;
  174. case GetCRBValue:
  175. remap = GetCRBValue(json,AE_MASTER);
  176. break;
  177. case GetTestValue:
  178. remap = GetTestValue(json,AE_MASTER);
  179. break;
  180. case SetTestValue:
  181. remap = SetTestValue(json,AE_MASTER);
  182. break;
  183. case GetTestRevoKey:
  184. remap = GetTestRevoKey(json,AE_MASTER);
  185. break;
  186. case GetAcerValue:
  187. remap = GetAcerValue(json,AE_MASTER);
  188. break;
  189. case SetAcerValue:
  190. remap = SetAcerValue(json,AE_MASTER);
  191. break;
  192. case GetMedionRevoKey:
  193. remap = GetMedionRevoKey(json,AE_MASTER);
  194. break;
  195. case GetMedionValue:
  196. remap = GetMedionValue(json,AE_MASTER);
  197. break;
  198. case WriteProdInfo:
  199. remap = WriteProdInfo(json,AE_MASTER);
  200. break;
  201. case SetMedionValue:
  202. remap = SetMedionValue(json,AE_MASTER);
  203. break;
  204. case GetAcerRevoKey:
  205. remap = GetAcerRevoKey(json,AE_MASTER);
  206. break;
  207. case Weigh:
  208. remap = Weigh(json,AE_MASTER);
  209. break;
  210. case WeighMidBox:
  211. remap = WeighMidBox(json,AE_MASTER);
  212. break;
  213. case WeighCarton:
  214. remap = WeighCarton(json,AE_MASTER);
  215. break;
  216. default:
  217. err = -1;
  218. break;
  219. }
  220. if(err == -1){
  221. throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPEILLEGAL,requestId));
  222. }
  223. SpObserver.putSp(username);
  224. return remap;
  225. }
  226. @Override
  227. public JSONArray getFiles(String accessKey, String requestId, String id) {
  228. String AE_MASTER = checkAccessKey(accessKey, requestId);
  229. accessKey1=accessKey;
  230. SpObserver.putSp(AE_MASTER);
  231. String Master=AE_MASTER;
  232. JSONArray arr = new JSONArray();
  233. JSONObject obj = null;
  234. for (String i : id.split(";")) {
  235. if (i != null && !i.trim().equals("")) {
  236. SqlRowList rs = baseDao.queryForRowSet("SELECT * FROM "+Master+".FilePath WHERE fp_id=" + i);
  237. if(rs.next()){
  238. JSONObject o = new JSONObject();
  239. o.put("fp_id", i);
  240. o.put("fp_path", rs.getString("fp_path"));
  241. o.put("fp_size", rs.getInt("fp_size"));
  242. o.put("fp_name", rs.getString("fp_name"));
  243. o.put("fp_date", rs.getGeneralTimestamp("fp_date"));
  244. o.put("fp_man", rs.getString("fp_man"));
  245. arr.add(o);
  246. }
  247. }
  248. }
  249. return arr;
  250. }
  251. public Map<Object,Object> Weigh(JSONObject map,String Master) {
  252. Map<Object, Object> rmap = new HashMap<Object, Object>();
  253. String oErrMessage="";
  254. String iSN="";
  255. String iSource="";
  256. String weight="";
  257. String iUserCode="";
  258. if(map.get("iSN")==null){
  259. oErrMessage = "SN不能为空";
  260. rmap.put("oErrMessage",oErrMessage);
  261. return rmap;
  262. }
  263. if(map.get("iSource")==null){
  264. oErrMessage = "工序不能为空";
  265. rmap.put("oErrMessage",oErrMessage);
  266. return rmap;
  267. }
  268. if(map.get("iUserCode")==null){
  269. oErrMessage = "人员编号不能为空";
  270. rmap.put("oErrMessage",oErrMessage);
  271. return rmap;
  272. }
  273. if(map.get("weight")==null){
  274. oErrMessage = "重量不能为空";
  275. rmap.put("oErrMessage",oErrMessage);
  276. return rmap;
  277. }
  278. iSN=map.get("iSN").toString();
  279. iSource=map.get("iSource").toString();
  280. iUserCode=map.get("iUserCode").toString();
  281. weight=map.get("weight").toString().replaceAll("KG","");
  282. 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+"')");
  283. if(obj[0]!=null&&obj[1]!=null){
  284. //不在设置的重量范围内
  285. if(Double.parseDouble(weight)<Double.parseDouble(obj[0].toString())||Double.parseDouble(weight)>Double.parseDouble(obj[1].toString())){
  286. rmap.put("code",-1);
  287. rmap.put("message","SN["+iSN+"]重量为"+weight+",不符合重量范围"+obj[0]+"-"+obj[1]);
  288. Map<String, String> rmap1 = new HashMap<String, String>();
  289. rmap1.put("minWeight",obj[0].toString());
  290. rmap1.put("maxWeight",obj[1].toString());
  291. rmap1.put("machineModel","");
  292. rmap.put("dataInfo",rmap1);
  293. return rmap;
  294. }
  295. rmap.put("message","SN["+iSN+"]重量为"+weight+",符合重量范围"+obj[0]+"-"+obj[1]+",称重通过");
  296. Object ms_id=baseDao.getFieldDataByCondition(Master+".makeserial","max(ms_id)","ms_sncode='"+iSN+"'");
  297. baseDao.execute("update "+Master+".makeserial set ms_grossw ='"+weight+"' where ms_id="+ms_id);
  298. Map<String, String> rmap1 = new HashMap<String, String>();
  299. rmap1.put("minWeight",obj[0].toString());
  300. rmap1.put("maxWeight",obj[1].toString());
  301. rmap1.put("machineModel","");
  302. rmap.put("dataInfo",rmap1);
  303. //return SetStepFinish(obj[2].toString(), iSource, iSN, "", "OK", iUserCode, "",Master);
  304. return rmap;
  305. }else{
  306. oErrMessage = "未设置标准重量";
  307. rmap.put("oErrMessage",oErrMessage);
  308. return rmap;
  309. }
  310. }
  311. public Map<Object,Object> WeighMidBox(JSONObject map,String Master) {
  312. Map<Object, Object> rmap = new HashMap<Object, Object>();
  313. String oErrMessage="";
  314. String iSN="";
  315. String iSource="";
  316. String weight="";
  317. String iUserCode="";
  318. if(map.get("iSN")==null){
  319. oErrMessage = "SN不能为空";
  320. rmap.put("oErrMessage",oErrMessage);
  321. return rmap;
  322. }
  323. if(map.get("iSource")==null){
  324. oErrMessage = "工序不能为空";
  325. rmap.put("oErrMessage",oErrMessage);
  326. return rmap;
  327. }
  328. if(map.get("iUserCode")==null){
  329. oErrMessage = "人员编号不能为空";
  330. rmap.put("oErrMessage",oErrMessage);
  331. return rmap;
  332. }
  333. if(map.get("weight")==null){
  334. oErrMessage = "重量不能为空";
  335. rmap.put("oErrMessage",oErrMessage);
  336. return rmap;
  337. }
  338. iSN=map.get("iSN").toString();
  339. iSource=map.get("iSource").toString();
  340. iUserCode=map.get("iUserCode").toString();
  341. weight=map.get("weight").toString().replaceAll("KG","");
  342. Object[] obj = baseDao.getFieldsDataByCondition(Master+".makeserial left join "+Master+".product on pr_code=ms_prodcode","pr_midboxminweight,pr_midboxmaxweight,ms_makecode","ms_id =(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  343. if(obj[0]!=null&&obj[1]!=null){
  344. //不在设置的重量范围内
  345. if(Double.parseDouble(weight)<Double.parseDouble(obj[0].toString())||Double.parseDouble(weight)>Double.parseDouble(obj[1].toString())){
  346. rmap.put("code",-1);
  347. rmap.put("message","SN["+iSN+"]重量为"+weight+",不符合重量范围"+obj[0]+"-"+obj[1]);
  348. Map<String, String> rmap1 = new HashMap<String, String>();
  349. rmap1.put("minWeight",obj[0].toString());
  350. rmap1.put("maxWeight",obj[1].toString());
  351. rmap1.put("machineModel","");
  352. rmap.put("dataInfo",rmap1);
  353. return rmap;
  354. }
  355. rmap.put("message","SN["+iSN+"]重量为"+weight+",符合重量范围"+obj[0]+"-"+obj[1]+",称重通过");
  356. Object ms_id=baseDao.getFieldDataByCondition(Master+".makeserial","max(ms_id)","ms_sncode='"+iSN+"'");
  357. baseDao.execute("update "+Master+".makeserial set MS_MIDBOXWEIGHT ='"+weight+"' where ms_id="+ms_id);
  358. Map<String, String> rmap1 = new HashMap<String, String>();
  359. rmap1.put("minWeight",obj[0].toString());
  360. rmap1.put("maxWeight",obj[1].toString());
  361. rmap1.put("machineModel","");
  362. rmap.put("dataInfo",rmap1);
  363. return rmap;
  364. }else{
  365. oErrMessage = "未设置标准重量";
  366. rmap.put("oErrMessage",oErrMessage);
  367. return rmap;
  368. }
  369. }
  370. public Map<Object,Object> WeighCarton(JSONObject map,String Master) {
  371. Map<Object, Object> rmap = new HashMap<Object, Object>();
  372. String oErrMessage="";
  373. String iSN="";
  374. String iSource="";
  375. String weight="";
  376. String iUserCode="";
  377. if(map.get("iSN")==null){
  378. oErrMessage = "SN不能为空";
  379. rmap.put("oErrMessage",oErrMessage);
  380. return rmap;
  381. }
  382. if(map.get("iSource")==null){
  383. oErrMessage = "工序不能为空";
  384. rmap.put("oErrMessage",oErrMessage);
  385. return rmap;
  386. }
  387. if(map.get("iUserCode")==null){
  388. oErrMessage = "人员编号不能为空";
  389. rmap.put("oErrMessage",oErrMessage);
  390. return rmap;
  391. }
  392. if(map.get("weight")==null){
  393. oErrMessage = "重量不能为空";
  394. rmap.put("oErrMessage",oErrMessage);
  395. return rmap;
  396. }
  397. iSN=map.get("iSN").toString();
  398. iSource=map.get("iSource").toString();
  399. iUserCode=map.get("iUserCode").toString();
  400. weight=map.get("weight").toString().replaceAll("KG","");
  401. Object[] obj = baseDao.getFieldsDataByCondition(Master+".makeserial left join "+Master+".product on pr_code=ms_prodcode","pr_cartonminw,pr_cartonmaxw,ms_makecode","ms_id =(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  402. if(obj[0]!=null&&obj[1]!=null){
  403. //不在设置的重量范围内
  404. if(Double.parseDouble(weight)<Double.parseDouble(obj[0].toString())||Double.parseDouble(weight)>Double.parseDouble(obj[1].toString())){
  405. rmap.put("code",-1);
  406. rmap.put("message","卡通箱["+iSN+"]重量为"+weight+",不符合重量范围"+obj[0]+"-"+obj[1]);
  407. Map<String, String> rmap1 = new HashMap<String, String>();
  408. rmap1.put("minWeight",obj[0].toString());
  409. rmap1.put("maxWeight",obj[1].toString());
  410. rmap1.put("machineModel","");
  411. rmap.put("dataInfo",rmap1);
  412. return rmap;
  413. }
  414. rmap.put("message","卡通箱["+iSN+"]重量为"+weight+",符合重量范围"+obj[0]+"-"+obj[1]+",称重通过");
  415. // Object pa_id=baseDao.getFieldDataByCondition(Master+".package","max(pa_id)","pa_outboxcode='"+iSN+"'");
  416. // if(pa_id==null){
  417. // rmap.put("code",-1);
  418. // rmap.put("message","卡通箱["+iSN+"]不存在");
  419. // return rmap;
  420. // }
  421. // baseDao.execute("update "+Master+".package set PA_WEIGHT ='"+weight+"' where pa_outboxcode='"+iSN+"'");
  422. Map<String, String> rmap1 = new HashMap<String, String>();
  423. rmap1.put("minWeight",obj[0].toString());
  424. rmap1.put("maxWeight",obj[1].toString());
  425. rmap1.put("machineModel","");
  426. rmap.put("dataInfo",rmap1);
  427. return rmap;
  428. }else{
  429. oErrMessage = "未设置标准重量";
  430. rmap.put("oErrMessage",oErrMessage);
  431. return rmap;
  432. }
  433. }
  434. private Object SetPcbaData(String iSN,String iResCode,String iOperator,String iResult,String Master){
  435. //实际业务数据
  436. Map<Object, Object> rmap = new HashMap<>();
  437. String iErrCode = null;
  438. if(iSN==null){
  439. iErrCode = "SN不能为空";
  440. return iErrCode;
  441. }
  442. JSONObject map3=new JSONObject();
  443. map3.put("iSN",iSN);
  444. Map<Object, Object> map2=GetRcardMOInfo(map3,Master);
  445. String oMoCode=null;
  446. if(map2.get("oMoCode")!=null){
  447. oMoCode=map2.get("oMoCode").toString();
  448. }
  449. if (map2.get("oErrMessage")==null)
  450. map2= SetStepFinish(oMoCode, iResCode, iSN, "", iResult, iResCode, iErrCode,Master);
  451. return map2.get("oErrMessage");
  452. }
  453. private Map<Object,Object> GetHashValue(JSONObject map,String Master){
  454. Map<Object, Object> rmap = new HashMap<Object, Object>();
  455. String oErrMessage="";
  456. if(map.get("iSN")==null){
  457. oErrMessage = "SN不能为空";
  458. rmap.put("oErrMessage",oErrMessage);
  459. return rmap;
  460. }
  461. String iSN=map.get("iSN").toString();
  462. SqlRowList rs=baseDao.queryForRowSet("select MC_HASHVALUE from makecbr where MC_SNCODE='"+iSN+"'");
  463. if(rs.next()){
  464. rmap.put("oHashValue",rs.getString("MC_HASHVALUE"));
  465. }else{
  466. rmap.put("oHashValue","");
  467. }
  468. return rmap;
  469. }
  470. private Map<Object,Object> GetCRBValue(JSONObject map,String Master){
  471. Map<Object, Object> rmap = new HashMap<Object, Object>();
  472. String oErrMessage="";
  473. if(map.get("iSN")==null){
  474. oErrMessage = "SN不能为空";
  475. rmap.put("oErrMessage",oErrMessage);
  476. return rmap;
  477. }
  478. String iSN=map.get("iSN").toString();
  479. SqlRowList rs=baseDao.queryForRowSet("select MC_HASHVALUE from MECHREVO_CBR where MC_SNCODE='"+iSN+"'");
  480. if(rs.next()){
  481. rmap.put("oCRBValue",rs.getString("MC_HASHVALUE"));
  482. }else{
  483. rmap.put("oCRBValue","");
  484. }
  485. return rmap;
  486. }
  487. private Map<Object,Object> GetTestValue(JSONObject map,String Master){
  488. Map<Object, Object> rmap = new HashMap<Object, Object>();
  489. String oErrMessage="";
  490. if(map.get("iSN")==null){
  491. oErrMessage = "SN不能为空";
  492. rmap.put("oErrMessage",oErrMessage);
  493. return rmap;
  494. }
  495. String iSN=map.get("iSN").toString();
  496. SqlRowList rs=baseDao.queryForRowSet("select MC_HASHVALUE from test_CBR where MC_SNCODE='"+iSN+"'");
  497. if(rs.next()){
  498. rmap.put("oCRBValue",rs.getString("MC_HASHVALUE"));
  499. }else{
  500. rmap.put("oCRBValue","");
  501. }
  502. return rmap;
  503. }
  504. private Map<Object,Object> GetAcerValue(JSONObject map,String Master){
  505. Map<Object, Object> rmap = new HashMap<Object, Object>();
  506. String oErrMessage="";
  507. if(map.get("iSN")==null){
  508. oErrMessage = "SN不能为空";
  509. rmap.put("oErrMessage",oErrMessage);
  510. return rmap;
  511. }
  512. String iSN=map.get("iSN").toString();
  513. SqlRowList rs=baseDao.queryForRowSet("select MC_HASHVALUE from acer_cbr where MC_SNCODE='"+iSN+"'");
  514. if(rs.next()){
  515. rmap.put("oCRBValue",rs.getString("MC_HASHVALUE"));
  516. }else{
  517. rmap.put("oCRBValue","");
  518. }
  519. return rmap;
  520. }
  521. private Map<Object,Object> SetHashValue(JSONObject map,String Master){
  522. Map<Object, Object> rmap = new HashMap<Object, Object>();
  523. String oErrMessage="";
  524. if(map.get("iSN")==null){
  525. oErrMessage = "SN不能为空";
  526. rmap.put("oErrMessage",oErrMessage);
  527. return rmap;
  528. }
  529. if(map.get("iHashValue")==null){
  530. oErrMessage = "HashValue不能为空";
  531. rmap.put("oErrMessage",oErrMessage);
  532. return rmap;
  533. }
  534. String iSN=map.get("iSN").toString();
  535. String iHashValue=map.get("iHashValue").toString();
  536. Object makecode=baseDao.getFieldDataByCondition(Master+".makeserial","ms_makecode","ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  537. if(makecode==null){
  538. oErrMessage = "SN:"+iSN+"不存在";
  539. rmap.put("oErrMessage",oErrMessage);
  540. return rmap;
  541. }
  542. if(baseDao.checkIf("makecbr","mc_makecode='"+makecode+"' and mc_sncode='"+iSN+"'")){
  543. baseDao.execute("delete from makecbr where mc_makecode='"+makecode+"' and mc_sncode='"+iSN+"'");
  544. }
  545. baseDao.execute("insert into makecbr(MC_ID, MC_MAKECODE, MC_SNCODE, MC_HASHVALUE, MC_INDATE)" +
  546. "values(makecbr_seq.nextval,'"+makecode+"','"+iSN+"','"+iHashValue+"',sysdate)");
  547. rmap.put("oErrMessage",null);
  548. return rmap;
  549. }
  550. private Map<Object,Object> CRBValueGet(JSONObject map,String Master){
  551. Map<Object, Object> rmap = new HashMap<Object, Object>();
  552. String iSN="";
  553. String oErrMessage="";
  554. if(map.get("iSN")==null){
  555. oErrMessage = "SN不能为空";
  556. rmap.put("oErrMessage",oErrMessage);
  557. return rmap;
  558. }
  559. iSN=map.get("iSN").toString();
  560. List<String> list = new ArrayList<String>();
  561. list = baseDao.callProcedureWithOut(Master+".CS_GETCRBVALUE", new Object[]{
  562. String.valueOf(iSN)
  563. }, new Integer[]{1}, new Integer[]{2,3});
  564. oErrMessage=list.get(1);
  565. if(oErrMessage==null){
  566. rmap.put("oCRBValue",list.get(0));
  567. }else {
  568. rmap.put("oErrMessage",oErrMessage);
  569. }
  570. return rmap;
  571. }
  572. private Map<Object,Object> CRBValueSet(JSONObject map,String Master){
  573. Map<Object, Object> rmap = new HashMap<Object, Object>();
  574. String oErrMessage="";
  575. String iSN="";
  576. String iCRBValue="";
  577. if(map.get("iSN")==null){
  578. oErrMessage = "SN不能为空";
  579. rmap.put("oErrMessage",oErrMessage);
  580. return rmap;
  581. }
  582. if(map.get("iCRBValue")==null){
  583. oErrMessage = "HashValue不能为空";
  584. rmap.put("oErrMessage",oErrMessage);
  585. return rmap;
  586. }
  587. iSN=map.get("iSN").toString();
  588. iCRBValue=map.get("iCRBValue").toString();
  589. List<String> list = new ArrayList<String>();
  590. list = baseDao.callProcedureWithOut(Master+".CS_SETCRBVALUE", new Object[]{
  591. String.valueOf(iSN),
  592. String.valueOf(iCRBValue)
  593. }, new Integer[]{1, 2}, new Integer[]{3});
  594. rmap.put("oErrMessage",list.get(0));
  595. return rmap;
  596. }
  597. private Map<Object,Object> SetCRBValue(JSONObject map,String Master){
  598. Map<Object, Object> rmap = new HashMap<Object, Object>();
  599. String oErrMessage="";
  600. if(map.get("iSN")==null){
  601. oErrMessage = "SN不能为空";
  602. rmap.put("oErrMessage",oErrMessage);
  603. return rmap;
  604. }
  605. if(map.get("iCRBValue")==null){
  606. oErrMessage = "HashValue不能为空";
  607. rmap.put("oErrMessage",oErrMessage);
  608. return rmap;
  609. }
  610. String iSN=map.get("iSN").toString();
  611. String iHashValue=map.get("iCRBValue").toString();
  612. Object makecode=baseDao.getFieldDataByCondition(Master+".makeserial","ms_makecode","ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  613. if(makecode==null){
  614. oErrMessage = "SN:"+iSN+"不存在";
  615. rmap.put("oErrMessage",oErrMessage);
  616. return rmap;
  617. }
  618. if(baseDao.checkIf("MECHREVO_CBR","mc_makecode='"+makecode+"' and mc_sncode='"+iSN+"'")){
  619. baseDao.execute("delete from MECHREVO_CBR where mc_makecode='"+makecode+"' and mc_sncode='"+iSN+"'");
  620. }
  621. baseDao.execute("insert into MECHREVO_CBR(MC_ID, MC_MAKECODE, MC_SNCODE, MC_HASHVALUE, MC_INDATE)" +
  622. "values(MECHREVO_CBR_seq.nextval,'"+makecode+"','"+iSN+"','"+iHashValue+"',sysdate)");
  623. rmap.put("oErrMessage",null);
  624. return rmap;
  625. }
  626. private Map<Object,Object> SetTestValue(JSONObject map,String Master){
  627. Map<Object, Object> rmap = new HashMap<Object, Object>();
  628. String oErrMessage="";
  629. if(map.get("iSN")==null){
  630. oErrMessage = "SN不能为空";
  631. rmap.put("oErrMessage",oErrMessage);
  632. return rmap;
  633. }
  634. if(map.get("iCRBValue")==null){
  635. oErrMessage = "HashValue不能为空";
  636. rmap.put("oErrMessage",oErrMessage);
  637. return rmap;
  638. }
  639. String iSN=map.get("iSN").toString();
  640. String iHashValue=map.get("iCRBValue").toString();
  641. Object makecode=baseDao.getFieldDataByCondition(Master+".makeserial","ms_makecode","ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  642. if(makecode==null){
  643. oErrMessage = "SN:"+iSN+"不存在";
  644. rmap.put("oErrMessage",oErrMessage);
  645. return rmap;
  646. }
  647. if(baseDao.checkIf("test_CBR","mc_makecode='"+makecode+"' and mc_sncode='"+iSN+"'")){
  648. baseDao.execute("delete from test_CBR where mc_makecode='"+makecode+"' and mc_sncode='"+iSN+"'");
  649. }
  650. baseDao.execute("insert into test_CBR(MC_ID, MC_MAKECODE, MC_SNCODE, MC_HASHVALUE, MC_INDATE)" +
  651. "values(test_CBR_seq.nextval,'"+makecode+"','"+iSN+"','"+iHashValue+"',sysdate)");
  652. rmap.put("oErrMessage",null);
  653. return rmap;
  654. }
  655. private Map<Object,Object> SetAcerValue(JSONObject map,String Master){
  656. Map<Object, Object> rmap = new HashMap<Object, Object>();
  657. String oErrMessage="";
  658. if(map.get("iSN")==null){
  659. oErrMessage = "SN不能为空";
  660. rmap.put("oErrMessage",oErrMessage);
  661. return rmap;
  662. }
  663. if(map.get("iCRBValue")==null){
  664. oErrMessage = "HashValue不能为空";
  665. rmap.put("oErrMessage",oErrMessage);
  666. return rmap;
  667. }
  668. String iSN=map.get("iSN").toString();
  669. String iHashValue=map.get("iCRBValue").toString();
  670. Object makecode=baseDao.getFieldDataByCondition(Master+".makeserial","ms_makecode","ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  671. if(makecode==null){
  672. oErrMessage = "SN:"+iSN+"不存在";
  673. rmap.put("oErrMessage",oErrMessage);
  674. return rmap;
  675. }
  676. if(baseDao.checkIf("acer_cbr","mc_makecode='"+makecode+"' and mc_sncode='"+iSN+"'")){
  677. baseDao.execute("delete from acer_cbr where mc_makecode='"+makecode+"' and mc_sncode='"+iSN+"'");
  678. }
  679. baseDao.execute("insert into acer_cbr(MC_ID, MC_MAKECODE, MC_SNCODE, MC_HASHVALUE, MC_INDATE)" +
  680. "values(acer_cbr_seq.nextval,'"+makecode+"','"+iSN+"','"+iHashValue+"',sysdate)");
  681. rmap.put("oErrMessage",null);
  682. return rmap;
  683. }
  684. private Map<Object,Object> ReSetSN(JSONObject map,String Master){
  685. Map<Object, Object> rmap = new HashMap<Object, Object>();
  686. String iSN=null;
  687. String oErrMessage=null;
  688. if(map.get("iSN")==null){
  689. oErrMessage = "SN不能为空";
  690. rmap.put("oErrMessage",oErrMessage);
  691. return rmap;
  692. }
  693. iSN=map.get("iSN").toString();
  694. //回流工序,替代客户端cd_stepcode.Text
  695. if(map.get("iStepCode")==null){
  696. oErrMessage = "回流工序不能为空";
  697. rmap.put("oErrMessage",oErrMessage);
  698. return rmap;
  699. }
  700. String iStepCode=map.get("iStepCode").toString();
  701. //操作人,对应客户端User.UserCode
  702. String iUserCode="";
  703. if(map.get("iUserCode")!=null){
  704. iUserCode=map.get("iUserCode").toString();
  705. }
  706. //岗位资源,对应客户端User.UserSourceCode
  707. String iSourceCode="";
  708. if(map.get("iSourceCode")!=null){
  709. iSourceCode=map.get("iSourceCode").toString();
  710. }
  711. //取该SN最新一条记录,校验是否允许回流
  712. SqlRowList rs=baseDao.queryForRowSet("select ms_id,ms_makecode,ms_craftcode,ms_prodcode,ms_status,ms_paststep," +
  713. "nvl(ms_isactive,0)ms_isactive,nvl(ms_qccheck,0)ms_qccheck,nvl(ms_ifqccheck,0)ms_ifqccheck," +
  714. "nvl(ms_outstatus,0)ms_outstatus,nvl(pr_ifrepaircheck,0)pr_ifrepaircheck " +
  715. "from "+Master+".makeserial left join "+Master+".product on pr_code=ms_prodcode " +
  716. "where ms_sncode='"+iSN+"' order by ms_id desc");
  717. String ms_id="";
  718. String ms_makecode="";
  719. String ms_paststep="";
  720. if(rs.next()){
  721. ms_id=rs.getString("ms_id");
  722. ms_makecode=rs.getString("ms_makecode");
  723. ms_paststep=rs.getString("ms_paststep")==null?"":rs.getString("ms_paststep");
  724. //已执行的工序才允许回流
  725. if(!ms_paststep.contains(iStepCode)){
  726. oErrMessage = "序列号" + iSN + "不允许回流到未执行工序";
  727. rmap.put("oErrMessage",oErrMessage);
  728. return rmap;
  729. }
  730. //已出货不允许回流
  731. if("-1".equals(rs.getString("ms_outstatus"))){
  732. oErrMessage = "序列号" + iSN + "已出货不允许回流";
  733. rmap.put("oErrMessage",oErrMessage);
  734. return rmap;
  735. }
  736. //Key已激活不允许回流
  737. if("-1".equals(rs.getString("ms_isactive"))){
  738. oErrMessage = "序列号" + iSN + "Key已激活不允许回流";
  739. rmap.put("oErrMessage",oErrMessage);
  740. return rmap;
  741. }
  742. //抽检状态不允许重置站点
  743. if(("-1".equals(rs.getString("ms_qccheck")) && "-1".equals(rs.getString("pr_ifrepaircheck")))
  744. || "-1".equals(rs.getString("ms_ifqccheck"))){
  745. oErrMessage = "序列号" + iSN + "处于抽检状态,不允许重置站点";
  746. rmap.put("oErrMessage",oErrMessage);
  747. return rmap;
  748. }
  749. }else {
  750. oErrMessage = "序列号" + iSN + "不存在";
  751. rmap.put("oErrMessage",oErrMessage);
  752. return rmap;
  753. }
  754. //取回流工序在工艺路线中的执行顺序,用于判断用料表需要拆解的项次
  755. Object stepno=baseDao.getFieldDataByCondition(Master+".craft left join "+Master+".craftdetail on cr_id=cd_crid",
  756. "cd_stepno","cr_code=(select ms_craftcode from "+Master+".makeserial where ms_id='"+ms_id+"') " +
  757. "and cr_prodcode=(select ms_prodcode from "+Master+".makeserial where ms_id='"+ms_id+"') " +
  758. "and cd_stepcode='"+iStepCode+"'");
  759. String cd_stepno=stepno==null?"":stepno.toString();
  760. if("".equals(cd_stepno)){
  761. oErrMessage = "工序" + iStepCode + "不在该SN的工艺路线中";
  762. rmap.put("oErrMessage",oErrMessage);
  763. return rmap;
  764. }
  765. //工序名称,用于记录操作日志
  766. Object stname=baseDao.getFieldDataByCondition(Master+".step","st_name","st_code='"+iStepCode+"'");
  767. String st_name=stname==null?"":stname.toString();
  768. StringBuffer sql=new StringBuffer();
  769. List<String> sqls=new ArrayList<String>();
  770. //重置makeserial,ms_paststep截断到回流工序之前
  771. sql.append("update "+Master+".makeserial set ms_status=1,ms_outboxcode='',ms_printcount=0,ms_stepcode='',ms_nextstepcode='"+iStepCode+"',");
  772. sql.append("ms_paststep=case when instr(ms_paststep,'"+iStepCode+"')>0 then substr(ms_paststep,0,instr(ms_paststep,'"+iStepCode+"')-2) else ms_paststep end ");
  773. sql.append("where ms_sncode='"+iSN+"' and ms_makecode='"+ms_makecode+"'");
  774. sqls.add(sql.toString());
  775. //删除未处理的不良记录
  776. sql.setLength(0);
  777. sql.append("delete "+Master+".makebad where mb_sncode='"+iSN+"' and mb_makecode='"+ms_makecode+"' and mb_status=0");
  778. sqls.add(sql.toString());
  779. //删除标签打印记录
  780. sql.setLength(0);
  781. sql.append("delete "+Master+".labelprintlog where lpl_value='"+iSN+"'");
  782. sqls.add(sql.toString());
  783. //拆解用料表,回流工序及之后已上料的明细置为拆解状态
  784. sql.setLength(0);
  785. sql.append("update "+Master+".craftmaterial set cm_status=-1,cm_lastdeco=-1,cm_dropman='"+iUserCode+"',");
  786. sql.append("cm_dropdate=sysdate,CM_REMARK='重置站点拆解',cm_dropstep='"+iStepCode+"',");
  787. sql.append("cm_dropsccode='"+iSourceCode+"' where cm_sncode='"+iSN+"' and cm_makecode='"+ms_makecode+"' ");
  788. sql.append("and cm_stepcode in (select cd_stepcode from "+Master+".craftdetail left join "+Master+".step on st_code=cd_stepcode " +
  789. "left join "+Master+".craft on cd_crid=cr_id where ST_STATUSCODE='AUDITED' " +
  790. "and cr_code=(select ms_craftcode from "+Master+".makeserial where ms_id='"+ms_id+"') " +
  791. "and cr_prodcode=(select ms_prodcode from "+Master+".makeserial where ms_id='"+ms_id+"') " +
  792. "and cd_detno>="+cd_stepno+")");
  793. sqls.add(sql.toString());
  794. //同一次提交内完成重置,避免中途失败导致数据不一致
  795. baseDao.execute(sqls);
  796. rmap.put("oErrMessage",null);
  797. rmap.put("oStepName",st_name);
  798. rmap.put("oMakeCode",ms_makecode);
  799. return rmap;
  800. }
  801. private Map<Object,Object> GetMakeInfo(JSONObject map,String Master){
  802. Map<Object, Object> rmap = new HashMap<Object, Object>();
  803. String iSN=null;
  804. String oErrMessage=null;
  805. // if(map.get("iSN")==null){
  806. // oErrMessage = "SN不能为空";
  807. // rmap.put("oErrMessage",oErrMessage);
  808. // return rmap;
  809. // }
  810. String iMakeCode;
  811. if(map.get("iMakeCode")!= null){
  812. iMakeCode=map.get("iMakeCode").toString();
  813. 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 " +
  814. "left join make on mi_makecode=ma_code left join asus_product on" +
  815. " (ma_prodcode=ap_unboxedcode or ma_prodcode=ap_finishedcode) left join SOFTWAREITEMDETAIL on ap_custprodcode=sid_pn " +
  816. "where mi_makecode='"+iMakeCode+"' and mid_item is not null");
  817. while(rs.next()){
  818. rmap.put(rs.getString("mid_item"),rs.getString("mid_value"));
  819. if(rs.getString("sid_item")!=null){
  820. rmap.put(rs.getString("sid_item"),rs.getString("sid_value"));
  821. }
  822. }
  823. }else {
  824. iSN=map.get("iSN").toString();
  825. Object makecode=baseDao.getFieldDataByCondition(Master+".makeserial","ms_makecode","ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  826. if(makecode==null){
  827. oErrMessage = "SN不存在";
  828. rmap.put("oErrMessage",oErrMessage);
  829. return rmap;
  830. }
  831. 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 " +
  832. "left join make on mi_makecode=ma_code left join asus_product on" +
  833. " (ma_prodcode=ap_unboxedcode or ma_prodcode=ap_finishedcode) left join SOFTWAREITEMDETAIL on ap_custprodcode=sid_pn " +
  834. "where mi_makecode='"+makecode+"' and mid_item is not null");
  835. while(rs.next()){
  836. rmap.put(rs.getString("mid_item"),rs.getString("mid_value"));
  837. if(rs.getString("sid_item")!=null){
  838. rmap.put(rs.getString("sid_item"),rs.getString("sid_value"));
  839. }
  840. }
  841. }
  842. return rmap;
  843. /*if(rs.next()){
  844. }else{
  845. oErrMessage = "SN未查询到关联信息";
  846. rmap.put("oErrMessage",oErrMessage);
  847. return rmap;
  848. }*/
  849. }
  850. private Map<Object,Object> WriteMakeInfo(JSONObject map,String Master){
  851. Map<Object, Object> rmap = new HashMap<Object, Object>();
  852. String oErrMessage=null;
  853. if(map.get("iMakeCode")==null){
  854. oErrMessage = "工单号不能为空";
  855. rmap.put("oErrMessage",oErrMessage);
  856. return rmap;
  857. }
  858. String MO=map.get("iMakeCode").toString();
  859. String Item=map.get("Item").toString();
  860. SqlRowList rs=baseDao.queryForRowSet("select * from "+Master+".makeitem where mi_makecode='"+MO+"'");
  861. //如果已经存在工单了
  862. if(rs.next()){
  863. String[] str=Item.split("\\|");
  864. String mi_id=rs.getString("mi_id");
  865. baseDao.execute("delete from "+Master+".makeitemdetail where mid_miid='"+mi_id+"'");
  866. for (int i=0;i<str.length;i++) {
  867. Object key = str[i].split("#")[0];
  868. Object value = str[i].split("#")[1];
  869. baseDao.execute("insert into "+Master+".makeitemdetail(mid_id,mid_miid,mid_item,mid_value)" +
  870. "values("+Master+".makeitemdetail_seq.nextval,'"+mi_id+"','"+key.toString()+"','"+value.toString()+"')");
  871. }
  872. }else {
  873. int mi_id = baseDao.getSeqId(Master+".makeitem_seq");
  874. String[] str=Item.split("\\|");
  875. baseDao.execute("insert into "+Master+".makeitem(mi_id,mi_makecode,mi_indate)values("+mi_id+",'"+MO+"',sysdate)");
  876. for (int i=0;i<str.length;i++) {
  877. Object key = str[i].split("#")[0];
  878. Object value = str[i].split("#")[1];
  879. baseDao.execute("insert into "+Master+".makeitemdetail(mid_id,mid_miid,mid_item,mid_value)" +
  880. "values("+Master+".makeitemdetail_seq.nextval,'"+mi_id+"','"+key.toString()+"','"+value.toString()+"')");
  881. }
  882. }
  883. return rmap;
  884. }
  885. private Map<Object,Object> GetMakeSN(JSONObject map,String Master){
  886. Map<Object, Object> rmap = new HashMap<Object, Object>();
  887. List<Map<String, Object>> maps = new ArrayList<>();
  888. String ma_custname="";
  889. String TIME_BEGIN="";
  890. String TIME_END="";
  891. String oErrMessage="";
  892. // if(map.get("MA_CUSTNAME")==null){
  893. // oErrMessage = "客户名称不能为空";
  894. // rmap.put("oErrMessage",oErrMessage);
  895. // return rmap;
  896. // }
  897. if(map.get("TIME_BEGIN")==null){
  898. oErrMessage = "开始时间不能为空";
  899. rmap.put("oErrMessage",oErrMessage);
  900. return rmap;
  901. }
  902. if(map.get("TIME_END")==null){
  903. oErrMessage = "结束时间不能为空";
  904. rmap.put("oErrMessage",oErrMessage);
  905. return rmap;
  906. }
  907. ma_custname=map.get("MA_CUSTNAME").toString();
  908. TIME_BEGIN=map.get("TIME_BEGIN").toString();
  909. TIME_END=map.get("TIME_END").toString();
  910. SqlRowList rs=baseDao.queryForRowSet("select ms_sncode from makeserial " +
  911. " where ms_indate between to_date('"+TIME_BEGIN+"','yyyy-mm-dd') " +
  912. "and to_date('"+TIME_END+"','yyyy-mm-dd') and substr(ms_makecode,0,2)='XX' ");
  913. rmap.put("data",rs.getResultList());
  914. return rmap;
  915. }
  916. private Map<Object,Object> GetFeeReason(JSONObject map,String Master){
  917. Map<Object, Object> rmap = new HashMap<Object, Object>();
  918. String oErrMessage="";
  919. if(map.get("CT_ID")==null){
  920. oErrMessage = "单据ID不能为空";
  921. rmap.put("oErrMessage",oErrMessage);
  922. return rmap;
  923. }
  924. 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" +
  925. " from "+Master+".CUSTOMTABLE where ct_id="+map.get("CT_ID") +" and ct_caller='MakeFee'");
  926. if(rs.next()){
  927. for(String key:rs.getCurrentMap().keySet()){
  928. rmap.put(key,rs.getCurrentMap().get(key));
  929. }
  930. return rmap;
  931. }else {
  932. oErrMessage = "单据ID不存在";
  933. rmap.put("oErrMessage",oErrMessage);
  934. return rmap;
  935. }
  936. }
  937. private Map<Object,Object> SetFeeReason(JSONObject map,String Master){
  938. Map<Object, Object> rmap = new HashMap<Object, Object>();
  939. String formstore=map.get("data").toString();
  940. Map<Object, Object> gstore = BaseUtil.parseFormStoreToMap(formstore);
  941. String gridSql = SqlUtil.getUpdateSqlByFormStore(gstore,Master+".CUSTOMTABLE", "CT_ID");
  942. baseDao.execute(gridSql);
  943. return null;
  944. }
  945. private Map<Object,Object> GoMo(JSONObject map,String Master){
  946. Map<Object, Object> rmap = new HashMap<Object, Object>();
  947. String iSN=null;
  948. String iResCode=null;
  949. String iMo=null;
  950. String oErrMessage=null;
  951. if(map.get("iMo")==null){
  952. oErrMessage = "工单号不能为空";
  953. rmap.put("oErrMessage",oErrMessage);
  954. return rmap;
  955. }
  956. if(map.get("iResCode")==null){
  957. oErrMessage = "岗位资源不能为空";
  958. rmap.put("oErrMessage",oErrMessage);
  959. return rmap;
  960. }
  961. if(map.get("iSN")==null){
  962. oErrMessage = "SN不能为空";
  963. rmap.put("oErrMessage",oErrMessage);
  964. return rmap;
  965. }
  966. iSN=map.get("iSN").toString();
  967. iResCode=map.get("iResCode").toString();
  968. iMo=map.get("iMo").toString();
  969. List<String> list = new ArrayList<String>();
  970. list = baseDao.callProcedureWithOut(Master+".CS_CHECKSTEPSNANDMACODE", new Object[]{
  971. String.valueOf(iMo),
  972. String.valueOf(iResCode),
  973. String.valueOf(iSN),
  974. String.valueOf("")
  975. }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
  976. oErrMessage=list.get(2);
  977. 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<>' '))");
  978. String ms_status = "";
  979. String ms_stepcode = "";
  980. String ms_nextstepcode = "";
  981. if(rs.next()){
  982. ms_status= rs.getString("ms_status");
  983. ms_stepcode=rs.getString("ms_stepcode");
  984. ms_nextstepcode=rs.getString("ms_nextstepcode");
  985. }
  986. String stepcode = GetStepCodeBySource(iResCode,Master);
  987. if ( oErrMessage == null || (ms_status == "3" && ms_stepcode == stepcode))
  988. {
  989. if (ms_status == "3")
  990. {
  991. oErrMessage = null;
  992. }
  993. }
  994. rmap.put("oErrMessage",oErrMessage);
  995. return rmap;
  996. }
  997. private Map<Object,Object> GetPCBABySN(JSONObject map,String Master){
  998. Map<Object, Object> rmap = new HashMap<Object, Object>();
  999. String iSN="";
  1000. String oErrMessage="";
  1001. if(map.get("iSN")==null){
  1002. oErrMessage = "SN不能为空";
  1003. rmap.put("oErrMessage",oErrMessage);
  1004. return rmap;
  1005. }
  1006. iSN=map.get("iSN").toString();
  1007. SqlRowList rs=baseDao.queryForRowSet("select ms_firstsn from "+Master+".makeserial where ms_sncode='"+iSN+"' order by ms_id desc");
  1008. if(rs.next()){
  1009. rs=baseDao.queryForRowSet("select LISTAGG((cm_barcode),'||') WITHIN GROUP (ORDER BY cm_sncode)cm_barcode from "+Master+".craftmaterial left join "+Master+".product on cm_fsoncode=pr_code " +
  1010. "where cm_firstsn='"+rs.getString("ms_firstsn")+"' and cm_status=0 and (pr_detail like '%主板 PCBA%' or pr_detail like '%主板%')");
  1011. if(rs.next()){
  1012. rmap.put("oPCBA",rs.getString("cm_barcode"));
  1013. }
  1014. }
  1015. return rmap;
  1016. }
  1017. private Map<Object,Object> GetLCDBySN(JSONObject map,String Master){
  1018. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1019. String iSN="";
  1020. String oErrMessage="";
  1021. if(map.get("iSN")==null){
  1022. oErrMessage = "SN不能为空";
  1023. rmap.put("oErrMessage",oErrMessage);
  1024. return rmap;
  1025. }
  1026. iSN=map.get("iSN").toString();
  1027. SqlRowList rs=baseDao.queryForRowSet("select ms_firstsn from "+Master+".makeserial where ms_sncode='"+iSN+"' order by ms_id desc");
  1028. if(rs.next()){
  1029. rs=baseDao.queryForRowSet("select cm_barcode from "+Master+".craftmaterial left join "+Master+".product on cm_fsoncode=pr_code " +
  1030. "where cm_firstsn='"+rs.getString("ms_firstsn")+"' and cm_status=0 and (pr_kind2='屏')");
  1031. if(rs.next()){
  1032. rmap.put("oPCBA",rs.getString("cm_barcode"));
  1033. }
  1034. }
  1035. return rmap;
  1036. }
  1037. private Map<Object,Object> GetBatteryBySN(JSONObject map,String Master){
  1038. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1039. String iSN="";
  1040. String oErrMessage="";
  1041. if(map.get("iSN")==null){
  1042. oErrMessage = "SN不能为空";
  1043. rmap.put("oErrMessage",oErrMessage);
  1044. return rmap;
  1045. }
  1046. iSN=map.get("iSN").toString();
  1047. SqlRowList rs=baseDao.queryForRowSet("select ms_firstsn from "+Master+".makeserial where ms_sncode='"+iSN+"' order by ms_id desc");
  1048. if(rs.next()){
  1049. rs=baseDao.queryForRowSet("select cm_barcode from "+Master+".craftmaterial left join "+Master+".product on cm_fsoncode=pr_code " +
  1050. "where cm_firstsn='"+rs.getString("ms_firstsn")+"' and cm_status=0 and (pr_kind2='电池')");
  1051. if(rs.next()){
  1052. rmap.put("oPCBA",rs.getString("cm_barcode"));
  1053. }
  1054. }
  1055. return rmap;
  1056. }
  1057. private Map<Object,Object> GetInfoByMaterial(JSONObject map,String Master){
  1058. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1059. String iPCBA=null;
  1060. String oErrMessage=null;
  1061. if(map.get("iPCBA")==null){
  1062. oErrMessage = "主板SN不能为空";
  1063. rmap.put("oErrMessage",oErrMessage);
  1064. return rmap;
  1065. }
  1066. iPCBA=map.get("iPCBA").toString();
  1067. 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");
  1068. if(rs.next()){
  1069. if(!rs.getString("ms_id").equals("0")){
  1070. 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")+"'");
  1071. if (rs.next()){
  1072. rmap.put("oSN",rs.getString("ms_sncode"));
  1073. rmap.put("oBIOS",rs.getString("ma_bios"));
  1074. rmap.put("oEC",rs.getString("ma_ec"));
  1075. rmap.put("oHardWare",rs.getString("ma_hardware"));
  1076. rmap.put("oMaster",Master);
  1077. }
  1078. }else{
  1079. oErrMessage = "主板SN未查询到关联信息";
  1080. rmap.put("oErrMessage",oErrMessage);
  1081. return rmap;
  1082. }
  1083. }
  1084. return rmap;
  1085. }
  1086. private Map<Object,Object> CheckRoutePassed(JSONObject map,String Master){
  1087. //实际业务数据
  1088. Map<Object, Object> rmap = new HashMap<>();
  1089. String iSN=map.get("iSN").toString();
  1090. String iResCode=map.get("iResCode").toString();
  1091. String oErrMessage="";
  1092. if (iSN ==null)
  1093. {
  1094. oErrMessage = "SN不能为空";
  1095. }
  1096. List<String> list = new ArrayList<String>();
  1097. list = baseDao.callProcedureWithOut(Master+".CS_CHECKSTEPSNANDMACODE", new Object[]{
  1098. String.valueOf(""),
  1099. String.valueOf(iResCode),
  1100. String.valueOf(iSN),
  1101. String.valueOf("")
  1102. }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
  1103. oErrMessage=list.get(2);
  1104. if(oErrMessage!=null){
  1105. rmap.put("oErrMessage",oErrMessage);
  1106. return rmap;
  1107. }
  1108. 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<>' '))");
  1109. String ms_status = "";
  1110. String ms_stepcode = "";
  1111. String ms_nextstepcode = "";
  1112. if(rs.next()){
  1113. ms_status= rs.getString("ms_status");
  1114. ms_stepcode=rs.getString("ms_stepcode");
  1115. ms_nextstepcode=rs.getString("ms_nextstepcode");
  1116. }
  1117. String stepcode = GetStepCodeBySource(iResCode,Master);
  1118. if (ms_nextstepcode != "" && !ms_nextstepcode.equals(stepcode))
  1119. {
  1120. oErrMessage = "当前序列号下一工序" + ms_nextstepcode;
  1121. }
  1122. rmap.put("oErrMessage",oErrMessage);
  1123. return rmap;
  1124. }
  1125. private Map<Object,Object> GetMakeMaterial(JSONObject map,String Master){
  1126. Map<Object, Object> rmap = new HashMap<>();
  1127. String iSN=map.get("iSN").toString();
  1128. String oErrMessage="";
  1129. SqlRowList rs=baseDao.queryForRowSet("select ms_prodcode from makeserial where ms_sncode='"+iSN+"'");
  1130. if(rs.next()){
  1131. rs=baseDao.queryForRowSet("select MM_PRODCODE from pm_prodmakematerial_view where MA_PRODCODE='"+rs.getString("ms_prodcode")+"' ");
  1132. rmap.put("oProdCode",rs.getResultList());
  1133. }else {
  1134. oErrMessage = "SN"+iSN+"不存在";
  1135. rmap.put("oErrMessage",oErrMessage);
  1136. return rmap;
  1137. }
  1138. return rmap;
  1139. }
  1140. private Map<Object,Object> CheckUserAndResourcePassed(JSONObject map,String Master){
  1141. //实际业务数据
  1142. Map<Object, Object> rmap = new HashMap<>();
  1143. String oErrMessage = null;
  1144. if (map.get("iUserCode") == null || map.get("iResCode") == null || map.get("iPassWord") == null)
  1145. {
  1146. oErrMessage = "用户名,密码,岗位资源必须填写";
  1147. rmap.put("oErrMessage",oErrMessage);
  1148. return rmap;
  1149. }
  1150. String iUserCode=map.get("iUserCode").toString();
  1151. String iPassWord=map.get("iPassWord").toString();
  1152. String iResCode=map.get("iResCode").toString();
  1153. if (CheckUserLogin(iUserCode, iPassWord,Master))
  1154. {
  1155. String SQL = "select em_code,em_type,em_name from "+Master+".employee where em_code=? ";
  1156. SqlRowList rs = baseDao.queryForRowSet(SQL, iUserCode);
  1157. if (rs.next())
  1158. {
  1159. String em_name = rs.getString("em_name");
  1160. String em_type = rs.getString("em_type");
  1161. if (iResCode ==null)
  1162. {
  1163. oErrMessage = "岗位资源不允许为空";
  1164. rmap.put("oErrMessage",oErrMessage);
  1165. return rmap;
  1166. }
  1167. if (em_type.equals("admin"))
  1168. {
  1169. if (!baseDao.checkIf(""+Master+".Source", "sc_code='" + iResCode + "' and sc_statuscode='AUDITED'"))
  1170. {
  1171. oErrMessage = "岗位资源编号错误或者未审核!";
  1172. }
  1173. }
  1174. else
  1175. {
  1176. 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'");
  1177. //如果存在该编号
  1178. if (rs1.next())
  1179. {
  1180. //判断如果多个岗位资源存在,用户输入的只要在其中就行
  1181. while (rs.next())
  1182. {
  1183. if (!rs.getString("ur_resourcecode").equals("iResCode")){
  1184. oErrMessage = "用户不处于当前资源所属分组!";
  1185. }else
  1186. {
  1187. oErrMessage=null;
  1188. continue;
  1189. }
  1190. }
  1191. }
  1192. else
  1193. oErrMessage = "岗位资源编号错误或者未审核!";
  1194. }
  1195. }
  1196. else
  1197. oErrMessage = "用户不存在!";
  1198. }else{
  1199. oErrMessage = "用户名密码不正确!";
  1200. }
  1201. rmap.put("oErrMessage",oErrMessage);
  1202. return rmap;
  1203. }
  1204. private Map<Object,Object> GetAddressRangeByMO(JSONObject map,String Master){
  1205. //实际业务数据
  1206. Map<Object, Object> rmap = new HashMap<>();
  1207. String iSN="";
  1208. String oErrMessage = null;
  1209. String oWIFI = "";
  1210. String oBT = "";
  1211. String oNetCard = "";
  1212. String oNetCard2 = "";
  1213. String oCode1 = "";
  1214. String oCode2 = "";
  1215. String oCode3 = "";
  1216. if(map.get("iSN")==null){
  1217. oErrMessage = "SN不能为空";
  1218. rmap.put("oErrMessage",oErrMessage);
  1219. return rmap;
  1220. }
  1221. iSN=map.get("iSN").toString();
  1222. //判断工单是否归属
  1223. JSONObject map3=new JSONObject();
  1224. map3.put("iSN",iSN);
  1225. Map<Object, Object> map2=GetRcardMOInfo(map3,Master);
  1226. if(map2.get("oErrMessage")!=null){
  1227. oErrMessage=map2.get("oErrMessage").toString();
  1228. rmap.put("oErrMessage",oErrMessage);
  1229. return rmap;
  1230. }
  1231. List<String> list = new ArrayList<String>();
  1232. list = baseDao.callProcedureWithOut(Master+".CS_GETADDRESSBYMAKECODE_TOOL", new Object[]{
  1233. String.valueOf(iSN),
  1234. String.valueOf(map2.get("oMoCode").toString()),
  1235. }, new Integer[]{1,2}, new Integer[]{3,4,5,6,7,8,9,10});
  1236. oWIFI = list.get(0);
  1237. oBT = list.get(1);
  1238. oNetCard = list.get(2);
  1239. oNetCard2 = list.get(3);
  1240. oCode1 = list.get(4);
  1241. oCode2 = list.get(5);
  1242. oCode3 = list.get(6);
  1243. oErrMessage= list.get(7);
  1244. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  1245. rmap.put("oWIFI",oWIFI);
  1246. rmap.put("oBT",oBT);
  1247. rmap.put("oNetCard",oNetCard);
  1248. rmap.put("oNetCard2",oNetCard2);
  1249. rmap.put("oCode1",oCode1);
  1250. rmap.put("oCode2",oCode2);
  1251. rmap.put("oCode3",oCode3);
  1252. }
  1253. else
  1254. rmap.put("oErrMessage",oErrMessage);
  1255. return rmap;
  1256. }
  1257. private Map<Object,Object> GetMEIOrNetCodeRange(JSONObject map,String Master){
  1258. //实际业务数据
  1259. Map<Object, Object> rmap = new HashMap<>();
  1260. String iSN="";
  1261. String oErrMessage = null;
  1262. String oIMEI1 = "";
  1263. String oIMEI2 = "";
  1264. String oIMEI3 = "";
  1265. String oMEID = "";
  1266. String oNetCode = "";
  1267. String oPSN = "";
  1268. String oID1 = "";
  1269. String oID2 = "";
  1270. String oID3 = "";
  1271. String oKeyID = "";
  1272. String oHashValue = "";
  1273. if(map.get("iSN")==null){
  1274. oErrMessage = "SN不能为空";
  1275. rmap.put("oErrMessage",oErrMessage);
  1276. return rmap;
  1277. }
  1278. if(map.get("iIMEI1")!=null){
  1279. oIMEI1=map.get("iIMEI1").toString();
  1280. }
  1281. if(map.get("iNetCode")!=null){
  1282. oNetCode=map.get("iNetCode").toString();
  1283. }
  1284. iSN=map.get("iSN").toString();
  1285. List<String> list = new ArrayList<String>();
  1286. list = baseDao.callProcedureWithOut(Master+".CS_GETIMEIORNETCODERANGE_T", new Object[]{
  1287. String.valueOf(iSN),
  1288. String.valueOf(""),
  1289. String.valueOf(oIMEI1),
  1290. String.valueOf(oNetCode),
  1291. }, new Integer[]{1,2,3,4}, new Integer[]{5,6,7,8,9,10,11,12,13,14,15,16});
  1292. oIMEI1 = list.get(0);
  1293. oIMEI2 = list.get(1);
  1294. oIMEI3 = list.get(2);
  1295. oMEID = list.get(3);
  1296. oNetCode = list.get(4);
  1297. oPSN = list.get(5);
  1298. oID1 = list.get(6);
  1299. oID2 = list.get(7);
  1300. oID3 = list.get(8);
  1301. oKeyID = list.get(9);
  1302. oHashValue = list.get(10);
  1303. oErrMessage= list.get(11);
  1304. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  1305. rmap.put("oIMEI1",oIMEI1);
  1306. rmap.put("oIMEI2",oIMEI2);
  1307. rmap.put("oIMEI3",oIMEI3);
  1308. rmap.put("oMEID",oMEID);
  1309. rmap.put("oNetCode",oNetCode);
  1310. rmap.put("oPSN",oPSN);
  1311. rmap.put("oID1",oID1);
  1312. rmap.put("oID2",oID2);
  1313. rmap.put("oID3",oID3);
  1314. rmap.put("oKeyID",oKeyID);
  1315. rmap.put("oHashValue",oHashValue);
  1316. }
  1317. else
  1318. rmap.put("oErrMessage",oErrMessage);
  1319. return rmap;
  1320. }
  1321. private Map<Object,Object> GetReleaseKey(JSONObject map,String Master){
  1322. Map<Object, Object> rmap = new HashMap<>();
  1323. String iSN="";
  1324. String iCustCode="";
  1325. String MK_DPK="";
  1326. String MK_DPKID="";
  1327. String oErrMessage="";
  1328. if(map.get("iSN")==null){
  1329. oErrMessage = "SN不能为空";
  1330. rmap.put("oErrMessage",oErrMessage);
  1331. return rmap;
  1332. }
  1333. // if(map.get("iCustCode")==null){
  1334. // oErrMessage = "SN不能为空";
  1335. // rmap.put("oErrMessage",oErrMessage);
  1336. // return rmap;
  1337. // }
  1338. List<String> list = new ArrayList<String>();
  1339. iSN=map.get("iSN").toString();
  1340. list = baseDao.callProcedureWithOut(Master+".CS_GETRELEASE_KEY", new Object[]{
  1341. String.valueOf(iSN),
  1342. String.valueOf(""),
  1343. String.valueOf(iCustCode),
  1344. }, new Integer[]{1,2,3}, new Integer[]{4,5,6});
  1345. MK_DPK = list.get(0);
  1346. MK_DPKID = list.get(1);
  1347. oErrMessage= list.get(2);
  1348. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  1349. rmap.put("oDPK",MK_DPK);
  1350. rmap.put("oDPKID",MK_DPKID);
  1351. }
  1352. else
  1353. rmap.put("oErrMessage",oErrMessage);
  1354. return rmap;
  1355. }
  1356. private Map<Object,Object> GetMechRevoKey(JSONObject map,String Master){
  1357. Map<Object, Object> rmap = new HashMap<>();
  1358. String iSN="";
  1359. String MK_DPK="";
  1360. String MK_DPKID="";
  1361. String oErrMessage="";
  1362. if(map.get("iSN")==null){
  1363. oErrMessage = "SN不能为空";
  1364. rmap.put("oErrMessage",oErrMessage);
  1365. return rmap;
  1366. }
  1367. List<String> list = new ArrayList<String>();
  1368. iSN=map.get("iSN").toString();
  1369. list = baseDao.callProcedureWithOut(Master+".CS_GETMECHREVOKYE", new Object[]{
  1370. String.valueOf(iSN),
  1371. String.valueOf(""),
  1372. }, new Integer[]{1,2}, new Integer[]{3,4,5});
  1373. MK_DPK = list.get(0);
  1374. MK_DPKID = list.get(1);
  1375. oErrMessage= list.get(2);
  1376. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  1377. rmap.put("oDPK",MK_DPK);
  1378. rmap.put("oDPKID",MK_DPKID);
  1379. }
  1380. else
  1381. rmap.put("oErrMessage",oErrMessage);
  1382. return rmap;
  1383. }
  1384. private Map<Object,Object> GetTestRevoKey(JSONObject map,String Master){
  1385. Map<Object, Object> rmap = new HashMap<>();
  1386. String iSN="";
  1387. String MK_DPK="";
  1388. String MK_DPKID="";
  1389. String oErrMessage="";
  1390. if(map.get("iSN")==null){
  1391. oErrMessage = "SN不能为空";
  1392. rmap.put("oErrMessage",oErrMessage);
  1393. return rmap;
  1394. }
  1395. List<String> list = new ArrayList<String>();
  1396. iSN=map.get("iSN").toString();
  1397. list = baseDao.callProcedureWithOut(Master+".CS_GETTESTREVOKYE", new Object[]{
  1398. String.valueOf(iSN),
  1399. String.valueOf(""),
  1400. }, new Integer[]{1,2}, new Integer[]{3,4,5});
  1401. MK_DPK = list.get(0);
  1402. MK_DPKID = list.get(1);
  1403. oErrMessage= list.get(2);
  1404. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  1405. rmap.put("oDPK",MK_DPK);
  1406. rmap.put("oDPKID",MK_DPKID);
  1407. }
  1408. else
  1409. rmap.put("oErrMessage",oErrMessage);
  1410. return rmap;
  1411. }
  1412. private Map<Object,Object> GetAcerRevoKey(JSONObject map,String Master){
  1413. Map<Object, Object> rmap = new HashMap<>();
  1414. String iSN="";
  1415. String MK_DPK="";
  1416. String MK_DPKID="";
  1417. String oErrMessage="";
  1418. if(map.get("iSN")==null){
  1419. oErrMessage = "SN不能为空";
  1420. rmap.put("oErrMessage",oErrMessage);
  1421. return rmap;
  1422. }
  1423. List<String> list = new ArrayList<String>();
  1424. iSN=map.get("iSN").toString();
  1425. list = baseDao.callProcedureWithOut(Master+".CS_GETACERREVOKYE", new Object[]{
  1426. String.valueOf(iSN),
  1427. String.valueOf(""),
  1428. }, new Integer[]{1,2}, new Integer[]{3,4,5});
  1429. MK_DPK = list.get(0);
  1430. MK_DPKID = list.get(1);
  1431. oErrMessage= list.get(2);
  1432. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  1433. rmap.put("oDPK",MK_DPK);
  1434. rmap.put("oDPKID",MK_DPKID);
  1435. }
  1436. else
  1437. rmap.put("oErrMessage",oErrMessage);
  1438. return rmap;
  1439. }
  1440. private Map<Object,Object> GetMedionRevoKey(JSONObject map,String Master){
  1441. Map<Object, Object> rmap = new HashMap<>();
  1442. String iSN="";
  1443. String MK_DPK="";
  1444. String MK_DPKID="";
  1445. String oErrMessage="";
  1446. if(map.get("iSN")==null){
  1447. oErrMessage = "SN不能为空";
  1448. rmap.put("oErrMessage",oErrMessage);
  1449. return rmap;
  1450. }
  1451. List<String> list = new ArrayList<String>();
  1452. iSN=map.get("iSN").toString();
  1453. list = baseDao.callProcedureWithOut(Master+".CS_GETMEDIONKYE", new Object[]{
  1454. String.valueOf(iSN),
  1455. String.valueOf(""),
  1456. }, new Integer[]{1,2}, new Integer[]{3,4,5});
  1457. MK_DPK = list.get(0);
  1458. MK_DPKID = list.get(1);
  1459. oErrMessage= list.get(2);
  1460. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  1461. rmap.put("oDPK",MK_DPK);
  1462. rmap.put("oDPKID",MK_DPKID);
  1463. }
  1464. else
  1465. rmap.put("oErrMessage",oErrMessage);
  1466. return rmap;
  1467. }
  1468. private Map<Object,Object> SetMedionValue(JSONObject map,String Master){
  1469. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1470. String oErrMessage="";
  1471. if(map.get("iSN")==null){
  1472. oErrMessage = "SN不能为空";
  1473. rmap.put("oErrMessage",oErrMessage);
  1474. return rmap;
  1475. }
  1476. if(map.get("iCRBValue")==null){
  1477. oErrMessage = "HashValue不能为空";
  1478. rmap.put("oErrMessage",oErrMessage);
  1479. return rmap;
  1480. }
  1481. String iSN=map.get("iSN").toString();
  1482. String iHashValue=map.get("iCRBValue").toString();
  1483. Object makecode=baseDao.getFieldDataByCondition(Master+".makeserial","ms_makecode","ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  1484. if(makecode==null){
  1485. oErrMessage = "SN:"+iSN+"不存在";
  1486. rmap.put("oErrMessage",oErrMessage);
  1487. return rmap;
  1488. }
  1489. if(baseDao.checkIf("medion_cbr","mc_makecode='"+makecode+"' and mc_sncode='"+iSN+"'")){
  1490. baseDao.execute("delete from medion_cbr where mc_makecode='"+makecode+"' and mc_sncode='"+iSN+"'");
  1491. }
  1492. baseDao.execute("insert into medion_cbr(MC_ID, MC_MAKECODE, MC_SNCODE, MC_HASHVALUE, MC_INDATE)" +
  1493. "values(medion_cbr_seq.nextval,'"+makecode+"','"+iSN+"','"+iHashValue+"',sysdate)");
  1494. rmap.put("oErrMessage",null);
  1495. return rmap;
  1496. }
  1497. private Map<Object,Object> GetMedionValue(JSONObject map,String Master){
  1498. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1499. String oErrMessage="";
  1500. if(map.get("iSN")==null){
  1501. oErrMessage = "SN不能为空";
  1502. rmap.put("oErrMessage",oErrMessage);
  1503. return rmap;
  1504. }
  1505. String iSN=map.get("iSN").toString();
  1506. SqlRowList rs=baseDao.queryForRowSet("select MC_HASHVALUE from medion_cbr where MC_SNCODE='"+iSN+"'");
  1507. if(rs.next()){
  1508. rmap.put("oCRBValue",rs.getString("MC_HASHVALUE"));
  1509. }else{
  1510. rmap.put("oCRBValue","");
  1511. }
  1512. return rmap;
  1513. }
  1514. private Map<Object,Object> GetMEIOrNetCodeRangeByPo(JSONObject map,String Master){
  1515. //实际业务数据
  1516. Map<Object, Object> rmap = new HashMap<>();
  1517. String iSN="";
  1518. String oErrMessage = null;
  1519. String oIMEI1 = "";
  1520. String oIMEI2 = "";
  1521. String oMEID = "";
  1522. String oNetCode = "";
  1523. String oPSN = "";
  1524. String oID1 = "";
  1525. String oID2 = "";
  1526. String oID3 = "";
  1527. String oKeyID = "";
  1528. String oHashValue = "";
  1529. if(map.get("iSN")==null){
  1530. oErrMessage = "SN不能为空";
  1531. rmap.put("oErrMessage",oErrMessage);
  1532. return rmap;
  1533. }
  1534. if(map.get("iIMEI1")!=null){
  1535. oIMEI1=map.get("iIMEI1").toString();
  1536. }
  1537. if(map.get("iNetCode")!=null){
  1538. oNetCode=map.get("iNetCode").toString();
  1539. }
  1540. iSN=map.get("iSN").toString();
  1541. List<String> list = new ArrayList<String>();
  1542. list = baseDao.callProcedureWithOut(Master+".CS_GETIMEIORNETCODERANGEBYPO_T", new Object[]{
  1543. String.valueOf(iSN),
  1544. String.valueOf(""),
  1545. String.valueOf(oIMEI1),
  1546. String.valueOf(oNetCode),
  1547. }, new Integer[]{1,2,3,4}, new Integer[]{5,6,7,8,9,10,11,12,13,14,15,16});
  1548. oIMEI1 = list.get(0);
  1549. oIMEI2 = list.get(1);
  1550. oMEID = list.get(3);
  1551. oNetCode = list.get(4);
  1552. oPSN = list.get(5);
  1553. oID1 = list.get(6);
  1554. oID2 = list.get(7);
  1555. oID3 = list.get(8);
  1556. oKeyID = list.get(9);
  1557. oHashValue = list.get(10);
  1558. oErrMessage= list.get(11);
  1559. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  1560. rmap.put("oIMEI1",oIMEI1);
  1561. rmap.put("oIMEI2",oIMEI2);
  1562. rmap.put("oMEID",oMEID);
  1563. rmap.put("oNetCode",oNetCode);
  1564. rmap.put("oPSN",oPSN);
  1565. rmap.put("oID1",oID1);
  1566. rmap.put("oID2",oID2);
  1567. rmap.put("oID3",oID3);
  1568. rmap.put("oKeyID",oKeyID);
  1569. rmap.put("oHashValue",oHashValue);
  1570. }
  1571. else
  1572. rmap.put("oErrMessage",oErrMessage);
  1573. return rmap;
  1574. }
  1575. private Map<Object,Object> GetRcardMOInfo(JSONObject map,String Master){
  1576. //实际业务数据
  1577. Map<Object, Object> rmap = new HashMap<>();
  1578. //取MakeProcess表中的执行记录ID最大的一个工单的号码
  1579. String oErrMessage = null;
  1580. if(map.get("iSN")==null){
  1581. oErrMessage = "SN不能为空";
  1582. rmap.put("oErrMessage",oErrMessage);
  1583. return rmap;
  1584. }
  1585. String iSN=map.get("iSN").toString();
  1586. StringBuffer sql=new StringBuffer();
  1587. sql.append("select max(ms_id)ms_id from "+Master+".makeserial where ms_sncode in (select '" + iSN + "' from dual union select sn from ");
  1588. sql.append(""+Master+".makesnrelation where beforesn='" + iSN + "' and sn<>' ' union select beforesn from "+Master+".makesnrelation where sn='" + iSN + "' and beforesn<>' ')");
  1589. SqlRowList rs = baseDao.queryForRowSet(sql.toString());
  1590. String ms_id="";
  1591. if(rs.next()){
  1592. if(rs.getString("ms_id")==null){
  1593. oErrMessage = "序列号:" + iSN + " 未归属工单";
  1594. rmap.put("oErrMessage",oErrMessage);
  1595. return rmap;
  1596. }
  1597. else{
  1598. ms_id= rs.getString("ms_id");
  1599. }
  1600. }
  1601. Object[] oMoCode = baseDao.getFieldsDataByCondition(Master+".MakeSerial", "ms_makecode,ms_prodcode", "ms_id='" + ms_id + "'");
  1602. if (oMoCode != null){
  1603. rmap.put("oMoCode",oMoCode[0]);
  1604. rmap.put("oPrCode",oMoCode[1]);
  1605. oErrMessage= null;
  1606. }
  1607. else
  1608. {
  1609. oErrMessage = "序列号:" + iSN + " 未归属工单";
  1610. }
  1611. rmap.put("oErrMessage",oErrMessage);
  1612. return rmap;
  1613. }
  1614. private Map<Object,Object> GetMobileAllInfo(JSONObject map,String Master){
  1615. //实际业务数据
  1616. Map<Object, Object> rmap = new HashMap<>();
  1617. String iSN="";
  1618. String oErrMessage = null;
  1619. String oIMEI1 = "";
  1620. String oIMEI2 = "";
  1621. String oMEID = "";
  1622. String oNetCode = "";
  1623. String oPSN = "";
  1624. String oID1 = "";
  1625. String oID2 = "";
  1626. String oID3 = "";
  1627. String oID4 = "";
  1628. String oID5 = "";
  1629. String oWIFI = "";
  1630. String oBT = "";
  1631. String oCode1 = "";
  1632. String oCode2 = "";
  1633. String oCode3 = "";
  1634. String oNetCard = "";
  1635. String oNetCard2 = "";
  1636. if(map.get("iSN")==null){
  1637. oErrMessage = "SN不能为空";
  1638. rmap.put("oErrMessage",oErrMessage);
  1639. return rmap;
  1640. }
  1641. iSN=map.get("iSN").toString();
  1642. Object ms_id =baseDao.getFieldDataByCondition(Master+".makeserial", "max(ms_id)", "ms_sncode='" + iSN + "'");
  1643. if(ms_id!=null)
  1644. {
  1645. SqlRowList rs=baseDao.queryForRowSet("select MS_NETCARD,MS_NETCARD2,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());
  1646. if(rs.next()){
  1647. oWIFI = rs.getString("ms_mac");
  1648. oBT = rs.getString("ms_bt");
  1649. oPSN = rs.getString("ms_psn");
  1650. oNetCode = rs.getString("ms_netcode");
  1651. oMEID = rs.getString("ms_meid");
  1652. oIMEI1 = rs.getString("ms_imei1");
  1653. oIMEI2 = rs.getString("ms_imei2");
  1654. oCode1 = rs.getString("ms_othcode1");
  1655. oCode2 = rs.getString("ms_othcode2");
  1656. oCode3 = rs.getString("ms_othcode3");
  1657. oID1 = rs.getString("ms_othid3");
  1658. oID2 = rs.getString("ms_othid3");
  1659. oID3 = rs.getString("ms_othid3");
  1660. oNetCard = rs.getString("MS_NETCARD");
  1661. oNetCard2 = rs.getString("MS_NETCARD2");
  1662. }
  1663. }else
  1664. {
  1665. oErrMessage = "序列号" + iSN + "不存在";
  1666. rmap.put("oErrMessage",oErrMessage);
  1667. return rmap;
  1668. }
  1669. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  1670. rmap.put("oIMEI1",oIMEI1);
  1671. rmap.put("oIMEI2",oIMEI2);
  1672. rmap.put("oMEID",oMEID);
  1673. rmap.put("oNetCode",oNetCode);
  1674. rmap.put("oPSN",oPSN);
  1675. rmap.put("oID1",oID1);
  1676. rmap.put("oID2",oID2);
  1677. rmap.put("oID3",oID3);
  1678. rmap.put("oID4",oID4);
  1679. rmap.put("oID5",oID5);
  1680. rmap.put("oWIFI",oWIFI);
  1681. rmap.put("oBT",oBT);
  1682. rmap.put("oCode1",oCode1);
  1683. rmap.put("oCode2",oCode2);
  1684. rmap.put("oCode3",oCode3);
  1685. rmap.put("oNetCard",oNetCard);
  1686. rmap.put("oNetCard2",oNetCard2);
  1687. }
  1688. else
  1689. rmap.put("oErrMessage",oErrMessage);
  1690. return rmap;
  1691. }
  1692. private Map<Object,Object> SetAddressInfo(JSONObject map,String Master){
  1693. //实际业务数据
  1694. Map<Object, Object> rmap = new HashMap<>();
  1695. String oErrMessage = null;
  1696. if(map.get("iSN")==null){
  1697. oErrMessage = "SN不能为空";
  1698. rmap.put("oErrMessage",oErrMessage);
  1699. return rmap;
  1700. }
  1701. String iSN=map.get("iSN").toString();
  1702. String iWIFI = null;
  1703. String iBT = null;
  1704. String iNetCard=null;
  1705. String iNetCard2=null;
  1706. String iCode1 = null;
  1707. String iCode2 = null;
  1708. String iCode3 = null;
  1709. if(map.get("iMAC")!=null){
  1710. iWIFI=map.get("iMAC").toString();
  1711. }
  1712. if(map.get("iWIFI")!=null){
  1713. iWIFI=map.get("iWIFI").toString();
  1714. }
  1715. if(map.get("iBT")!=null){
  1716. iBT=map.get("iBT").toString();
  1717. }
  1718. if(map.get("iNetCard")!=null){
  1719. iNetCard=map.get("iNetCard").toString();
  1720. }
  1721. if(map.get("iNetCard2")!=null){
  1722. iNetCard2=map.get("iNetCard2").toString();
  1723. }
  1724. if(map.get("iCode1")!=null){
  1725. iCode1=map.get("iCode1").toString();
  1726. }
  1727. if(map.get("iCode2")!=null){
  1728. iCode2=map.get("iCode2").toString();
  1729. }
  1730. if(map.get("iCode3")!=null){
  1731. iCode3=map.get("iCode3").toString();
  1732. }
  1733. List<String> list = new ArrayList<String>();
  1734. list = baseDao.callProcedureWithOut(Master+".CS_SETADDRESSINFO_TOOL", new Object[]{
  1735. String.valueOf(iSN),
  1736. String.valueOf(iWIFI),
  1737. String.valueOf(iBT),
  1738. String.valueOf(iNetCard),
  1739. String.valueOf(iNetCard2),
  1740. String.valueOf(iCode1),
  1741. String.valueOf(iCode2),
  1742. String.valueOf(iCode3)
  1743. }, new Integer[]{1, 2, 3, 4, 5, 6,7,8}, new Integer[]{9});
  1744. oErrMessage = list.get(0);
  1745. rmap.put("oErrMessage",oErrMessage);
  1746. return rmap;
  1747. }
  1748. private Map<Object,Object> GetMaster(JSONObject map,String Master){
  1749. //实际业务数据
  1750. Map<Object, Object> rmap = new HashMap<>();
  1751. SqlRowList rs=baseDao.queryForRowSet("select ma_user,AE_KEY,AE_SECRET from mes.master left join MES.APIEMPLOYEE B on ma_user=ae_master");
  1752. while(rs.next())
  1753. {
  1754. rmap.put(rs.getString("ma_user"),rs.getString("AE_KEY")+"|"+rs.getString("AE_SECRET"));
  1755. }
  1756. return rmap;
  1757. }
  1758. private Map<Object,Object> SetMobileData(JSONObject map,String Master){
  1759. //实际业务数据
  1760. Map<Object, Object> rmap = new HashMap<>();
  1761. String oErrMessage = null;
  1762. if(map.get("iSN")==null||map.get("iTSN")==null){
  1763. oErrMessage = "SN不能为空";
  1764. rmap.put("oErrMessage",oErrMessage);
  1765. return rmap;
  1766. }
  1767. String iSN=map.get("iSN").toString();
  1768. String iTSN=map.get("iTSN").toString();
  1769. String iSourceCode = null;
  1770. String iOperater = null;
  1771. String iResult = null;
  1772. String flag = null;
  1773. String iErrCode = null;
  1774. if(map.get("iSourceCode")!=null){
  1775. iSourceCode=map.get("iSourceCode").toString();
  1776. }
  1777. if(map.get("iResCode")!=null){
  1778. iSourceCode=map.get("iResCode").toString();
  1779. }
  1780. if(map.get("iOperater")!=null){
  1781. iOperater=map.get("iOperater").toString();
  1782. }
  1783. if(map.get("iResult")!=null){
  1784. iResult=map.get("iResult").toString();
  1785. }
  1786. if(map.get("flag")!=null){
  1787. flag=map.get("flag").toString();
  1788. }
  1789. if(map.get("iErrCode")!=null){
  1790. iErrCode=map.get("iErrCode").toString();
  1791. }
  1792. List<String> list = new ArrayList<String>();
  1793. list = baseDao.callProcedureWithOut(Master+".CS_DLLSNCHANGE_TOOL", new Object[]{
  1794. String.valueOf(iTSN),
  1795. String.valueOf(iSN),
  1796. String.valueOf(iSourceCode),
  1797. String.valueOf(iOperater),
  1798. String.valueOf(iResult),
  1799. String.valueOf(iErrCode),
  1800. }, new Integer[]{1, 2, 3, 4, 5, 6}, new Integer[]{7});
  1801. oErrMessage = list.get(0);
  1802. rmap.put("oErrMessage",oErrMessage);
  1803. return rmap;
  1804. }
  1805. private Map<Object,Object> SetIMEIInfo(JSONObject map,String Master){
  1806. //实际业务数据
  1807. Map<Object, Object> rmap = new HashMap<>();
  1808. String oErrMessage = null;
  1809. if(map.get("iSN")==null){
  1810. oErrMessage = "SN不能为空";
  1811. rmap.put("oErrMessage",oErrMessage);
  1812. return rmap;
  1813. }
  1814. String iSN=map.get("iSN").toString();
  1815. String iIMEI1=null;
  1816. String iIMEI2 = null;
  1817. String iIMEI3 = null;
  1818. String iMEID = null;
  1819. String iNET = null;
  1820. String iID1 = null;
  1821. String iID2 = null;
  1822. String iID3 = null;
  1823. String iKeyID = null;
  1824. String iHashValue = null;
  1825. if(map.get("iIMEI1")!=null){
  1826. iIMEI1=map.get("iIMEI1").toString();
  1827. }
  1828. if(map.get("iIMEI2")!=null){
  1829. iIMEI2=map.get("iIMEI2").toString();
  1830. }
  1831. if(map.get("iIMEI3")!=null){
  1832. iIMEI3=map.get("iIMEI3").toString();
  1833. }
  1834. if(map.get("iMEID")!=null){
  1835. iMEID=map.get("iMEID").toString();
  1836. }
  1837. if(map.get("iNET")!=null){
  1838. iNET=map.get("iNET").toString();
  1839. }
  1840. if(map.get("iID1")!=null){
  1841. iID1=map.get("iID1").toString();
  1842. }
  1843. if(map.get("iID2")!=null){
  1844. iID2=map.get("iID2").toString();
  1845. }
  1846. if(map.get("iID3")!=null){
  1847. iID3=map.get("iID3").toString();
  1848. }
  1849. if(map.get("iKeyID")!=null){
  1850. iKeyID=map.get("iKeyID").toString();
  1851. }
  1852. if(map.get("iHashValue")!=null){
  1853. iHashValue=map.get("iHashValue").toString();
  1854. }
  1855. List<String> list = new ArrayList<String>();
  1856. list = baseDao.callProcedureWithOut(Master+".CS_SETIMEIINFO_NEW", new Object[]{
  1857. String.valueOf(iSN),
  1858. String.valueOf(iIMEI1),
  1859. String.valueOf(iIMEI2),
  1860. String.valueOf(iIMEI3),
  1861. String.valueOf(iMEID),
  1862. String.valueOf(iNET),
  1863. String.valueOf(""),
  1864. String.valueOf(iID1),
  1865. String.valueOf(iID2),
  1866. String.valueOf(iID3),
  1867. String.valueOf(iKeyID),
  1868. String.valueOf(iHashValue),
  1869. }, new Integer[]{1, 2, 3, 4, 5, 6,7,8,9,10,11,12}, new Integer[]{13});
  1870. oErrMessage = list.get(0);
  1871. rmap.put("oErrMessage",oErrMessage);
  1872. return rmap;
  1873. }
  1874. private Map<Object,Object> Set_Soft_Hard_WareInfo(JSONObject map,String Master){
  1875. //实际业务数据
  1876. Map<Object, Object> rmap = new HashMap<>();
  1877. String oErrMessage=null;
  1878. if(map.get("iSN")==null){
  1879. oErrMessage = "SN不能为空";
  1880. rmap.put("oErrMessage",oErrMessage);
  1881. return rmap;
  1882. }
  1883. String iSN=map.get("iSN").toString();
  1884. //SN在makeserial表最新一条记录ms_status为2的不允许更新
  1885. SqlRowList rsMs = baseDao.queryForRowSet("select ms_status from "+Master+".makeserial where ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode=?)", iSN);
  1886. if(rsMs.next() && "2".equals(rsMs.getString("ms_status"))){
  1887. oErrMessage = "SN:" + iSN + " 已完工,不允许更新";
  1888. rmap.put("oErrMessage",oErrMessage);
  1889. return rmap;
  1890. }
  1891. //prodiomac表中已有该SN出货记录的不允许更新
  1892. SqlRowList rsPim = baseDao.queryForRowSet("select count(1)cn from "+Master+".prodiomac where PIM_INOROUT='OUT' and pim_mac=?", iSN);
  1893. if(rsPim.next() && rsPim.getInt(1) > 0){
  1894. oErrMessage = "SN:" + iSN + " 已存在出货记录,不允许更新";
  1895. rmap.put("oErrMessage",oErrMessage);
  1896. return rmap;
  1897. }
  1898. String iTestResult= "";
  1899. String iResCode= "";
  1900. String iClassName="";
  1901. String iTestDetail= "";
  1902. String iMaxValue= "";
  1903. String iMinValue= "";
  1904. if(map.get("iTestResult")!=null){
  1905. iTestResult=map.get("iTestResult").toString();
  1906. }
  1907. if(map.get("iClassName")!=null){
  1908. iClassName=map.get("iClassName").toString();
  1909. }
  1910. if(map.get("iResCode")!=null){
  1911. iResCode=map.get("iResCode").toString();
  1912. }
  1913. if(map.get("iTestDetail")!=null){
  1914. iTestDetail=map.get("iTestDetail").toString();
  1915. }
  1916. JSONObject map3=new JSONObject();
  1917. map3.put("iSN",iSN);
  1918. Map<Object, Object> map2=GetRcardMOInfo(map3,Master);
  1919. String omakeCode = "";
  1920. StringBuffer sql=new StringBuffer();
  1921. String[] name=iClassName.split("\\|");
  1922. String[] value=iTestDetail.split("\\|");
  1923. if(name.length!=value.length){
  1924. rmap.put("oErrMessage","测试项目名称和值的项次不一致");
  1925. return rmap;
  1926. }
  1927. for (int i=0;i<name.length;i++){
  1928. baseDao.execute("delete from "+Master+".HARDWARESOFTWARE where hs_sncode=? and HS_IITEM=? and HS_SOURCECODE=?",iSN,name[i],iResCode);
  1929. sql.setLength(0);
  1930. sql.append("Insert into "+Master+".HARDWARESOFTWARE (HS_SNCODE,HS_MAKECODE, HS_IITEM, HS_IITEMVALUES, HS_INDATE,HS_SOURCECODE)");
  1931. sql.append("values('" + iSN + "','" + map2.get("oMoCode") + "',?,?,sysdate,?)");
  1932. baseDao.execute(sql.toString(),name[i],value[i],iResCode);
  1933. }
  1934. rmap.put("oErrMessage",oErrMessage);
  1935. return rmap;
  1936. }
  1937. private Map<Object,Object> SetTestDetail(JSONObject map,String Master){
  1938. //实际业务数据
  1939. Map<Object, Object> rmap = new HashMap<>();
  1940. String oErrMessage=null;
  1941. if(map.get("iSN")==null){
  1942. oErrMessage = "SN不能为空";
  1943. rmap.put("oErrMessage",oErrMessage);
  1944. return rmap;
  1945. }
  1946. String iSN=map.get("iSN").toString();
  1947. String iTestResult= "";
  1948. String iResCode= "";
  1949. String iClassName="";
  1950. String iTestDetail= "";
  1951. String iMaxValue= "";
  1952. String iMinValue= "";
  1953. String iTestTimes= "";
  1954. if(map.get("iTestResult")!=null){
  1955. iTestResult=map.get("iTestResult").toString();
  1956. }
  1957. if(map.get("iClassName")!=null){
  1958. iClassName=map.get("iClassName").toString();
  1959. }
  1960. if(map.get("iResCode")!=null){
  1961. iResCode=map.get("iResCode").toString();
  1962. }
  1963. if(map.get("iTestDetail")!=null){
  1964. iTestDetail=map.get("iTestDetail").toString();
  1965. }
  1966. if(map.get("iTestTimes")!=null){
  1967. iTestTimes=map.get("iTestTimes").toString();
  1968. }
  1969. if(map.get("iMaxValue")!=null){
  1970. iMaxValue=map.get("iMaxValue").toString();
  1971. }
  1972. if(map.get("iMinValue")!=null){
  1973. iMinValue=map.get("iMinValue").toString();
  1974. }
  1975. JSONObject map3=new JSONObject();
  1976. map3.put("iSN",iSN);
  1977. Map<Object, Object> map2=GetRcardMOInfo(map3,Master);
  1978. String omakeCode = "";
  1979. StringBuffer sql=new StringBuffer();
  1980. String[] name=iClassName.split("\\|");
  1981. String[] result=iTestResult.split("\\|");
  1982. String[] value=iTestDetail.split("\\|");
  1983. String[] times=iTestTimes.split("\\|");
  1984. if(name.length!=value.length||name.length!=result.length){
  1985. rmap.put("oErrMessage","测试项目名称和值的项次不一致");
  1986. return rmap;
  1987. }
  1988. if(iTestTimes!=null&&!iTestTimes.equals("null")&&!iTestTimes.equals("")){
  1989. if(times.length!=name.length){
  1990. rmap.put("oErrMessage","测试项目名称和值的项次不一致");
  1991. return rmap;
  1992. }
  1993. for (int i=0;i<name.length;i++){
  1994. sql.setLength(0);
  1995. 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)");
  1996. sql.append("values("+Master+".STEPTESTDETAIL_SEQ.nextval,?,?,'" + iSN + "','" + map2.get("oMoCode") + "',?,?,sysdate,'" + iResCode + "','"+iMaxValue+"','"+iMinValue+"')");
  1997. baseDao.execute(sql.toString(),times[i],name[i],value[i],result[i] );
  1998. }
  1999. }else {
  2000. for (int i=0;i<name.length;i++){
  2001. sql.setLength(0);
  2002. 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)");
  2003. sql.append("values("+Master+".STEPTESTDETAIL_SEQ.nextval,?,'" + iSN + "','" + map2.get("oMoCode") + "',?,?,sysdate,'" + iResCode + "','"+iMaxValue+"','"+iMinValue+"')");
  2004. baseDao.execute(sql.toString(),name[i],value[i],result[i] );
  2005. }
  2006. }
  2007. rmap.put("oErrMessage",oErrMessage);
  2008. return rmap;
  2009. }
  2010. private Map<Object,Object> GetEDISN(JSONObject map,String Master){
  2011. Map<Object, Object> rmap = new HashMap<>();
  2012. JSONArray dataArray = map.getJSONArray("data");
  2013. List<Map<String, Object>> maps = new ArrayList<>();
  2014. for (int i = 0; i < dataArray.size(); i++) {
  2015. JSONObject item = dataArray.getJSONObject(i);
  2016. Object sn = item.get("SN");
  2017. SqlRowList rs=baseDao.queryForRowSet("select ms_id from makeserial where ms_sncode='"+sn+"'");
  2018. if(rs.next()){
  2019. baseDao.execute("update makeserial set ms_edistatus=-1 where ms_id=(select max(ms_id) from makeserial where ms_sncode='"+sn+"')");
  2020. Map<String, Object> map1 = new HashMap<>();
  2021. map1.put("Pass",sn+"标记成功");
  2022. maps.add(map1);
  2023. }
  2024. else {
  2025. Map<String, Object> map1 = new HashMap<>();
  2026. map1.put("Fail",sn+"不存在");
  2027. maps.add(map1);
  2028. }
  2029. }
  2030. rmap.put("Result",maps);
  2031. return rmap;
  2032. }
  2033. private Map<Object,Object> SetPcbaData(JSONObject map,String Master){
  2034. //实际业务数据
  2035. Map<Object, Object> rmap = new HashMap<>();
  2036. String oErrMessage = null;
  2037. if(map.get("iSN")==null){
  2038. oErrMessage = "SN不能为空";
  2039. rmap.put("oErrMessage",oErrMessage);
  2040. return rmap;
  2041. }
  2042. String iSN=map.get("iSN").toString();
  2043. String iResCode = null;
  2044. String iOperator = null;
  2045. String iResult = null;
  2046. String iErrCode = null;
  2047. if(map.get("iResCode")!=null){
  2048. iResCode=map.get("iResCode").toString();
  2049. }
  2050. if(map.get("iOperater")!=null){
  2051. iOperator=map.get("iOperater").toString();
  2052. }
  2053. if(map.get("iResult")!=null){
  2054. iResult=map.get("iResult").toString();
  2055. }
  2056. if(map.get("iErrCode")!=null){
  2057. iErrCode=map.get("iErrCode").toString();
  2058. }
  2059. 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+"'");
  2060. if(rs.next()){
  2061. String st_ifinput=rs.getString("st_ifinput");
  2062. String st_ifoqc=rs.getString("st_ifinput");
  2063. String st_ifweigh=rs.getString("st_ifweigh");
  2064. if(st_ifinput.equals("-1")){
  2065. oErrMessage = "上料工序必须在客户端进行过站";
  2066. rmap.put("oErrMessage",oErrMessage);
  2067. return rmap;
  2068. }
  2069. if(st_ifoqc.equals("-1")){
  2070. oErrMessage = "OQC必须在客户端进行过站";
  2071. rmap.put("oErrMessage",oErrMessage);
  2072. return rmap;
  2073. }
  2074. if(st_ifweigh.equals("-1")){
  2075. oErrMessage = "称重工序必须在客户端进行过站";
  2076. rmap.put("oErrMessage",oErrMessage);
  2077. return rmap;
  2078. }
  2079. }
  2080. rs=baseDao.queryForRowSet("select ms_sncode from makeserial where ms_imei1='"+iSN+"' order by ms_id desc");
  2081. if(rs.next()){
  2082. iSN=rs.getString("ms_sncode");
  2083. }
  2084. rs=baseDao.queryForRowSet("select ms_sncode from makeserial where ms_mac='"+iSN+"' order by ms_id desc");
  2085. if(rs.next()){
  2086. iSN=rs.getString("ms_sncode");
  2087. }
  2088. JSONObject map3=new JSONObject();
  2089. map3.put("iSN",iSN);
  2090. Map<Object, Object> map2=GetRcardMOInfo(map3,Master);
  2091. String oMoCode=null;
  2092. if(map2.get("oMoCode")!=null){
  2093. oMoCode=map2.get("oMoCode").toString();
  2094. }
  2095. if (map2.get("oErrMessage")==null)
  2096. return SetStepFinish(oMoCode, iResCode, iSN, "", iResult, iOperator, iErrCode,Master);
  2097. return rmap;
  2098. }
  2099. /// <summary>
  2100. /// 获取步骤代码
  2101. /// </summary>
  2102. /// <param name="Source"></param>
  2103. /// <returns></returns>
  2104. private String GetStepCodeBySource(String Source,String Master)
  2105. {
  2106. Object o=baseDao.getFieldDataByCondition(Master+".source", "sc_stepcode", "sc_code='" + Source + "'");
  2107. if(o!=null)
  2108. return o.toString();
  2109. else
  2110. return "";
  2111. }
  2112. private Boolean CheckUserLogin(String iUserCode, String iPassWord,String Master)
  2113. {
  2114. SqlRowList rs =baseDao.queryForRowSet("select em_code from "+Master+".employee where em_code='"+iUserCode+"' and em_password =?",iPassWord);
  2115. if (rs.next())
  2116. return true;
  2117. else
  2118. {
  2119. return false;
  2120. }
  2121. }
  2122. private Map<Object,Object> GetMakeInfoBySN(JSONObject map,String Master)
  2123. {
  2124. Map<Object, Object> rmap = new HashMap<Object, Object>();
  2125. String iSN=null;
  2126. String iMakeCode=null;
  2127. String oErrMessage=null;
  2128. if(map.get("iSN")!= null){
  2129. iSN=map.get("iSN").toString();
  2130. }
  2131. if(map.get("iMakeCode")!= null){
  2132. iMakeCode=map.get("iMakeCode").toString();
  2133. }
  2134. 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 " +
  2135. "left join "+Master+".makeserial on ms_makecode=ma_code where ms_sncode='"+iSN+"' order by ms_id desc");
  2136. if(rs.next()){
  2137. rmap.put("oMaremark1",rs.getString("ma_remark1"));
  2138. rmap.put("oMaremark2",rs.getString("ma_remark2"));
  2139. rmap.put("oMaremark3",rs.getString("ma_remark3"));
  2140. rmap.put("oMaremark4",rs.getString("ma_remark4"));
  2141. rmap.put("oMaremark5",rs.getString("ma_remark5"));
  2142. rmap.put("oMaremark6",rs.getString("ma_remark6"));
  2143. rmap.put("oMaremark7",rs.getString("ma_remark7"));
  2144. rmap.put("oMaremark8",rs.getString("ma_remark8"));
  2145. rmap.put("oMaremark9",rs.getString("ma_remark9"));
  2146. rmap.put("oMaremark10",rs.getString("ma_remark10"));
  2147. rmap.put("oMaremark11",rs.getString("ma_remark11"));
  2148. rmap.put("oMaremark12",rs.getString("ma_remark12"));
  2149. rmap.put("oMaremark13",rs.getString("ma_remark13"));
  2150. rmap.put("oMaremark14",rs.getString("ma_remark14"));
  2151. rmap.put("oMaremark15",rs.getString("ma_remark15"));
  2152. rmap.put("oMaremark16",rs.getString("ma_remark16"));
  2153. rmap.put("oMaremark17",rs.getString("ma_remark17"));
  2154. rmap.put("oMaremark18",rs.getString("ma_remark18"));
  2155. return rmap;
  2156. }else{
  2157. 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 " +
  2158. " where ma_code='"+iMakeCode+"'");
  2159. if(rs.next()){
  2160. rmap.put("oMaremark1",rs.getString("ma_remark1"));
  2161. rmap.put("oMaremark2",rs.getString("ma_remark2"));
  2162. rmap.put("oMaremark3",rs.getString("ma_remark3"));
  2163. rmap.put("oMaremark4",rs.getString("ma_remark4"));
  2164. rmap.put("oMaremark5",rs.getString("ma_remark5"));
  2165. rmap.put("oMaremark6",rs.getString("ma_remark6"));
  2166. rmap.put("oMaremark7",rs.getString("ma_remark7"));
  2167. rmap.put("oMaremark8",rs.getString("ma_remark8"));
  2168. rmap.put("oMaremark9",rs.getString("ma_remark9"));
  2169. rmap.put("oMaremark10",rs.getString("ma_remark10"));
  2170. rmap.put("oMaremark11",rs.getString("ma_remark11"));
  2171. rmap.put("oMaremark12",rs.getString("ma_remark12"));
  2172. rmap.put("oMaremark13",rs.getString("ma_remark13"));
  2173. rmap.put("oMaremark14",rs.getString("ma_remark14"));
  2174. rmap.put("oMaremark15",rs.getString("ma_remark15"));
  2175. rmap.put("oMaremark16",rs.getString("ma_remark16"));
  2176. rmap.put("oMaremark17",rs.getString("ma_remark17"));
  2177. rmap.put("oMaremark18",rs.getString("ma_remark18"));
  2178. return rmap;
  2179. }else {
  2180. oErrMessage = "未查询到关联信息";
  2181. rmap.put("oErrMessage",oErrMessage);
  2182. return rmap;
  2183. }
  2184. }
  2185. }
  2186. private Map<Object,Object> GetPSN(JSONObject map,String Master){
  2187. String oErrMessage="";
  2188. Map<Object, Object> rmap = new HashMap<Object, Object>();
  2189. if(map.get("iSN")==null){
  2190. oErrMessage = "SN不能为空";
  2191. rmap.put("oErrMessage",oErrMessage);
  2192. return rmap;
  2193. }
  2194. String iSN=map.get("iSN").toString();
  2195. SqlRowList rs;
  2196. 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+"')");
  2197. if(iMakecode==null){
  2198. oErrMessage = iSN+"无关联工单";
  2199. rmap.put("oErrMessage",oErrMessage);
  2200. return rmap;
  2201. }
  2202. //之前有获取过的
  2203. rs=baseDao.queryForRowSet("select msl_sncode from "+Master+".makesnlist where msl_beforesn='"+iSN+"'");
  2204. if(rs.next()){
  2205. rmap.put("msl_sncode",rs.getString("msl_sncode"));
  2206. return rmap;
  2207. }
  2208. List<String> list = new ArrayList<String>();
  2209. list = baseDao.callProcedureWithOut(Master+".SP_GETPSN", new Object[]{
  2210. String.valueOf(iSN),
  2211. String.valueOf(iMakecode),
  2212. }, new Integer[]{1,2}, new Integer[]{3});
  2213. String msl_sncode=list.get(0);
  2214. if(msl_sncode!=null){
  2215. rmap.put("msl_sncode",msl_sncode);
  2216. return rmap;
  2217. }else{
  2218. rmap.put("msl_sncode",iSN);
  2219. return rmap;
  2220. }
  2221. }
  2222. private Map<Object,Object> GetMakeRelation(JSONObject map,String Master){
  2223. String oErrMessage="";
  2224. Map<Object, Object> rmap = new HashMap<Object, Object>();
  2225. if(map.get("iSN")==null){
  2226. oErrMessage = "SN不能为空";
  2227. rmap.put("oErrMessage",oErrMessage);
  2228. return rmap;
  2229. }
  2230. String iSN=map.get("iSN").toString();
  2231. // Object iMakecode=baseDao.getFieldDataByCondition(Master+".makeserial","ms_makecode","ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  2232. // if(iMakecode==null){
  2233. // oErrMessage = iSN+"无关联工单";
  2234. // rmap.put("oErrMessage",oErrMessage);
  2235. // return rmap;
  2236. // }
  2237. //之前有获取过的
  2238. 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 " +
  2239. "left join "+Master+".aftersaledet on asd_sn=mid_sn left join "+Master+".DeliveryIn on "+Master+".DeliveryIn.sn=mid_sn " +
  2240. "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");
  2241. if(rs.next()){
  2242. rmap.put("MID_ID","");
  2243. rmap.put("MID_MIID",rs.getString("MID_MIID"));
  2244. rmap.put("MID_ORDERCODE",rs.getString("MID_ORDERCODE"));
  2245. rmap.put("MID_SN",rs.getString("MID_SN"));
  2246. rmap.put("MID_WIFIMAC",rs.getString("MID_WIFIMAC"));
  2247. rmap.put("MID_IMEI",rs.getString("MID_IMEI"));
  2248. rmap.put("MID_BTMAC",rs.getString("MID_BTMAC"));
  2249. rmap.put("MID_OSVERSION",rs.getString("MID_OSVERSION"));
  2250. rmap.put("MID_OSPRODUCTKEY",rs.getString("MID_OSPRODUCTKEY"));
  2251. rmap.put("MID_OSPRODUCTID",rs.getString("MID_OSPRODUCTID"));
  2252. rmap.put("MID_DRIVERVERSION",rs.getString("MID_DRIVERVERSION"));
  2253. rmap.put("MID_BIOSVERSION",rs.getString("MID_BIOSVERSION"));
  2254. rmap.put("MID_PROCESSID",rs.getString("MID_PROCESSID"));
  2255. rmap.put("MID_HARDDISKSN",rs.getString("MID_HARDDISKSN"));
  2256. rmap.put("MID_HARDDISKMODEL",rs.getString("MID_HARDDISKMODEL"));
  2257. rmap.put("MID_CREATETIME",rs.getString("MID_CREATETIME"));
  2258. rmap.put("MID_DETNO",rs.getString("MID_DETNO"));
  2259. rmap.put("MID_EC",rs.getString("MID_EC"));
  2260. rmap.put("ORDERNUMBER",rs.getString("ORDERNUMBER"));
  2261. rmap.put("CUSTOMER",rs.getString("CUSTOMER"));
  2262. rmap.put("MODEL",rs.getString("MODEL"));
  2263. rmap.put("ORDERQUANTITY",rs.getString("ORDERQUANTITY"));
  2264. rmap.put("BARCODE",rs.getString("BARCODE"));
  2265. rmap.put("CPU",rs.getString("CPU"));
  2266. rmap.put("RAM",rs.getString("RAM"));
  2267. rmap.put("ROM",rs.getString("ROM"));
  2268. rmap.put("GENERATION",rs.getString("GENERATION"));
  2269. rmap.put("WIFI",rs.getString("WIFI"));
  2270. rmap.put("LCD",rs.getString("LCD"));
  2271. rmap.put("DPI",rs.getString("DPI"));
  2272. rmap.put("TP",rs.getString("TP"));
  2273. rmap.put("NFC",rs.getString("NFC"));
  2274. rmap.put("CAMERA",rs.getString("CAMERA"));
  2275. rmap.put("BAT",rs.getString("BAT"));
  2276. rmap.put("GPS",rs.getString("GPS"));
  2277. rmap.put("FINGERPRINT",rs.getString("FINGERPRINT"));
  2278. rmap.put("MAINBOARDVER",rs.getString("MAINBOARDVER"));
  2279. rmap.put("SUBBOARDVER",rs.getString("SUBBOARDVER"));
  2280. rmap.put("OSTYPE",rs.getString("OSTYPE"));
  2281. rmap.put("MACHINECODE",rs.getString("MACHINECODE"));
  2282. rmap.put("MCU",rs.getString("MCU"));
  2283. rmap.put("GYROSCOPE",rs.getString("GYROSCOPE"));
  2284. rmap.put("ACCELEROMETER",rs.getString("ACCELEROMETER"));
  2285. rmap.put("MAGNETOMETER",rs.getString("MAGNETOMETER"));
  2286. rmap.put("LIGHTSENSOR",rs.getString("LIGHTSENSOR"));
  2287. rmap.put("BRIDGEIC",rs.getString("BRIDGEIC"));
  2288. rmap.put("REMARK",rs.getString("REMARK"));
  2289. rmap.put("IDENTITYMODULE",rs.getString("IDENTITYMODULE"));
  2290. rmap.put("ASD_MACHINETYPE",rs.getString("ASD_MACHINETYPE"));
  2291. rmap.put("ASD_RECIVETIME",rs.getString("ASD_RECIVETIME"));
  2292. rmap.put("ASD_SALEER",rs.getString("ASD_SALEER"));
  2293. rmap.put("ASD_CUSTNAME",rs.getString("ASD_CUSTNAME"));
  2294. rmap.put("ASD_QTY",rs.getString("ASD_QTY"));
  2295. rmap.put("ASD_SENDMAN",rs.getString("ASD_SENDMAN"));
  2296. rmap.put("ASD_CONFIG",rs.getString("ASD_CONFIG"));
  2297. rmap.put("ASD_CONTENT",rs.getString("ASD_CONTENT"));
  2298. rmap.put("ASD_KIND",rs.getString("ASD_KIND"));
  2299. rmap.put("ASD_DEALMAN",rs.getString("ASD_DEALMAN"));
  2300. rmap.put("ASD_FINISHTIME",rs.getString("ASD_FINISHTIME"));
  2301. rmap.put("ASD_STATUS",rs.getString("ASD_STATUS"));
  2302. rmap.put("ASD_REMARK",rs.getString("ASD_REMARK"));
  2303. rmap.put("ASD_ACTREMAKETIME",rs.getString("ASD_ACTREMAKETIME"));
  2304. rmap.put("ASD_BIOS",rs.getString("ASD_BIOS"));
  2305. rmap.put("ASD_OS",rs.getString("ASD_OS"));
  2306. rmap.put("ASD_DETNO",rs.getString("ASD_DETNO"));
  2307. rmap.put("ASD_SN",rs.getString("ASD_SN"));
  2308. rmap.put("ASD_IMEI",rs.getString("ASD_IMEI"));
  2309. rmap.put("ASD_INDATE",rs.getString("ASD_INDATE"));
  2310. rmap.put("IN_SN",rs.getString("IN_SN"));
  2311. rmap.put("IN_IMEI",rs.getString("IN_IMEI"));
  2312. rmap.put("IN_CUSTOMER",rs.getString("IN_CUSTOMER"));
  2313. rmap.put("IN_SALES",rs.getString("IN_SALES"));
  2314. rmap.put("IN_DELIVERY",rs.getString("IN_DELIVERY"));
  2315. rmap.put("OUT_SN",rs.getString("OUT_SN"));
  2316. rmap.put("OUT_IMEI",rs.getString("OUT_IMEI"));
  2317. rmap.put("OUT_CUSTOMER",rs.getString("OUT_CUSTOMER"));
  2318. rmap.put("OUT_SALES",rs.getString("OUT_SALES"));
  2319. rmap.put("OUT_DELIVERY",rs.getString("OUT_DELIVERY"));
  2320. rmap.put("RMD_MACHINETYPE",rs.getString("RMD_MACHINETYPE"));
  2321. rmap.put("RMD_SN",rs.getString("RMD_SN"));
  2322. rmap.put("RMD_REMARK",rs.getString("RMD_REMARK"));
  2323. rmap.put("RMD_RECIVETIME",rs.getString("RMD_RECIVETIME"));
  2324. rmap.put("RMD_SALEER",rs.getString("RMD_SALEER"));
  2325. rmap.put("RMD_CUSTNAME",rs.getString("RMD_CUSTNAME"));
  2326. rmap.put("RMD_QTY",rs.getString("RMD_QTY"));
  2327. rmap.put("RMD_ASSISTANT",rs.getString("RMD_ASSISTANT"));
  2328. rmap.put("RMD_BADNAME",rs.getString("RMD_BADNAME"));
  2329. rmap.put("RMD_BADCONFRM",rs.getString("RMD_BADCONFRM"));
  2330. rmap.put("RMD_BADTYPE",rs.getString("RMD_BADTYPE"));
  2331. rmap.put("RMD_BADREASON",rs.getString("RMD_BADREASON"));
  2332. rmap.put("RMD_DEALMAN",rs.getString("RMD_DEALMAN"));
  2333. rmap.put("RMD_FINISHTIME",rs.getString("RMD_FINISHTIME"));
  2334. rmap.put("RMD_STATUS",rs.getString("RMD_STATUS"));
  2335. rmap.put("RMD_ANAREASON",rs.getString("RMD_ANAREASON"));
  2336. rmap.put("RMD_REPAIR",rs.getString("RMD_REPAIR"));
  2337. rmap.put("RMD_REPAIRKIND",rs.getString("RMD_REPAIRKIND"));
  2338. rmap.put("RMD_DAYS",rs.getString("RMD_DAYS"));
  2339. rmap.put("RMD_MDM",rs.getString("RMD_MDM"));
  2340. rmap.put("RMD_TYPE",rs.getString("RMD_TYPE"));
  2341. rmap.put("RMD_DETNO",rs.getString("RMD_DETNO"));
  2342. return rmap;
  2343. }else{
  2344. oErrMessage = "无对应配置信息";
  2345. rmap.put("oErrMessage",oErrMessage);
  2346. return rmap;
  2347. }
  2348. }
  2349. private Map<Object,Object> WriteProdInfo(JSONObject map,String Master){
  2350. Map<Object, Object> rmap = new HashMap<Object, Object>();
  2351. String oErrMessage=null;
  2352. if(map.get("iProdCode")==null){
  2353. oErrMessage = "工单号不能为空";
  2354. rmap.put("oErrMessage",oErrMessage);
  2355. return rmap;
  2356. }
  2357. String ProdCode=map.get("iProdCode").toString();
  2358. String iManCode=map.get("iManCode").toString();
  2359. String Item=map.get("Item").toString();
  2360. SqlRowList rs=baseDao.queryForRowSet("select * from "+Master+".productitem where pi_prodcode='"+ProdCode+"'");
  2361. //如果已经存在工单了
  2362. if(rs.next()){
  2363. String[] str=Item.split("\\|");
  2364. String pi_id=rs.getString("pi_id");
  2365. baseDao.execute("delete from "+Master+".productitemdetail where pid_piid='"+pi_id+"'");
  2366. for (int i=0;i<str.length;i++) {
  2367. Object key = str[i].split("#")[0];
  2368. Object value = str[i].split("#")[1];
  2369. baseDao.execute("insert into "+Master+".productitemdetail(pid_id,pid_piid,pid_item,pid_value)" +
  2370. "values("+Master+".productitemdetail_seq.nextval,'"+pi_id+"','"+key.toString()+"','"+value.toString()+"')");
  2371. }
  2372. }else {
  2373. int pi_id = baseDao.getSeqId(Master+".productitem_seq");
  2374. String[] str=Item.split("\\|");
  2375. baseDao.execute("insert into "+Master+".productitem(pi_id,pi_prodcode,pi_indate,PI_INMAN)values("+pi_id+",'"+ProdCode+"',sysdate,'"+iManCode+"')");
  2376. for (int i=0;i<str.length;i++) {
  2377. Object key = str[i].split("#")[0];
  2378. Object value = str[i].split("#")[1];
  2379. baseDao.execute("insert into "+Master+".productitemdetail(pid_id,pid_piid,pid_item,pid_value)" +
  2380. "values("+Master+".productitemdetail_seq.nextval,'"+pi_id+"','"+key.toString()+"','"+value.toString()+"')");
  2381. }
  2382. }
  2383. return rmap;
  2384. }
  2385. private Map<Object,Object> GetProdInfo(JSONObject map,String Master){
  2386. Map<Object, Object> rmap = new HashMap<Object, Object>();
  2387. String iSN=null;
  2388. String oErrMessage=null;
  2389. if(map.get("iSN")==null){
  2390. oErrMessage = "SN不能为空";
  2391. rmap.put("oErrMessage",oErrMessage);
  2392. return rmap;
  2393. }
  2394. iSN=map.get("iSN").toString();
  2395. Object prcode=baseDao.getFieldDataByCondition(Master+".makeserial","ms_prodcode","ms_id=(select max(ms_id) from "+Master+".makeserial where ms_sncode='"+iSN+"')");
  2396. if(prcode==null){
  2397. oErrMessage = "SN未关联产品编号";
  2398. rmap.put("oErrMessage",oErrMessage);
  2399. return rmap;
  2400. }
  2401. SqlRowList rs=baseDao.queryForRowSet("select pid_item,pid_value from "+Master+".productitem left join "+Master+".productitemdetail on pi_id=pid_piid " +
  2402. "where pi_prodcode='"+prcode+"' and pid_item is not null");
  2403. while(rs.next()){
  2404. rmap.put(rs.getString("pid_item"),rs.getString("pid_value"));
  2405. }
  2406. return rmap;
  2407. /*if(rs.next()){
  2408. }else{
  2409. oErrMessage = "SN未查询到关联信息";
  2410. rmap.put("oErrMessage",oErrMessage);
  2411. return rmap;
  2412. }*/
  2413. }
  2414. private Map<Object,Object> GetMakeInfoByProd(JSONObject map,String Master)
  2415. {
  2416. Map<Object, Object> rmap = new HashMap<Object, Object>();
  2417. String iSN=null;
  2418. String oErrMessage=null;
  2419. if(map.get("iSN")==null){
  2420. oErrMessage = "产品编号不能为空";
  2421. rmap.put("oErrMessage",oErrMessage);
  2422. return rmap;
  2423. }
  2424. iSN=map.get("iSN").toString();
  2425. SqlRowList rs=baseDao.queryForRowSet("select pr_remark1,pr_remark2,pr_remark3,pr_remark4,pr_remark5" +
  2426. ",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");
  2427. if(rs.next()){
  2428. rmap.put("oProdmark1",rs.getString("pr_remark1"));
  2429. rmap.put("oProdmark2",rs.getString("pr_remark2"));
  2430. rmap.put("oProdmark3",rs.getString("pr_remark3"));
  2431. rmap.put("oProdmark4",rs.getString("pr_remark4"));
  2432. rmap.put("oProdmark5",rs.getString("pr_remark5"));
  2433. rmap.put("oProdmark6",rs.getString("pr_remark6"));
  2434. rmap.put("oProdmark7",rs.getString("pr_remark7"));
  2435. rmap.put("oProdmark8",rs.getString("pr_remark8"));
  2436. return rmap;
  2437. }else{
  2438. oErrMessage = "产品未查询到关联信息";
  2439. rmap.put("oErrMessage",oErrMessage);
  2440. return rmap;
  2441. }
  2442. }
  2443. public Map<Object,Object> SetStepFinish(String iMakeCode, String iSourceCode, String iSN, String iMPKind, String iResult, String iUserCode, String iErrCode,String Master)
  2444. {
  2445. String oErrMessage = null;
  2446. Object StepCode = baseDao.getFieldDataByCondition(Master+".Makeserial", "ms_stepcode", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  2447. String CurrentStep = GetStepCodeBySource(iSourceCode,Master);
  2448. Object BgCode = baseDao.getFieldDataByCondition(Master+".step", "nvl(st_badgroupcode,' ')", "st_code='" + CurrentStep + "'");
  2449. Map<Object, Object> rmap = new HashMap<>();
  2450. switch (iResult)
  2451. {
  2452. case "OK":
  2453. break;
  2454. case "NG":
  2455. if (iErrCode.equals("")||iErrCode==null)
  2456. {
  2457. oErrMessage = "测试结果为NG时必须传递不良代码";
  2458. rmap.put("oErrMessage",oErrMessage);
  2459. return rmap;
  2460. }
  2461. else
  2462. {
  2463. baseDao.updateByCondition(""+Master+".makebad", "mb_status=-1", "mb_sncode='" + iSN + "' and mb_makecode='" + iMakeCode + "' and mb_stepcode='" + CurrentStep + "' and mb_status=0");
  2464. String[] BadCode = iErrCode.split(",");
  2465. StringBuffer sql=new StringBuffer();
  2466. for (int i = 0; i < BadCode.length; i++)
  2467. {
  2468. if(!baseDao.checkIf(Master+".badcode","bc_code='"+ BadCode[i]+"'")){
  2469. oErrMessage = "不良代码"+BadCode[i]+"不存在";
  2470. rmap.put("oErrMessage",oErrMessage);
  2471. return rmap;
  2472. }
  2473. int mb_id = baseDao.getSeqId("makebad_seq");
  2474. sql.setLength(0);
  2475. sql.append("insert into "+Master+".makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,mb_indate,mb_stepcode");
  2476. sql.append(",mb_sourcecode,mb_badcode,mb_badtable,mb_bgcode,mb_soncode,mb_status) select '" + mb_id + "'");
  2477. sql.append(",ma_code,ms_code,ms_sncode,'" + iUserCode + "',sysdate,'" + CurrentStep + "','" + iSourceCode + "','" + BadCode[i] + "','',");
  2478. sql.append("'" + BgCode + "',sp_soncode,'0' from "+Master+".make left join "+Master+".makeSerial on ms_makecode=ma_code left join "+Master+".stepProduct on ");
  2479. sql.append("sp_mothercode=ma_prodcode and sp_stepcode=ms_nextstepcode where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  2480. baseDao.execute(sql.toString());
  2481. }
  2482. //将不良的序列号的状态码设为3
  2483. //baseDao.execute("update "+Master+".makeserial set ms_status='3' where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  2484. }
  2485. break;
  2486. default:
  2487. oErrMessage = "测试结果必须为NG或者OK";
  2488. rmap.put("oErrMessage",oErrMessage);
  2489. return rmap;
  2490. }
  2491. //不良采集为良品是更新
  2492. if (StepCode!=null &&StepCode.toString().equals(CurrentStep) && iResult == "OK")
  2493. {
  2494. Object[] ob = baseDao.getFieldsDataByCondition(Master+".makeserial", "ms_status,ms_craftcode,ms_prodcode", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  2495. if (ob!=null)
  2496. {
  2497. String ms_status =ob[0].toString();
  2498. String ms_craftcode= ob[1].toString();
  2499. String ms_prodcode = ob[2].toString();
  2500. if (ms_status == "3")
  2501. {
  2502. 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();
  2503. baseDao.updateByCondition(Master+".makeserial", "ms_status=1,ms_nextstepcode='" + nextstepcode + "'", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  2504. baseDao.updateByCondition(Master+".makebad", "mb_status=-1", "mb_sncode='" + iSN + "' and mb_makecode='" + iMakeCode + "'");
  2505. }
  2506. }
  2507. }
  2508. return CS_SetFinish(iMakeCode, iSourceCode, iSN, iUserCode, iResult,Master);
  2509. }
  2510. private Map<Object,Object> CS_SetFinish(String iMakeCode, String iSourceCode, String iSN, String iUserCode, String iResult,String Master)
  2511. {
  2512. Map<Object, Object> rmap = new HashMap<>();
  2513. String oErrMessage=null;
  2514. List<String> list = new ArrayList<String>();
  2515. list = baseDao.callProcedureWithOut(Master+".CS_SETSTEPRESULT_TOOL", new Object[]{
  2516. String.valueOf(iMakeCode),
  2517. String.valueOf(iSourceCode),
  2518. String.valueOf(iSN),
  2519. String.valueOf(iUserCode),
  2520. String.valueOf(iResult),
  2521. }, new Integer[]{1, 2, 3, 4, 5}, new Integer[]{6});
  2522. oErrMessage = list.get(0);
  2523. rmap.put("oErrMessage",oErrMessage);
  2524. return rmap;
  2525. }
  2526. private String checkAccessKey(String accessKey,String requestId){
  2527. Object accessSecret_O = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_SECRET", "AE_KEY='" + accessKey + "'");
  2528. Object AE_MASTER = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_MASTER", "AE_KEY='" + accessKey + "'");
  2529. String accessSecret = accessSecret_O == null ? "" : accessSecret_O.toString();
  2530. // 检查KEY是否合理
  2531. if (StringUtils.isEmpty(accessKey) || StringUtils.isEmpty(accessSecret) || AE_MASTER== null || "".equals(AE_MASTER.toString())) {
  2532. ApiResult apiResult = new ApiResult(ErrorMessage.ACCESSKEY_ILLEGAL.getCode(),ErrorMessage.ACCESSKEY_ILLEGAL.getMessage(),requestId);
  2533. throw new ApiSystemException(apiResult);
  2534. }
  2535. return AE_MASTER.toString();
  2536. }
  2537. }