yangle
2024-01-05 a88c2dbb327d3a3a0b9a9bcc91ce4f31450159ba
WFormSynchronizeData_SMR/WFormSynchronizeData_SMR/Form1.cs
@@ -104,9 +104,9 @@
            }
            catch (Exception e)
            {
                oCN.RollBack();
                string HBadCodeSN = dic["HBarCode"].ToString();
                CustomWriteLog("条码:" + HBadCodeSN + ",错误原因:" + e.Message, DateTime.Now.ToString("yyyy-MM-dd"));
                oCN.RollBack();
                return false;
            }
        }
@@ -121,7 +121,7 @@
                HBadCodeSN = TM_ZH(HBadCodeSN);
                num = SNHBardCodeList(HBadCodeSN);
                if (num == 0)
                if (num == 0 || num == 1)
                {
                    flag = getOutBillAdd(dic, HBadCodeSN, "NG");
@@ -133,13 +133,6 @@
                        oCN.RunProc("update Gy_BarCodeBill set HStatus='不良',HRemark='" + dic["HType"].ToString() + "' where HBarCode='" + HBadCodeSN + "'");
                    }
                }
                else if (num == 1)
                {
                    //条码存在 生成不良汇报单
                    flag = getBadBillAdd(dic);
                    //反写条码状态
                    oCN.RunProc("update Gy_BarCodeBill set HStatus='不良',HRemark='" + dic["HType"].ToString() + "' where HBarCode='" + HBadCodeSN + "'");
                }
                else if (num == 2)
                {
                    flag = false;
@@ -148,10 +141,10 @@
            }
            catch (Exception e)
            {
                string HBadCodeSN = dic["HBarCode"].ToString();
                CustomWriteLog("条码:" + HBadCodeSN + ",错误原因:"+e.Message, DateTime.Now.ToString("yyyy-MM-dd"));
                //回滚事务
                oCN.RollBack();
                string HBadCodeSN = dic["HBarCode"].ToString();
                CustomWriteLog("条码:" + HBadCodeSN + ",错误原因:"+e.Message, DateTime.Now.ToString("yyyy-MM-dd"));
                return false;
            }
        }
@@ -333,20 +326,21 @@
                }
                else
                {
                    CustomWriteLog("结果不为OK或NG!", DateTime.Now.ToString("yyyy-MM-dd"));
                    oCN.RollBack();
                    CustomWriteLog("结果不为OK或NG!", DateTime.Now.ToString("yyyy-MM-dd"));
                    return false;
                }
                bool flag = false;
                //flag = AddXt_XtRoutBill(HInterID, HBillNo, HBadCodeSN);
                flag = AddXt_XtRoutBill(HInterID, HBillNo, HBadCodeSN);
                //if (!flag) {
                //    CustomWriteLog("系统参数保存失败,条码:" + HBadCodeSN , DateTime.Now.ToString("yyyy-MM-dd"));
                //    oCN.RollBack();
                //    return false;
                //}
                if (!flag)
                {
                    oCN.RollBack();
                    CustomWriteLog("系统参数保存失败,条码:" + HBadCodeSN, DateTime.Now.ToString("yyyy-MM-dd"));
                    return false;
                }
                //增加产线组装追溯单
                DataSet dataSet = oCN.RunProcReturn("exec h_p_Gy_BarCodeBillBomList '" + HProcExchBillNo + "'," + HProcID, "h_p_Gy_BarCodeBillBomList");
@@ -359,8 +353,8 @@
                        double SYHQty = double.Parse(dataSet.Tables[0].Rows[i]["配件数量"].ToString());
                        string HMaterNamePJ = dataSet.Tables[0].Rows[i]["配件代码"].ToString();
                        if (SYHQty == 0) {
                            CustomWriteLog("配件代码:" + HMaterNamePJ + ",数量为0!", DateTime.Now.ToString("yyyy-MM-dd"));
                            oCN.RollBack();
                            CustomWriteLog("配件代码:" + HMaterNamePJ + ",数量为0!", DateTime.Now.ToString("yyyy-MM-dd"));
                            return false;
                        }
                    }
@@ -406,8 +400,8 @@
            }
            catch (Exception e)
            {
                CustomWriteLog(e.Message, DateTime.Now.ToString("yyyy-MM-dd"));
                oCN.RollBack();
                CustomWriteLog(e.Message, DateTime.Now.ToString("yyyy-MM-dd"));
                return false;
            }
        }
@@ -492,8 +486,8 @@
                if (ds.Tables[0].Rows.Count == 0)
                {
                    CustomWriteLog("条码:" + HBadCodeSN + ",无返修记录", DateTime.Now.ToString("yyyy-MM-dd"));
                    oCN.RollBack();
                    CustomWriteLog("条码:" + HBadCodeSN + ",无返修记录", DateTime.Now.ToString("yyyy-MM-dd"));
                    return false;
                }
@@ -523,8 +517,8 @@
                }
                else
                {
                    CustomWriteLog("结果不为OK!", DateTime.Now.ToString("yyyy-MM-dd"));
                    oCN.RollBack();
                    CustomWriteLog("结果不为OK!", DateTime.Now.ToString("yyyy-MM-dd"));
                    return false;
                }
@@ -532,14 +526,15 @@
            }
            catch (Exception e)
            {
                CustomWriteLog(e.Message, DateTime.Now.ToString("yyyy-MM-dd"));
                oCN.RollBack();
                CustomWriteLog(e.Message, DateTime.Now.ToString("yyyy-MM-dd"));
                return false;
            }
        }
        //保存系统参数到出站单
        public bool AddXt_XtRoutBill(long HInterID, string HBillNo,string HBadCodeSN) {
            string sql = "";
            try
            {
@@ -550,9 +545,10 @@
                string HProcExchBillNo = ds.Tables[0].Rows[0]["HProcExchBillNo"].ToString();
                ds = oCN.RunProcReturn(@"select  s.HItemID HMouldID,t.HItemID HTechParamID,HCount,HCreateTime from  Sb_EquipMentCollectionTechParam_SN a WITH(NOLOCK)
left join Gy_Source s WITH(NOLOCK) on a.HSourceCode=s.HNumber
left join Gy_TechnologyParameter t WITH(NOLOCK) on a.HType=t.HNumber
inner join Gy_Source s WITH(NOLOCK) on a.HSourceCode=s.HNumber
inner join Gy_TechnologyParameter t WITH(NOLOCK) on a.HType=t.HName
where a.HFlag=0 and a.HBarCode='" + HBadCodeSN + "'", "Sb_EquipMentCollectionTechParam_SN");
                //注:当前只有一道工序有参数 如果有多道工序的话 需要增加 工序的过滤
                if (ds.Tables[0].Rows.Count != 0) {
@@ -563,20 +559,22 @@
                        string HCount = ds.Tables[0].Rows[i]["HCount"].ToString();
                        string HGetTime = ds.Tables[0].Rows[i]["HCreateTime"].ToString();
                        DataSet dataSet = oCN.RunProcReturn("select * from Sc_StationOutBillSub_TechParam WITH(NOLOCK) where HInterID=" + HInterID + " and HBillNo_bak='" + HBillNo + "' and HBarCode='" + HBadCodeSN + "'", "Sc_StationOutBillSub_TechParam");
                        DataSet dataSet = oCN.RunProcReturn("select * from Sc_StationOutBillSub_TechParam WITH(NOLOCK) where HInterID=" + HInterID + " and HBillNo_bak='" + HBillNo + "'", "Sc_StationOutBillSub_TechParam");
                        oCN.RunProc("insert into Sc_StationOutBillSub_TechParam(HInterID,HBillNo_bak,HEntryID ,HSourceInterID,HSourceEntryID,HSourceBillNo,HTechParamID,HRelValue,HGetTime,HBarCode,HMouldID)" +
                            $"values({HInterID},'{HBillNo}',{(dataSet.Tables[0].Rows.Count + 1)},{HProcExchInterID},{HProcExchEntryID},'{HProcExchBillNo}',{HTechParamID},{HCount},'{HGetTime}','{HBadCodeSN}',{HMouldID})");
                        sql = "insert into Sc_StationOutBillSub_TechParam(HInterID,HBillNo_bak,HEntryID ,HSourceInterID,HSourceEntryID,HSourceBillNo,HTechParamID,HRelValue,HGetTime,HBarCode,HMouldID)" +
                            $"values({HInterID},'{HBillNo}',{(dataSet.Tables[0].Rows.Count + 1)},{HProcExchInterID},{HProcExchEntryID},'{HProcExchBillNo}',{HTechParamID},{HCount},'{HGetTime}','{HBadCodeSN}',{HMouldID})";
                        oCN.RunProc(sql);
                    }
                    oCN.RunProc("update Sb_EquipMentCollectionTechParam_SN set HFlag=1 where HBarCode='" + HBadCodeSN + "'");
                }
                return true;
            }
            catch (Exception e)
            {
                CustomWriteLog("工艺参数保存:" + e.Message, DateTime.Now.ToString("yyyy-MM-dd"));
                oCN.RollBack();
                CustomWriteLog("工艺参数保存:" + sql + e.Message, DateTime.Now.ToString("yyyy-MM-dd"));
                return false;
            }
        }
@@ -603,15 +601,15 @@
                        }
                        else
                        {
                            CustomWriteLog("条码:" + HBadCodeSN + ",流转卡不存在!", DateTime.Now.ToString("yyyy-MM-dd"));
                            oCN.RollBack();
                            CustomWriteLog("条码:" + HBadCodeSN + ",流转卡不存在!", DateTime.Now.ToString("yyyy-MM-dd"));
                            return 2;
                        }
                    }
                    else
                    {
                        CustomWriteLog("条码:" + HBadCodeSN + ",长度不等于29位!", DateTime.Now.ToString("yyyy-MM-dd"));
                        oCN.RollBack();
                        CustomWriteLog("条码:" + HBadCodeSN + ",长度不等于29位!", DateTime.Now.ToString("yyyy-MM-dd"));
                        return 2;
                    }
                }
@@ -623,8 +621,8 @@
            }
            catch (Exception e)
            {
                CustomWriteLog("条码:" + HBadCodeSN + "," + e.Message, DateTime.Now.ToString("yyyy-MM-dd"));
                oCN.RollBack();
                CustomWriteLog("条码:" + HBadCodeSN + "," + e.Message, DateTime.Now.ToString("yyyy-MM-dd"));
                return 2;
            }
        }
@@ -645,8 +643,8 @@
                //判断流转卡不能为空
                if (HBarCode.Trim() == "")
                {
                    CustomWriteLog("条码:" + HBarCode + ",流转卡不能为空!", DateTime.Now.ToString("yyyy-MM-dd"));
                    oCN.RollBack();
                    CustomWriteLog("条码:" + HBarCode + ",流转卡不能为空!", DateTime.Now.ToString("yyyy-MM-dd"));
                }
              
                //日期获取方式
@@ -715,8 +713,8 @@
            }
            catch (Exception e)
            {
                CustomWriteLog("条码:" + HBarCode + "," + e.Message, DateTime.Now.ToString("yyyy-MM-dd"));
                oCN.RollBack();
                CustomWriteLog("条码:" + HBarCode + "," + e.Message, DateTime.Now.ToString("yyyy-MM-dd"));
            }
        }
@@ -872,8 +870,8 @@
            }
            catch (Exception e)
            {
                CustomWriteLog("报错原因:" + e.Message + "!", DateTime.Now.ToString("yyyy-MM-dd"));
                oCN.RollBack();
                CustomWriteLog("报错原因:" + e.Message + "!", DateTime.Now.ToString("yyyy-MM-dd"));
                return false;
            }
        }