1
zrg
2025-05-08 cd7025a07f30a87cc90a09f9345d6d1e6ae41e44
WFormSynchronizeData_SMR/WFormReadData_SMR/ReadCSV.cs
@@ -200,6 +200,7 @@
                //string csv_file_path_Read = $@"D:\DATA SAVE\{Year}\{Year + Month}\{Year + Month + Day}\{HBath}\数据保存_MES读取.csv";
                //复制一份文件
                File.Copy(csv_file_path, csv_file_path_Read, true);
                string contents = File.ReadAllText(csv_file_path_Read, Encoding.GetEncoding("gb2312"));
@@ -253,6 +254,7 @@
                            string HProcNumber = "005"; //005
                            int HFlag = 0;
                            //string HEmpCode = "";
                            //判断条码不为空
                            if (HBadCodeSN != "")
                            {
                                string HType = "";
@@ -270,6 +272,7 @@
                                        ListSelect.Items.Add("条码:" + HBarCode + ",当前日期:" + DateTime.Now.ToString() + ",日期:" + HCreateTime + ",结果:" + HResult);
                                        list.Add(HBarCode);
                                        //新增工艺参数
                                        for (int i = 0; i < dt.Columns.Count; i++)
                                        {
                                            if (dt.Columns[i].ColumnName.Contains("Hz"))
@@ -277,6 +280,7 @@
                                                HType = dt.Columns[i].ColumnName;
                                                string HCount_1 = item[HType].ToString();
                                                //查询当天条码 对应的工艺参数有没有插入到里面 如果没有则新增
                                                DataSet ds1 = oCN.RunProcReturn(@"select * from Sb_EquipMentCollectionTechParam_SN where HBarCode='" + HBarCode + "' and HType='" + HType + "'", "Sb_EquipMentCollectionTechParam_SN");
                                                if (ds1.Tables[0].Rows.Count == 0)
@@ -409,6 +413,7 @@
                    }
                    else
                    {
                        //错误信息弹出框 定时超过2分钟弹一次
                        if (!flag_1 && (DateTime.Now - time).Minutes > hqty)
                        {
                            time = DateTime.Now;
@@ -432,6 +437,7 @@
                    AllProcessExchangeHProcExchBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
                }
                else {
                    //flag_1=只有第一次进来才会弹出 错误信息弹出框 定时超过2分钟弹一次
                    if (!flag_1 && (DateTime.Now - time).Minutes > hqty)
                    {
                        time = DateTime.Now;
@@ -449,6 +455,8 @@
            HProcExchInterID = AllProcessExchangeHProcExchInterID;
            DataSet ds1;
            //第一次流转卡+工序和后面的做对比 如果是同一个流转卡就不进行判断
            if ((HProcExchBillNo + HProcNumber) != AllSNBarcodeProcCtrl) {
                //查询工序
                ds1 = oCN.RunProcReturn(@"SELECT  HItemID,HName FROM Gy_Process WHERE HNumber='" + HProcNumber + "'", "Gy_Process");
@@ -470,12 +478,15 @@
               
            string HProcID = AllHProcID;
            string HProName = AllHProName;
            if ((HProcExchBillNo + HProcNumber) == AllSNBarcodeProcCtrl)
            {
            ////第一次流转卡+工序和后面的做对比 如果是同一个流转卡就不进行判断
            //if ((HProcExchBillNo + HProcNumber) == AllSNBarcodeProcCtrl)
            //{
                //判断 当前工序 条码 的上一道工序有没有过站
                ds1 = oCN.RunProcReturn("exec h_p_Sc_SNBarcodeProcCtrl_S '" + HBarCode + "'," + HProcID, "h_v_Gy_QualifiedRecordsList");
                if (ds1.Tables[0].Rows.Count == 0)
                {
                    //flag_1=只有第一次进来才会弹出 错误信息弹出框 定时超过2分钟弹一次
                    if (!flag_1 && (DateTime.Now - time).Minutes > hqty)
                    {
                        time = DateTime.Now;
@@ -488,6 +499,7 @@
                }
                else if (ds1.Tables[0].Rows[0]["HBack"].ToString() == "2")
                {
                    //flag_1=只有第一次进来才会弹出 错误信息弹出框 定时超过2分钟弹一次
                    if (!flag_1 && (DateTime.Now - time).Minutes > hqty)
                    {
                        time = DateTime.Now;
@@ -498,22 +510,26 @@
                    flag_2 = true;
                    return false;
                }
            }
            //}
            //查询出站数量是否超过流转卡数量
            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;
            //流转卡数量-出站单数量大于0
            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;
@@ -527,6 +543,7 @@
            //拍照工序除外
            if (HProcNumber != "013") {
                //增加产线组装追溯单
                //查询当前流转卡对应的工序有没有配件信息,如果有 则判断配件单的数量是否为0
                DataSet dataSet = oCN.RunProcReturn("exec h_p_Gy_BarCodeBillBomList '" + HProcExchBillNo + "'," + HProcID, "h_p_Gy_BarCodeBillBomList");
                if (dataSet.Tables[0].Rows.Count > 0)
                {
@@ -538,6 +555,7 @@
                        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;