| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352 |
- package com.uas.eis.serviceImpl;
- import com.uas.eis.core.config.SpObserver;
- import com.uas.eis.dao.BaseDao;
- import com.uas.eis.dao.SqlRowList;
- import com.uas.eis.entity.ErrorMessage;
- import com.uas.eis.entity.HelperType;
- import com.uas.eis.exception.ApiSystemException;
- import com.uas.eis.sdk.entity.ApiResult;
- import com.uas.eis.service.MESDataService;
- import com.uas.eis.service.MESHelperService;
- import com.uas.eis.utils.*;
- import flexjson.JSON;
- import net.sf.json.JSONArray;
- import net.sf.json.JSONObject;
- import net.sf.json.JsonConfig;
- import org.apache.commons.lang.StringUtils;
- import org.dom4j.DocumentException;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.boot.jackson.JsonObjectDeserializer;
- import org.springframework.stereotype.Service;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.w3c.dom.Document;
- import org.w3c.dom.Element;
- import org.w3c.dom.Node;
- import org.w3c.dom.NodeList;
- import org.xml.sax.SAXException;
- import sun.awt.TimedWindowEvent;
- import java.io.IOException;
- import java.sql.Timestamp;
- import java.util.*;
- import org.dom4j.DocumentHelper;
- import javax.xml.parsers.DocumentBuilder;
- import javax.xml.parsers.DocumentBuilderFactory;
- import javax.xml.parsers.ParserConfigurationException;
- import org.xml.sax.InputSource;
- import java.io.StringReader;
- @Service
- public class MESHelperServiceImpl implements MESHelperService {
- @Autowired
- private BaseDao baseDao;
- @Value("${spring.datasource.username}")
- private String username;
- @Override
- public Map<Object,Object> Radium(String data) {
- Map<String, Object> map=null;
- Map<Object, Object> rmap = new HashMap<Object, Object>();
- String oErrMessage="";
- String UserName="";
- try{
- map =BaseUtil.convertJsonToMap(data);
- }catch (Exception e){
- System.out.printf(e.getMessage()) ;
- }
- if(map.get("SN")==null){
- rmap.put("code",-1);
- rmap.put("message","SN号不能为空");
- return rmap;
- }
- if(map.get("MO")==null){
- rmap.put("code",-1);
- rmap.put("message","工单号不能为空");
- return rmap;
- }
- if(map.get("SpecificationName")==null){
- rmap.put("code",-1);
- rmap.put("message","工序不能为空");
- return rmap;
- }
- if(map.get("UserName")==null){
- rmap.put("code",-1);
- rmap.put("message","用户不能为空");
- return rmap;
- }
- String specificationName=map.get("SpecificationName").toString();
- String MO=map.get("MO").toString();
- Map<Object,Object> map1=BaseUtil.parseFormStoreToMap(map.get("SN").toString());
- for (Map.Entry<Object, Object> entry : map1.entrySet()) {
- Object key = entry.getKey();
- Object value = entry.getValue();
- SqlRowList rs=baseDao.queryForRowSet("select 1 from MAKESNLIST_RADIUM where msl_sncode='"+value.toString().toUpperCase()+"'" +
- " and msl_makecode='"+MO+"' and nvl(msl_Radium,0)=-1");
- if(rs.next()){
- oErrMessage+="序列号"+value.toString().toUpperCase()+"已镭雕,";
- }else {
- baseDao.execute("update MAKESNLIST_RADIUM set msl_Radium=-1 where msl_sncode='"+value.toString().toUpperCase()+"' and " +
- "msl_makecode='"+MO+"'");
- }
- //启用过站
- if(baseDao.getFieldDataByCondition("configs","data","caller='MESSetting' and code='Radium'").toString().equals("1")){
- oErrMessage+=GoMo(value.toString().toUpperCase(),MO, specificationName);
- if(oErrMessage.equals("null")){
- oErrMessage="";
- }else{
- rmap.put("code",-1);
- rmap.put("message",oErrMessage);
- return rmap;
- }
- oErrMessage+=CheckRoutePassed(value.toString().toUpperCase(),specificationName);
- if(oErrMessage.equals("null")){
- oErrMessage="";
- }else{
- rmap.put("code",-1);
- rmap.put("message",oErrMessage);
- return rmap;
- }
- oErrMessage+=SetPcbaData(value.toString().toUpperCase(),specificationName,UserName,"OK");
- if(oErrMessage.equals("null")){
- oErrMessage="";
- }else{
- rmap.put("code",-1);
- rmap.put("message",oErrMessage);
- return rmap;
- }
- }
- }
- if(oErrMessage.equals("")||oErrMessage==null){
- rmap.put("code",0);
- rmap.put("message","镭射识别绑定成功");
- return rmap;
- }else{
- rmap.put("code",-1);
- rmap.put("message",oErrMessage);
- return rmap;
- }
- }
- @Override
- public Map<Object,Object> SPI(String data) {
- Map<Object, Object> rmap = new HashMap<Object, Object>();
- try{
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = factory.newDocumentBuilder();
- try {
- try{
- Element root;
- NodeList books;
- Document document = builder.parse(new InputSource(new StringReader(data)));
- root = document.getDocumentElement();
- books = root.getChildNodes();
- 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 Time="";
- for (Node node = books.item(1).getFirstChild(); node != null; node = node.getNextSibling()) {
- {
- if (node.getNodeName().equals("UpdAOISPIRecord")) {
- NodeList books1 = node.getChildNodes();
- for (int i = 0; i < books1.getLength(); i++) {
- Node node1 = books1.item(i);
- if(!node1.getNodeName().equals("#text")){
- switch (node1.getNodeName()){
- case "Username":{
- Username=node1.getTextContent();
- break;
- }
- case "Shiftname":{
- Shiftname=node1.getTextContent();
- break;
- }
- case "MachineNO":{
- MachineNO=node1.getTextContent(); break;
- }
- case "LineNO":{
- LineNO=node1.getTextContent();
- break;
- }
- case "procedure":
- procedure=node1.getTextContent();
- break;
- case "Moname":
- Moname=node1.getTextContent();
- break;
- case "Lotsn":
- Lotsn=node1.getTextContent();
- break;
- case "Side":
- Side=node1.getTextContent();
- break;
- case "Result":
- Result=node1.getTextContent();
- break;
- case "Defect":
- Defect=node1.getTextContent();
- break;
- case "elementQTY":
- elementQTY=node1.getTextContent();
- break;
- case "TestQTY":
- TestQTY=node1.getTextContent();
- break;
- case "Time":
- Time=node1.getTextContent();
- break;
- default:
- break;
- }
- //System.out.printf("名称:"+node1.getNodeName());
- //System.out.printf("值:"+node1.getTextContent());
- //System.out.printf("类型:"+node1.getNodeType());
- }
- }
- }
- }
- }
- Time=Time.substring(0,19).replaceAll("T"," ");
- 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, " +
- "DTI_TESTQTY, DTI_MACHINETYPE, DTI_TYPE, DTI_TIME, DTI_SOURCECONTENT,dti_elementQTY)values(devicetestinfo_seq.nextval,'"+Lotsn+"','"+Username+"','"+MachineNO+"','"+LineNO+"','"+Result+"'" +
- ",'"+Moname+"','"+Shiftname+"','"+procedure+"','"+Defect+"','"+TestQTY+"','SPI','SPI',to_date('"+Time+"','yyyy-mm-dd hh24:mi:ss'),'','"+elementQTY+"')");
- }catch (IOException e){
- System.out.printf(e.getMessage());
- }
- }
- catch (SAXException e){
- }
- }catch (ParserConfigurationException e){
- }
- return rmap;
- }
- @Override
- 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) {
- 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, " +
- "DTI_TESTQTY, DTI_MACHINETYPE, DTI_TYPE, DTI_TIME, DTI_SOURCECONTENT,dti_elementQTY)values(devicetestinfo_seq.nextval,'"+Lotsn+"','"+Username+"','"+MachineNO+"','"+LineNO+"','"+Result+"'" +
- ",'"+Moname+"','"+Shiftname+"','"+procedure+"','"+Defect+"','"+TestQTY+"','"+Type+"','AOI',to_date('"+Time+"','yyyy-mm-dd hh24:mi:ss'),'','"+elementQTY+"')");
- return "";
- }
- @Override
- public String UploadSteel(String SteelMeshCode,String scraperCode, String SteelMeshCount, String scraperCount, String datatime) {
- String err = CheckSteel(SteelMeshCode);
- //判断钢网编号
- if(SteelMeshCode!=null&&!"".equals(SteelMeshCode)){
- 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'),'')");
- baseDao.execute("update stencil set st_usecount=nvl(st_usecount,0)+"+scraperCount +" where st_code='"+SteelMeshCode+"'");
- }
- //判断刮刀编号
- if(scraperCode!=null&&!"".equals(scraperCode)){
- 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'),'')");
- baseDao.execute("update stencil set st_usecount=nvl(st_usecount,0)+"+scraperCount +" where st_code='"+scraperCode+"'");
- }
- return err;
- }
- @Override
- public String CheckSteel(String SteelMeshCode) {
- Map<Object, Object> rmap = new HashMap<Object, Object>();
- 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+"'");
- if(rs.next()){
- String st_usecount=rs.getString("st_usecount");
- String st_maxusecount=rs.getString("st_maxusecount");
- String st_kind=rs.getString("st_kind");
- if(Integer.parseInt(st_usecount)>=Integer.parseInt(st_maxusecount)){
- return rs.getString("st_kind")+"已使用"+st_usecount+",超出最大使用次数"+st_maxusecount;
- }
- }else{
- return "编号不存在";
- }
- return "";
- }
- @Override
- public Map<Object,Object> SetupResultDataInterface(String data) {
- Map<Object, Object> rmap = new HashMap<Object, Object>();
- JSONObject object = JSONObject.fromObject(data);
- JSONObject SetupResultDetail=object.getJSONObject("SetupResultDetail");
- if(SetupResultDetail!=null){
- String ActionType=SetupResultDetail.get("ActionType").toString();
- String MessageSendTime=Time(SetupResultDetail.getString("MessageSendTime"));
- String LineName=SetupResultDetail.get("LineName").toString();
- String MachineName=SetupResultDetail.get("MachineName").toString();
- String OrderNumber=SetupResultDetail.get("OrderNumber").toString();
- String DockingStationID=SetupResultDetail.get("DockingStationID").toString();
- String Operator=SetupResultDetail.get("Operator").toString();
- String TableLocation=SetupResultDetail.get("TableLocation").toString();
- String TableId=SetupResultDetail.get("TableId").toString();
- String Track=SetupResultDetail.get("Track").toString();
- String FeederTypeName=SetupResultDetail.get("FeederTypeName").toString();
- String FeederID=SetupResultDetail.get("FeederID").toString();
- JSONObject PackagingUnitDetail=SetupResultDetail.getJSONObject("PackagingUnit");
- if(PackagingUnitDetail!=null){
- String PUID=PackagingUnitDetail.getString("PUID");
- String ComponentBarcode=PackagingUnitDetail.getString("ComponentBarcode");
- String OriginalQuantity=PackagingUnitDetail.getString("OriginalQuantity");
- String Quantity=PackagingUnitDetail.getString("Quantity");
- String CreateDate=Time(PackagingUnitDetail.getString("CreateDate"));
- String DateCode=PackagingUnitDetail.getString("DateCode");
- String BatchId=PackagingUnitDetail.getString("BatchId");
- String MsdLevel=PackagingUnitDetail.getString("MsdLevel");
- JSONObject LockInfoList=null;
- try{
- LockInfoList=PackagingUnitDetail.getJSONObject("LockInfoList");
- }catch (Exception e){
- }
- JSONObject SplicedPackagingUnitList=null;
- try{
- SplicedPackagingUnitList=PackagingUnitDetail.getJSONObject("SplicedPackagingUnitList");
- }catch (Exception e){
- }
- String smt_line="";
- if(LineName.toUpperCase().equals("LINE1")){
- smt_line="Line1";
- }
- if(LineName.toUpperCase().equals("LINE2")){
- smt_line="Line2";
- }
- if(LineName.toUpperCase().equals("LINE3")||LineName.equals("L3")){
- smt_line="Line3";
- }
- if(LineName.toUpperCase().equals("LINE4")||LineName.equals("L4")){
- smt_line="Line4";
- }
- if(LineName.toUpperCase().equals("LINE5")){
- smt_line="Line5";
- }
- if(LineName.toUpperCase().equals("LINE6")){
- smt_line="Line6";
- }
- Object makecode=baseDao.getFieldDataByCondition("Line","li_makecode","li_code='"+smt_line+"'");
- int sr_id=baseDao.getSeqId("SETUPRESULTDETAIL_seq");
- baseDao.execute("insert into SETUPRESULTDETAIL(sr_id,ACTIONTYPE,LINENAME,ORDERNUMBER,MACHINENAME," +
- "TABLEID,DOCKINGSTATIONID,OPERATOR,TableLocation,FeederTypeName,FeederID,MessageSendTime)values('"+sr_id+"'," +
- "'"+ActionType+"','"+LineName+"','"+OrderNumber+"','"+MachineName+"','"+TableId+"','"+DockingStationID+"'," +
- "'"+Operator+"','"+TableLocation+"','"+FeederTypeName+"','"+FeederID+"',to_date('"+MessageSendTime+"','yyyy-mm-dd hh24:mi:ss'))");
- int pu_id=baseDao.getSeqId("PACKAGINGUNIT_seq");
- baseDao.execute("insert into PACKAGINGUNIT(PU_ID,PU_SRID,ComponentBarcode,OriginalQuantity,Quantity,CreateDate," +
- "DateCode,BatchId,MsdLevel,makecode)values('"+pu_id+"','"+sr_id+"','"+ComponentBarcode+"','"+OriginalQuantity+"','"+Quantity+"',to_date('"+CreateDate+"','yyyy-mm-dd hh24:mi:ss')," +
- "'"+DateCode+"','"+BatchId+"','"+MsdLevel+"','"+makecode+"')");
- if(LockInfoList!=null){
- JSONArray LockInfoItem=LockInfoList.getJSONArray("LockInfoItem");
- for(int i=0;i<LockInfoItem.size();i++){
- JSONObject map=LockInfoItem.getJSONObject(i);
- String Date=Time(map.getString("Date"));
- String Message=map.getString("Message");
- String Reason=map.getString("Reason");
- String Source=map.getString("Source");
- baseDao.execute("insert into LOCKINFOLIST(LF_ID,lf_puid,INDATE,MESSAGE,REASON,SOURCE)" +
- "values(LOCKINFOLIST_seq.nextval,'"+pu_id+"',to_date('"+Date+"','yyyy-mm-dd hh24:mi:ss'),'"+Message+"'," +
- "'"+Reason+"','"+Source+"')");
- }
- }
- if(SplicedPackagingUnitList!=null){
- JSONArray SplicedPackagingUnitItem=SplicedPackagingUnitList.getJSONArray("SplicedPackagingUnitItem");
- for(int i=0;i<SplicedPackagingUnitItem.size();i++){
- JSONObject map=SplicedPackagingUnitItem.getJSONObject(i);
- String UID1=map.getString("PUID");
- String ComponentBarcode1=map.getString("ComponentBarcode");
- String ComponentBarcodeFragment=map.getString("ComponentBarcodeFragment");
- String ComponentName=map.getString("ComponentName");
- String OriginalQuantity1=map.getString("OriginalQuantity");
- String Quantity1=map.getString("Quantity");
- String ManufacturePartNumber=map.getString("ManufacturePartNumber");
- String Manufacturer=map.getString("Manufacturer");
- String Supplier=map.getString("Supplier");
- baseDao.execute("insert into SPLICEDPACKAGING (SP_ID,SP_PUID,PUID,COMPONENTBARCODE,ORIGINALQUANTITY,QUANTITY)" +
- "values(SPLICEDPACKAGING_seq.nextval,'"+pu_id+"','"+UID1+"','"+ComponentBarcode1+"','"+OriginalQuantity1+"','"+Quantity1+"')");
- }
- }
- }
- rmap.put("code","0");
- rmap.put("result","OK");
- rmap.put("ServerMessage","MES:贴片机数据记录成功");
- }
- return rmap;
- }
- @Override
- public Map<Object,Object> StateEventDetail(String data) {
- Map<Object, Object> rmap = new HashMap<Object, Object>();
- JSONObject object = JSONObject.fromObject(data);
- JSONObject StateEventDetail=object.getJSONObject("StateEventDetail");
- if(StateEventDetail!=null){
- int st_id=baseDao.getSeqId("StateEventDetail_seq");
- String MessageSendTime=Time(StateEventDetail.getString("MessageSendTime"));
- String CompletionStatusType=StateEventDetail.getString("CompletionStatusType");
- String LineFullPath=StateEventDetail.getString("LineFullPath");
- String LineName=StateEventDetail.getString("LineName");
- String MachineFullPath=StateEventDetail.getString("MachineFullPath");
- String MachineName=StateEventDetail.getString("MachineName");
- String JobFullPath=StateEventDetail.getString("JobFullPath");
- String JobName=StateEventDetail.getString("JobName");
- String RecipeFullPath=StateEventDetail.getString("RecipeFullPath");
- String RecipeName=StateEventDetail.getString("RecipeName");
- String SetupFullPath=StateEventDetail.getString("SetupFullPath");
- String SetupName=StateEventDetail.getString("SetupName");
- String BoardFullPath=StateEventDetail.getString("BoardFullPath");
- String BoardName=StateEventDetail.getString("BoardName");
- String OrderNumber=StateEventDetail.getString("OrderNumber");
- String ConveyorMode=StateEventDetail.getString("ConveyorMode");
- String DownloadMode=StateEventDetail.getString("DownloadMode");
- String FactoryLayoutPath=StateEventDetail.getString("FactoryLayoutPath");
- String MachineId=StateEventDetail.getString("MachineId");
- String MachineType=StateEventDetail.getString("MachineType");
- String TypeName=StateEventDetail.getString("TypeName");
- String ProcessingAreaCount=StateEventDetail.getString("ProcessingAreaCount");
- String StationSoftwareVersion=StateEventDetail.getString("StationSoftwareVersion");
- String MonitoringServiceVersion=StateEventDetail.getString("MonitoringServiceVersion");
- String ComputerAddress=StateEventDetail.getString("ComputerAddress");
- 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)" +
- "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+"')");
- JSONArray ProcessingAreaStateList=StateEventDetail.getJSONArray("ProcessingAreaStateList");
- for (int i=0;i<ProcessingAreaStateList.size();i++){
- JSONObject map1=ProcessingAreaStateList.getJSONObject(i);
- String ProcessingArea=map1.getString("ProcessingArea");
- String Conveyor=map1.getString("Conveyor");
- String CurrentStateBegin=map1.getString("CurrentStateBegin");
- String CurrentStateCode=map1.getString("CurrentStateCode");
- String CurrentStateDescription=map1.getString("CurrentStateDescription");
- String PreviousStateCode=map1.getString("PreviousStateCode");
- String PreviousStateDescription=map1.getString("PreviousStateDescription");
- baseDao.execute("insert into ProcessingAreaStateList(RAS_ID, RAS_STID, PROCESSINGAREA, CONVEYOR, CURRENTSTATEBEGIN, CURRENTSTATECODE, CURRENTSTATEDESCRIPTION, PREVIOUSSTATECODE, PREVIOUSSTATEDESCRIPTION)" +
- "values(ProcessingAreaStateList_seq.nextval,'"+st_id+"','"+ProcessingArea+"','"+Conveyor+"','"+CurrentStateBegin+"'," +
- "'"+CurrentStateCode+"','"+CurrentStateDescription+"','"+PreviousStateCode+"','"+PreviousStateDescription+"')");
- }
- }
- rmap.put("code","0");
- rmap.put("result","OK");
- rmap.put("ServerMessage","MES:贴片机数据记录成功");
- return rmap;
- }
- @Override
- public Map<Object,Object> SendPlaceData(String data) {
- Map<Object, Object> rmap = new HashMap<Object, Object>();
- JSONObject object = JSONObject.fromObject(data);
- JSONObject PlacedDataDetail=object.getJSONObject("PlacedDataDetail");
- if(PlacedDataDetail!=null){
- int pd_id=baseDao.getSeqId("PlacedDataDetail_seq");
- String MESSAGESENDTIME=Time(PlacedDataDetail.getString("MessageSendTime"));
- String COMPLETIONSTATUSTYPE=PlacedDataDetail.getString("CompletionStatusType");
- String LINEFULLPATH=PlacedDataDetail.getString("LineFullPath");
- String MACHINEFULLPATH=PlacedDataDetail.getString("MachineFullPath");
- String RECIPEFULLPATH=PlacedDataDetail.getString("RecipeFullPath");
- String RECIPENAME=PlacedDataDetail.getString("RecipeName");
- String SETUPFULLPATH=PlacedDataDetail.getString("SetupName");
- String BOARDFULLPATH=PlacedDataDetail.getString("BoardFullPath");
- String FACTORYLAYOUTPATH=PlacedDataDetail.getString("FactoryLayoutPath");
- String MACHINEID=PlacedDataDetail.getString("MachineId");
- String MACHINETYPE=PlacedDataDetail.getString("MachineType");
- String STATIONSOFTWAREVERSION=PlacedDataDetail.getString("StationSoftwareVersion");
- String MONITORINGSERVICEVERSION=PlacedDataDetail.getString("MonitoringServiceVersion");
- String COMPUTERADDRESS=PlacedDataDetail.getString("ComputerAddress");
- baseDao.execute("insert into PlacedDataDetail(pd_id,MessageSendTime,CompletionStatusType,LineFullPath,MachineFullPath,RecipeFullPath," +
- "RecipeName,SETUPFULLPATH,BoardFullPath,FactoryLayoutPath,MachineId,MachineType,StationSoftwareVersion,MonitoringServiceVersion," +
- "ComputerAddress)values('"+pd_id+"',to_date('"+MESSAGESENDTIME+"','yyyy-mm-dd hh24:mi:ss'),'"+COMPLETIONSTATUSTYPE+"'," +
- "'"+LINEFULLPATH+"','"+MACHINEFULLPATH+"','"+RECIPEFULLPATH+"','"+RECIPENAME+"','"+SETUPFULLPATH+"','"+BOARDFULLPATH+"'," +
- "'"+FACTORYLAYOUTPATH+"','"+MACHINEID+"','"+MACHINETYPE+"','"+STATIONSOFTWAREVERSION+"','"+MONITORINGSERVICEVERSION+"','"+COMPUTERADDRESS+"')");
- JSONArray PanelList=PlacedDataDetail.getJSONArray("PlacedComponentList");
- for (int i=0;i<PanelList.size();i++){
- JSONObject map1=PanelList.getJSONObject(i);
- String TABLELOCATION =map1.getString("TableLocation");
- String TRACK=map1.getString("Track");
- String DIVISION=map1.getString("Division");
- String COMPONENTFULLPATH=map1.getString("ComponentFullPath");
- String COMPONENTNAME=map1.getString("ComponentName");
- String COMPONENTSHAPEFULLPATH=map1.getString("ComponentShapeFullPath");
- String FEEDERCATEGORY=map1.getString("FeederCategory");
- String FEEDERTYPENAME=map1.getString("FeederTypeName");
- String FEEDERID=map1.getString("FeederID");
- String ACCESSTOTAL=map1.getString("AccessTotal");
- String PlacedComponents=map1.getString("PlacedComponents");
- String REJECTQTY=map1.getString("RejectQty");
- String REJECTIDENT=map1.getString("RejectIdent");
- String REJECTVACUUM=map1.getString("RejectVacuum");
- String TRACKEMPTY=map1.getString("TrackEmpty");
- String IDENTERRROR=map1.getString("IdentErrror");
- String MATERIALDEFECT=map1.getString("MaterialDefect");
- String ABSENCEAFTERPICK=map1.getString("AbsenceAfterPick");
- String ABSENCEBEFOREPLACEMENT=map1.getString("AbsenceBeforePlacement");
- String TREATMENTERROR=map1.getString("TreatmentError");
- baseDao.execute("insert into PlacedComponentList(pc_id,pc_pdid,TABLELOCATION,TRACK,DIVISION,COMPONENTFULLPATH," +
- "COMPONENTNAME,COMPONENTSHAPEFULLPATH,FEEDERCATEGORY,FEEDERTYPENAME,FEEDERID,ACCESSTOTAL,PlacedComponents," +
- "REJECTQTY,REJECTIDENT,REJECTVACUUM,TRACKEMPTY,IDENTERRROR,MATERIALDEFECT,ABSENCEAFTERPICK,ABSENCEBEFOREPLACEMENT,TREATMENTERROR)" +
- "values(PlacedComponentList_seq.nextval,'"+pd_id+"','"+TABLELOCATION+"','"+TRACK+"','"+DIVISION+"','"+COMPONENTFULLPATH+"'" +
- ",'"+COMPONENTNAME+"','"+COMPONENTSHAPEFULLPATH+"','"+FEEDERCATEGORY+"','"+FEEDERTYPENAME+"','"+FEEDERID+"'," +
- "'"+ACCESSTOTAL+"','"+PlacedComponents+"','"+REJECTQTY+"','"+REJECTIDENT+"','"+REJECTVACUUM+"','"+TRACKEMPTY+"'," +
- "'"+IDENTERRROR+"','"+MATERIALDEFECT+"','"+ABSENCEAFTERPICK+"','"+ABSENCEBEFOREPLACEMENT+"','"+TREATMENTERROR+"')");
- }
- JSONArray PickupErrorList=PlacedDataDetail.getJSONArray("PickupErrorList");
- for (int i=0;i<PickupErrorList.size();i++){
- JSONObject map1=PickupErrorList.getJSONObject(i);
- String GANTRY=map1.getString("Gantry");
- String HEAD=map1.getString("Head");
- String SEGMENT1=map1.getString("Segment");
- String NOZZLE=map1.getString("Nozzle");
- String TABLELOCATION=map1.getString("TableLocation");
- String TRACK=map1.getString("Track");
- String DIVISION=map1.getString("Division");
- String TOWER=map1.getString("Tower");
- String LEVEL1=map1.getString("Level");
- String COMPONENTFULLPATH=map1.getString("ComponentFullPath");
- String COMPONENTNAME=map1.getString("ComponentName");
- String COMPONENTSHAPEFULLPATH=map1.getString("ComponentShapeFullPath");
- String COMPONENTSHAPENAME=map1.getString("ComponentShapeName");
- String FEEDERCATEGORY=map1.getString("FeederCategory");
- String FEEDERTYPENAME=map1.getString("FeederTypeName");
- String FEEDERID=map1.getString("FeederID");
- String ERRORTYPE=map1.getString("ErrorType");
- String ERRORDESCRIPTION=map1.getString("ErrorDescription");
- baseDao.execute("insert into PickupErrorList(pe_id,pe_pdid,Gantry,Head,SEGMENT1,NOZZLE,TABLELOCATION,TRACK,DIVISION,TOWER" +
- ",LEVEL1,COMPONENTFULLPATH,COMPONENTNAME,COMPONENTSHAPEFULLPATH,COMPONENTSHAPENAME,FEEDERCATEGORY,FEEDERTYPENAME," +
- "FEEDERID,ERRORTYPE,ERRORDESCRIPTION)values(PickupErrorList_seq.nextval,'"+pd_id+"','"+GANTRY+"','"+HEAD+"','"+SEGMENT1+"','"+NOZZLE+"'," +
- "'"+TABLELOCATION+"','"+TRACK+"','"+DIVISION+"','"+TOWER+"','"+LEVEL1+"','"+COMPONENTFULLPATH+"','"+COMPONENTNAME+"'," +
- "'"+COMPONENTSHAPEFULLPATH+"','"+COMPONENTSHAPENAME+"','"+FEEDERCATEGORY+"','"+FEEDERTYPENAME+"','"+FEEDERID+"','"+ERRORTYPE+"'," +
- "'"+ERRORDESCRIPTION+"')");
- }
- }
- rmap.put("code","0");
- rmap.put("result","OK");
- rmap.put("ServerMessage","MES:贴片机数据记录成功");
- return rmap;
- }
- @Override
- public Map<Object,Object> TraceabilityDataInterface(String data) {
- Integer td_id=baseDao.getSeqId("TRACEDATA_seq");
- Map<Object, Object> rmap = new HashMap<Object, Object>();
- JSONObject object = JSONObject.fromObject(data);
- JSONObject TraceabilityDataDetail=object.getJSONObject("TraceabilityDataDetail");
- if(TraceabilityDataDetail!=null){
- String DateBegin=Time(TraceabilityDataDetail.get("DateBegin").toString());
- String DateCompleted=Time(TraceabilityDataDetail.get("DateCompleted").toString());
- String LineName=TraceabilityDataDetail.get("LineName").toString();
- String MachineName=TraceabilityDataDetail.get("MachineName").toString();
- String BoardName=TraceabilityDataDetail.get("BoardName").toString();
- String MachineID=TraceabilityDataDetail.get("MachineID").toString();
- String BoardSide=TraceabilityDataDetail.get("BoardSide").toString();
- String OrderNumber=TraceabilityDataDetail.get("OrderNumber").toString();
- String PCBBarcode=TraceabilityDataDetail.get("PCBBarcode").toString();
- baseDao.execute("insert into TRACEDATA(TD_ID,DateBegin,DateCompleted,LineName,MachineName,BoardName,MachineID,BoardSide,OrderNumber,PCBBarcode,TD_INDATE)" +
- "values("+td_id+",to_date('"+DateBegin+"','yyyy-mm-dd hh24:mi:ss'),to_date('"+DateCompleted+"','yyyy-mm-dd hh24:mi:ss')," +
- "'"+LineName+"','"+MachineName+"','"+BoardName+"','"+MachineID+"','"+BoardSide+"','"+OrderNumber+"','"+PCBBarcode+"',sysdate)");
- JSONObject MaterialTraceabilityDetail=null;
- try{
- MaterialTraceabilityDetail=TraceabilityDataDetail.getJSONObject("MaterialTraceabilityDetail");
- }catch (Exception e){
- }
- JSONObject MaterialConsumptionDetail=null;
- try{
- MaterialConsumptionDetail=TraceabilityDataDetail.getJSONObject("MaterialConsumptionDetail");
- }catch (Exception e){
- }
- //上料信息
- if(MaterialTraceabilityDetail!=null){
- JSONArray PanelList=MaterialTraceabilityDetail.getJSONArray("PanelList");
- for (int i=0;i<PanelList.size();i++){
- JSONObject map=PanelList.getJSONObject(i);
- String PanelName=map.get("PanelName").toString();
- JSONArray PackagingUnitRefList=map.getJSONArray("PackagingUnitRefList");
- System.out.println(PackagingUnitRefList.size());
- if(PackagingUnitRefList!=null){
- for (int j=0;j<PackagingUnitRefList.size();j++){
- String PlaceRefID="";
- JSONObject map1=PackagingUnitRefList.getJSONObject(j);
- String PUID=map1.getString("PUID");
- String TableLocation=map1.getString("TableLocation");
- String Track=map1.getString("Track");
- String ComponentBarcode=map1.getString("ComponentBarcode");
- String OriginalQuantity=map1.getString("OriginalQuantity");
- String Quantity=map1.getString("Quantity");
- String CreateDate=Time(map1.getString("CreateDate"));
- String DateCode=map1.getString("DateCode");
- String Batch2=map1.getString("Batch2");
- String MsdLevel=map1.getString("MsdLevel");
- String VerifiedDate=Time(map1.getString("VerifiedDate"));
- String Operator=map1.getString("Operator");
- JSONArray PlaceRefList=map1.getJSONArray("PlaceRefList");
- if(PlaceRefList!=null){
- for (int k=0;k<PlaceRefList.size();k++){
- JSONObject map2=PlaceRefList.getJSONObject(k);
- PlaceRefID+=map2.getString("PlaceRefID")+",";
- }
- }
- baseDao.execute("insert into MATERIALTRACE(MT_ID,MT_TDID,PANELNAME,PUID,PlaceRefList,TableLocation,Track,ComponentBarcode,OriginalQuantity,Quantity,CreateDate,DateCode,Batch2,MsdLevel,VerifiedDate,Operator)" +
- "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+"'," +
- "'"+MsdLevel+"',to_date('"+CreateDate+"','yyyy-mm-dd hh24:mi:ss'),'"+Operator+"')");
- }
- }
- }
- }
- //扣料信息
- if(MaterialConsumptionDetail!=null){
- JSONArray ConsumedPackagingUnitList=MaterialConsumptionDetail.getJSONArray("ConsumedPackagingUnitList");
- for (int i=0;i<ConsumedPackagingUnitList.size();i++){
- JSONObject map1=ConsumedPackagingUnitList.getJSONObject(i);
- String PUID=map1.getString("PUID");
- String AccessTotal=map1.getString("AccessTotal");
- String RejectIdent=map1.getString("RejectIdent");
- String RejectVacuum=map1.getString("RejectVacuum");
- String TrackEmpty=map1.getString("TrackEmpty");
- baseDao.execute("insert into CONSUMEDPACKAGING(cp_id,cp_tdid,puid,AccessTotal,RejectIdent,RejectVacuum" +
- ",TrackEmpty) values(CONSUMEDPACKAGING_seq.nextval,'"+td_id+"','"+PUID+"','"+AccessTotal+"','"+RejectIdent+"','"+RejectVacuum+"'," +
- "'"+TrackEmpty+"')");
- }
- }
- rmap.put("code","0");
- rmap.put("result","OK");
- rmap.put("ServerMessage","MES:贴片机数据记录成功");
- }
- return rmap;
- }
- public Map<Object,Object> XrayTestDataSave(String data){
- Map<Object, Object> rmap = new HashMap<Object, Object>();
- Map<String, Object> map=null;
- JSONObject object = JSONObject.fromObject(data);
- Object object1 = object.get("data");
- JSONObject obj = JSONObject.fromObject(object1);
- JSONArray object2=obj.getJSONArray("NonconformData");
- Object Barcode=obj.get("Barcode");
- Object EquipmentEncode=obj.get("EquipmentEncode");
- Object ModelType=obj.get("ModelType");
- Object CheckNumber=obj.get("CheckNumber");
- Object NcmNumber=obj.get("NcmNumber");
- Object NonconformNumber=obj.get("NonconformNumber");
- Object CheckDate=obj.get("CheckDate");
- Object ShiftName=obj.get("ShiftName");
- Object LineBody=obj.get("LineBody");
- Object Inspector=obj.get("Inspector");
- int XT_ID = baseDao.getSeqId("xraytest_seq");
- baseDao.execute("insert into xraytest(XT_ID, BARCODE, EQUIPMENTENCODE, MODELTYPE, CHECKNUMBER, NCMNUMBER, NONCONFORMNUMBER, CHECKDATE, SHIFTNAME, LINEBODY, INSPECTOR)" +
- "values("+XT_ID+",'"+Barcode+"','"+EquipmentEncode+"','"+ModelType+"','"+CheckNumber+"','"+NcmNumber+"','"+NonconformNumber+"',to_date('"+CheckDate+"','yyyy-mm-dd hh24:mi:ss')" +
- ",'"+ShiftName+"','"+LineBody+"','"+Inspector+"')");
- for (int i=0;i<object2.size();i++){
- JSONObject map1=object2.getJSONObject(i);
- String NonconformANo=map1.getString("NonconformANo");
- String NonconformDescription=map1.getString("NonconformDescription");
- baseDao.execute("insert into XrayTestdetail(xtd_xtid,xtd_id,NONCONFORMANO, NONCONFORMDESCRIPTION)" +
- "values("+XT_ID+",XrayTestdetail_seq.nextval,'"+NonconformANo+"','"+NonconformDescription+"')");
- }
- rmap.put("code","0");
- rmap.put("result","OK");
- rmap.put("ServerMessage","MES:检查数据上传成功!");
- return rmap;
- }
- public String Time(String time){
- return time.replaceAll("T"," ").substring(0,19);
- }
- @Override
- public Map<Object,Object> LoadCraftMaterial(String data) {
- Map<Object, Object> rmap = new HashMap<Object, Object>();
- JSONObject object = JSONObject.fromObject(data);
- Object oErrMessage="";
- String SN=object.get("iSN").toString();
- String SC_CODE=object.get("iResCode").toString();
- JSONArray CraftMaterial=object.getJSONArray("Barcode");
- SqlRowList rs=baseDao.queryForRowSet("select ms_bomversion,ms_craftcode,ms_prodcode,ms_firstsn,ms_makecode from " +
- "makeserial where ms_id in (select max(ms_id) from makeserial where ms_sncode='"+SN+"')");
- if(rs.next()){
- String ms_bomversion=rs.getString("ms_bomversion");
- String ms_prodcode=rs.getString("ms_prodcode");
- String ms_craftcode=rs.getString("ms_craftcode");
- String ms_firstsn=rs.getString("ms_firstsn");
- String ms_makecode=rs.getString("ms_makecode");
- String stepcode = GetStepCodeBySource(SC_CODE);
- rs=baseDao.queryForRowSet("select max(sp_id)sp_id,max(sp_detno)sp_detno,min(sp_ifrepeat)sp_ifrepeat,max(sp_checkbarcode)sp_checkbarcode,min(sp_checksalecode)sp_checksalecode,\n" +
- "sp_fsoncode,max(sp_barcoderule)sp_barcoderule,wm_concat(sp_soncode) sp_soncode,max(sp_ifuseregex)sp_ifuseregex,max(sp_ifforsn)\n" +
- "sp_ifforsn,max(sp_length)sp_length,max(sp_type)sp_type,replace(wm_concat(sp_prefix),',','|')sp_prefix,max(sp_regex)\n" +
- "sp_regex,max(pr_detail)pr_detail,max(substr(pr_spec,0,20))pr_spec from stepproduct left join product on pr_code=sp_fsoncode where\n" +
- "sp_bomversion='"+ms_bomversion+"' and sp_craftcode='"+ms_craftcode+"' and sp_stepcode='"+stepcode+"'\n" +
- "And sp_mothercode ='"+ms_prodcode+"' and sp_tracekind=1 and not exists(select 1 from craftmaterial where \n" +
- "cm_sncode in (select '"+ms_firstsn+"' from dual union select sn from makesnrelation where firstsn='"+ms_firstsn+"') \n" +
- "and cm_makecode='"+ms_makecode+"' and cm_fsoncode=\n" +
- "sp_fsoncode and cm_status=0) group by sp_fsoncode order by SP_DETNO asc");
- if(rs.size()!=CraftMaterial.size()){
- oErrMessage = "上料条码数量"+CraftMaterial.size()+"和当前工位需上料数量不符"+rs.size();
- rmap.put("code",-1);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- int i=0;
- while (rs.next()){
- Boolean f = false;
- String[] pres = rs.getString("sp_prefix").split("\\|");
- int sp_length= rs.getInt("sp_length");
- int sp_id= rs.getInt("sp_id");
- String sp_fsoncode= rs.getString("sp_fsoncode");
- for (int m=0;m<pres.length;m++){
- if (CraftMaterial.getJSONObject(i).getString("code").startsWith(pres[m]))
- {
- //满足其中一条即可
- f = true;
- break;
- }
- }
- if (f) {
- //进行长度匹配
- if (CraftMaterial.getJSONObject(i).getString("code").length() == sp_length || sp_length == 0)
- {
- }
- else{
- oErrMessage = CraftMaterial.getJSONObject(i).getString("code") + "长度不匹配";
- rmap.put("code",-1);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- }else {
- oErrMessage = "前缀不匹配";
- rmap.put("code",-1);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- baseDao.execute("insert into Craftmaterial (cm_id ,cm_makecode,cm_maid,cm_maprodcode, cm_soncode, cm_mscode, cm_sncode, cm_stepcode, cm_stepname,cm_fsoncode,"+
- "cm_craftcode,cm_craftname,cm_barcode,cm_inqty,cm_indate,cm_inman,cm_linecode,cm_wccode,cm_sourcecode,cm_spid,cm_status,cm_materialtype,cm_firstsn)"+
- "select Craftmaterial_seq.nextval, ma_code, ma_id, ma_prodcode,'"+sp_fsoncode+"',ms_code,ms_sncode,mcd_stepcode,"+
- "mcd_stepname,sp_fsoncode,ms_craftcode,ms_craftname,'"+ CraftMaterial.getJSONObject(i).getString("code")+"',1,sysdate,'" + SC_CODE + "','" + SC_CODE + "',ma_wccode,"+
- "'"+SC_CODE+"','"+sp_id+"',0,1,ms_firstsn from make left join makecraftdetail on mcd_macode=ma_code left join stepproduct on sp_stepcode=mcd_stepcode "+
- " and sp_mothercode = ma_prodcode left join makeserial on ms_makecode=ma_code and sp_craftcode=ms_craftcode "+
- "where ma_code='" + ms_makecode + "'and sp_id='"+sp_id+"' and mcd_stepcode = '" + stepcode+ "' and ms_sncode='" + SN + "'");
- i=i+1;
- }
- }else {
- oErrMessage = "没有需要上料的物料";
- rmap.put("code",-1);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- oErrMessage=SetPcbaData(SN,SC_CODE,"UserName","OK");
- if(oErrMessage==null){
- oErrMessage="";
- }else{
- rmap.put("code",-1);
- rmap.put("message",oErrMessage);
- return rmap;
- }
- oErrMessage = "";
- rmap.put("code",0);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- @Override
- public Map<Object,Object> Weigh(String data) {
- Map<Object, Object> rmap = new HashMap<Object, Object>();
- String oErrMessage="";
- String lotSN="";
- String specificationName="";
- String weight="";
- String moName="";
- String workcenterName="";
- Map<String, Object> map=null;
- try{
- map =BaseUtil.convertJsonToMap(data);
- }catch (Exception e){
- System.out.printf(e.getMessage()) ;
- }
- if(map.get("lotSN")==null){
- oErrMessage = "SN不能为空";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- if(map.get("lotSN")==null){
- oErrMessage = "SN不能为空";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- if(map.get("specificationName")==null){
- oErrMessage = "工序不能为空";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- if(map.get("weight")==null){
- oErrMessage = "重量不能为空";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- lotSN=map.get("lotSN").toString();
- SqlRowList rs=baseDao.queryForRowSet("select ms_sncode from makeserial where ms_imei1='"+lotSN+"' or ms_imei2='"+lotSN+"' or ms_imei3='"+lotSN+"'");
- if(rs.next()){
- lotSN=rs.getString("ms_sncode");
- }else{
- rs=baseDao.queryForRowSet("select mil_sncode from makeimeilist where mil_imei1='"+lotSN+"' or mil_imei2='"+lotSN+"' or mil_imei3='"+lotSN+"'");
- if(rs.next()){
- lotSN=rs.getString("mil_sncode");
- }
- }
- specificationName=map.get("specificationName").toString();
- weight=map.get("weight").toString().replaceAll("KG","");
- oErrMessage=CheckRoutePassed(lotSN,specificationName);
- if(oErrMessage!=null){
- rmap.put("code",-1);
- rmap.put("message",oErrMessage);
- Map<String, String> rmap1 = new HashMap<String, String>();
- rmap1.put("minWeight","");
- rmap1.put("maxWeightc","");
- rmap1.put("machineModel","");
- rmap.put("dataInfo",rmap1);
- return rmap;
- }
- 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+"')");
- if(obj[0]!=null&&obj[1]!=null){
- //不在设置的重量范围内
- if(Double.parseDouble(weight)<Double.parseDouble(obj[0].toString())||Double.parseDouble(weight)>Double.parseDouble(obj[1].toString())){
- rmap.put("code",-1);
- rmap.put("message","SN["+lotSN+"]重量为"+weight+",不符合重量范围"+obj[0]+"-"+obj[1]);
- Map<String, String> rmap1 = new HashMap<String, String>();
- rmap1.put("minWeight",obj[0].toString());
- rmap1.put("maxWeight",obj[1].toString());
- rmap1.put("machineModel","");
- rmap.put("dataInfo",rmap1);
- return rmap;
- }
- Object oErr=SetPcbaData(lotSN,specificationName,specificationName,"OK");
- if(oErr==null){
- rmap.put("code",0);
- rmap.put("message","SN["+lotSN+"]重量为"+weight+",符合重量范围"+obj[0]+"-"+obj[1]+",称重通过");
- Object ms_id=baseDao.getFieldDataByCondition("makeserial","max(ms_id)","ms_sncode='"+lotSN+"'");
- baseDao.execute("update makeserial set ms_grossw ='"+weight+"' where ms_id="+ms_id);
- }else{
- rmap.put("code",-1);
- rmap.put("message",oErr);
- }
- Map<String, String> rmap1 = new HashMap<String, String>();
- rmap1.put("minWeight",obj[0].toString());
- rmap1.put("maxWeight",obj[1].toString());
- rmap1.put("machineModel","");
- rmap.put("dataInfo",rmap1);
- return rmap;
- }else{
- rmap.put("code",-1);
- rmap.put("message","未设置产品称重范围,请在MES设置参数");
- }
- return rmap;
- }
- @Override
- public Map<Object,Object> DLLMain(String accessKey, String requestId, String data) {
- String AE_MASTER = "N_MES";
- SpObserver.putSp(AE_MASTER);
- Map<Object, Object> map = BaseUtil.parseFormStoreToMap(data);
- //解析map
- if(!StringUtil.hasText(map.get("type"))){
- throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPENULL,requestId));
- }
- if(!StringUtil.hasText(map.get("detail"))){
- throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_DATAILLEGAL,requestId));
- }
- String type = map.get("type").toString();
- JSONObject json = JSONObject.fromObject(map.get("detail"));
- HelperType helperType = HelperType.getTypeByCode(type);
- if(null == helperType){
- throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPEILLEGAL,requestId));
- }
- int err = 0;
- //返回值
- Map<Object, Object> remap = new HashMap<Object, Object>();
- switch(helperType){
- case CheckRoutePassed:
- remap = CheckRoutePassed(json);
- break;
- case CheckUserAndResourcePassed:
- remap = CheckUserAndResourcePassed(json);
- break;
- case GetAddressRangeByMO:
- remap = GetAddressRangeByMO(json);
- break;
- case GetMEIOrNetCodeRange:
- remap = GetMEIOrNetCodeRange(json);
- break;
- case GetRcardMOInfo:
- remap = GetRcardMOInfo(json);
- break;
- case GetMobileAllInfo:
- remap = GetMobileAllInfo(json);
- break;
- case SetAddressInfo:
- remap = SetAddressInfo(json);
- break;
- case GetMaster:
- remap = GetMaster(json);
- break;
- case SetMobileData:
- remap = SetMobileData(json);
- break;
- case SetIMEIInfo:
- remap = SetIMEIInfo(json);
- break;
- case SetTestDetail:
- remap = SetTestDetail(json);
- break;
- case SetPcbaData:
- remap = SetPcbaData(json);
- break;
- case GetInfoByMaterial:
- remap = GetInfoByMaterial(json);
- break;
- case GoMo:
- remap = GoMo(json);
- break;
- case GetMakeInfoBySN:
- remap = GetMakeInfoBySN(json);
- break;
- default:
- err = -1;
- break;
- }
- if(err == -1){
- throw new ApiSystemException(new ApiResult(ErrorMessage.BUSINESS_TYPEILLEGAL,requestId));
- }
- SpObserver.putSp(username);
- return remap;
- }
- private Map<Object,Object> GoMo(JSONObject map){
- Map<Object, Object> rmap = new HashMap<Object, Object>();
- String iSN=null;
- String iResCode=null;
- String iMo=null;
- String oErrMessage=null;
- Integer code=0;
- if(map.get("iMo")==null){
- oErrMessage = "工单号不能为空";
- code=-1;
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- if(map.get("iResCode")==null){
- oErrMessage = "岗位资源不能为空";
- code=-1;
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- if(map.get("iSN")==null){
- oErrMessage = "SN不能为空";
- code=-1;
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- iSN=map.get("iSN").toString();
- iResCode=map.get("iResCode").toString();
- iMo=map.get("iMo").toString();
- List<String> list = new ArrayList<String>();
- list = baseDao.callProcedureWithOut("CS_CHECKSTEPSNANDMACODE", new Object[]{
- String.valueOf(iMo),
- String.valueOf(iResCode),
- String.valueOf(iSN),
- String.valueOf("")
- }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
- oErrMessage=list.get(2);
- 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<>' '))");
- String ms_status = "";
- String ms_stepcode = "";
- String ms_nextstepcode = "";
- if(rs.next()){
- ms_status= rs.getString("ms_status");
- ms_stepcode=rs.getString("ms_stepcode");
- ms_nextstepcode=rs.getString("ms_nextstepcode");
- }
- String stepcode = GetStepCodeBySource(iResCode);
- if (oErrMessage == null || (ms_status == "3" && ms_stepcode == stepcode))
- {
- if (ms_status == "3")
- {
- oErrMessage = null;
- code=0;
- }
- }else{
- code=-1;
- }
- rmap.put("code",code);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- private String GoMo(String iSN,String iMo,String iResCode){
- Map<Object, Object> rmap = new HashMap<Object, Object>();
- String oErrMessage=null;
- List<String> list = new ArrayList<String>();
- list = baseDao.callProcedureWithOut("CS_CHECKSTEPSNANDMACODE", new Object[]{
- String.valueOf(iMo),
- String.valueOf(iResCode),
- String.valueOf(iSN),
- String.valueOf("")
- }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
- oErrMessage=list.get(2);
- 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<>' '))");
- String ms_status = "";
- String ms_stepcode = "";
- String ms_nextstepcode = "";
- if(rs.next()){
- ms_status= rs.getString("ms_status");
- ms_stepcode=rs.getString("ms_stepcode");
- ms_nextstepcode=rs.getString("ms_nextstepcode");
- }
- String stepcode = GetStepCodeBySource(iResCode);
- if ( oErrMessage == null || (ms_status == "3" && ms_stepcode == stepcode))
- {
- if (ms_status == "3")
- {
- oErrMessage = null;
- }
- }
- return oErrMessage;
- }
- private Map<Object,Object> GetInfoByMaterial(JSONObject map){
- Map<Object, Object> rmap = new HashMap<Object, Object>();
- String iPCBA=null;
- String oErrMessage=null;
- if(map.get("iPCBA")==null){
- oErrMessage = "主板SN不能为空";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- iPCBA=map.get("iPCBA").toString();
- 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");
- if(rs.next()){
- if(!rs.getString("ms_id").equals("0")){
- 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")+"'");
- if (rs.next()){
- rmap.put("oSN",rs.getString("ms_sncode"));
- rmap.put("oBIOS",rs.getString("ma_bios"));
- rmap.put("oEC",rs.getString("ma_ec"));
- rmap.put("oHardWare",rs.getString("ma_hardware"));
- }
- }else{
- oErrMessage = "主板SN未查询到关联信息";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- }
- return rmap;
- }
- private Map<Object,Object> CheckRoutePassed(JSONObject map){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- String iSN=map.get("iSN").toString();
- String iResCode=map.get("iResCode").toString();
- String oErrMessage="";
- Integer code=0;
- if (iSN ==null)
- {
- oErrMessage = "SN不能为空";
- code=-1;
- }
- List<String> list = new ArrayList<String>();
- list = baseDao.callProcedureWithOut("CS_CHECKSTEPSNANDMACODE", new Object[]{
- String.valueOf(""),
- String.valueOf(iResCode),
- String.valueOf(iSN),
- String.valueOf("")
- }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
- oErrMessage=list.get(2);
- if(oErrMessage!=null){
- rmap.put("code",-1);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- 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<>' '))");
- String ms_status = "";
- String ms_stepcode = "";
- String ms_nextstepcode = "";
- if(rs.next()){
- ms_status= rs.getString("ms_status");
- ms_stepcode=rs.getString("ms_stepcode");
- ms_nextstepcode=rs.getString("ms_nextstepcode");
- }
- String stepcode = GetStepCodeBySource(iResCode);
- if (ms_nextstepcode != "" && !ms_nextstepcode.equals(stepcode))
- {
- oErrMessage = "当前序列号下一工序" + ms_nextstepcode;
- code=-1;
- }
- rmap.put("code",code);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- @Override
- public Map<Object,Object> CheckRoutePassed(String data){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- Map<String, Object> map=null;
- try{
- map =BaseUtil.convertJsonToMap(data);
- }catch (Exception e){
- rmap.put("code",-1);
- rmap.put("message",e.getMessage());
- System.out.printf(e.getMessage()) ;
- return rmap;
- }
- String iSN=map.get("iSN").toString();
- String oErrMessage="";
- String iResCode=map.get("iResCode").toString();
- String iGetTsn=baseDao.getFieldDataByCondition("source left join step on SC_STEPCODE=st_code", "nvl(st_getsn,'0')", "sc_code='" + iResCode + "'").toString();
- if (!iGetTsn.equals("0"))
- {
- SqlRowList dt =baseDao.queryForRowSet("select ms_firstsn,ms_sncode from CRAFTMATERIAL left join make on cm_makecode=ma_code " +
- "left join makeserial on ms_firstsn=cm_firstsn and cm_makecode=ms_makecode where cm_barcode='" + iSN + "' and nvl(cm_status,0)<>-1 order by cm_id desc");
- if (dt.next())
- {
- iSN = dt.getString("ms_sncode");
- }
- else
- {
- oErrMessage = "主板SN未查询到关联信息";
- }
- }
- SqlRowList rs=baseDao.queryForRowSet("select ms_sncode from makeserial where ms_imei1='"+iSN+"' or ms_imei2='"+iSN+"' or ms_imei3='"+iSN+"'");
- if(rs.next()){
- iSN=rs.getString("ms_sncode");
- }else{
- rs=baseDao.queryForRowSet("select mil_sncode from makeimeilist where mil_imei1='"+iSN+"' or mil_imei2='"+iSN+"' or mil_imei3='"+iSN+"'");
- if(rs.next()){
- iSN=rs.getString("mil_sncode");
- }
- }
- Integer code=0;
- if (iSN ==null)
- {
- oErrMessage = "SN不能为空";
- code=-1;
- }
- List<String> list = new ArrayList<String>();
- list = baseDao.callProcedureWithOut("CS_CHECKSTEPSNANDMACODE", new Object[]{
- String.valueOf(""),
- String.valueOf(iResCode),
- String.valueOf(iSN),
- String.valueOf("")
- }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
- oErrMessage=list.get(2);
- if(oErrMessage!=null){
- rmap.put("code",-1);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- rs = baseDao.queryForRowSet("select ms_makecode,ms_firstsn,ms_prodcode,ms_bomversion,ms_craftcode,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<>' '))");
- String ms_status = "";
- String ms_stepcode = "";
- String ms_nextstepcode = "";
- String ms_craftcode = "";
- String ms_bomversion = "";
- String ms_prodcode = "";
- String ms_firstsn = "";
- String ms_makecode = "";
- if(rs.next()){
- ms_status= rs.getString("ms_status");
- ms_stepcode=rs.getString("ms_stepcode");
- ms_nextstepcode=rs.getString("ms_nextstepcode");
- ms_craftcode=rs.getString("ms_craftcode");
- ms_bomversion=rs.getString("ms_bomversion");
- ms_prodcode=rs.getString("ms_prodcode");
- ms_firstsn=rs.getString("ms_firstsn");
- ms_makecode=rs.getString("ms_makecode");
- }
- String stepcode = GetStepCodeBySource(iResCode);
- if (ms_nextstepcode != "" && !ms_nextstepcode.equals(stepcode))
- {
- oErrMessage = "当前序列号下一工序" + ms_nextstepcode;
- code=-1;
- }
- rs=baseDao.queryForRowSet("select max(SP_DETNO)SP_DETNO,sp_fsoncode,max(sp_length)sp_length,replace(wm_concat(sp_prefix),',','|')sp_prefix,\n" +
- "max(pr_detail)pr_detail,max(substr(pr_spec,0,20))pr_spec from stepproduct left join product on pr_code=sp_fsoncode where\n" +
- "sp_bomversion='"+ms_bomversion+"' and sp_craftcode='"+ms_craftcode+"' and sp_stepcode='"+stepcode+"'\n" +
- "And sp_mothercode ='"+ms_prodcode+"' and sp_tracekind=1 and not exists(select 1 from craftmaterial where \n" +
- "cm_sncode in (select '"+ms_firstsn+"' from dual union select sn from makesnrelation where firstsn='"+ms_firstsn+"') \n" +
- "and cm_makecode='"+ms_makecode+"' and cm_fsoncode=\n" +
- "sp_fsoncode and cm_status=0) group by sp_fsoncode order by SP_DETNO asc");
- rmap.put("code",code);
- rmap.put("oErrMessage",oErrMessage);
- if(rs.next()){
- rmap.put("data",rs.getResultList());
- }
- return rmap;
- }
- public String CheckRoutePassed(String iSN,String iResCode){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- String oErrMessage;
- Integer code=0;
- if (iSN ==null)
- {
- oErrMessage = "SN不能为空";
- code=-1;
- }
- List<String> list = new ArrayList<String>();
- list = baseDao.callProcedureWithOut("CS_CHECKSTEPSNANDMACODE", new Object[]{
- String.valueOf(""),
- String.valueOf(iResCode),
- String.valueOf(iSN),
- String.valueOf("")
- }, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
- oErrMessage=list.get(2);
- if(oErrMessage!=null){
- return oErrMessage;
- }
- 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<>' '))");
- String ms_status = "";
- String ms_stepcode = "";
- String ms_nextstepcode = "";
- if(rs.next()){
- ms_status= rs.getString("ms_status");
- ms_stepcode=rs.getString("ms_stepcode");
- ms_nextstepcode=rs.getString("ms_nextstepcode");
- }
- String stepcode = GetStepCodeBySource(iResCode);
- if (ms_nextstepcode != "" && !ms_nextstepcode.equals(stepcode))
- {
- oErrMessage = "当前序列号"+iSN+"下一工序" + ms_nextstepcode;
- }
- return oErrMessage;
- }
- private Map<Object,Object> CheckUserAndResourcePassed(JSONObject map){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- String oErrMessage = null;
- if (map.get("iUserCode") == null || map.get("iResCode") == null || map.get("iPassWord") == null)
- {
- oErrMessage = "用户名,密码,岗位资源必须填写";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- String iUserCode=map.get("iUserCode").toString();
- String iPassWord=map.get("iPassWord").toString();
- String iResCode=map.get("iResCode").toString();
- if (CheckUserLogin(iUserCode, iPassWord))
- {
- String SQL = "select em_code,em_type,em_name from employee where em_code=? ";
- SqlRowList rs = baseDao.queryForRowSet(SQL, iUserCode);
- if (rs.next())
- {
- String em_name = rs.getString("em_name");
- String em_type = rs.getString("em_type");
- if (iResCode ==null)
- {
- oErrMessage = "岗位资源不允许为空";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- if (em_type.equals("admin"))
- {
- if (!baseDao.checkIf("Source", "sc_code='" + iResCode + "' and sc_statuscode='AUDITED'"))
- {
- oErrMessage = "岗位资源编号错误或者未审核!";
- }
- }
- else
- {
- 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'");
- //如果存在该编号
- if (rs1.next())
- {
- //判断如果多个岗位资源存在,用户输入的只要在其中就行
- while (rs.next())
- {
- if (!rs.getString("ur_resourcecode").equals("iResCode")){
- oErrMessage = "用户不处于当前资源所属分组!";
- }else
- {
- oErrMessage=null;
- continue;
- }
- }
- }
- else
- oErrMessage = "岗位资源编号错误或者未审核!";
- }
- }
- else
- oErrMessage = "用户不存在!";
- }else{
- oErrMessage = "用户名密码不正确!";
- }
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- @Override
- public Map<Object,Object> CheckUserAndResourcePassed(String data){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- Map<String, Object> map=null;
- Integer code=0;
- try{
- map =BaseUtil.convertJsonToMap(data);
- }catch (Exception e){
- rmap.put("code",-1);
- rmap.put("message",e.getMessage());
- System.out.printf(e.getMessage()) ;
- return rmap;
- }
- String oErrMessage = null;
- if (map.get("iUserCode") == null || map.get("iResCode") == null || map.get("iPassWord") == null)
- {
- oErrMessage = "用户名,密码,岗位资源必须填写";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- String iUserCode=map.get("iUserCode").toString();
- String iPassWord=map.get("iPassWord").toString();
- String iResCode=map.get("iResCode").toString();
- if (CheckUserLogin(iUserCode, iPassWord))
- {
- String SQL = "select em_code,em_type,em_name from employee where em_code=? ";
- SqlRowList rs = baseDao.queryForRowSet(SQL, iUserCode);
- if (rs.next())
- {
- String em_name = rs.getString("em_name");
- String em_type = rs.getString("em_type");
- if (iResCode ==null)
- {
- code=-1;
- oErrMessage = "岗位资源不允许为空";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- if (em_type.equals("admin"))
- {
- if (!baseDao.checkIf("Source", "sc_code='" + iResCode + "' and sc_statuscode='AUDITED'"))
- {
- code=-1;
- oErrMessage = "岗位资源编号错误或者未审核!";
- }
- }
- else
- {
- 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'");
- //如果存在该编号
- if (rs1.next())
- {
- //判断如果多个岗位资源存在,用户输入的只要在其中就行
- while (rs.next())
- {
- if (!rs.getString("ur_resourcecode").equals("iResCode")){
- code=-1;
- oErrMessage = "用户不处于当前资源所属分组!";
- }else
- {
- oErrMessage=null;
- continue;
- }
- }
- }
- else{
- code=-1;
- oErrMessage = "岗位资源编号错误或者未审核!";
- }
- }
- }
- else{
- code=-1;
- oErrMessage = "用户不存在!";
- }
- }else{
- code=-1;
- oErrMessage = "用户名密码不正确!";
- }
- rmap.put("code",code);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- private Map<Object,Object> GetAddressRangeByMO(JSONObject map){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- String iSN="";
- String oErrMessage = null;
- String oWIFI = "";
- String oBT = "";
- String oCode1 = "";
- String oCode2 = "";
- String oCode3 = "";
- if(map.get("iSN")==null){
- oErrMessage = "SN不能为空";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- iSN=map.get("iSN").toString();
- //判断工单是否归属
- JSONObject map3=new JSONObject();
- map3.put("iSN",iSN);
- Map<Object, Object> map2=GetRcardMOInfo(map3);
- if(map2.get("oErrMessage")!=null){
- oErrMessage=map2.get("oErrMessage").toString();
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- List<String> list = new ArrayList<String>();
- list = baseDao.callProcedureWithOut("CS_GETADDRESSBYMAKECODE", new Object[]{
- String.valueOf(iSN),
- String.valueOf(map2.get("oMoCode").toString()),
- }, new Integer[]{1,2}, new Integer[]{3,4,5,6,7,8});
- oWIFI = list.get(0);
- oBT = list.get(1);
- oCode1 = list.get(2);
- oCode2 = list.get(3);
- oCode3 = list.get(4);
- oErrMessage= list.get(5);
- if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
- rmap.put("oWIFI",oWIFI);
- rmap.put("oBT",oBT);
- rmap.put("oCode1",oCode1);
- rmap.put("oCode2",oCode2);
- rmap.put("oCode3",oCode3);
- }
- else
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- private Map<Object,Object> GetMEIOrNetCodeRange(JSONObject map){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- String iSN="";
- String oErrMessage = null;
- String oIMEI1 = "";
- String oIMEI2 = "";
- String oMEID = "";
- String oNetCode = "";
- String oPSN = "";
- String oID1 = "";
- String oID2 = "";
- String oID3 = "";
- String oID4 = "";
- String oID5 = "";
- if(map.get("iSN")==null){
- oErrMessage = "SN不能为空";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- if(map.get("iIMEI1")!=null){
- oIMEI1=map.get("iIMEI1").toString();
- }
- if(map.get("iNetCode")!=null){
- oNetCode=map.get("iNetCode").toString();
- }
- iSN=map.get("iSN").toString();
- List<String> list = new ArrayList<String>();
- list = baseDao.callProcedureWithOut("CS_GETIMEIORNETCODERANGE", new Object[]{
- String.valueOf(iSN),
- String.valueOf(""),
- String.valueOf(oIMEI1),
- String.valueOf(oNetCode),
- }, new Integer[]{1,2,3,4}, new Integer[]{5,6,7,8,9,10,11,12,13,14});
- oIMEI1 = list.get(0);
- oIMEI2 = list.get(1);
- oMEID = list.get(2);
- oNetCode = list.get(3);
- oID1 = list.get(4);
- oID2 = list.get(5);
- oID3 = list.get(6);
- oID4 = list.get(7);
- oID5 = list.get(8);
- oErrMessage= list.get(9);
- if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
- rmap.put("oIMEI1",oIMEI1);
- rmap.put("oIMEI2",oIMEI2);
- rmap.put("oMEID",oMEID);
- rmap.put("oNetCode",oNetCode);
- rmap.put("oPSN",oPSN);
- rmap.put("oID1",oID1);
- rmap.put("oID2",oID2);
- rmap.put("oID3",oID3);
- rmap.put("oID4",oID4);
- rmap.put("oID5",oID5);
- }
- else
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- private Map<Object,Object> GetRcardMOInfo(JSONObject map){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- //取MakeProcess表中的执行记录ID最大的一个工单的号码
- String oErrMessage = null;
- if(map.get("iSN")==null){
- oErrMessage = "SN不能为空";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- String iSN=map.get("iSN").toString();
- StringBuffer sql=new StringBuffer();
- sql.append("select max(ms_id)ms_id from makeserial where ms_sncode in (select '" + iSN + "' from dual union select sn from ");
- sql.append("makesnrelation where beforesn='" + iSN + "' and sn<>' ' union select beforesn from makesnrelation where sn='" + iSN + "' and beforesn<>' ')");
- SqlRowList rs = baseDao.queryForRowSet(sql.toString());
- String ms_id="";
- if(rs.next()){
- if(rs.getString("ms_id")==null){
- oErrMessage = "序列号:" + iSN + " 未归属工单";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- else{
- ms_id= rs.getString("ms_id");
- }
- }
- Object oMoCode = baseDao.getFieldDataByCondition("MakeSerial", "ms_makecode", "ms_id='" + ms_id + "'");
- if (oMoCode != null){
- rmap.put("oMoCode",oMoCode);
- oErrMessage= null;
- }
- else
- {
- oErrMessage = "序列号:" + iSN + " 未归属工单";
- }
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- private Map<Object,Object> GetMobileAllInfo(JSONObject map){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- String iSN="";
- String oErrMessage = null;
- String oIMEI1 = "";
- String oIMEI2 = "";
- String oMEID = "";
- String oNetCode = "";
- String oPSN = "";
- String oID1 = "";
- String oID2 = "";
- String oID3 = "";
- String oID4 = "";
- String oID5 = "";
- String oWIFI = "";
- String oBT = "";
- String oCode1 = "";
- String oCode2 = "";
- String oCode3 = "";
- if(map.get("iSN")==null){
- oErrMessage = "SN不能为空";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- iSN=map.get("iSN").toString();
- Object ms_id =baseDao.getFieldDataByCondition("makeserial", "max(ms_id)", "ms_sncode='" + iSN + "'");
- if(ms_id!=null)
- {
- 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());
- if(rs.next()){
- oWIFI = rs.getString("ms_mac");
- oBT = rs.getString("ms_bt");
- oPSN = rs.getString("ms_psn");
- oNetCode = rs.getString("ms_netcode");
- oMEID = rs.getString("ms_meid");
- oIMEI1 = rs.getString("ms_imei1");
- oIMEI2 = rs.getString("ms_imei2");
- oCode1 = rs.getString("ms_othcode1");
- oCode2 = rs.getString("ms_othcode2");
- oCode3 = rs.getString("ms_othcode3");
- oID1 = rs.getString("ms_othid3");
- oID2 = rs.getString("ms_othid3");
- oID3 = rs.getString("ms_othid3");
- }
- }else
- {
- oErrMessage = "序列号" + iSN + "不存在";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- if (oErrMessage == "" || oErrMessage == null || oErrMessage == "null"){
- rmap.put("oIMEI1",oIMEI1);
- rmap.put("oIMEI2",oIMEI2);
- rmap.put("oMEID",oMEID);
- rmap.put("oNetCode",oNetCode);
- rmap.put("oPSN",oPSN);
- rmap.put("oID1",oID1);
- rmap.put("oID2",oID2);
- rmap.put("oID3",oID3);
- rmap.put("oID4",oID4);
- rmap.put("oID5",oID5);
- rmap.put("oWIFI",oWIFI);
- rmap.put("oBT",oBT);
- rmap.put("oCode1",oCode1);
- rmap.put("oCode2",oCode2);
- rmap.put("oCode3",oCode3);
- }
- else
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- private Map<Object,Object> SetAddressInfo(JSONObject map){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- String oErrMessage = null;
- if(map.get("iSN")==null){
- oErrMessage = "SN不能为空";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- String iSN=map.get("iSN").toString();
- String iWIFI = null;
- String iBT = null;
- String iCode1 = null;
- String iCode2 = null;
- String iCode3 = null;
- if(map.get("iWIFI")!=null){
- iWIFI=map.get("iWIFI").toString();
- }
- if(map.get("iMAC")!=null){
- iWIFI=map.get("iMAC").toString();
- }
- if(map.get("iBT")!=null){
- iBT=map.get("iBT").toString();
- }
- if(map.get("iCode1")!=null){
- iCode1=map.get("iCode1").toString();
- }
- if(map.get("iCode2")!=null){
- iCode2=map.get("iCode2").toString();
- }
- if(map.get("iCode3")!=null){
- iCode3=map.get("iCode3").toString();
- }
- List<String> list = new ArrayList<String>();
- list = baseDao.callProcedureWithOut("CS_SETADDRESSINFO", new Object[]{
- String.valueOf(iSN),
- String.valueOf(iWIFI),
- String.valueOf(iBT),
- String.valueOf(iCode1),
- String.valueOf(iCode2),
- String.valueOf(iCode3)
- }, new Integer[]{1, 2, 3, 4, 5, 6}, new Integer[]{7});
- oErrMessage = list.get(0);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- private Map<Object,Object> GetMaster(JSONObject map){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- SqlRowList rs=baseDao.queryForRowSet("select ma_user from mes.master");
- while(rs.next())
- {
- rmap.put(rs.getString("ma_user"),rs.getString("ma_user"));
- }
- return rmap;
- }
- private Map<Object,Object> SetMobileData(JSONObject map){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- String oErrMessage = null;
- if(map.get("iSN")==null||map.get("iTSN")==null){
- oErrMessage = "SN不能为空";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- String iSN=map.get("iSN").toString();
- String iTSN=map.get("iTSN").toString();
- String iSourceCode = null;
- String iOperater = null;
- String iResult = null;
- String flag = null;
- String iErrCode = null;
- if(map.get("iSourceCode")!=null){
- iSourceCode=map.get("iSourceCode").toString();
- }
- if(map.get("iOperater")!=null){
- iOperater=map.get("iOperater").toString();
- }
- if(map.get("iResult")!=null){
- iResult=map.get("iResult").toString();
- }
- if(map.get("flag")!=null){
- flag=map.get("flag").toString();
- }
- if(map.get("iErrCode")!=null){
- iErrCode=map.get("iErrCode").toString();
- }
- List<String> list = new ArrayList<String>();
- list = baseDao.callProcedureWithOut("CS_DLLSNCHANGE", new Object[]{
- String.valueOf(iTSN),
- String.valueOf(iSN),
- String.valueOf(iSourceCode),
- String.valueOf(iOperater),
- String.valueOf(iResult),
- String.valueOf(iErrCode),
- }, new Integer[]{1, 2, 3, 4, 5, 6}, new Integer[]{7});
- oErrMessage = list.get(0);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- private Map<Object,Object> SetIMEIInfo(JSONObject map){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- String oErrMessage = null;
- if(map.get("iSN")==null){
- oErrMessage = "SN不能为空";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- String iSN=map.get("iSN").toString();
- String iIMEI1=null;
- String iIMEI2 = null;
- String iIMEI3 = null;
- String iMEID = null;
- String iNET = null;
- String iID1 = null;
- String iID2 = null;
- String iID3 = null;
- if(map.get("iIMEI1")!=null){
- iIMEI1=map.get("iIMEI1").toString();
- }
- if(map.get("iIMEI2")!=null){
- iIMEI2=map.get("iIMEI2").toString();
- }
- if(map.get("iIMEI3")!=null){
- iIMEI3=map.get("iIMEI3").toString();
- }
- if(map.get("iMEID")!=null){
- iMEID=map.get("iMEID").toString();
- }
- if(map.get("iNET")!=null){
- iNET=map.get("iNET").toString();
- }
- if(map.get("iID1")!=null){
- iID1=map.get("iID1").toString();
- }
- if(map.get("iID2")!=null){
- iID2=map.get("iID2").toString();
- }
- if(map.get("iID3")!=null){
- iID3=map.get("iID3").toString();
- }
- List<String> list = new ArrayList<String>();
- list = baseDao.callProcedureWithOut("CS_SETIMEIINFO", new Object[]{
- String.valueOf(iSN),
- String.valueOf(iIMEI1),
- String.valueOf(iIMEI2),
- String.valueOf(iIMEI3),
- String.valueOf(iMEID),
- String.valueOf(iNET),
- String.valueOf(""),
- String.valueOf(iID1),
- String.valueOf(iID2),
- String.valueOf(iID3),
- }, new Integer[]{1, 2, 3, 4, 5, 6,7,8,9,10}, new Integer[]{11});
- oErrMessage = list.get(0);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- private Map<Object,Object> SetTestDetail(JSONObject map){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- String oErrMessage=null;
- if(map.get("iSN")==null){
- oErrMessage = "SN不能为空";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- String iSN=map.get("iSN").toString();
- String iTestResult= "";
- String iResCode= "";
- String iClassName="";
- String iTestDetail= "";
- if(map.get("iTestResult")!=null){
- iTestResult=map.get("iTestResult").toString();
- }
- if(map.get("iClassName")!=null){
- iClassName=map.get("iClassName").toString();
- }
- if(map.get("iResCode")!=null){
- iResCode=map.get("iResCode").toString();
- }
- if(map.get("iTestDetail")!=null){
- iTestDetail=map.get("iTestDetail").toString();
- }
- JSONObject map3=new JSONObject();
- map3.put("iSN",iSN);
- Map<Object, Object> map2=GetRcardMOInfo(map3);
- String omakeCode = "";
- StringBuffer sql=new StringBuffer();
- String[] name=iClassName.split("\\|");
- String[] result=iTestResult.split("\\|");
- String[] value=iTestDetail.split("\\|");
- if(name.length!=value.length||name.length!=result.length){
- rmap.put("oErrMessage","测试项目名称和值的项次不一致");
- return rmap;
- }
- for (int i=0;i<name.length;i++){
- sql.setLength(0);
- sql.append("Insert into STEPTESTDETAIL (STD_ID,STD_CLASS,STD_SN,STD_MAKECODE,STD_ACTUALVALUE,STD_TESTRESULT,STD_INDATE,STD_RESCODE)");
- sql.append("values(STEPTESTDETAIL_SEQ.nextval,'"+name[i]+"','" + iSN + "','" + map2.get("oMoCode") + "','" + value[i] + "','" + result[i] + "',sysdate,'" + iResCode + "')");
- baseDao.execute(sql.toString());
- }
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- @Override
- public Map<Object,Object> SetPcbaData(String data){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- Map<String, Object> map=null;
- try{
- map =BaseUtil.convertJsonToMap(data);
- }catch (Exception e){
- rmap.put("code",-1);
- rmap.put("message",e.getMessage());
- System.out.printf(e.getMessage()) ;
- return rmap;
- }
- String oErrMessage = null;
- Integer code=0;
- if(map.get("iSN")==null){
- code=-1;
- oErrMessage = "SN不能为空";
- rmap.put("code",code);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- String iResCode = null;
- String iOperator = null;
- String iResult = null;
- String iErrCode = null;
- String iSN=map.get("iSN").toString();
- if(map.get("iResCode")!=null){
- iResCode=map.get("iResCode").toString();
- }
- if(map.get("iOperater")!=null){
- iOperator=map.get("iOperater").toString();
- }
- if(map.get("iResult")!=null){
- iResult=map.get("iResult").toString();
- }
- if(map.get("iErrCode")!=null){
- iErrCode=map.get("iErrCode").toString();
- }
- String iGetTsn=baseDao.getFieldDataByCondition("source left join step on SC_STEPCODE=st_code", "nvl(st_getsn,'0')", "sc_code='" + iResCode + "'").toString();
- if (!iGetTsn.equals("0"))
- {
- SqlRowList dt =baseDao.queryForRowSet("select ms_firstsn,ms_sncode from CRAFTMATERIAL left join make on cm_makecode=ma_code " +
- "left join makeserial on ms_firstsn=cm_firstsn and cm_makecode=ms_makecode where cm_barcode='" + iSN + "' and nvl(cm_status,0)<>-1 order by cm_id desc");
- if (dt.next())
- {
- iSN = dt.getString("ms_sncode");
- }
- else
- {
- oErrMessage = "主板SN未查询到关联信息";
- }
- }
- SqlRowList rs=baseDao.queryForRowSet("select ms_sncode from makeserial where ms_imei1='"+iSN+"' or ms_imei2='"+iSN+"' or ms_imei3='"+iSN+"'");
- if(rs.next()){
- iSN=rs.getString("ms_sncode");
- }else{
- rs=baseDao.queryForRowSet("select mil_sncode from makeimeilist where mil_imei1='"+iSN+"' or mil_imei2='"+iSN+"' or mil_imei3='"+iSN+"'");
- if(rs.next()){
- iSN=rs.getString("mil_sncode");
- }
- }
- JSONObject map3=new JSONObject();
- map3.put("iSN",iSN);
- Map<Object, Object> map2=GetRcardMOInfo(map3);
- String oMoCode=null;
- if(map2.get("oMoCode")!=null){
- oMoCode=map2.get("oMoCode").toString();
- }
- if (map2.get("oErrMessage")==null)
- return SetStepFinish(oMoCode, iResCode, iSN, "", iResult, iOperator, iErrCode);
- return rmap;
- }
- private Map<Object,Object> SetPcbaData(JSONObject map){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- String oErrMessage = null;
- Integer code=0;
- if(map.get("iSN")==null){
- code=-1;
- oErrMessage = "SN不能为空";
- rmap.put("code",code);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- String iSN=map.get("iSN").toString();
- String iResCode = null;
- String iOperator = null;
- String iResult = null;
- String iErrCode = null;
- if(map.get("iResCode")!=null){
- iResCode=map.get("iResCode").toString();
- }
- if(map.get("iOperater")!=null){
- iOperator=map.get("iOperater").toString();
- }
- if(map.get("iResult")!=null){
- iResult=map.get("iResult").toString();
- }
- if(map.get("iErrCode")!=null){
- iErrCode=map.get("iErrCode").toString();
- }
- JSONObject map3=new JSONObject();
- map3.put("iSN",iSN);
- Map<Object, Object> map2=GetRcardMOInfo(map3);
- String oMoCode=null;
- if(map2.get("oMoCode")!=null){
- oMoCode=map2.get("oMoCode").toString();
- }
- if (map2.get("oErrMessage")==null)
- return SetStepFinish(oMoCode, iResCode, iSN, "", iResult, iOperator, iErrCode);
- return rmap;
- }
- private Object SetPcbaData(String iSN,String iResCode,String iOperator,String iResult){
- //实际业务数据
- Map<Object, Object> rmap = new HashMap<>();
- String iErrCode = null;
- if(iSN==null){
- iErrCode = "SN不能为空";
- return iErrCode;
- }
- JSONObject map3=new JSONObject();
- map3.put("iSN",iSN);
- Map<Object, Object> map2=GetRcardMOInfo(map3);
- String oMoCode=null;
- if(map2.get("oMoCode")!=null){
- oMoCode=map2.get("oMoCode").toString();
- }
- if (map2.get("oErrMessage")==null)
- map2= SetStepFinish(oMoCode, iResCode, iSN, "", iResult, iResCode, iErrCode);
- return map2.get("oErrMessage");
- }
- /// <summary>
- /// 获取步骤代码
- /// </summary>
- /// <param name="Source"></param>
- /// <returns></returns>
- private String GetStepCodeBySource(String Source)
- {
- Object o=baseDao.getFieldDataByCondition("source", "sc_stepcode", "sc_code='" + Source + "'");
- if(o!=null)
- return o.toString();
- else
- return "";
- }
- private Boolean CheckUserLogin(String iUserCode, String iPassWord)
- {
- SqlRowList rs =baseDao.queryForRowSet("select em_code from employee where em_code='"+iUserCode+"' and em_password =?",iPassWord);
- if (rs.next())
- return true;
- else
- {
- return false;
- }
- }
- private Map<Object,Object> GetMakeInfoBySN(JSONObject map)
- {
- Map<Object, Object> rmap = new HashMap<Object, Object>();
- String iSN=null;
- String oErrMessage=null;
- if(map.get("iSN")==null){
- oErrMessage = "SN不能为空";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- iSN=map.get("iSN").toString();
- 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 " +
- "left join makeserial on ms_makecode=ma_code where ms_sncode='"+iSN+"'");
- if(rs.next()){
- rmap.put("oMaremark1",rs.getString("ma_remark1"));
- rmap.put("oMaremark2",rs.getString("ma_remark2"));
- rmap.put("oMaremark3",rs.getString("ma_remark3"));
- rmap.put("oMaremark4",rs.getString("ma_remark4"));
- rmap.put("oMaremark5",rs.getString("ma_remark5"));
- rmap.put("oMaremark6",rs.getString("ma_remark6"));
- rmap.put("oMaremark7",rs.getString("ma_remark7"));
- rmap.put("oMaremark8",rs.getString("ma_remark8"));
- rmap.put("oMaremark9",rs.getString("ma_remark9"));
- rmap.put("oMaremark10",rs.getString("ma_remark10"));
- rmap.put("oMaremark11",rs.getString("ma_remark11"));
- rmap.put("oMaremark12",rs.getString("ma_remark12"));
- rmap.put("oMaremark13",rs.getString("ma_remark13"));
- rmap.put("oMaremark14",rs.getString("ma_remark14"));
- rmap.put("oMaremark15",rs.getString("ma_remark15"));
- rmap.put("oMaremark16",rs.getString("ma_remark16"));
- return rmap;
- }else{
- oErrMessage = "SN未查询到关联信息";
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- }
- public Map<Object,Object> SetStepFinish(String iMakeCode, String iSourceCode, String iSN, String iMPKind, String iResult, String iUserCode, String iErrCode)
- {
- String oErrMessage = null;
- Object StepCode = baseDao.getFieldDataByCondition("Makeserial", "ms_stepcode", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
- String CurrentStep = GetStepCodeBySource(iSourceCode);
- Object BgCode = baseDao.getFieldDataByCondition("step", "nvl(st_badgroupcode,' ')", "st_code='" + CurrentStep + "'");
- Map<Object, Object> rmap = new HashMap<>();
- Integer code=0;
- switch (iResult)
- {
- case "OK":
- break;
- case "NG":
- if (iErrCode == "")
- {
- oErrMessage = "测试结果为NG时必须传递不良代码";
- code=-1;
- rmap.put("code",code);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- else
- {
- baseDao.updateByCondition("makebad", "mb_status=-1", "mb_sncode='" + iSN + "' and mb_makecode='" + iMakeCode + "' and mb_stepcode='" + CurrentStep + "' and mb_status=0");
- String[] BadCode = iErrCode.split(",");
- StringBuffer sql=new StringBuffer();
- for (int i = 0; i < BadCode.length; i++)
- {
- if(!baseDao.checkIf("badcode","bc_code='"+ BadCode[i]+"'")){
- oErrMessage = "不良代码"+BadCode[i]+"不存在";
- code=-1;
- rmap.put("code",code);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- int mb_id = baseDao.getSeqId("makebad_seq");
- sql.setLength(0);
- sql.append("insert into makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,mb_indate,mb_stepcode");
- sql.append(",mb_sourcecode,mb_badcode,mb_badtable,mb_bgcode,mb_soncode,mb_status) select '" + mb_id + "'");
- sql.append(",ma_code,ms_code,ms_sncode,'" + iUserCode + "',sysdate,'" + CurrentStep + "','" + iSourceCode + "','" + BadCode[i] + "','',");
- sql.append("'" + BgCode + "',sp_soncode,'0' from make left join makeSerial on ms_makecode=ma_code left join stepProduct on ");
- sql.append("sp_mothercode=ma_prodcode and sp_stepcode=ms_nextstepcode where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
- baseDao.execute(sql.toString());
- }
- //将不良的序列号的状态码设为3
- baseDao.execute("update makeserial set ms_status='3' where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
- }
- break;
- default:
- oErrMessage = "测试结果必须为NG或者OK";
- code=-1;
- rmap.put("code",code);
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- //不良采集为良品是更新
- if (StepCode!=null &&StepCode.toString().equals(CurrentStep) && iResult == "OK")
- {
- Object[] ob = baseDao.getFieldsDataByCondition("makeserial", "ms_status,ms_craftcode,ms_prodcode", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
- if (ob!=null)
- {
- String ms_status =ob[0].toString();
- String ms_craftcode= ob[1].toString();
- String ms_prodcode = ob[2].toString();
- if (ms_status == "3")
- {
- 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();
- baseDao.updateByCondition("makeserial", "ms_status=1,ms_nextstepcode='" + nextstepcode + "'", "ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
- baseDao.updateByCondition("makebad", "mb_status=-1", "mb_sncode='" + iSN + "' and mb_makecode='" + iMakeCode + "'");
- }
- }
- }
- return CS_SetFinish(iMakeCode, iSourceCode, iSN, iUserCode, iResult);
- }
- private Map<Object,Object> CS_SetFinish(String iMakeCode, String iSourceCode, String iSN, String iUserCode, String iResult)
- {
- Map<Object, Object> rmap = new HashMap<>();
- String oErrMessage=null;
- List<String> list = new ArrayList<String>();
- list = baseDao.callProcedureWithOut("CS_SETSTEPRESULT", new Object[]{
- String.valueOf(iMakeCode),
- String.valueOf(iSourceCode),
- String.valueOf(iSN),
- String.valueOf(iUserCode),
- String.valueOf(iResult),
- }, new Integer[]{1, 2, 3, 4, 5}, new Integer[]{6});
- oErrMessage = list.get(0);
- if(oErrMessage==null){
- rmap.put("code",0);
- }else{
- rmap.put("code",-1);
- }
- rmap.put("oErrMessage",oErrMessage);
- return rmap;
- }
- private String checkAccessKey(String accessKey,String requestId){
- Object accessSecret_O = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_SECRET", "AE_KEY='" + accessKey + "'");
- Object AE_MASTER = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_MASTER", "AE_KEY='" + accessKey + "'");
- String accessSecret = accessSecret_O == null ? "" : accessSecret_O.toString();
- // 检查KEY是否合理
- if (StringUtils.isEmpty(accessKey) || StringUtils.isEmpty(accessSecret) || AE_MASTER== null || "".equals(AE_MASTER.toString())) {
- ApiResult apiResult = new ApiResult(ErrorMessage.ACCESSKEY_ILLEGAL.getCode(),ErrorMessage.ACCESSKEY_ILLEGAL.getMessage(),requestId);
- throw new ApiSystemException(apiResult);
- }
- return AE_MASTER.toString();
- }
- @Override
- public Map<Object,Object> getMESSnCode(String data) {
- Map<String, Object> map=null;
- Map<Object, Object> rmap = new HashMap<Object, Object>();
- try{
- map =BaseUtil.convertJsonToMap(data);
- }catch (Exception e){
- rmap.put("code",-1);
- rmap.put("message",e.getMessage());
- System.out.printf(e.getMessage()) ;
- return rmap;
- }
- String macode = map.get("moid") == null ? "" : String.valueOf(map.get("moid"));
- String machineid = map.get("machineld") == null ? "" : String.valueOf(map.get("machineld"));
- if("".equals(macode)){
- rmap.put("code",-1);
- rmap.put("message","工单不能为空");
- return rmap;
- }
- if (!baseDao.checkIf("make","ma_code='"+macode+"'")){
- rmap.put("code",-1);
- rmap.put("message","工单不存在");
- return rmap;
- }
- double sncount = map.get("count") == null ? 0 : Double.parseDouble(map.get("count").toString());
- if(sncount<=0){
- rmap.put("code",-1);
- rmap.put("message","SN数量必须大于0");
- return rmap;
- }
- int count = baseDao.getCountByCondition("MAKESNLIST_RADIUM", "nvl(msl_status,0)=0 and MSL_INDATE>trunc(sysdate)");
- if (count<sncount){
- rmap.put("code",-1);
- rmap.put("message","SN不足!");
- return rmap;
- }
- List<String> sqls = new ArrayList<>();
- List<Map<String, Object>> maps = new ArrayList<>();
- Map<String, Object> snmap=null;
- 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 ");
- String mainbarcode="";
- String msl_id="";
- while (rs.next()){
- snmap=new HashMap<String, Object>();
- snmap.put("serialNo",rs.getGeneralString("msl_sncode"));
- mainbarcode=rs.getGeneralString("msl_sncode");
- maps.add(snmap);
- 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"));
- msl_id+=rs.getGeneralInt("msl_id")+",";
- }
- msl_id+="0";
- baseDao.execute("update MAKESNLIST_RADIUM set msl_mainbarcode='"+mainbarcode+"' where msl_id in ("+msl_id+")");
- if (sqls!=null&&sqls.size()>0){
- baseDao.execute(sqls);
- }
- rmap.put("code",0);
- rmap.put("data",maps);
- return rmap;
- }
- @Override
- public Map<String, String> IQCResult(String data){
- Map<String, String> hashMap = new HashMap<>();
- try {
- Map<Object, Object> map = BaseUtil.parseFormStoreToMap(data);
- if (map.isEmpty()){
- hashMap.put("code","E");
- hashMap.put("msg","参数异常!");
- return hashMap;
- }
- String iqcChechName = StringUtil.nvl(map.get("iqcChechName"), "");
- if ("".equals(iqcChechName)){
- hashMap.put("code","E");
- hashMap.put("msg","检验单号不能为空!");
- return hashMap;
- }
- if (!baseDao.checkIf("QUA_VerifyApplyDetail","ve_code='"+iqcChechName+"'")){
- hashMap.put("code","E");
- hashMap.put("msg","检验单不存在!");
- return hashMap;
- }
- String checkResult = StringUtil.nvl(map.get("checkResult"), "");
- if ("".equals(checkResult)){
- hashMap.put("code","E");
- hashMap.put("msg","检验结果不能为空!");
- return hashMap;
- }
- List<String> sqls = new ArrayList<>();
- if ("OK".equals(checkResult)){
- sqls.add("update QUA_VerifyApplyDetail set ve_result='合格',ve_statuscode='AUDITED',ve_status='已审核' where ve_code='"+iqcChechName+"'");
- }else {
- sqls.add("update QUA_VerifyApplyDetail set ve_result='不合格',ve_statuscode='AUDITED',ve_status='已审核' where ve_code='"+iqcChechName+"'");
- }
- String boxes = StringUtil.nvl(map.get("boxes"), "[{}]");
- List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(boxes);
- if (!maps.isEmpty()){
- int detno=1;
- for (Map<Object, Object> box : maps) {
- String boxCode = StringUtil.nvl(box.get("lotSN"), "");
- if ("".equals(boxCode)){
- hashMap.put("code","E");
- hashMap.put("msg","箱号不能为空!");
- return hashMap;
- }
- double OKQty = Double.parseDouble(StringUtil.nvl(box.get("qty"), ""));
- double NGQty = Double.parseDouble(StringUtil.nvl(box.get("defectQty"), ""));
- sqls.add("insert into QUA_VerifyApplyDetailDet (ved_id,ved_veid,ved_detno,ved_okqty,ved_ngqty,ved_remark,ved_date,ved_testcode,ved_testman,ved_checkdate,ved_checkqty,ved_samplingqty,ved_samplingokqty,ved_samplingngqty,ved_statuscode,ved_status,ved_isok,ved_isng)" +
- " select QUA_VerifyApplyDetailDet_seq.nextval,ve_id,"+detno+","+OKQty+","+NGQty+",'"+boxCode+"',ve_checkdate,em_code,ve_testman,ve_checkdate,vad_qty,vad_qty,"+OKQty+","+NGQty+",'AUDITED','已审核',0,0 from QUA_VerifyApplyDetail left join (select max(em_code) em_code,em_name from employee where em_class<>'离职' group by em_name) on ve_testman=em_name where ve_code='"+iqcChechName+"'");
- detno++;
- }
- }
- hashMap.put("code","S");
- hashMap.put("msg","IQC检验单【"+iqcChechName+"】结果推送成功!");
- return hashMap;
- }catch (Exception e){
- hashMap.put("code","E");
- hashMap.put("msg","参数异常!"+e.getMessage());
- return hashMap;
- }
- }
- /**
- * checkFirstResult结果回传
- * @param data
- * @return
- */
- @Override
- public Map<String, String> checkFirstResult(String data){
- Map<String, String> hashMap = new HashMap<>();
- try {
- Map<Object, Object> map = BaseUtil.parseFormStoreToMap(data);
- if (map.isEmpty()){
- hashMap.put("code","E");
- hashMap.put("msg","参数异常!");
- return hashMap;
- }
- String id = StringUtil.nvl(map.get("id"), "0");
- if ("0".equals(id)){
- hashMap.put("code","E");
- hashMap.put("msg","检验单号不能为空!");
- return hashMap;
- }
- if (!baseDao.checkIf("SpotCheckRecord","sr_id='"+id+"'")){
- hashMap.put("code","E");
- hashMap.put("msg","检验单不存在!");
- return hashMap;
- }
- String results = StringUtil.nvl(map.get("results"), "");
- if ("".equals(results)){
- hashMap.put("code","E");
- hashMap.put("msg","检验结果不能为空!");
- return hashMap;
- }
- String operator = StringUtil.nvl(map.get("operator"), "");
- String inspectionTime = StringUtil.nvl(map.get("inspectionTime"), "");
- String time = "".equals(inspectionTime) ? DateUtil.currentDateString(Constant.YMD_HMS) : inspectionTime;
- String inspectionReportType = StringUtil.nvl(map.get("inspectionReportType"), "");
- baseDao.execute("update SpotCheckRecord set sr_result='"+results+"',sr_auditman='"+operator+"',sr_auditdate=to_date('"+time+"','yyyy-MM-dd hh24:mi:ss'),sr_statuscode='AUDITED',sr_status='已审核',sr_type='"+inspectionReportType+"' where sr_id='"+id+"'");
- hashMap.put("code","S");
- hashMap.put("msg","IQC检验单【"+id +"】结果推送成功!");
- return hashMap;
- }catch (Exception e){
- hashMap.put("code","E");
- hashMap.put("msg","参数异常!"+e.getMessage());
- return hashMap;
- }
- }
- /**
- * spotCheckRecord结果回传
- * @param data
- * @return
- */
- @Override
- public Map<String, String> spotCheckRecordResult(String data){
- Map<String, String> hashMap = new HashMap<>();
- try {
- Map<Object, Object> map = BaseUtil.parseFormStoreToMap(data);
- if (map.isEmpty()){
- hashMap.put("code","E");
- hashMap.put("msg","参数异常!");
- return hashMap;
- }
- String bacthNo = StringUtil.nvl(map.get("Bacth_no"), "0");
- if ("0".equals(bacthNo)){
- hashMap.put("code","E");
- hashMap.put("msg","检验单号不能为空!");
- return hashMap;
- }
- if (!baseDao.checkIf("SpotCheckRecord","sr_id='"+bacthNo+"'")){
- hashMap.put("code","E");
- hashMap.put("msg","检验单不存在!");
- return hashMap;
- }
- String results = StringUtil.nvl(map.get("Results"), "");
- if ("".equals(results)){
- hashMap.put("code","E");
- hashMap.put("msg","检验结果不能为空!");
- return hashMap;
- }
- String snCode = StringUtil.nvl(map.get("sn_code"), "");
- String operator = StringUtil.nvl(map.get("Operator"), "");
- String inspectionTime = StringUtil.nvl(map.get("inspectionTime"), "");
- String time = "".equals(inspectionTime) ? DateUtil.currentDateString(Constant.YMD_HMS) : inspectionTime;
- baseDao.execute("update SpotCheckRecord set sr_result='"+results+"',sr_auditman='"+operator+"',sr_auditdate=to_date('"+time+"','yyyy-MM-dd hh24:mi:ss'),sr_statuscode='AUDITED',sr_status='已审核',sr_remark='"+snCode+"' where sr_id='"+bacthNo+"'");
- hashMap.put("code","S");
- hashMap.put("msg","IQC检验单【"+bacthNo +"】结果推送成功!");
- return hashMap;
- }catch (Exception e){
- hashMap.put("code","E");
- hashMap.put("msg","参数异常!"+e.getMessage());
- return hashMap;
- }
- }
- }
|