/**

  • 根据批号和机台号获取批号信息和刀片信息

  • @param computerName 计算机名称

  • @param evtUsr 用户名

  • @param password 密码

  • @param lotNo 生产批号

  • @param equipmentNo 机台编号

  • @return 返回批号信息和刀片信息的JSON字符串 */ public String getLotInfoByLotNoAndEquipmentNo(String computerName, String evtUsr, String password, String lotNo, String equipmentNo) { try { uwsMES.uwsMES uwsMES = new uwsMES.uwsMES();

     // 1.基础检查 账号密码未输入
     if (String.IsNullOrEmpty(computerName)) {
         return JsonConvert.SerializeObject(new R<String>("50000000", "MES接收到的换刀参数【计算机名称】为空!", null));
     }
     if (String.IsNullOrEmpty(evtUsr)) {
         return JsonConvert.SerializeObject(new R<String>("50000000", "MES接收到的换刀参数【用户】为空!", null));
     }
     if (String.IsNullOrEmpty(equipmentNo)) {
         return JsonConvert.SerializeObject(new R<String>("50000000", "MES接收到的换刀参数【机台编号】为空!", null));
     }
    
     // 2.账号密码错误
     if (!Common.checkUsr(evtUsr, password)) {
         return JsonConvert.SerializeObject(new R<String>("50000000", "用户的账号密码不匹配,请重新输入!", null));
     }
    
     // 3.LOT No未输入 
     if (String.IsNullOrEmpty(lotNo)) {
         return JsonConvert.SerializeObject(new R<String>("50000000", "MES接收到的check in参数【生产批号】为空!", null));
     }
    
     // 4.LotNo输入错误
     String lotError = uwsMES.GetFirstData("SELECT COUNT(*) FROM TBLWIPLOTBASIS WHERE BASELOTNO ='" + lotNo + "' ");
     if (lotError.Equals("0")) {
         return JsonConvert.SerializeObject(new R<String>("50000000", "MES接收到的check in参数【生产批号】在MES中不存在!", null));
     }
    
     // 5.员工权限(少一个808权限)
     String level = uwsMES.GetFirstData("Select UserLevel From tblUSRUserBasis Where Upper(UserNo) = '" + evtUsr + "'");
     if (level.Equals("0")) {
         // 有权限
     } else if (level.Equals("1")) {
         // 没权限
         return JsonConvert.SerializeObject(new R<String>("50000000", "该用户没有操作作业站编号【G1220】权限!", null));
     } else {
         // 判断有没有权限
         String PrivNo = uwsMES.GetFirstData("SELECT DISTINCT  PrivNo From tblUSRGroupPriv  Where GroupNo In (Select GroupNo From tblUSRUserGroup Where GroupType=0 And Upper(UserNo)='" + evtUsr + "') And PrivType=1 And PrivNo='G1220'");
         if (String.IsNullOrEmpty(PrivNo)) {
             return JsonConvert.SerializeObject(new R<String>("50000000", "该用户没有操作作业站编号【G1220】权限!", null));
         }
         if (!PrivNo.Equals("G1220")) {
             return JsonConvert.SerializeObject(new R<String>("50000000", "该用户没有操作作业站编号【G1220】权限!", null));
         }
     }
    
     // 6.设备状态必须为IDLE
     String eqState = uwsMES.GetFirstData("SELECT EQUIPMENTSTATE  FROM TBLEMSEQUIPMENTSTATE WHERE EQUIPMENTNO = '" + equipmentNo + "'");
     if (!"0".Equals(eqState)) {
         return JsonConvert.SerializeObject(new R<String>("5000000", "输入的机台号不能进行check in操作,请检查机台状态!", null));
     }
    
     // 7.LOT站点检测 是否是G1220的批号
     String OPNO = uwsMES.GetFirstData("SELECT OPNO  FROM TBLWIPLOTSTATE  WHERE BASELOTNO = '" + lotNo + "'");
     if (!"G1220".Equals(OPNO)) {
         return JsonConvert.SerializeObject(new R<String>("5000000", "MES中该生产批号【" + lotNo + "】对应的作业站编号【" + OPNO + "】,只有作业站编号【G1220】才能自动check in!", null));
     }
    
     // 8.LOT状态检测 判断LOT是不是可以进行check In
     String statusCode = uwsMES.GetFirstData("SELECT STATUS  FROM TBLWIPLOTSTATE  WHERE BASELOTNO = '" + lotNo + "'");
     if (!"0".Equals(statusCode)) {
         return JsonConvert.SerializeObject(new R<String>("5000000", "MES中该生产批号【" + lotNo + "】为【" + Common.getLotState(statusCode) + "】不能进行check in", null));
     }
    
     // 8.5 FutureHold
     String lotFutureHoldFlag = uwsMES.GetFirstData("SELECT COUNT(*) FROM TBLWIPFUTUREHOLD WHERE LOTNO = '" + lotNo + "' AND OPNO ='G1220'");
     if ("1".Equals(lotFutureHoldFlag)) {
         String des = uwsMES.GetFirstData("SELECT HOLDDESCRIPTION  FROM TBLWIPFUTUREHOLD WHERE LOTNO = '" + lotNo + "' AND OPNO ='G1220'");
         String holdMes = FutureHold.creatERF(computerName, evtUsr, lotNo);
         return JsonConvert.SerializeObject(new R<String>("5000000", "批号【" + lotNo + "】的FutureHold描述为:" + des + "," + holdMes, null));
     }
    
     // 9.机台权限检测 
    
     // 808用户不能使用勘用刀
     if (lotNo.Substring(2, 2).Equals("08")) {
         DataTable blade = uwsMES.GetDataTable("SELECT BLADEID,USE FROM USC_DICINGBLADE_BASIS WHERE EQUIPMENTNO ='" + equipmentNo + "' AND STATUS = '3' ");
         if (blade.Rows.Count == 0) {
             return JsonConvert.SerializeObject(new R<String>("5000000", "MES里该机台【" + equipmentNo + "】未绑定刀片!", null));
         } else {
             String mesg = "";
             foreach (DataRow dr in blade.Rows) {
                 if ("是".Equals(dr["USE"].ToString())) {
                     mesg += "刀片【" + dr["BLADEID"].ToString() + "】不为新刀 ";
                 }
             }
             if (mesg != "") {
                 return JsonConvert.SerializeObject(new R<String>("5000000", mesg, null));
             }
         }
     }
    
     DataSet dataSet = new DataSet();
     // wsWIP.wsWIP wsWIP = new wsWIP.wsWIP();
    
     String sqlGetLot = "SELECT PRODUCTNO ,PRODUCTVERSION,CUSTOMERNO  FROM TBLWIPLOTBASIS WHERE BASELOTNO = '" + lotNo + "'";
     DataTable lotTable = uwsMES.GetDataTabl
    
public String getLotInfoByLotNoAndEquipmentNoString computerName String evtUsr String password String lotNo String equipmentNo try uwsMESuwsMES uwsMES = new uwsMESuwsMES; 1基础检查 账号

原文地址: https://www.cveoy.top/t/topic/iYmt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录