public String getLotInfoByLotNoAndEquipmentNoString computerName String evtUsr String password String lotNo String equipmentNo try uwsMESuwsMES uwsMES = new uwsMESuwsMES; 1基础检查 账号
/**
-
根据批号和机台号获取批号信息和刀片信息
-
@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
原文地址: https://www.cveoy.top/t/topic/iYmt 著作权归作者所有。请勿转载和采集!