MESHelperServiceImpl.java 69 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761
  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 flexjson.JSON;
  13. import net.sf.json.JSONArray;
  14. import net.sf.json.JSONObject;
  15. import net.sf.json.JsonConfig;
  16. import org.apache.commons.lang.StringUtils;
  17. import org.dom4j.DocumentException;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.beans.factory.annotation.Value;
  20. import org.springframework.boot.jackson.JsonObjectDeserializer;
  21. import org.springframework.stereotype.Service;
  22. import org.springframework.web.bind.annotation.RequestBody;
  23. import org.w3c.dom.Document;
  24. import org.w3c.dom.Element;
  25. import org.w3c.dom.Node;
  26. import org.w3c.dom.NodeList;
  27. import org.xml.sax.SAXException;
  28. import sun.awt.TimedWindowEvent;
  29. import java.io.IOException;
  30. import java.sql.Timestamp;
  31. import java.util.*;
  32. import org.dom4j.DocumentHelper;
  33. import javax.xml.parsers.DocumentBuilder;
  34. import javax.xml.parsers.DocumentBuilderFactory;
  35. import javax.xml.parsers.ParserConfigurationException;
  36. import org.xml.sax.InputSource;
  37. import java.io.StringReader;
  38. @Service
  39. public class MESHelperServiceImpl implements MESHelperService {
  40. @Autowired
  41. private BaseDao baseDao;
  42. @Value("${spring.datasource.username}")
  43. private String username;
  44. @Override
  45. public Map<Object,Object> Radium(String data) {
  46. Map<String, Object> map=null;
  47. Map<Object, Object> rmap = new HashMap<Object, Object>();
  48. String oErrMessage="";
  49. String UserName="";
  50. try{
  51. map =BaseUtil.convertJsonToMap(data);
  52. }catch (Exception e){
  53. System.out.printf(e.getMessage()) ;
  54. }
  55. if(map.get("SN")==null){
  56. rmap.put("code",-1);
  57. rmap.put("message","SN号不能为空");
  58. return rmap;
  59. }
  60. if(map.get("MO")==null){
  61. rmap.put("code",-1);
  62. rmap.put("message","工单号不能为空");
  63. return rmap;
  64. }
  65. if(map.get("SpecificationName")==null){
  66. rmap.put("code",-1);
  67. rmap.put("message","工序不能为空");
  68. return rmap;
  69. }
  70. if(map.get("UserName")==null){
  71. rmap.put("code",-1);
  72. rmap.put("message","用户不能为空");
  73. return rmap;
  74. }
  75. String specificationName=map.get("SpecificationName").toString();
  76. String MO=map.get("MO").toString();
  77. Map<Object,Object> map1=BaseUtil.parseFormStoreToMap(map.get("SN").toString());
  78. for (Map.Entry<Object, Object> entry : map1.entrySet()) {
  79. Object key = entry.getKey();
  80. Object value = entry.getValue();
  81. SqlRowList rs=baseDao.queryForRowSet("select 1 from MAKESNLIST_RADIUM where msl_sncode='"+value.toString().toUpperCase()+"'" +
  82. " and msl_makecode='"+MO+"' and nvl(msl_Radium,0)=-1");
  83. if(rs.next()){
  84. oErrMessage+="序列号"+value.toString().toUpperCase()+"已镭雕,";
  85. }else {
  86. baseDao.execute("update MAKESNLIST_RADIUM set msl_Radium=-1 where msl_sncode='"+value.toString().toUpperCase()+"' and " +
  87. "msl_makecode='"+MO+"'");
  88. }
  89. }
  90. if(oErrMessage.equals("")||oErrMessage==null){
  91. rmap.put("code",0);
  92. rmap.put("message","镭射识别绑定成功");
  93. return rmap;
  94. }else{
  95. rmap.put("code",-1);
  96. rmap.put("message",oErrMessage);
  97. return rmap;
  98. }
  99. }
  100. @Override
  101. public Map<Object,Object> SPI(String data) {
  102. Map<Object, Object> rmap = new HashMap<Object, Object>();
  103. try{
  104. DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  105. DocumentBuilder builder = factory.newDocumentBuilder();
  106. try {
  107. try{
  108. Element root;
  109. NodeList books;
  110. Document document = builder.parse(new InputSource(new StringReader(data)));
  111. root = document.getDocumentElement();
  112. books = root.getChildNodes();
  113. String Username="";
  114. String Shiftname="";
  115. String MachineNO="";
  116. String LineNO="";
  117. String procedure="";
  118. String Moname="";
  119. String Lotsn="";
  120. String Side="";
  121. String Result="";
  122. String Defect="";
  123. String elementQTY="";
  124. String TestQTY="";
  125. String Time="";
  126. for (Node node = books.item(1).getFirstChild(); node != null; node = node.getNextSibling()) {
  127. {
  128. if (node.getNodeName().equals("UpdAOISPIRecord")) {
  129. NodeList books1 = node.getChildNodes();
  130. for (int i = 0; i < books1.getLength(); i++) {
  131. Node node1 = books1.item(i);
  132. if(!node1.getNodeName().equals("#text")){
  133. switch (node1.getNodeName()){
  134. case "Username":{
  135. Username=node1.getTextContent();
  136. break;
  137. }
  138. case "Shiftname":{
  139. Shiftname=node1.getTextContent();
  140. break;
  141. }
  142. case "MachineNO":{
  143. MachineNO=node1.getTextContent(); break;
  144. }
  145. case "LineNO":{
  146. LineNO=node1.getTextContent();
  147. break;
  148. }
  149. case "procedure":
  150. procedure=node1.getTextContent();
  151. break;
  152. case "Moname":
  153. Moname=node1.getTextContent();
  154. break;
  155. case "Lotsn":
  156. Lotsn=node1.getTextContent();
  157. break;
  158. case "Side":
  159. Side=node1.getTextContent();
  160. break;
  161. case "Result":
  162. Result=node1.getTextContent();
  163. break;
  164. case "Defect":
  165. Defect=node1.getTextContent();
  166. break;
  167. case "elementQTY":
  168. elementQTY=node1.getTextContent();
  169. break;
  170. case "TestQTY":
  171. TestQTY=node1.getTextContent();
  172. break;
  173. case "Time":
  174. Time=node1.getTextContent();
  175. break;
  176. default:
  177. break;
  178. }
  179. //System.out.printf("名称:"+node1.getNodeName());
  180. //System.out.printf("值:"+node1.getTextContent());
  181. //System.out.printf("类型:"+node1.getNodeType());
  182. }
  183. }
  184. }
  185. }
  186. }
  187. Time=Time.substring(0,19).replaceAll("T"," ");
  188. baseDao.execute("insert into devicetestinfo(DTI_ID, DTI_SNCODE, DTI_USERNAME, DTI_MACHINE, DTI_LINECODE, DTI_RESULT, DTI_MAKECODE, DTI_SHIFTNAME, DTI_PROGRAM, DTI_DEFECT, " +
  189. "DTI_TESTQTY, DTI_MACHINETYPE, DTI_TYPE, DTI_TIME, DTI_SOURCECONTENT,dti_elementQTY)values(devicetestinfo_seq.nextval,'"+Lotsn+"','"+Username+"','"+MachineNO+"','"+LineNO+"','"+Result+"'" +
  190. ",'"+Moname+"','"+Shiftname+"','"+procedure+"','"+Defect+"','"+TestQTY+"','SPI','SPI',to_date('"+Time+"','yyyy-mm-dd hh24:mi:ss'),'','"+elementQTY+"')");
  191. }catch (IOException e){
  192. System.out.printf(e.getMessage());
  193. }
  194. }
  195. catch (SAXException e){
  196. }
  197. }catch (ParserConfigurationException e){
  198. }
  199. return rmap;
  200. }
  201. @Override
  202. public String AOI(String Username,String Shiftname, String MachineNO, String LineNO, String procedure,String Moname, String Lotsn,String Side,String Result,String Defect,String elementQTY,String TestQTY,String Type,String Time) {
  203. baseDao.execute("insert into devicetestinfo(DTI_ID, DTI_SNCODE, DTI_USERNAME, DTI_MACHINE, DTI_LINECODE, DTI_RESULT, DTI_MAKECODE, DTI_SHIFTNAME, DTI_PROGRAM, DTI_DEFECT, " +
  204. "DTI_TESTQTY, DTI_MACHINETYPE, DTI_TYPE, DTI_TIME, DTI_SOURCECONTENT,dti_elementQTY)values(devicetestinfo_seq.nextval,'"+Lotsn+"','"+Username+"','"+MachineNO+"','"+LineNO+"','"+Result+"'" +
  205. ",'"+Moname+"','"+Shiftname+"','"+procedure+"','"+Defect+"','"+TestQTY+"','"+Type+"','AOI',to_date('"+Time+"','yyyy-mm-dd hh24:mi:ss'),'','"+elementQTY+"')");
  206. return "";
  207. }
  208. @Override
  209. public String UploadSteel(String SteelMeshCode,String scraperCode, String SteelMeshCount, String scraperCount, String datatime) {
  210. String err = CheckSteel(SteelMeshCode);
  211. //判断钢网编号
  212. if(SteelMeshCode!=null&&!"".equals(SteelMeshCode)){
  213. baseDao.execute("insert into devicetestinfo(DTI_ID, DTI_SNCODE,DTI_TESTQTY, DTI_MACHINETYPE, DTI_TYPE, DTI_TIME, DTI_SOURCECONTENT)values(devicetestinfo_seq.nextval,'"+scraperCode+"','"+scraperCount+"','钢网','钢网',to_date('"+datatime+"','yyyy-mm-dd hh24:mi:ss'),'')");
  214. baseDao.execute("update stencil set st_usecount=nvl(st_usecount,0)+"+scraperCount +" where st_code='"+SteelMeshCode+"'");
  215. }
  216. //判断刮刀编号
  217. if(scraperCode!=null&&!"".equals(scraperCode)){
  218. baseDao.execute("insert into devicetestinfo(DTI_ID, DTI_SNCODE,DTI_TESTQTY, DTI_MACHINETYPE, DTI_TYPE, DTI_TIME, DTI_SOURCECONTENT)values(devicetestinfo_seq.nextval,'"+scraperCode+"','"+scraperCount+"','刮刀','刮刀',to_date('"+datatime+"','yyyy-mm-dd hh24:mi:ss'),'')");
  219. baseDao.execute("update stencil set st_usecount=nvl(st_usecount,0)+"+scraperCount +" where st_code='"+scraperCode+"'");
  220. }
  221. return err;
  222. }
  223. @Override
  224. public String CheckSteel(String SteelMeshCode) {
  225. Map<Object, Object> rmap = new HashMap<Object, Object>();
  226. SqlRowList rs=baseDao.queryForRowSet("select st_kind,nvl(st_usecount,0)st_usecount,nvl(st_maxusecount,0)st_maxusecount from stencil where st_code='"+SteelMeshCode+"'");
  227. if(rs.next()){
  228. String st_usecount=rs.getString("st_usecount");
  229. String st_maxusecount=rs.getString("st_maxusecount");
  230. String st_kind=rs.getString("st_kind");
  231. if(Integer.parseInt(st_usecount)>=Integer.parseInt(st_maxusecount)){
  232. return rs.getString("st_kind")+"已使用"+st_usecount+",超出最大使用次数"+st_maxusecount;
  233. }
  234. }else{
  235. return "编号不存在";
  236. }
  237. return "";
  238. }
  239. @Override
  240. public Map<Object,Object> SetupResultDataInterface(String data) {
  241. Map<Object, Object> rmap = new HashMap<Object, Object>();
  242. JSONObject object = JSONObject.fromObject(data);
  243. JSONObject SetupResultDetail=object.getJSONObject("SetupResultDetail");
  244. if(SetupResultDetail!=null){
  245. String ActionType=SetupResultDetail.get("ActionType").toString();
  246. String MessageSendTime=Time(SetupResultDetail.getString("MessageSendTime"));
  247. String LineName=SetupResultDetail.get("LineName").toString();
  248. String SetupName=SetupResultDetail.get("SetupName").toString();
  249. String MachineName=SetupResultDetail.get("MachineName").toString();
  250. String OrderNumber=SetupResultDetail.get("OrderNumber").toString();
  251. String DockingStationID=SetupResultDetail.get("DockingStationID").toString();
  252. String Operator=SetupResultDetail.get("Operator").toString();
  253. String TableLocation=SetupResultDetail.get("TableLocation").toString();
  254. String TableId=SetupResultDetail.get("TableId").toString();
  255. String Track=SetupResultDetail.get("Track").toString();
  256. String FeederTypeName=SetupResultDetail.get("FeederTypeName").toString();
  257. String FeederID=SetupResultDetail.get("FeederID").toString();
  258. JSONObject PackagingUnitDetail=SetupResultDetail.getJSONObject("PackagingUnit");
  259. if(PackagingUnitDetail!=null){
  260. String PUID=PackagingUnitDetail.getString("PUID");
  261. String ComponentBarcode=PackagingUnitDetail.getString("ComponentBarcode");
  262. String ComponentBarcodeFragment=PackagingUnitDetail.getString("ComponentBarcodeFragment");
  263. String OriginalQuantity=PackagingUnitDetail.getString("OriginalQuantity");
  264. String Quantity=PackagingUnitDetail.getString("Quantity");
  265. String CreateDate=Time(PackagingUnitDetail.getString("CreateDate"));
  266. String DateCode=PackagingUnitDetail.getString("DateCode");
  267. String BatchId=PackagingUnitDetail.getString("BatchId");
  268. String MsdLevel=PackagingUnitDetail.getString("MsdLevel");
  269. JSONObject LockInfoList=null;
  270. try{
  271. LockInfoList=PackagingUnitDetail.getJSONObject("LockInfoList");
  272. }catch (Exception e){
  273. }
  274. JSONObject SplicedPackagingUnitList=null;
  275. try{
  276. SplicedPackagingUnitList=PackagingUnitDetail.getJSONObject("SplicedPackagingUnitList");
  277. }catch (Exception e){
  278. }
  279. int sr_id=baseDao.getSeqId("SETUPRESULTDETAIL_seq");
  280. baseDao.execute("insert into SETUPRESULTDETAIL(sr_id,ACTIONTYPE,LINENAME,SetupName,ORDERNUMBER,MACHINENAME," +
  281. "TABLEID,DOCKINGSTATIONID,OPERATOR,TableLocation,FeederTypeName,FeederID,MessageSendTime)values('"+sr_id+"'," +
  282. "'"+ActionType+"','"+LineName+"','"+SetupName+"','"+OrderNumber+"','"+MachineName+"','"+TableId+"','"+DockingStationID+"'," +
  283. "'"+Operator+"','"+TableLocation+"','"+FeederTypeName+"','"+FeederID+"',to_date('"+MessageSendTime+"','yyyy-mm-dd hh24:mi:ss'))");
  284. int pu_id=baseDao.getSeqId("PACKAGINGUNIT_seq");
  285. baseDao.execute("insert into PACKAGINGUNIT(PU_ID,PUID,PU_SRID,ComponentBarcodeFragment,ComponentBarcode,OriginalQuantity,Quantity,CreateDate," +
  286. "DateCode,BatchId,MsdLevel)values('"+pu_id+"','"+PUID+"','"+sr_id+"','"+ComponentBarcodeFragment+"','"+ComponentBarcode+"','"+OriginalQuantity+"','"+Quantity+"',to_date('"+CreateDate+"','yyyy-mm-dd hh24:mi:ss')," +
  287. "'"+DateCode+"','"+BatchId+"','"+MsdLevel+"')");
  288. if(LockInfoList!=null){
  289. JSONArray LockInfoItem=LockInfoList.getJSONArray("LockInfoItem");
  290. for(int i=0;i<LockInfoItem.size();i++){
  291. JSONObject map=LockInfoItem.getJSONObject(i);
  292. String Date=Time(map.getString("Date"));
  293. String Message=map.getString("Message");
  294. String Reason=map.getString("Reason");
  295. String Source=map.getString("Source");
  296. baseDao.execute("insert into LOCKINFOLIST(LF_ID,lf_puid,INDATE,MESSAGE,REASON,SOURCE)" +
  297. "values(LOCKINFOLIST_seq.nextval,'"+pu_id+"',to_date('"+Date+"','yyyy-mm-dd hh24:mi:ss'),'"+Message+"'," +
  298. "'"+Reason+"','"+Source+"')");
  299. }
  300. }
  301. if(SplicedPackagingUnitList!=null){
  302. JSONArray SplicedPackagingUnitItem=SplicedPackagingUnitList.getJSONArray("SplicedPackagingUnitItem");
  303. for(int i=0;i<SplicedPackagingUnitItem.size();i++){
  304. JSONObject map=SplicedPackagingUnitItem.getJSONObject(i);
  305. String UID1=map.getString("PUID");
  306. String ComponentBarcode1=map.getString("ComponentBarcode");
  307. ComponentBarcodeFragment=map.getString("ComponentBarcodeFragment");
  308. String ComponentName=map.getString("ComponentName");
  309. String OriginalQuantity1=map.getString("OriginalQuantity");
  310. String Quantity1=map.getString("Quantity");
  311. String ManufacturePartNumber=map.getString("ManufacturePartNumber");
  312. String Manufacturer=map.getString("Manufacturer");
  313. String Supplier=map.getString("Supplier");
  314. baseDao.execute("insert into SPLICEDPACKAGING (SP_ID,SP_PUID,PUID,COMPONENTBARCODE,ORIGINALQUANTITY,QUANTITY)" +
  315. "values(SPLICEDPACKAGING_seq.nextval,'"+pu_id+"','"+UID1+"','"+ComponentBarcode1+"','"+OriginalQuantity1+"','"+Quantity1+"')");
  316. }
  317. }
  318. }
  319. rmap.put("code","0");
  320. rmap.put("result","OK");
  321. rmap.put("ServerMessage","MES:贴片机数据记录成功");
  322. }
  323. return rmap;
  324. }
  325. @Override
  326. public Map<Object,Object> StateEventDetail(String data) {
  327. Map<Object, Object> rmap = new HashMap<Object, Object>();
  328. JSONObject object = JSONObject.fromObject(data);
  329. JSONObject StateEventDetail=object.getJSONObject("StateEventDetail");
  330. if(StateEventDetail!=null){
  331. int st_id=baseDao.getSeqId("StateEventDetail_seq");
  332. String MessageSendTime=Time(StateEventDetail.getString("MessageSendTime"));
  333. String CompletionStatusType=StateEventDetail.getString("CompletionStatusType");
  334. String LineFullPath=StateEventDetail.getString("LineFullPath");
  335. String LineName=StateEventDetail.getString("LineName");
  336. String MachineFullPath=StateEventDetail.getString("MachineFullPath");
  337. String MachineName=StateEventDetail.getString("MachineName");
  338. String JobFullPath=StateEventDetail.getString("JobFullPath");
  339. String JobName=StateEventDetail.getString("JobName");
  340. String RecipeFullPath=StateEventDetail.getString("RecipeFullPath");
  341. String RecipeName=StateEventDetail.getString("RecipeName");
  342. String SetupFullPath=StateEventDetail.getString("SetupFullPath");
  343. String SetupName=StateEventDetail.getString("SetupName");
  344. String BoardFullPath=StateEventDetail.getString("BoardFullPath");
  345. String BoardName=StateEventDetail.getString("BoardName");
  346. String OrderNumber=StateEventDetail.getString("OrderNumber");
  347. String ConveyorMode=StateEventDetail.getString("ConveyorMode");
  348. String DownloadMode=StateEventDetail.getString("DownloadMode");
  349. String FactoryLayoutPath=StateEventDetail.getString("FactoryLayoutPath");
  350. String MachineId=StateEventDetail.getString("MachineId");
  351. String MachineType=StateEventDetail.getString("MachineType");
  352. String TypeName=StateEventDetail.getString("TypeName");
  353. String ProcessingAreaCount=StateEventDetail.getString("ProcessingAreaCount");
  354. String StationSoftwareVersion=StateEventDetail.getString("StationSoftwareVersion");
  355. String MonitoringServiceVersion=StateEventDetail.getString("MonitoringServiceVersion");
  356. String ComputerAddress=StateEventDetail.getString("ComputerAddress");
  357. baseDao.execute("insert into StateEventDetail(ST_ID, MESSAGESENDTIME, COMPLETIONSTATUSTYPE, LINEFULLPATH, LINENAME, MACHINEFULLPATH, MACHINENAME, JOBFULLPATH, JOBNAME, RECIPEFULLPATH, RECIPENAME, SETUPFULLPATH, SETUPNAME, BOARDFULLPATH, BOARDNAME, ORDERNUMBER, CONVEYORMODE, DOWNLOADMODE, FACTORYLAYOUTPATH, MACHINEID, MACHINETYPE, TYPENAME, PROCESSINGAREACOUNT, STATIONSOFTWAREVERSION, MONITORINGSERVICEVERSION, COMPUTERADDRESS)" +
  358. "values("+st_id+", to_date('"+MessageSendTime+"','yyyy-mm-dd hh24:mi:ss'), '"+CompletionStatusType+"', '"+LineFullPath+"', '"+LineName+"', '"+MachineFullPath+"', '"+MachineName+"', '"+JobFullPath+"', '"+JobName+"', '"+RecipeFullPath+"', '"+RecipeName+"', '"+SetupFullPath+"', '"+SetupName+"', '"+BoardFullPath+"', '"+BoardName+"', '"+OrderNumber+"', '"+ConveyorMode+"', '"+DownloadMode+"', '"+FactoryLayoutPath+"', '"+MachineId+"', '"+MachineType+"', '"+TypeName+"', '"+ProcessingAreaCount+"', '"+StationSoftwareVersion+"', '"+MonitoringServiceVersion+"', '"+ComputerAddress+"')");
  359. JSONArray ProcessingAreaStateList=StateEventDetail.getJSONArray("ProcessingAreaStateList");
  360. for (int i=0;i<ProcessingAreaStateList.size();i++){
  361. JSONObject map1=ProcessingAreaStateList.getJSONObject(i);
  362. String ProcessingArea=map1.getString("ProcessingArea");
  363. String Conveyor=map1.getString("Conveyor");
  364. String CurrentStateBegin=map1.getString("CurrentStateBegin");
  365. String CurrentStateCode=map1.getString("CurrentStateCode");
  366. String CurrentStateDescription=map1.getString("CurrentStateDescription");
  367. String PreviousStateCode=map1.getString("PreviousStateCode");
  368. String PreviousStateDescription=map1.getString("PreviousStateDescription");
  369. baseDao.execute("insert into ProcessingAreaStateList(RAS_ID, RAS_STID, PROCESSINGAREA, CONVEYOR, CURRENTSTATEBEGIN, CURRENTSTATECODE, CURRENTSTATEDESCRIPTION, PREVIOUSSTATECODE, PREVIOUSSTATEDESCRIPTION)" +
  370. "values(ProcessingAreaStateList_seq.nextval,'"+st_id+"','"+ProcessingArea+"','"+Conveyor+"','"+CurrentStateBegin+"'," +
  371. "'"+CurrentStateCode+"','"+CurrentStateDescription+"','"+PreviousStateCode+"','"+PreviousStateDescription+"')");
  372. }
  373. }
  374. rmap.put("code","0");
  375. rmap.put("result","OK");
  376. rmap.put("ServerMessage","MES:贴片机数据记录成功");
  377. return rmap;
  378. }
  379. @Override
  380. public Map<Object,Object> SendPlaceData(String data) {
  381. Map<Object, Object> rmap = new HashMap<Object, Object>();
  382. JSONObject object = JSONObject.fromObject(data);
  383. JSONObject PlacedDataDetail=object.getJSONObject("PlacedDataDetail");
  384. if(PlacedDataDetail!=null){
  385. int pd_id=baseDao.getSeqId("PlacedDataDetail_seq");
  386. String MESSAGESENDTIME=Time(PlacedDataDetail.getString("MessageSendTime"));
  387. String COMPLETIONSTATUSTYPE=PlacedDataDetail.getString("CompletionStatusType");
  388. String LINEFULLPATH=PlacedDataDetail.getString("LineFullPath");
  389. String MACHINEFULLPATH=PlacedDataDetail.getString("MachineFullPath");
  390. String RECIPEFULLPATH=PlacedDataDetail.getString("RecipeFullPath");
  391. String RECIPENAME=PlacedDataDetail.getString("RecipeName");
  392. String SETUPFULLPATH=PlacedDataDetail.getString("SetupName");
  393. String BOARDFULLPATH=PlacedDataDetail.getString("BoardFullPath");
  394. String FACTORYLAYOUTPATH=PlacedDataDetail.getString("FactoryLayoutPath");
  395. String MACHINEID=PlacedDataDetail.getString("MachineId");
  396. String MACHINETYPE=PlacedDataDetail.getString("MachineType");
  397. String STATIONSOFTWAREVERSION=PlacedDataDetail.getString("StationSoftwareVersion");
  398. String MONITORINGSERVICEVERSION=PlacedDataDetail.getString("MonitoringServiceVersion");
  399. String COMPUTERADDRESS=PlacedDataDetail.getString("ComputerAddress");
  400. baseDao.execute("insert into PlacedDataDetail(pd_id,MessageSendTime,CompletionStatusType,LineFullPath,MachineFullPath,RecipeFullPath," +
  401. "RecipeName,SETUPFULLPATH,BoardFullPath,FactoryLayoutPath,MachineId,MachineType,StationSoftwareVersion,MonitoringServiceVersion," +
  402. "ComputerAddress)values('"+pd_id+"',to_date('"+MESSAGESENDTIME+"','yyyy-mm-dd hh24:mi:ss'),'"+COMPLETIONSTATUSTYPE+"'," +
  403. "'"+LINEFULLPATH+"','"+MACHINEFULLPATH+"','"+RECIPEFULLPATH+"','"+RECIPENAME+"','"+SETUPFULLPATH+"','"+BOARDFULLPATH+"'," +
  404. "'"+FACTORYLAYOUTPATH+"','"+MACHINEID+"','"+MACHINETYPE+"','"+STATIONSOFTWAREVERSION+"','"+MONITORINGSERVICEVERSION+"','"+COMPUTERADDRESS+"')");
  405. JSONArray PanelList=PlacedDataDetail.getJSONArray("PlacedComponentList");
  406. for (int i=0;i<PanelList.size();i++){
  407. JSONObject map1=PanelList.getJSONObject(i);
  408. String TABLELOCATION =map1.getString("TableLocation");
  409. String TRACK=map1.getString("Track");
  410. String DIVISION=map1.getString("Division");
  411. String COMPONENTFULLPATH=map1.getString("ComponentFullPath");
  412. String COMPONENTNAME=map1.getString("ComponentName");
  413. String COMPONENTSHAPEFULLPATH=map1.getString("ComponentShapeFullPath");
  414. String FEEDERCATEGORY=map1.getString("FeederCategory");
  415. String FEEDERTYPENAME=map1.getString("FeederTypeName");
  416. String FEEDERID=map1.getString("FeederID");
  417. String ACCESSTOTAL=map1.getString("AccessTotal");
  418. String PlacedComponents=map1.getString("PlacedComponents");
  419. String REJECTQTY=map1.getString("RejectQty");
  420. String REJECTIDENT=map1.getString("RejectIdent");
  421. String REJECTVACUUM=map1.getString("RejectVacuum");
  422. String TRACKEMPTY=map1.getString("TrackEmpty");
  423. String IDENTERRROR=map1.getString("IdentErrror");
  424. String MATERIALDEFECT=map1.getString("MaterialDefect");
  425. String ABSENCEAFTERPICK=map1.getString("AbsenceAfterPick");
  426. String ABSENCEBEFOREPLACEMENT=map1.getString("AbsenceBeforePlacement");
  427. String TREATMENTERROR=map1.getString("TreatmentError");
  428. baseDao.execute("insert into PlacedComponentList(pc_id,pc_pdid,TABLELOCATION,TRACK,DIVISION,COMPONENTFULLPATH," +
  429. "COMPONENTNAME,COMPONENTSHAPEFULLPATH,FEEDERCATEGORY,FEEDERTYPENAME,FEEDERID,ACCESSTOTAL,PlacedComponents," +
  430. "REJECTQTY,REJECTIDENT,REJECTVACUUM,TRACKEMPTY,IDENTERRROR,MATERIALDEFECT,ABSENCEAFTERPICK,ABSENCEBEFOREPLACEMENT,TREATMENTERROR)" +
  431. "values(PlacedComponentList_seq.nextval,'"+pd_id+"','"+TABLELOCATION+"','"+TRACK+"','"+DIVISION+"','"+COMPONENTFULLPATH+"'" +
  432. ",'"+COMPONENTNAME+"','"+COMPONENTSHAPEFULLPATH+"','"+FEEDERCATEGORY+"','"+FEEDERTYPENAME+"','"+FEEDERID+"'," +
  433. "'"+ACCESSTOTAL+"','"+PlacedComponents+"','"+REJECTQTY+"','"+REJECTIDENT+"','"+REJECTVACUUM+"','"+TRACKEMPTY+"'," +
  434. "'"+IDENTERRROR+"','"+MATERIALDEFECT+"','"+ABSENCEAFTERPICK+"','"+ABSENCEBEFOREPLACEMENT+"','"+TREATMENTERROR+"')");
  435. }
  436. JSONArray PickupErrorList=PlacedDataDetail.getJSONArray("PickupErrorList");
  437. for (int i=0;i<PickupErrorList.size();i++){
  438. JSONObject map1=PickupErrorList.getJSONObject(i);
  439. String GANTRY=map1.getString("Gantry");
  440. String HEAD=map1.getString("Head");
  441. String SEGMENT1=map1.getString("Segment");
  442. String NOZZLE=map1.getString("Nozzle");
  443. String TABLELOCATION=map1.getString("TableLocation");
  444. String TRACK=map1.getString("Track");
  445. String DIVISION=map1.getString("Division");
  446. String TOWER=map1.getString("Tower");
  447. String LEVEL1=map1.getString("Level");
  448. String COMPONENTFULLPATH=map1.getString("ComponentFullPath");
  449. String COMPONENTNAME=map1.getString("ComponentName");
  450. String COMPONENTSHAPEFULLPATH=map1.getString("ComponentShapeFullPath");
  451. String COMPONENTSHAPENAME=map1.getString("ComponentShapeName");
  452. String FEEDERCATEGORY=map1.getString("FeederCategory");
  453. String FEEDERTYPENAME=map1.getString("FeederTypeName");
  454. String FEEDERID=map1.getString("FeederID");
  455. String ERRORTYPE=map1.getString("ErrorType");
  456. String ERRORDESCRIPTION=map1.getString("ErrorDescription");
  457. baseDao.execute("insert into PickupErrorList(pe_id,pe_pdid,Gantry,Head,SEGMENT1,NOZZLE,TABLELOCATION,TRACK,DIVISION,TOWER" +
  458. ",LEVEL1,COMPONENTFULLPATH,COMPONENTNAME,COMPONENTSHAPEFULLPATH,COMPONENTSHAPENAME,FEEDERCATEGORY,FEEDERTYPENAME," +
  459. "FEEDERID,ERRORTYPE,ERRORDESCRIPTION)values(PickupErrorList_seq.nextval,'"+pd_id+"','"+GANTRY+"','"+HEAD+"','"+SEGMENT1+"','"+NOZZLE+"'," +
  460. "'"+TABLELOCATION+"','"+TRACK+"','"+DIVISION+"','"+TOWER+"','"+LEVEL1+"','"+COMPONENTFULLPATH+"','"+COMPONENTNAME+"'," +
  461. "'"+COMPONENTSHAPEFULLPATH+"','"+COMPONENTSHAPENAME+"','"+FEEDERCATEGORY+"','"+FEEDERTYPENAME+"','"+FEEDERID+"','"+ERRORTYPE+"'," +
  462. "'"+ERRORDESCRIPTION+"')");
  463. }
  464. }
  465. rmap.put("code","0");
  466. rmap.put("result","OK");
  467. rmap.put("ServerMessage","MES:贴片机数据记录成功");
  468. return rmap;
  469. }
  470. @Override
  471. public Map<Object,Object> TraceabilityDataInterface(String data) {
  472. Integer td_id=baseDao.getSeqId("TRACEDATA_seq");
  473. Map<Object, Object> rmap = new HashMap<Object, Object>();
  474. JSONObject object = JSONObject.fromObject(data);
  475. JSONObject TraceabilityDataDetail=object.getJSONObject("TraceabilityDataDetail");
  476. if(TraceabilityDataDetail!=null){
  477. String DateBegin=Time(TraceabilityDataDetail.get("DateBegin").toString());
  478. String DateCompleted=Time(TraceabilityDataDetail.get("DateCompleted").toString());
  479. String LineName=TraceabilityDataDetail.get("LineName").toString();
  480. String MachineName=TraceabilityDataDetail.get("MachineName").toString();
  481. String BoardName=TraceabilityDataDetail.get("BoardName").toString();
  482. String MachineID=TraceabilityDataDetail.get("MachineID").toString();
  483. String BoardSide=TraceabilityDataDetail.get("BoardSide").toString();
  484. String OrderNumber=TraceabilityDataDetail.get("OrderNumber").toString();
  485. String PCBBarcode=TraceabilityDataDetail.get("PCBBarcode").toString();
  486. baseDao.execute("insert into TRACEDATA(TD_ID,DateBegin,DateCompleted,LineName,MachineName,BoardName,MachineID,BoardSide,OrderNumber,PCBBarcode,TD_INDATE)" +
  487. "values("+td_id+",to_date('"+DateBegin+"','yyyy-mm-dd hh24:mi:ss'),to_date('"+DateCompleted+"','yyyy-mm-dd hh24:mi:ss')," +
  488. "'"+LineName+"','"+MachineName+"','"+BoardName+"','"+MachineID+"','"+BoardSide+"','"+OrderNumber+"','"+PCBBarcode+"',sysdate)");
  489. JSONObject MaterialTraceabilityDetail=null;
  490. try{
  491. MaterialTraceabilityDetail=TraceabilityDataDetail.getJSONObject("MaterialTraceabilityDetail");
  492. }catch (Exception e){
  493. }
  494. JSONObject MaterialConsumptionDetail=null;
  495. try{
  496. MaterialConsumptionDetail=TraceabilityDataDetail.getJSONObject("MaterialConsumptionDetail");
  497. }catch (Exception e){
  498. }
  499. //上料信息
  500. if(MaterialTraceabilityDetail!=null){
  501. JSONArray PanelList=MaterialTraceabilityDetail.getJSONArray("PanelList");
  502. for (int i=0;i<PanelList.size();i++){
  503. JSONObject map=PanelList.getJSONObject(i);
  504. String PanelName=map.get("PanelName").toString();
  505. JSONArray PackagingUnitRefList=map.getJSONArray("PackagingUnitRefList");
  506. System.out.println(PackagingUnitRefList.size());
  507. if(PackagingUnitRefList!=null){
  508. for (int j=0;j<PackagingUnitRefList.size();j++){
  509. String PlaceRefID="";
  510. JSONObject map1=PackagingUnitRefList.getJSONObject(j);
  511. String PUID=map1.getString("PUID");
  512. String TableLocation=map1.getString("TableLocation");
  513. String Track=map1.getString("Track");
  514. String ComponentBarcode=map1.getString("ComponentBarcode");
  515. String OriginalQuantity=map1.getString("OriginalQuantity");
  516. String Quantity=map1.getString("Quantity");
  517. String CreateDate=Time(map1.getString("CreateDate"));
  518. String DateCode=map1.getString("DateCode");
  519. String Batch2=map1.getString("Batch2");
  520. String MsdLevel=map1.getString("MsdLevel");
  521. String VerifiedDate=Time(map1.getString("VerifiedDate"));
  522. String Operator=map1.getString("Operator");
  523. JSONArray PlaceRefList=map1.getJSONArray("PlaceRefList");
  524. if(PlaceRefList!=null){
  525. for (int k=0;k<PlaceRefList.size();k++){
  526. JSONObject map2=PlaceRefList.getJSONObject(k);
  527. PlaceRefID+=map2.getString("PlaceRefID")+",";
  528. }
  529. }
  530. baseDao.execute("insert into MATERIALTRACE(MT_ID,MT_TDID,PANELNAME,PUID,PlaceRefList,TableLocation,Track,ComponentBarcode,OriginalQuantity,Quantity,CreateDate,DateCode,Batch2,MsdLevel,VerifiedDate,Operator)" +
  531. "values(MATERIALTRACE_seq.nextval,'"+td_id+"','"+PanelName+"','"+PUID+"','"+PlaceRefID+"','"+TableLocation+"','"+Track+"','"+ComponentBarcode+"','"+OriginalQuantity+"','"+Quantity+"',to_date('"+CreateDate+"','yyyy-mm-dd hh24:mi:ss'),'"+DateCode+"','"+Batch2+"'," +
  532. "'"+MsdLevel+"',to_date('"+CreateDate+"','yyyy-mm-dd hh24:mi:ss'),'"+Operator+"')");
  533. }
  534. }
  535. }
  536. }
  537. //扣料信息
  538. if(MaterialConsumptionDetail!=null){
  539. JSONArray ConsumedPackagingUnitList=MaterialConsumptionDetail.getJSONArray("ConsumedPackagingUnitList");
  540. for (int i=0;i<ConsumedPackagingUnitList.size();i++){
  541. JSONObject map1=ConsumedPackagingUnitList.getJSONObject(i);
  542. String PUID=map1.getString("PUID");
  543. String AccessTotal=map1.getString("AccessTotal");
  544. String RejectIdent=map1.getString("RejectIdent");
  545. String RejectVacuum=map1.getString("RejectVacuum");
  546. String TrackEmpty=map1.getString("TrackEmpty");
  547. baseDao.execute("insert into CONSUMEDPACKAGING(cp_id,cp_tdid,puid,AccessTotal,RejectIdent,RejectVacuum" +
  548. ",TrackEmpty) values(CONSUMEDPACKAGING_seq.nextval,'"+td_id+"','"+PUID+"','"+AccessTotal+"','"+RejectIdent+"','"+RejectVacuum+"'," +
  549. "'"+TrackEmpty+"')");
  550. }
  551. }
  552. rmap.put("code","0");
  553. rmap.put("result","OK");
  554. rmap.put("ServerMessage","MES:贴片机数据记录成功");
  555. }
  556. return rmap;
  557. }
  558. public Map<Object,Object> XrayTestDataSave(String data){
  559. Map<Object, Object> rmap = new HashMap<Object, Object>();
  560. Map<String, Object> map=null;
  561. JSONObject object = JSONObject.fromObject(data);
  562. Object object1 = object.get("data");
  563. JSONObject obj = JSONObject.fromObject(object1);
  564. JSONArray object2=obj.getJSONArray("NonconformData");
  565. Object Barcode=obj.get("Barcode");
  566. Object EquipmentEncode=obj.get("EquipmentEncode");
  567. Object ModelType=obj.get("ModelType");
  568. Object CheckNumber=obj.get("CheckNumber");
  569. Object NcmNumber=obj.get("NcmNumber");
  570. Object NonconformNumber=obj.get("NonconformNumber");
  571. Object CheckDate=obj.get("CheckDate");
  572. Object ShiftName=obj.get("ShiftName");
  573. Object LineBody=obj.get("LineBody");
  574. Object Inspector=obj.get("Inspector");
  575. int XT_ID = baseDao.getSeqId("xraytest_seq");
  576. baseDao.execute("insert into xraytest(XT_ID, BARCODE, EQUIPMENTENCODE, MODELTYPE, CHECKNUMBER, NCMNUMBER, NONCONFORMNUMBER, CHECKDATE, SHIFTNAME, LINEBODY, INSPECTOR)" +
  577. "values("+XT_ID+",'"+Barcode+"','"+EquipmentEncode+"','"+ModelType+"','"+CheckNumber+"','"+NcmNumber+"','"+NonconformNumber+"',to_date('"+CheckDate+"','yyyy-mm-dd hh24:mi:ss')" +
  578. ",'"+ShiftName+"','"+LineBody+"','"+Inspector+"')");
  579. for (int i=0;i<object2.size();i++){
  580. JSONObject map1=object2.getJSONObject(i);
  581. String NonconformANo=map1.getString("NonconformANo");
  582. String NonconformDescription=map1.getString("NonconformDescription");
  583. baseDao.execute("insert into XrayTestdetail(xtd_xtid,xtd_id,NONCONFORMANO, NONCONFORMDESCRIPTION)" +
  584. "values("+XT_ID+",XrayTestdetail_seq.nextval,'"+NonconformANo+"','"+NonconformDescription+"')");
  585. }
  586. rmap.put("code","0");
  587. rmap.put("result","OK");
  588. rmap.put("ServerMessage","MES:检查数据上传成功!");
  589. return rmap;
  590. }
  591. public String Time(String time){
  592. return time.replaceAll("T"," ").substring(0,19);
  593. }
  594. @Override
  595. public Map<Object,Object> Weigh(String data) {
  596. Map<Object, Object> rmap = new HashMap<Object, Object>();
  597. String oErrMessage="";
  598. String lotSN="";
  599. String specificationName="";
  600. String weight="";
  601. String moName="";
  602. String workcenterName="";
  603. Map<String, Object> map=null;
  604. try{
  605. map =BaseUtil.convertJsonToMap(data);
  606. }catch (Exception e){
  607. System.out.printf(e.getMessage()) ;
  608. }
  609. if(map.get("lotSN")==null){
  610. oErrMessage = "SN不能为空";
  611. rmap.put("oErrMessage",oErrMessage);
  612. return rmap;
  613. }
  614. if(map.get("lotSN")==null){
  615. oErrMessage = "SN不能为空";
  616. rmap.put("oErrMessage",oErrMessage);
  617. return rmap;
  618. }
  619. if(map.get("specificationName")==null){
  620. oErrMessage = "工序不能为空";
  621. rmap.put("oErrMessage",oErrMessage);
  622. return rmap;
  623. }
  624. if(map.get("weight")==null){
  625. oErrMessage = "重量不能为空";
  626. rmap.put("oErrMessage",oErrMessage);
  627. return rmap;
  628. }
  629. lotSN=map.get("lotSN").toString();
  630. SqlRowList rs=baseDao.queryForRowSet("select ms_sncode from makeserial where ms_imei1='"+lotSN+"' or ms_imei2='"+lotSN+"' or ms_imei3='"+lotSN+"'");
  631. if(rs.next()){
  632. lotSN=rs.getString("ms_sncode");
  633. }else{
  634. rs=baseDao.queryForRowSet("select mil_sncode from makeimeilist where mil_imei1='"+lotSN+"' or mil_imei2='"+lotSN+"' or mil_imei3='"+lotSN+"'");
  635. if(rs.next()){
  636. lotSN=rs.getString("mil_sncode");
  637. }
  638. }
  639. specificationName=map.get("specificationName").toString();
  640. weight=map.get("weight").toString().replaceAll("KG","");
  641. oErrMessage=CheckRoutePassed(lotSN,specificationName);
  642. if(oErrMessage!=null){
  643. rmap.put("code",-1);
  644. rmap.put("message",oErrMessage);
  645. Map<String, String> rmap1 = new HashMap<String, String>();
  646. rmap1.put("minWeight","");
  647. rmap1.put("maxWeightc","");
  648. rmap1.put("machineModel","");
  649. rmap.put("dataInfo",rmap1);
  650. return rmap;
  651. }
  652. Object[] obj = baseDao.getFieldsDataByCondition("makeserial left join product on pr_code=ms_prodcode","pr_colorboxminw,pr_colorboxmaxw","ms_id =(select max(ms_id) from makeserial where ms_sncode='"+lotSN+"')");
  653. if(obj[0]!=null&&obj[1]!=null){
  654. //不在设置的重量范围内
  655. if(Double.parseDouble(weight)<Double.parseDouble(obj[0].toString())||Double.parseDouble(weight)>Double.parseDouble(obj[1].toString())){
  656. rmap.put("code",-1);
  657. rmap.put("message","SN["+lotSN+"]重量为"+weight+",不符合重量范围"+obj[0]+"-"+obj[1]);
  658. Map<String, String> rmap1 = new HashMap<String, String>();
  659. rmap1.put("minWeight",obj[0].toString());
  660. rmap1.put("maxWeight",obj[1].toString());
  661. rmap1.put("machineModel","");
  662. rmap.put("dataInfo",rmap1);
  663. return rmap;
  664. }
  665. Object oErr=SetPcbaData(lotSN,specificationName,specificationName,"OK");
  666. if(oErr==null){
  667. rmap.put("code",0);
  668. rmap.put("message","SN["+lotSN+"]重量为"+weight+",符合重量范围"+obj[0]+"-"+obj[1]+",称重通过");
  669. Object ms_id=baseDao.getFieldDataByCondition("makeserial","max(ms_id)","ms_sncode='"+lotSN+"'");
  670. baseDao.execute("update makeserial set ms_grossw ='"+weight+"' where ms_id="+ms_id);
  671. }else{
  672. rmap.put("code",-1);
  673. rmap.put("message",oErr);
  674. }
  675. Map<String, String> rmap1 = new HashMap<String, String>();
  676. rmap1.put("minWeight",obj[0].toString());
  677. rmap1.put("maxWeight",obj[1].toString());
  678. rmap1.put("machineModel","");
  679. rmap.put("dataInfo",rmap1);
  680. return rmap;
  681. }
  682. return rmap;
  683. }
  684. @Override
  685. public Map<Object,Object> DLLMain(String accessKey, String requestId, String data) {
  686. String AE_MASTER = "N_MES";
  687. SpObserver.putSp(AE_MASTER);
  688. Map<Object, Object> map = BaseUtil.parseFormStoreToMap(data);
  689. //解析map
  690. if(!StringUtil.hasText(map.get("type"))){
  691. throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPENULL,requestId));
  692. }
  693. if(!StringUtil.hasText(map.get("detail"))){
  694. throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_DATAILLEGAL,requestId));
  695. }
  696. String type = map.get("type").toString();
  697. JSONObject json = JSONObject.fromObject(map.get("detail"));
  698. HelperType helperType = HelperType.getTypeByCode(type);
  699. if(null == helperType){
  700. throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPEILLEGAL,requestId));
  701. }
  702. int err = 0;
  703. //返回值
  704. Map<Object, Object> remap = new HashMap<Object, Object>();
  705. switch(helperType){
  706. case CheckRoutePassed:
  707. remap = CheckRoutePassed(json);
  708. break;
  709. case CheckUserAndResourcePassed:
  710. remap = CheckUserAndResourcePassed(json);
  711. break;
  712. case GetAddressRangeByMO:
  713. remap = GetAddressRangeByMO(json);
  714. break;
  715. case GetMEIOrNetCodeRange:
  716. remap = GetMEIOrNetCodeRange(json);
  717. break;
  718. case GetRcardMOInfo:
  719. remap = GetRcardMOInfo(json);
  720. break;
  721. case GetMobileAllInfo:
  722. remap = GetMobileAllInfo(json);
  723. break;
  724. case SetAddressInfo:
  725. remap = SetAddressInfo(json);
  726. break;
  727. case GetMaster:
  728. remap = GetMaster(json);
  729. break;
  730. case SetMobileData:
  731. remap = SetMobileData(json);
  732. break;
  733. case SetIMEIInfo:
  734. remap = SetIMEIInfo(json);
  735. break;
  736. case SetTestDetail:
  737. remap = SetTestDetail(json);
  738. break;
  739. case SetPcbaData:
  740. remap = SetPcbaData(json);
  741. break;
  742. case GetInfoByMaterial:
  743. remap = GetInfoByMaterial(json);
  744. break;
  745. case GoMo:
  746. remap = GoMo(json);
  747. break;
  748. case GetMakeInfoBySN:
  749. remap = GetMakeInfoBySN(json);
  750. break;
  751. default:
  752. err = -1;
  753. break;
  754. }
  755. if(err == -1){
  756. throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPEILLEGAL,requestId));
  757. }
  758. SpObserver.putSp(username);
  759. return remap;
  760. }
  761. private Map<Object,Object> GoMo(JSONObject map){
  762. Map<Object, Object> rmap = new HashMap<Object, Object>();
  763. String iSN=null;
  764. String iResCode=null;
  765. String iMo=null;
  766. String oErrMessage=null;
  767. if(map.get("iMo")==null){
  768. oErrMessage = "工单号不能为空";
  769. rmap.put("oErrMessage",oErrMessage);
  770. return rmap;
  771. }
  772. if(map.get("iResCode")==null){
  773. oErrMessage = "岗位资源不能为空";
  774. rmap.put("oErrMessage",oErrMessage);
  775. return rmap;
  776. }
  777. if(map.get("iSN")==null){
  778. oErrMessage = "SN不能为空";
  779. rmap.put("oErrMessage",oErrMessage);
  780. return rmap;
  781. }
  782. iSN=map.get("iSN").toString();
  783. iResCode=map.get("iResCode").toString();
  784. iMo=map.get("iMo").toString();
  785. List<String> list = new ArrayList<String>();
  786. list = baseDao.callProcedureWithOut("CS_CHECKSTEPSNANDMACODE", new Object[]{
  787. String.valueOf(iMo),
  788. String.valueOf(iResCode),
  789. String.valueOf(iSN),
  790. String.valueOf("")
  791. }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
  792. oErrMessage=list.get(2);
  793. SqlRowList rs = baseDao.queryForRowSet("select ms_status,ms_stepcode,ms_nextstepcode from makeserial where ms_id=( select max(ms_id) from makeserial where ms_sncode in ( select '" + iSN + "' from dual union select sn from makesnrelation where beforesn='" + iSN + "' and sn<>' ' union select beforesn from makesnrelation where sn='" + iSN + "' and beforesn<>' '))");
  794. String ms_status = "";
  795. String ms_stepcode = "";
  796. String ms_nextstepcode = "";
  797. if(rs.next()){
  798. ms_status= rs.getString("ms_status");
  799. ms_stepcode=rs.getString("ms_stepcode");
  800. ms_nextstepcode=rs.getString("ms_nextstepcode");
  801. }
  802. String stepcode = GetStepCodeBySource(iResCode);
  803. if ( oErrMessage == null || (ms_status == "3" && ms_stepcode == stepcode))
  804. {
  805. if (ms_status == "3")
  806. {
  807. oErrMessage = null;
  808. }
  809. }
  810. rmap.put("oErrMessage",oErrMessage);
  811. return rmap;
  812. }
  813. private String GoMo(String iSN,String iMo,String iResCode){
  814. Map<Object, Object> rmap = new HashMap<Object, Object>();
  815. String oErrMessage=null;
  816. List<String> list = new ArrayList<String>();
  817. list = baseDao.callProcedureWithOut("CS_CHECKSTEPSNANDMACODE", new Object[]{
  818. String.valueOf(iMo),
  819. String.valueOf(iResCode),
  820. String.valueOf(iSN),
  821. String.valueOf("")
  822. }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
  823. oErrMessage=list.get(2);
  824. SqlRowList rs = baseDao.queryForRowSet("select ms_status,ms_stepcode,ms_nextstepcode from makeserial where ms_id=( select max(ms_id) from makeserial where ms_sncode in ( select '" + iSN + "' from dual union select sn from makesnrelation where beforesn='" + iSN + "' and sn<>' ' union select beforesn from makesnrelation where sn='" + iSN + "' and beforesn<>' '))");
  825. String ms_status = "";
  826. String ms_stepcode = "";
  827. String ms_nextstepcode = "";
  828. if(rs.next()){
  829. ms_status= rs.getString("ms_status");
  830. ms_stepcode=rs.getString("ms_stepcode");
  831. ms_nextstepcode=rs.getString("ms_nextstepcode");
  832. }
  833. String stepcode = GetStepCodeBySource(iResCode);
  834. if ( oErrMessage == null || (ms_status == "3" && ms_stepcode == stepcode))
  835. {
  836. if (ms_status == "3")
  837. {
  838. oErrMessage = null;
  839. }
  840. }
  841. return oErrMessage;
  842. }
  843. private Map<Object,Object> GetInfoByMaterial(JSONObject map){
  844. Map<Object, Object> rmap = new HashMap<Object, Object>();
  845. String iPCBA=null;
  846. String oErrMessage=null;
  847. if(map.get("iPCBA")==null){
  848. oErrMessage = "主板SN不能为空";
  849. rmap.put("oErrMessage",oErrMessage);
  850. return rmap;
  851. }
  852. iPCBA=map.get("iPCBA").toString();
  853. SqlRowList rs=baseDao.queryForRowSet("select nvl(max(ms_id),0)ms_id from CRAFTMATERIAL left join makeserial on ms_firstsn=cm_firstsn where cm_barcode='"+iPCBA+"' and nvl(cm_status,0)<>-1 order by cm_id desc");
  854. if(rs.next()){
  855. if(!rs.getString("ms_id").equals("0")){
  856. rs=baseDao.queryForRowSet("select ma_bios,ma_ec,ms_sncode,ma_hardware from makeserial left join make on ms_makecode=ma_code where ms_id='"+rs.getString("ms_id")+"'");
  857. if (rs.next()){
  858. rmap.put("oSN",rs.getString("ms_sncode"));
  859. rmap.put("oBIOS",rs.getString("ma_bios"));
  860. rmap.put("oEC",rs.getString("ma_ec"));
  861. rmap.put("oHardWare",rs.getString("ma_hardware"));
  862. }
  863. }else{
  864. oErrMessage = "主板SN未查询到关联信息";
  865. rmap.put("oErrMessage",oErrMessage);
  866. return rmap;
  867. }
  868. }
  869. return rmap;
  870. }
  871. private Map<Object,Object> CheckRoutePassed(JSONObject map){
  872. //实际业务数据
  873. Map<Object, Object> rmap = new HashMap<>();
  874. String iSN=map.get("iSN").toString();
  875. String iResCode=map.get("iResCode").toString();
  876. String oErrMessage="";
  877. if (iSN ==null)
  878. {
  879. oErrMessage = "SN不能为空";
  880. }
  881. List<String> list = new ArrayList<String>();
  882. list = baseDao.callProcedureWithOut("CS_CHECKSTEPSNANDMACODE", new Object[]{
  883. String.valueOf(""),
  884. String.valueOf(iResCode),
  885. String.valueOf(iSN),
  886. String.valueOf("")
  887. }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
  888. oErrMessage=list.get(2);
  889. if(oErrMessage!=null){
  890. rmap.put("oErrMessage",oErrMessage);
  891. return rmap;
  892. }
  893. SqlRowList rs = baseDao.queryForRowSet("select ms_status,ms_stepcode,ms_nextstepcode from makeserial where ms_id=( select max(ms_id) from makeserial where ms_sncode in ( select '" + iSN + "' from dual union select sn from makesnrelation where beforesn='" + iSN + "' and sn<>' ' union select beforesn from makesnrelation where sn='" + iSN + "' and beforesn<>' '))");
  894. String ms_status = "";
  895. String ms_stepcode = "";
  896. String ms_nextstepcode = "";
  897. if(rs.next()){
  898. ms_status= rs.getString("ms_status");
  899. ms_stepcode=rs.getString("ms_stepcode");
  900. ms_nextstepcode=rs.getString("ms_nextstepcode");
  901. }
  902. String stepcode = GetStepCodeBySource(iResCode);
  903. if (ms_nextstepcode != "" && !ms_nextstepcode.equals(stepcode))
  904. {
  905. oErrMessage = "当前序列号下一工序" + ms_nextstepcode;
  906. }
  907. rmap.put("oErrMessage",oErrMessage);
  908. return rmap;
  909. }
  910. private String CheckRoutePassed(String iSN,String iResCode){
  911. //实际业务数据
  912. Map<Object, Object> rmap = new HashMap<>();
  913. String oErrMessage;
  914. if (iSN ==null)
  915. {
  916. oErrMessage = "SN不能为空";
  917. }
  918. List<String> list = new ArrayList<String>();
  919. list = baseDao.callProcedureWithOut("CS_CHECKSTEPSNANDMACODE", new Object[]{
  920. String.valueOf(""),
  921. String.valueOf(iResCode),
  922. String.valueOf(iSN),
  923. String.valueOf("")
  924. }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
  925. oErrMessage=list.get(2);
  926. if(oErrMessage!=null){
  927. return oErrMessage;
  928. }
  929. SqlRowList rs = baseDao.queryForRowSet("select ms_status,ms_stepcode,ms_nextstepcode from makeserial where ms_id=( select max(ms_id) from makeserial where ms_sncode in ( select '" + iSN + "' from dual union select sn from makesnrelation where beforesn='" + iSN + "' and sn<>' ' union select beforesn from makesnrelation where sn='" + iSN + "' and beforesn<>' '))");
  930. String ms_status = "";
  931. String ms_stepcode = "";
  932. String ms_nextstepcode = "";
  933. if(rs.next()){
  934. ms_status= rs.getString("ms_status");
  935. ms_stepcode=rs.getString("ms_stepcode");
  936. ms_nextstepcode=rs.getString("ms_nextstepcode");
  937. }
  938. String stepcode = GetStepCodeBySource(iResCode);
  939. if (ms_nextstepcode != "" && !ms_nextstepcode.equals(stepcode))
  940. {
  941. oErrMessage = "当前序列号"+iSN+"下一工序" + ms_nextstepcode;
  942. }
  943. return oErrMessage;
  944. }
  945. private Map<Object,Object> CheckUserAndResourcePassed(JSONObject map){
  946. //实际业务数据
  947. Map<Object, Object> rmap = new HashMap<>();
  948. String oErrMessage = null;
  949. if (map.get("iUserCode") == null || map.get("iResCode") == null || map.get("iPassWord") == null)
  950. {
  951. oErrMessage = "用户名,密码,岗位资源必须填写";
  952. rmap.put("oErrMessage",oErrMessage);
  953. return rmap;
  954. }
  955. String iUserCode=map.get("iUserCode").toString();
  956. String iPassWord=map.get("iPassWord").toString();
  957. String iResCode=map.get("iResCode").toString();
  958. if (CheckUserLogin(iUserCode, iPassWord))
  959. {
  960. String SQL = "select em_code,em_type,em_name from employee where em_code=? ";
  961. SqlRowList rs = baseDao.queryForRowSet(SQL, iUserCode);
  962. if (rs.next())
  963. {
  964. String em_name = rs.getString("em_name");
  965. String em_type = rs.getString("em_type");
  966. if (iResCode ==null)
  967. {
  968. oErrMessage = "岗位资源不允许为空";
  969. rmap.put("oErrMessage",oErrMessage);
  970. return rmap;
  971. }
  972. if (em_type.equals("admin"))
  973. {
  974. if (!baseDao.checkIf("Source", "sc_code='" + iResCode + "' and sc_statuscode='AUDITED'"))
  975. {
  976. oErrMessage = "岗位资源编号错误或者未审核!";
  977. }
  978. }
  979. else
  980. {
  981. SqlRowList rs1=baseDao.queryForRowSet("select ur_resourcecode from cs$empgroup left join cs$userresource on ur_groupcode=eg_groupcode left join source on ur_resourcecode=sc_code where eg_emcode = '"+ iUserCode + "' and sc_statuscode='AUDITED'");
  982. //如果存在该编号
  983. if (rs1.next())
  984. {
  985. //判断如果多个岗位资源存在,用户输入的只要在其中就行
  986. while (rs.next())
  987. {
  988. if (!rs.getString("ur_resourcecode").equals("iResCode")){
  989. oErrMessage = "用户不处于当前资源所属分组!";
  990. }else
  991. {
  992. oErrMessage=null;
  993. continue;
  994. }
  995. }
  996. }
  997. else
  998. oErrMessage = "岗位资源编号错误或者未审核!";
  999. }
  1000. }
  1001. else
  1002. oErrMessage = "用户不存在!";
  1003. }else{
  1004. oErrMessage = "用户名密码不正确!";
  1005. }
  1006. rmap.put("oErrMessage",oErrMessage);
  1007. return rmap;
  1008. }
  1009. private Map<Object,Object> GetAddressRangeByMO(JSONObject map){
  1010. //实际业务数据
  1011. Map<Object, Object> rmap = new HashMap<>();
  1012. String iSN="";
  1013. String oErrMessage = null;
  1014. String oWIFI = "";
  1015. String oBT = "";
  1016. String oCode1 = "";
  1017. String oCode2 = "";
  1018. String oCode3 = "";
  1019. if(map.get("iSN")==null){
  1020. oErrMessage = "SN不能为空";
  1021. rmap.put("oErrMessage",oErrMessage);
  1022. return rmap;
  1023. }
  1024. iSN=map.get("iSN").toString();
  1025. //判断工单是否归属
  1026. JSONObject map3=new JSONObject();
  1027. map3.put("iSN",iSN);
  1028. Map<Object, Object> map2=GetRcardMOInfo(map3);
  1029. if(map2.get("oErrMessage")!=null){
  1030. oErrMessage=map2.get("oErrMessage").toString();
  1031. rmap.put("oErrMessage",oErrMessage);
  1032. return rmap;
  1033. }
  1034. List<String> list = new ArrayList<String>();
  1035. list = baseDao.callProcedureWithOut("CS_GETADDRESSBYMAKECODE", new Object[]{
  1036. String.valueOf(iSN),
  1037. String.valueOf(map2.get("oMoCode").toString()),
  1038. }, new Integer[]{1,2}, new Integer[]{3,4,5,6,7,8});
  1039. oWIFI = list.get(0);
  1040. oBT = list.get(1);
  1041. oCode1 = list.get(2);
  1042. oCode2 = list.get(3);
  1043. oCode3 = list.get(4);
  1044. oErrMessage= list.get(5);
  1045. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  1046. rmap.put("oWIFI",oWIFI);
  1047. rmap.put("oBT",oBT);
  1048. rmap.put("oCode1",oCode1);
  1049. rmap.put("oCode2",oCode2);
  1050. rmap.put("oCode3",oCode3);
  1051. }
  1052. else
  1053. rmap.put("oErrMessage",oErrMessage);
  1054. return rmap;
  1055. }
  1056. private Map<Object,Object> GetMEIOrNetCodeRange(JSONObject map){
  1057. //实际业务数据
  1058. Map<Object, Object> rmap = new HashMap<>();
  1059. String iSN="";
  1060. String oErrMessage = null;
  1061. String oIMEI1 = "";
  1062. String oIMEI2 = "";
  1063. String oMEID = "";
  1064. String oNetCode = "";
  1065. String oPSN = "";
  1066. String oID1 = "";
  1067. String oID2 = "";
  1068. String oID3 = "";
  1069. String oID4 = "";
  1070. String oID5 = "";
  1071. if(map.get("iSN")==null){
  1072. oErrMessage = "SN不能为空";
  1073. rmap.put("oErrMessage",oErrMessage);
  1074. return rmap;
  1075. }
  1076. if(map.get("iIMEI1")!=null){
  1077. oIMEI1=map.get("iIMEI1").toString();
  1078. }
  1079. if(map.get("iNetCode")!=null){
  1080. oNetCode=map.get("iNetCode").toString();
  1081. }
  1082. iSN=map.get("iSN").toString();
  1083. List<String> list = new ArrayList<String>();
  1084. list = baseDao.callProcedureWithOut("CS_GETIMEIORNETCODERANGE", new Object[]{
  1085. String.valueOf(iSN),
  1086. String.valueOf(""),
  1087. String.valueOf(oIMEI1),
  1088. String.valueOf(oNetCode),
  1089. }, new Integer[]{1,2,3,4}, new Integer[]{5,6,7,8,9,10,11,12,13,14});
  1090. oIMEI1 = list.get(0);
  1091. oIMEI2 = list.get(1);
  1092. oMEID = list.get(2);
  1093. oNetCode = list.get(3);
  1094. oID1 = list.get(4);
  1095. oID2 = list.get(5);
  1096. oID3 = list.get(6);
  1097. oID4 = list.get(7);
  1098. oID5 = list.get(8);
  1099. oErrMessage= list.get(9);
  1100. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  1101. rmap.put("oIMEI1",oIMEI1);
  1102. rmap.put("oIMEI2",oIMEI2);
  1103. rmap.put("oMEID",oMEID);
  1104. rmap.put("oNetCode",oNetCode);
  1105. rmap.put("oPSN",oPSN);
  1106. rmap.put("oID1",oID1);
  1107. rmap.put("oID2",oID2);
  1108. rmap.put("oID3",oID3);
  1109. rmap.put("oID4",oID4);
  1110. rmap.put("oID5",oID5);
  1111. }
  1112. else
  1113. rmap.put("oErrMessage",oErrMessage);
  1114. return rmap;
  1115. }
  1116. private Map<Object,Object> GetRcardMOInfo(JSONObject map){
  1117. //实际业务数据
  1118. Map<Object, Object> rmap = new HashMap<>();
  1119. //取MakeProcess表中的执行记录ID最大的一个工单的号码
  1120. String oErrMessage = null;
  1121. if(map.get("iSN")==null){
  1122. oErrMessage = "SN不能为空";
  1123. rmap.put("oErrMessage",oErrMessage);
  1124. return rmap;
  1125. }
  1126. String iSN=map.get("iSN").toString();
  1127. StringBuffer sql=new StringBuffer();
  1128. sql.append("select max(ms_id)ms_id from makeserial where ms_sncode in (select '" + iSN + "' from dual union select sn from ");
  1129. sql.append("makesnrelation where beforesn='" + iSN + "' and sn<>' ' union select beforesn from makesnrelation where sn='" + iSN + "' and beforesn<>' ')");
  1130. SqlRowList rs = baseDao.queryForRowSet(sql.toString());
  1131. String ms_id="";
  1132. if(rs.next()){
  1133. if(rs.getString("ms_id")==null){
  1134. oErrMessage = "序列号:" + iSN + " 未归属工单";
  1135. rmap.put("oErrMessage",oErrMessage);
  1136. return rmap;
  1137. }
  1138. else{
  1139. ms_id= rs.getString("ms_id");
  1140. }
  1141. }
  1142. Object oMoCode = baseDao.getFieldDataByCondition("MakeSerial", "ms_makecode", "ms_id='" + ms_id + "'");
  1143. if (oMoCode != null){
  1144. rmap.put("oMoCode",oMoCode);
  1145. oErrMessage= null;
  1146. }
  1147. else
  1148. {
  1149. oErrMessage = "序列号:" + iSN + " 未归属工单";
  1150. }
  1151. rmap.put("oErrMessage",oErrMessage);
  1152. return rmap;
  1153. }
  1154. private Map<Object,Object> GetMobileAllInfo(JSONObject map){
  1155. //实际业务数据
  1156. Map<Object, Object> rmap = new HashMap<>();
  1157. String iSN="";
  1158. String oErrMessage = null;
  1159. String oIMEI1 = "";
  1160. String oIMEI2 = "";
  1161. String oMEID = "";
  1162. String oNetCode = "";
  1163. String oPSN = "";
  1164. String oID1 = "";
  1165. String oID2 = "";
  1166. String oID3 = "";
  1167. String oID4 = "";
  1168. String oID5 = "";
  1169. String oWIFI = "";
  1170. String oBT = "";
  1171. String oCode1 = "";
  1172. String oCode2 = "";
  1173. String oCode3 = "";
  1174. if(map.get("iSN")==null){
  1175. oErrMessage = "SN不能为空";
  1176. rmap.put("oErrMessage",oErrMessage);
  1177. return rmap;
  1178. }
  1179. iSN=map.get("iSN").toString();
  1180. Object ms_id =baseDao.getFieldDataByCondition("makeserial", "max(ms_id)", "ms_sncode='" + iSN + "'");
  1181. if(ms_id!=null)
  1182. {
  1183. SqlRowList rs=baseDao.queryForRowSet("select ms_id, ms_mac, ms_bt, ms_meid, ms_netcode, ms_psn, ms_imei1, ms_imei2, ms_imei3, ms_othcode1, ms_othcode2, ms_othcode3, ms_othid1, ms_othid2, ms_othid3 from MakeSerial where ms_id="+ms_id.toString());
  1184. if(rs.next()){
  1185. oWIFI = rs.getString("ms_mac");
  1186. oBT = rs.getString("ms_bt");
  1187. oPSN = rs.getString("ms_psn");
  1188. oNetCode = rs.getString("ms_netcode");
  1189. oMEID = rs.getString("ms_meid");
  1190. oIMEI1 = rs.getString("ms_imei1");
  1191. oIMEI2 = rs.getString("ms_imei2");
  1192. oCode1 = rs.getString("ms_othcode1");
  1193. oCode2 = rs.getString("ms_othcode2");
  1194. oCode3 = rs.getString("ms_othcode3");
  1195. oID1 = rs.getString("ms_othid3");
  1196. oID2 = rs.getString("ms_othid3");
  1197. oID3 = rs.getString("ms_othid3");
  1198. }
  1199. }else
  1200. {
  1201. oErrMessage = "序列号" + iSN + "不存在";
  1202. rmap.put("oErrMessage",oErrMessage);
  1203. return rmap;
  1204. }
  1205. if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
  1206. rmap.put("oIMEI1",oIMEI1);
  1207. rmap.put("oIMEI2",oIMEI2);
  1208. rmap.put("oMEID",oMEID);
  1209. rmap.put("oNetCode",oNetCode);
  1210. rmap.put("oPSN",oPSN);
  1211. rmap.put("oID1",oID1);
  1212. rmap.put("oID2",oID2);
  1213. rmap.put("oID3",oID3);
  1214. rmap.put("oID4",oID4);
  1215. rmap.put("oID5",oID5);
  1216. rmap.put("oWIFI",oWIFI);
  1217. rmap.put("oBT",oBT);
  1218. rmap.put("oCode1",oCode1);
  1219. rmap.put("oCode2",oCode2);
  1220. rmap.put("oCode3",oCode3);
  1221. }
  1222. else
  1223. rmap.put("oErrMessage",oErrMessage);
  1224. return rmap;
  1225. }
  1226. private Map<Object,Object> SetAddressInfo(JSONObject map){
  1227. //实际业务数据
  1228. Map<Object, Object> rmap = new HashMap<>();
  1229. String oErrMessage = null;
  1230. if(map.get("iSN")==null){
  1231. oErrMessage = "SN不能为空";
  1232. rmap.put("oErrMessage",oErrMessage);
  1233. return rmap;
  1234. }
  1235. String iSN=map.get("iSN").toString();
  1236. String iWIFI = null;
  1237. String iBT = null;
  1238. String iCode1 = null;
  1239. String iCode2 = null;
  1240. String iCode3 = null;
  1241. if(map.get("iWIFI")!=null){
  1242. iWIFI=map.get("iWIFI").toString();
  1243. }
  1244. if(map.get("iBT")!=null){
  1245. iBT=map.get("iBT").toString();
  1246. }
  1247. if(map.get("iCode1")!=null){
  1248. iCode1=map.get("iCode1").toString();
  1249. }
  1250. if(map.get("iCode2")!=null){
  1251. iCode2=map.get("iCode2").toString();
  1252. }
  1253. if(map.get("iCode3")!=null){
  1254. iCode3=map.get("iCode3").toString();
  1255. }
  1256. List<String> list = new ArrayList<String>();
  1257. list = baseDao.callProcedureWithOut("CS_SETADDRESSINFO", new Object[]{
  1258. String.valueOf(iSN),
  1259. String.valueOf(iWIFI),
  1260. String.valueOf(iBT),
  1261. String.valueOf(iCode1),
  1262. String.valueOf(iCode2),
  1263. String.valueOf(iCode3)
  1264. }, new Integer[]{1, 2, 3, 4, 5, 6}, new Integer[]{7});
  1265. oErrMessage = list.get(0);
  1266. rmap.put("oErrMessage",oErrMessage);
  1267. return rmap;
  1268. }
  1269. private Map<Object,Object> GetMaster(JSONObject map){
  1270. //实际业务数据
  1271. Map<Object, Object> rmap = new HashMap<>();
  1272. SqlRowList rs=baseDao.queryForRowSet("select ma_user from mes.master");
  1273. while(rs.next())
  1274. {
  1275. rmap.put(rs.getString("ma_user"),rs.getString("ma_user"));
  1276. }
  1277. return rmap;
  1278. }
  1279. private Map<Object,Object> SetMobileData(JSONObject map){
  1280. //实际业务数据
  1281. Map<Object, Object> rmap = new HashMap<>();
  1282. String oErrMessage = null;
  1283. if(map.get("iSN")==null||map.get("iTSN")==null){
  1284. oErrMessage = "SN不能为空";
  1285. rmap.put("oErrMessage",oErrMessage);
  1286. return rmap;
  1287. }
  1288. String iSN=map.get("iSN").toString();
  1289. String iTSN=map.get("iTSN").toString();
  1290. String iSourceCode = null;
  1291. String iOperater = null;
  1292. String iResult = null;
  1293. String flag = null;
  1294. String iErrCode = null;
  1295. if(map.get("iSourceCode")!=null){
  1296. iSourceCode=map.get("iSourceCode").toString();
  1297. }
  1298. if(map.get("iOperater")!=null){
  1299. iOperater=map.get("iOperater").toString();
  1300. }
  1301. if(map.get("iResult")!=null){
  1302. iResult=map.get("iResult").toString();
  1303. }
  1304. if(map.get("flag")!=null){
  1305. flag=map.get("flag").toString();
  1306. }
  1307. if(map.get("iErrCode")!=null){
  1308. iErrCode=map.get("iErrCode").toString();
  1309. }
  1310. List<String> list = new ArrayList<String>();
  1311. list = baseDao.callProcedureWithOut("CS_DLLSNCHANGE", new Object[]{
  1312. String.valueOf(iTSN),
  1313. String.valueOf(iSN),
  1314. String.valueOf(iSourceCode),
  1315. String.valueOf(iOperater),
  1316. String.valueOf(iResult),
  1317. String.valueOf(iErrCode),
  1318. }, new Integer[]{1, 2, 3, 4, 5, 6}, new Integer[]{7});
  1319. oErrMessage = list.get(0);
  1320. rmap.put("oErrMessage",oErrMessage);
  1321. return rmap;
  1322. }
  1323. private Map<Object,Object> SetIMEIInfo(JSONObject map){
  1324. //实际业务数据
  1325. Map<Object, Object> rmap = new HashMap<>();
  1326. String oErrMessage = null;
  1327. if(map.get("iSN")==null){
  1328. oErrMessage = "SN不能为空";
  1329. rmap.put("oErrMessage",oErrMessage);
  1330. return rmap;
  1331. }
  1332. String iSN=map.get("iSN").toString();
  1333. String iIMEI1=null;
  1334. String iIMEI2 = null;
  1335. String iIMEI3 = null;
  1336. String iMEID = null;
  1337. String iNET = null;
  1338. String iID1 = null;
  1339. String iID2 = null;
  1340. String iID3 = null;
  1341. if(map.get("iIMEI1")!=null){
  1342. iIMEI1=map.get("iIMEI1").toString();
  1343. }
  1344. if(map.get("iIMEI2")!=null){
  1345. iIMEI2=map.get("iIMEI2").toString();
  1346. }
  1347. if(map.get("iIMEI3")!=null){
  1348. iIMEI3=map.get("iIMEI3").toString();
  1349. }
  1350. if(map.get("iMEID")!=null){
  1351. iMEID=map.get("iMEID").toString();
  1352. }
  1353. if(map.get("iNET")!=null){
  1354. iNET=map.get("iNET").toString();
  1355. }
  1356. if(map.get("iID1")!=null){
  1357. iID1=map.get("iID1").toString();
  1358. }
  1359. if(map.get("iID2")!=null){
  1360. iID2=map.get("iID2").toString();
  1361. }
  1362. if(map.get("iID3")!=null){
  1363. iID3=map.get("iID3").toString();
  1364. }
  1365. List<String> list = new ArrayList<String>();
  1366. list = baseDao.callProcedureWithOut("CS_SETIMEIINFO", new Object[]{
  1367. String.valueOf(iSN),
  1368. String.valueOf(iIMEI1),
  1369. String.valueOf(iIMEI2),
  1370. String.valueOf(iIMEI3),
  1371. String.valueOf(iMEID),
  1372. String.valueOf(iNET),
  1373. String.valueOf(""),
  1374. String.valueOf(iID1),
  1375. String.valueOf(iID2),
  1376. String.valueOf(iID3),
  1377. }, new Integer[]{1, 2, 3, 4, 5, 6,7,8,9,10}, new Integer[]{11});
  1378. oErrMessage = list.get(0);
  1379. rmap.put("oErrMessage",oErrMessage);
  1380. return rmap;
  1381. }
  1382. private Map<Object,Object> SetTestDetail(JSONObject map){
  1383. //实际业务数据
  1384. Map<Object, Object> rmap = new HashMap<>();
  1385. String oErrMessage=null;
  1386. if(map.get("iSN")==null){
  1387. oErrMessage = "SN不能为空";
  1388. rmap.put("oErrMessage",oErrMessage);
  1389. return rmap;
  1390. }
  1391. String iSN=map.get("iSN").toString();
  1392. String iTestResult= "";
  1393. String iResCode= "";
  1394. String iClassName="";
  1395. String iTestDetail= "";
  1396. if(map.get("iTestResult")!=null){
  1397. iTestResult=map.get("iTestResult").toString();
  1398. }
  1399. if(map.get("iClassName")!=null){
  1400. iClassName=map.get("iClassName").toString();
  1401. }
  1402. if(map.get("iResCode")!=null){
  1403. iResCode=map.get("iResCode").toString();
  1404. }
  1405. if(map.get("iTestDetail")!=null){
  1406. iTestDetail=map.get("iTestDetail").toString();
  1407. }
  1408. JSONObject map3=new JSONObject();
  1409. map3.put("iSN",iSN);
  1410. Map<Object, Object> map2=GetRcardMOInfo(map3);
  1411. String omakeCode = "";
  1412. StringBuffer sql=new StringBuffer();
  1413. String[] name=iClassName.split("\\|");
  1414. String[] result=iTestResult.split("\\|");
  1415. String[] value=iTestDetail.split("\\|");
  1416. if(name.length!=value.length||name.length!=result.length){
  1417. rmap.put("oErrMessage","测试项目名称和值的项次不一致");
  1418. return rmap;
  1419. }
  1420. for (int i=0;i<name.length;i++){
  1421. sql.setLength(0);
  1422. sql.append("Insert into STEPTESTDETAIL (STD_ID,STD_CLASS,STD_SN,STD_MAKECODE,STD_ACTUALVALUE,STD_TESTRESULT,STD_INDATE,STD_RESCODE)");
  1423. sql.append("values(STEPTESTDETAIL_SEQ.nextval,'"+name[i]+"','" + iSN + "','" + map2.get("oMoCode") + "','" + value[i] + "','" + result[i] + "',sysdate,'" + iResCode + "')");
  1424. baseDao.execute(sql.toString());
  1425. }
  1426. rmap.put("oErrMessage",oErrMessage);
  1427. return rmap;
  1428. }
  1429. private Map<Object,Object> SetPcbaData(JSONObject map){
  1430. //实际业务数据
  1431. Map<Object, Object> rmap = new HashMap<>();
  1432. String oErrMessage = null;
  1433. if(map.get("iSN")==null){
  1434. oErrMessage = "SN不能为空";
  1435. rmap.put("oErrMessage",oErrMessage);
  1436. return rmap;
  1437. }
  1438. String iSN=map.get("iSN").toString();
  1439. String iResCode = null;
  1440. String iOperator = null;
  1441. String iResult = null;
  1442. String iErrCode = null;
  1443. if(map.get("iResCode")!=null){
  1444. iResCode=map.get("iResCode").toString();
  1445. }
  1446. if(map.get("iOperater")!=null){
  1447. iOperator=map.get("iOperater").toString();
  1448. }
  1449. if(map.get("iResult")!=null){
  1450. iResult=map.get("iResult").toString();
  1451. }
  1452. if(map.get("iErrCode")!=null){
  1453. iErrCode=map.get("iErrCode").toString();
  1454. }
  1455. JSONObject map3=new JSONObject();
  1456. map3.put("iSN",iSN);
  1457. Map<Object, Object> map2=GetRcardMOInfo(map3);
  1458. String oMoCode=null;
  1459. if(map2.get("oMoCode")!=null){
  1460. oMoCode=map2.get("oMoCode").toString();
  1461. }
  1462. if (map2.get("oErrMessage")==null)
  1463. return SetStepFinish(oMoCode, iResCode, iSN, "", iResult, iOperator, iErrCode);
  1464. return rmap;
  1465. }
  1466. private Object SetPcbaData(String iSN,String iResCode,String iOperator,String iResult){
  1467. //实际业务数据
  1468. Map<Object, Object> rmap = new HashMap<>();
  1469. String iErrCode = null;
  1470. if(iSN==null){
  1471. iErrCode = "SN不能为空";
  1472. return iErrCode;
  1473. }
  1474. JSONObject map3=new JSONObject();
  1475. map3.put("iSN",iSN);
  1476. Map<Object, Object> map2=GetRcardMOInfo(map3);
  1477. String oMoCode=null;
  1478. if(map2.get("oMoCode")!=null){
  1479. oMoCode=map2.get("oMoCode").toString();
  1480. }
  1481. if (map2.get("oErrMessage")==null)
  1482. map2= SetStepFinish(oMoCode, iResCode, iSN, "", iResult, iResCode, iErrCode);
  1483. return map2.get("oErrMessage");
  1484. }
  1485. /// <summary>
  1486. /// 获取步骤代码
  1487. /// </summary>
  1488. /// <param name="Source"></param>
  1489. /// <returns></returns>
  1490. private String GetStepCodeBySource(String Source)
  1491. {
  1492. Object o=baseDao.getFieldDataByCondition("source", "sc_stepcode", "sc_code='" + Source + "'");
  1493. if(o!=null)
  1494. return o.toString();
  1495. else
  1496. return "";
  1497. }
  1498. private Boolean CheckUserLogin(String iUserCode, String iPassWord)
  1499. {
  1500. SqlRowList rs =baseDao.queryForRowSet("select em_code from employee where em_code='"+iUserCode+"' and em_password =?",iPassWord);
  1501. if (rs.next())
  1502. return true;
  1503. else
  1504. {
  1505. return false;
  1506. }
  1507. }
  1508. private Map<Object,Object> GetMakeInfoBySN(JSONObject map)
  1509. {
  1510. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1511. String iSN=null;
  1512. String oErrMessage=null;
  1513. if(map.get("iSN")==null){
  1514. oErrMessage = "SN不能为空";
  1515. rmap.put("oErrMessage",oErrMessage);
  1516. return rmap;
  1517. }
  1518. iSN=map.get("iSN").toString();
  1519. 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 from make " +
  1520. "left join makeserial on ms_makecode=ma_code where ms_sncode='"+iSN+"'");
  1521. if(rs.next()){
  1522. rmap.put("oMaremark1",rs.getString("ma_remark1"));
  1523. rmap.put("oMaremark2",rs.getString("ma_remark2"));
  1524. rmap.put("oMaremark3",rs.getString("ma_remark3"));
  1525. rmap.put("oMaremark4",rs.getString("ma_remark4"));
  1526. rmap.put("oMaremark5",rs.getString("ma_remark5"));
  1527. rmap.put("oMaremark6",rs.getString("ma_remark6"));
  1528. rmap.put("oMaremark7",rs.getString("ma_remark7"));
  1529. rmap.put("oMaremark8",rs.getString("ma_remark8"));
  1530. rmap.put("oMaremark9",rs.getString("ma_remark9"));
  1531. rmap.put("oMaremark10",rs.getString("ma_remark10"));
  1532. rmap.put("oMaremark11",rs.getString("ma_remark11"));
  1533. rmap.put("oMaremark12",rs.getString("ma_remark12"));
  1534. rmap.put("oMaremark13",rs.getString("ma_remark13"));
  1535. rmap.put("oMaremark14",rs.getString("ma_remark14"));
  1536. rmap.put("oMaremark15",rs.getString("ma_remark15"));
  1537. rmap.put("oMaremark16",rs.getString("ma_remark16"));
  1538. return rmap;
  1539. }else{
  1540. oErrMessage = "SN未查询到关联信息";
  1541. rmap.put("oErrMessage",oErrMessage);
  1542. return rmap;
  1543. }
  1544. }
  1545. public Map<Object,Object> SetStepFinish(String iMakeCode, String iSourceCode, String iSN, String iMPKind, String iResult, String iUserCode, String iErrCode)
  1546. {
  1547. String oErrMessage = null;
  1548. Object StepCode = baseDao.getFieldDataByCondition("Makeserial", "ms_stepcode", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1549. String CurrentStep = GetStepCodeBySource(iSourceCode);
  1550. Object BgCode = baseDao.getFieldDataByCondition("step", "nvl(st_badgroupcode,' ')", "st_code='" + CurrentStep + "'");
  1551. Map<Object, Object> rmap = new HashMap<>();
  1552. switch (iResult)
  1553. {
  1554. case "OK":
  1555. break;
  1556. case "NG":
  1557. if (iErrCode == "")
  1558. {
  1559. oErrMessage = "测试结果为NG时必须传递不良代码";
  1560. rmap.put("oErrMessage",oErrMessage);
  1561. return rmap;
  1562. }
  1563. else
  1564. {
  1565. baseDao.updateByCondition("makebad", "mb_status=-1", "mb_sncode='" + iSN + "' and mb_makecode='" + iMakeCode + "' and mb_stepcode='" + CurrentStep + "' and mb_status=0");
  1566. String[] BadCode = iErrCode.split(",");
  1567. StringBuffer sql=new StringBuffer();
  1568. for (int i = 0; i < BadCode.length; i++)
  1569. {
  1570. if(!baseDao.checkIf("badcode","bc_code='"+ BadCode[i]+"'")){
  1571. oErrMessage = "不良代码"+BadCode[i]+"不存在";
  1572. rmap.put("oErrMessage",oErrMessage);
  1573. return rmap;
  1574. }
  1575. int mb_id = baseDao.getSeqId("makebad_seq");
  1576. sql.setLength(0);
  1577. sql.append("insert into makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,mb_indate,mb_stepcode");
  1578. sql.append(",mb_sourcecode,mb_badcode,mb_badtable,mb_bgcode,mb_soncode,mb_status) select '" + mb_id + "'");
  1579. sql.append(",ma_code,ms_code,ms_sncode,'" + iUserCode + "',sysdate,'" + CurrentStep + "','" + iSourceCode + "','" + BadCode[i] + "','',");
  1580. sql.append("'" + BgCode + "',sp_soncode,'0' from make left join makeSerial on ms_makecode=ma_code left join stepProduct on ");
  1581. sql.append("sp_mothercode=ma_prodcode and sp_stepcode=ms_nextstepcode where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1582. baseDao.execute(sql.toString());
  1583. }
  1584. //将不良的序列号的状态码设为3
  1585. baseDao.execute("update makeserial set ms_status='3' where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1586. }
  1587. break;
  1588. default:
  1589. oErrMessage = "测试结果必须为NG或者OK";
  1590. rmap.put("oErrMessage",oErrMessage);
  1591. return rmap;
  1592. }
  1593. //不良采集为良品是更新
  1594. if (StepCode!=null &&StepCode.toString().equals(CurrentStep) && iResult == "OK")
  1595. {
  1596. Object[] ob = baseDao.getFieldsDataByCondition("makeserial", "ms_status,ms_craftcode,ms_prodcode", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1597. if (ob!=null)
  1598. {
  1599. String ms_status =ob[0].toString();
  1600. String ms_craftcode= ob[1].toString();
  1601. String ms_prodcode = ob[2].toString();
  1602. if (ms_status == "3")
  1603. {
  1604. String nextstepcode =baseDao.getFieldDataByCondition("craft left join craftdetail on cr_id=cd_crid ", "cd_nextstepcode", "cr_code='" + ms_craftcode + "' and cr_prodcode='" + ms_prodcode + "' and cd_stepcode='" + CurrentStep + "'").toString();
  1605. baseDao.updateByCondition("makeserial", "ms_status=1,ms_nextstepcode='" + nextstepcode + "'", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
  1606. baseDao.updateByCondition("makebad", "mb_status=-1", "mb_sncode='" + iSN + "' and mb_makecode='" + iMakeCode + "'");
  1607. }
  1608. }
  1609. }
  1610. return CS_SetFinish(iMakeCode, iSourceCode, iSN, iUserCode, iResult);
  1611. }
  1612. private Map<Object,Object> CS_SetFinish(String iMakeCode, String iSourceCode, String iSN, String iUserCode, String iResult)
  1613. {
  1614. Map<Object, Object> rmap = new HashMap<>();
  1615. String oErrMessage=null;
  1616. List<String> list = new ArrayList<String>();
  1617. list = baseDao.callProcedureWithOut("CS_SETSTEPRESULT", new Object[]{
  1618. String.valueOf(iMakeCode),
  1619. String.valueOf(iSourceCode),
  1620. String.valueOf(iSN),
  1621. String.valueOf(iUserCode),
  1622. String.valueOf(iResult),
  1623. }, new Integer[]{1, 2, 3, 4, 5}, new Integer[]{6});
  1624. oErrMessage = list.get(0);
  1625. rmap.put("oErrMessage",oErrMessage);
  1626. return rmap;
  1627. }
  1628. private String checkAccessKey(String accessKey,String requestId){
  1629. Object accessSecret_O = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_SECRET", "AE_KEY='" + accessKey + "'");
  1630. Object AE_MASTER = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_MASTER", "AE_KEY='" + accessKey + "'");
  1631. String accessSecret = accessSecret_O == null ? "" : accessSecret_O.toString();
  1632. // 检查KEY是否合理
  1633. if (StringUtils.isEmpty(accessKey) || StringUtils.isEmpty(accessSecret) || AE_MASTER== null || "".equals(AE_MASTER.toString())) {
  1634. ApiResult apiResult = new ApiResult(ErrorMessage.ACCESSKEY_ILLEGAL.getCode(),ErrorMessage.ACCESSKEY_ILLEGAL.getMessage(),requestId);
  1635. throw new ApiSystemException(apiResult);
  1636. }
  1637. return AE_MASTER.toString();
  1638. }
  1639. @Override
  1640. public Map<Object,Object> getMESSnCode(String data) {
  1641. Map<String, Object> map=null;
  1642. Map<Object, Object> rmap = new HashMap<Object, Object>();
  1643. try{
  1644. map =BaseUtil.convertJsonToMap(data);
  1645. }catch (Exception e){
  1646. rmap.put("code",-1);
  1647. rmap.put("message",e.getMessage());
  1648. System.out.printf(e.getMessage()) ;
  1649. return rmap;
  1650. }
  1651. String macode = map.get("moid") == null ? "" : String.valueOf(map.get("moid"));
  1652. String machineid = map.get("machineld") == null ? "" : String.valueOf(map.get("machineld"));
  1653. if("".equals(macode)){
  1654. rmap.put("code",-1);
  1655. rmap.put("message","工单不能为空");
  1656. return rmap;
  1657. }
  1658. if (!baseDao.checkIf("make","ma_code='"+macode+"'")){
  1659. rmap.put("code",-1);
  1660. rmap.put("message","工单不存在");
  1661. return rmap;
  1662. }
  1663. double sncount = map.get("count") == null ? 0 : Double.parseDouble(map.get("count").toString());
  1664. if(sncount<=0){
  1665. rmap.put("code",-1);
  1666. rmap.put("message","SN数量必须大于0");
  1667. return rmap;
  1668. }
  1669. int count = baseDao.getCountByCondition("MAKESNLIST_RADIUM", "nvl(msl_status,0)=0 and MSL_INDATE>trunc(sysdate)");
  1670. if (count<sncount){
  1671. rmap.put("code",-1);
  1672. rmap.put("message","SN不足!");
  1673. return rmap;
  1674. }
  1675. List<String> sqls = new ArrayList<>();
  1676. List<Map<String, Object>> maps = new ArrayList<>();
  1677. Map<String, Object> snmap=null;
  1678. SqlRowList rs = baseDao.queryForRowSet("select msl_sncode,msl_id from (select msl_sncode,msl_id from MAKESNLIST_RADIUM where nvl(msl_status,0)=0 order by msl_sncode) where rownum<="+sncount +" order by msl_sncode ");
  1679. String mainbarcode="";
  1680. String msl_id="";
  1681. while (rs.next()){
  1682. snmap=new HashMap<String, Object>();
  1683. snmap.put("serialNo",rs.getGeneralString("msl_sncode"));
  1684. mainbarcode=rs.getGeneralString("msl_sncode");
  1685. maps.add(snmap);
  1686. sqls.add("update MAKESNLIST_RADIUM set msl_makecode='"+macode+"',msl_signtime=sysdate,msl_status=-1,msl_machine='"+machineid+"' where msl_id="+rs.getGeneralInt("msl_id"));
  1687. msl_id+=rs.getGeneralInt("msl_id")+",";
  1688. }
  1689. msl_id+="0";
  1690. baseDao.execute("update MAKESNLIST_RADIUM set msl_mainbarcode='"+mainbarcode+"' where msl_id in ("+msl_id+")");
  1691. if (sqls!=null&&sqls.size()>0){
  1692. baseDao.execute(sqls);
  1693. }
  1694. rmap.put("code",0);
  1695. rmap.put("data",maps);
  1696. return rmap;
  1697. }
  1698. }