| | |
| | | |
| | | public void Xt_ReadText(string FileData) |
| | | { |
| | | //获取文本所有数据 |
| | | FileData = FileData.Substring(0, FileData.Length - 1); |
| | | FileData = "[" + FileData + "]"; |
| | | //JSON序列化转换字典集合 |
| | |
| | | DataSet dataSet; |
| | | |
| | | string HProjectNum = HBarCode.Substring(18, 8); |
| | | //通过截取项目号 如果第一条数据的项目号跟后面的一样 就不进行判断 |
| | | if (HBarCode.Contains(AllProcessExchange)==false) { |
| | | |
| | | //判断流转卡是否存在 |
| | | dataSet = oCN.RunProcReturn("select HInterID,HBillNo from Sc_ProcessExchangeBillMain where HProjectNum='" + HProjectNum + "-1'", "Sc_ProcessExchangeBillMain"); |
| | | if (dataSet.Tables[0].Rows.Count > 0) { |
| | | AllProcessExchangeHProcExchBillNo = dataSet.Tables[0].Rows[0]["HBillNo"].ToString(); |
| | |
| | | AllProcessExchange = HProjectNum; |
| | | } |
| | | } |
| | | |
| | | //判断截取的项目号 跟赋值的项目号是否一样 需要先满足上面的条件 |
| | | if (AllProcessExchange == HProjectNum) |
| | | { |
| | | //通过截取项目号 如果第一条数据的项目号跟后面的一样 就不进行判断 |
| | | if (HBarCode.Contains(AllBeginWork) == false) { |
| | | //判断当前流转卡对应的工序数据是否开工 |
| | | dataSet = oCN.RunProcReturn("select * from Sc_ICMOBillStatus_Tmp where HSourceBillNo='" + AllProcessExchangeHProcExchBillNo + "' and HICMOStatus<>'0'", "Sc_ICMOBillStatus_Tmp"); |
| | | |
| | | if (dataSet.Tables[0].Rows.Count > 0) |
| | |
| | | } |
| | | } |
| | | |
| | | //满足上述条件 并且项目号 和赋值项目号一样 则进行新增 |
| | | if (AllBeginWork == HProjectNum) |
| | | { |
| | | if (Get_AllowLoadData(HBarCode, HProcNumber, flag_1, AllProcessExchangeHProcExchBillNo, AllProcessExchangeHProcExchInterID, out flag_2)) |
| | | { |
| | | //新增条码数据 |
| | | string sql = $@"insert into Sb_EquipMentCollection_SN(HSourceCode,HEmpCode,HType,HBarCode,HCount,HCreateTime,HDate,HResult,HProcNumber,HFlag) |
| | | values('{HSourceCode}','{HEmpCode}','{HType}','{HBarCode}','{HCount}','{HCreateTime}','{HDate}','{HResult}','{HProcNumber}','{HFlag}')"; |
| | | oCN.RunProc(sql); |
| | |
| | | //根据条码 判断是否保存 |
| | | public bool Get_AllowLoadData(string HBarCode, string HProcNumber, bool flag_1,string HProcExchBillNo,string HProcExchInterID, out bool flag_2) |
| | | { |
| | | //判断条码的长度 |
| | | if (HBarCode.Length != 29 && HBarCode.Length != 50) |
| | | { |
| | | flag_2 = false; |
| | |
| | | } |
| | | else |
| | | { |
| | | //flag_1=只有第一次进来才会弹出 错误信息弹出框 定时超过2分钟弹一次 |
| | | if (!flag_1 && (DateTime.Now - time).Minutes > hqty) |
| | | { |
| | | time = DateTime.Now; |
| | |
| | | } |
| | | DataSet ds1; |
| | | |
| | | //第一次流转卡+工序和后面的做对比 如果是同一个流转卡就不进行判断 |
| | | if ((HProcExchBillNo + HProcNumber) != AllSNBarcodeProcCtrl) { |
| | | |
| | | //查询工序 |
| | |
| | | AllSNBarcodeProcCtrl = HProcExchBillNo + HProcNumber; |
| | | } |
| | | |
| | | |
| | | //第一次流转卡+工序和后面的做对比 如果是同一个流转卡就不进行判断 |
| | | if ((HProcExchBillNo + HProcNumber) == AllSNBarcodeProcCtrl) |
| | | { |
| | | //过站控制 |
| | | //判断当前工序对应的条码是否上道工序过站 |
| | | ds1 = oCN.RunProcReturn("exec h_p_Sc_SNBarcodeProcCtrl_S '" + HBarCode + "'," + AllHProcID, "h_p_Sc_SNBarcodeProcCtrl_S"); |
| | | |
| | | if (ds1.Tables[0].Rows.Count == 0) |
| | | { |
| | | //flag_1=只有第一次进来才会弹出 错误信息弹出框 定时超过2分钟弹一次 |
| | | if (!flag_1 && (DateTime.Now - time).Minutes > hqty) |
| | | { |
| | | time = DateTime.Now; |
| | |
| | | } |
| | | else if (ds1.Tables[0].Rows[0]["HBack"].ToString() == "2") |
| | | { |
| | | //flag_1=只有第一次进来才会弹出 错误信息弹出框 定时超过2分钟弹一次 |
| | | if (!flag_1 && (DateTime.Now - time).Minutes > hqty) |
| | | { |
| | | time = DateTime.Now; |
| | |
| | | ds1 = oCN.RunProcReturn($@"select ({AllHQty}-sum(isnull(ou.HQty,0))-sum(isnull(ou.HBadCount,0))) HQty from Sc_StationOutBillMain ou WITH(NOLOCK) |
| | | where ou.HProcExchInterID={HProcExchInterID} and ou.HProcID={AllHProcID} |
| | | group by ou.HProcExchInterID,ou.HProcExchEntryID,ou.HQty", "Sc_StationOutBillMain"); |
| | | |
| | | //获取流转卡数量 |
| | | double hqtyOut = AllHQty; |
| | | |
| | | if (ds1.Tables[0].Rows.Count > 0) { |
| | | hqtyOut = double.Parse(ds1.Tables[0].Rows[0][0].ToString()); |
| | | } |
| | | |
| | | //流转卡数量-出站单数量大于0 |
| | | if (hqtyOut <= 0) |
| | | { |
| | | //flag_1=只有第一次进来才会弹出 错误信息弹出框 定时超过2分钟弹一次 |
| | | if (!flag_1 && (DateTime.Now - time).Minutes > hqty) |
| | | { |
| | | time = DateTime.Now; |
| | |
| | | if (HProcNumber != "013") |
| | | { |
| | | //增加产线组装追溯单 |
| | | //查询当前流转卡对应的工序有没有配件信息,如果有 则判断配件单的数量是否为0 |
| | | DataSet dataSet = oCN.RunProcReturn("exec h_p_Gy_BarCodeBillBomList '" + HProcExchBillNo + "'," + AllHProcID, "h_p_Gy_BarCodeBillBomList"); |
| | | if (dataSet.Tables[0].Rows.Count > 0) |
| | | { |
| | |
| | | string HMaterBarCode = dataSet.Tables[0].Rows[i]["HBarCode"].ToString(); |
| | | if (SYHQty == 0) |
| | | { |
| | | //flag_1=只有第一次进来才会弹出 错误信息弹出框 定时超过2分钟弹一次 |
| | | if (!flag_1 && (DateTime.Now - time).Minutes > hqty) |
| | | { |
| | | time = DateTime.Now; |