|
|
@@ -16,6 +16,7 @@ import org.apache.commons.lang.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
import sun.awt.TimedWindowEvent;
|
|
|
|
|
|
import java.sql.Timestamp;
|
|
|
@@ -33,9 +34,91 @@ public class MESHelperServiceImpl implements MESHelperService {
|
|
|
@Value("${spring.datasource.username}")
|
|
|
private String username;
|
|
|
|
|
|
+ @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();
|
|
|
+ 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_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重量为"+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重量为"+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;
|
|
|
+ }
|
|
|
+ return rmap;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Map<Object,Object> DLLMain(String accessKey, String requestId, String data) {
|
|
|
- String AE_MASTER = checkAccessKey(accessKey, requestId);
|
|
|
+ String AE_MASTER = "N_MES_T";
|
|
|
SpObserver.putSp(AE_MASTER);
|
|
|
Map<Object, Object> map = BaseUtil.parseFormStoreToMap(data);
|
|
|
//解析map
|
|
|
@@ -234,6 +317,42 @@ public class MESHelperServiceImpl implements MESHelperService {
|
|
|
return rmap;
|
|
|
}
|
|
|
|
|
|
+ private String CheckRoutePassed(String iSN,String iResCode){
|
|
|
+ //实际业务数据
|
|
|
+ Map<Object, Object> rmap = new HashMap<>();
|
|
|
+ String oErrMessage;
|
|
|
+ if (iSN ==null)
|
|
|
+ {
|
|
|
+ oErrMessage = "SN不能为空";
|
|
|
+ }
|
|
|
+ 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 = "当前序列号下一工序" + ms_nextstepcode;
|
|
|
+ }
|
|
|
+ return oErrMessage;
|
|
|
+ }
|
|
|
+
|
|
|
private Map<Object,Object> CheckUserAndResourcePassed(JSONObject map){
|
|
|
//实际业务数据
|
|
|
Map<Object, Object> rmap = new HashMap<>();
|
|
|
@@ -765,6 +884,26 @@ public class MESHelperServiceImpl implements MESHelperService {
|
|
|
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>
|