wtt
2024-06-27 fd0dd6012b6d710896232f983a738f4b08525a8f
WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
@@ -94,6 +94,7 @@
                return objJsonResult;
            }
            DLL.ClsGy_EquipFileMain oBill = new DLL.ClsGy_EquipFileMain();
            oCN.BeginTran();
            ds = oCN.RunProcReturn("select * from Gy_EquipFileBillMain where HInterID=" + HItemID, "Gy_EquipFileBillMain");
            if (ds.Tables[0].Rows.Count > 0)
            {
@@ -107,6 +108,9 @@
                }
                oCN.RunProc("Delete From Gy_EquipFileBillMain  where HInterID=" + lngBillKey);
                oCN.RunProc("Delete From Gy_EquipFileBillSub_MaintainRule  where HInterID=" + lngBillKey);
                oCN.RunProc("Delete From Gy_EquipFileBillSub_DotCheckRule  where HInterID=" + lngBillKey);
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "删除成功";
@@ -121,6 +125,7 @@
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
@@ -151,6 +156,35 @@
        }
        #endregion
        #region[设备档案编辑时获取子表数据]
        [Route("Gy_EquipFileMain/Gy_EquipFileSubDetai")]
        [HttpGet]
        public object Gy_EquipFileSubDetai(long HInterID)
        {
            try
            {
                List<DataTable> tableList = new List<DataTable>();
                ds = oCN.RunProcReturn("select a.*,b.HBillNo from Gy_EquipFileBillSub_MaintainRule AS a left join Sb_EquipMaintainRuleBillMain as b on b.HInterID = a.HMaintainRuleID where a.HInterID = " + HInterID, "Gy_EquipFileBillSub_MaintainRule");
                tableList.Add(ds.Tables[0]);
                ds = oCN.RunProcReturn("select a.*,b.HBillNo from Gy_EquipFileBillSub_DotCheckRule AS a left join Sb_EquipDotCheckRuleBillMain as b on b.HInterID = a.HDotCheckRuleID where a.HInterID = " + HInterID, "Gy_EquipFileBillSub_DotCheckRule");
                tableList.Add(ds.Tables[0]);
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.data = tableList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 设备档案新增保存
        /// <summary>
        /// 模治具分类-保存按钮
@@ -166,11 +200,12 @@
                var _value = oMain["oMain"].ToString();
                string msg1 = _value.ToString();
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = sArray[0].ToString();
                string msg3 = sArray[1].ToString();
                string msg4 = sArray[2].ToString();
                string msg2 = sArray[0].ToString(); //主表数据
                string msg3 = sArray[1].ToString(); //子表1
                string msg4 = sArray[2].ToString(); //子表2
                string msg5 = sArray[3].ToString(); //用户
                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, msg4))
                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, msg5))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -214,7 +249,7 @@
                string HMainSourceFlag = list[0].HMainSourceFlag;             //varchar(10) //是否主生产设备(否,是)
                string HMacAddress = list[0].HMacAddress;   // varchar(50) //数采物理地址
                int HMainSourceID = list[0].HMainSourceID;  //int //所属主生产设备(Gy_EquipFileBillMain)
                string HMaker = msg4;
                string HMaker = msg5;
                string HMakeDate = DateTime.Now.Date.ToString();
                int HEquipDotCheckRuleInterID = list[0].HEquipDotCheckRuleInterID;
                int HEquipMaintainRuleInterID = list[0].HEquipMaintainRuleInterID;
@@ -228,22 +263,30 @@
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                DataSet DS = oCN.RunProcReturn("Select * from Gy_EquipFileBillMain Where  HEquipFileNumber='" + HEquipFileNumber + "' and HInterID<>" + HInterID, "Gy_EquipFileBillMain", ref Pub_Class.ClsPub.sExeReturnInfo);
                if (DS.Tables[0].Rows.Count != 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "代码重复!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //若MAINDI重复则重新获取
                oCN.BeginTran();
                //主表
                oCN.RunProc("Insert into Gy_EquipFileBillMain " +
                   " (hbillno,HEquipFileNumber,HEquipFileNo,HName,HModel,HModel2,HMaterID,HUnitID,HOutComDate" +
                   " (HInterID,hbillno,HEquipFileNumber,HEquipFileNo,HName,HModel,HModel2,HMaterID,HUnitID,HOutComDate" +
                   ",HOutComNo,HDeptID,HUseEmpID,HRepairEmpID,HAddress,HSetupDate,HStartupDate,HStatus," +
"HEquipFileTypeID,HProNum,HBarCode,HWorkArea,HLogo,HSellSupID,HMakeSupID,hbilltype,HDate,HYear,HMaker,HMakeDate,HEquipMaintainRuleInterID,HEquipDotCheckRuleInterID,HSourceID,HMainSourceFlag,HMacAddress,HMainSourceID) " +
                   " Values('" + hbillno + "','" + HEquipFileNumber + "','" + HEquipFileNo + "','" + HName + "','" + HModel + "','" + HModel2 + "'," + HMaterID + "," + HUnitID +
                   " Values("+ HInterID+",'" + hbillno + "','" + HEquipFileNumber + "','" + HEquipFileNo + "','" + HName + "','" + HModel + "','" + HModel2 + "'," + HMaterID + "," + HUnitID +
                   ",'" + HOutComDate + "','" + HOutComNo + "'," + HDeptID + "," + HUseEmpID + "," + HRepairEmpID + ",'" + HAddress +
                   "','" + HSetupDate + "','" + HStartupDate + "','" + HStatus + "'," + HEquipFileTypeID + ",'" + HProNum +
                   "','" + HBarCode + "','" + HWorkArea + "','" + HLogo + "'," + HSellSupID + "," + HMakeSupID + ",'3308','" + HDate + "','" + HYear + "','" + HMaker + "','" + HMakeDate + "','" + HEquipMaintainRuleInterID + "','" + HEquipDotCheckRuleInterID +"'," + HSourceID + ",'" + HMainSourceFlag + "','" + HMacAddress + "','" + HMainSourceID + "')", ref DBUtility.ClsPub.sExeReturnInfo);
                //修改上级为非末级代码
                objJsonResult = AddBillSub(msg3, msg4, HInterID, hbillno, 1);
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "新增成功!";
                //objJsonResult.data = null;
                return objJsonResult;
            }
@@ -271,11 +314,12 @@
                var _value = oMain["oMain"].ToString();
                string msg1 = _value.ToString();
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = sArray[0].ToString();
                string msg3 = sArray[1].ToString();
                string msg4 = sArray[2].ToString();
                string msg2 = sArray[0].ToString(); //主表数据
                string msg3 = sArray[1].ToString(); //子表1
                string msg4 = sArray[2].ToString(); //子表2
                string msg5 = sArray[3].ToString(); //用户
                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, msg4))
                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, msg5))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -315,7 +359,7 @@
                string HMainSourceFlag = list[0].HMainSourceFlag;             //varchar(10) //是否主生产设备(否,是)
                string HMacAddress = list[0].HMacAddress;   // varchar(50) //数采物理地址
                int HMainSourceID = list[0].HMainSourceID;  //int //所属主生产设备(Gy_EquipFileBillMain)
                string HUpDater = msg4;
                string HUpDater = msg5;
                string HUpDateDate = DateTime.Now.Date.ToString();
                int HEquipDotCheckRuleInterID = list[0].HEquipDotCheckRuleInterID;
                int HEquipMaintainRuleInterID = list[0].HEquipMaintainRuleInterID;
@@ -382,10 +426,8 @@
                //修改子项目代码
                //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_RepairCheck,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
                //
                objJsonResult = AddBillSub(msg3, msg4, HInterID, list[0].HBillNo, 2);
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "修改成功!";
                //objJsonResult.data = null;
                return objJsonResult;
            }
@@ -401,6 +443,110 @@
        }
        #endregion
        #region 设备档案保存子表数据
        /// <summary>
        /// 子表数据新增或者编辑
        /// </summary>
        /// <param name="msg3"></param>
        /// <param name="msg4"></param>
        /// <param name="HInterID"></param>
        /// <param name="HBillNo"></param>
        /// <param name="OperationType">1为添加2为编辑</param>
        /// <returns></returns>
        public json AddBillSub(string msg3, string msg4, long HInterID, string HBillNo, int OperationType)
        {
                List<ClsGy_EquipFileBillSub_MaintainRule> MaintainRuleColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_EquipFileBillSub_MaintainRule>>(msg3);
                List<ClsGy_EquipFileBillSub_DotCheckRule> DotCheckRuleColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_EquipFileBillSub_DotCheckRule>>(msg4);
                if (OperationType == 2)
                {
                    //删除子表
                    oCN.RunProc("delete from Gy_EquipFileBillSub_MaintainRule where HInterID = " + HInterID );
                    oCN.RunProc("delete from Gy_EquipFileBillSub_DotCheckRule where HInterID = " + HInterID );
                }
                int i = 0;
                //保存保养规格
                foreach (ClsGy_EquipFileBillSub_MaintainRule oSub in MaintainRuleColl)
                {
                    i++;
                    if (oSub.HMaintainRuleID <= 0 || oSub.HMaintainRuleID == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "第" + i + "行,保养规格不能为空";
                        objJsonResult.data = null;
                        throw new Exception("保养规格不能为空");
                }
                    DataSet Cs;
                    Int64 NewHEntryID = 1;
                    Int64 newHFlag = 1;
                    Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Gy_EquipFileBillSub_MaintainRule", "Gy_EquipFileBillSub_MaintainRule");
                    if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
                    {
                        NewHEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString());
                        NewHEntryID += 1;
                    }
                    if(oSub.HStdFlag == true)
                    {
                        newHFlag = 1;
                    }
                    else
                    {
                        newHFlag = 0;
                    }
                    oCN.RunProc($@"Insert into Gy_EquipFileBillSub_MaintainRule
                (HInterID,HBillNo_bak,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,
                 HMaintainRuleID,HStdFlag
               )
                 values({HInterID},'{HBillNo}',{NewHEntryID},'{oSub.HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HRelationQty},{oSub.HRelationMoney}
                ,{oSub.HMaintainRuleID},{newHFlag})");
                }
                i = 0;
                //保存点检规程
                foreach (ClsGy_EquipFileBillSub_DotCheckRule oSub in DotCheckRuleColl)
                {
                    i++;
                    if (oSub.HDotCheckRuleID <= 0 || oSub.HDotCheckRuleID == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "第" + i + "行,点检规程不能为空";
                        objJsonResult.data = null;
                        throw new Exception("点检规程不能为空");
                    }
                    DataSet Cs;
                    Int64 NewHEntryID = 1;
                    Int64 newHFlag = 1;
                    Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Gy_EquipFileBillSub_DotCheckRule", "Gy_EquipFileBillSub_DotCheckRule");
                    if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
                    {
                        NewHEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString());
                        NewHEntryID += 1;
                    }
                    if (oSub.HStdFlag == true)
                    {
                        newHFlag = 1;
                    }
                    else
                    {
                        newHFlag = 0;
                    }
                    oCN.RunProc($@"Insert into Gy_EquipFileBillSub_DotCheckRule
                (HInterID,HBillNo_bak,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,
                 HDotCheckRuleID,HStdFlag
               )
                 values({HInterID},'{HBillNo}',{NewHEntryID},'{oSub.HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HRelationQty},{oSub.HRelationMoney}
                ,{oSub.HDotCheckRuleID},{newHFlag})");
                }
                //修改上级为非末级代码
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存子表成功!";
                //objJsonResult.data = null;
                return objJsonResult;
        }
        #endregion
        #region[设备履历(点击主表带出从表)]
        [Route("Gy_EquipFileMain/Sb_EquipFileBillResumeDate")]
        [HttpGet]