chenhaozhe
2025-10-22 549df1cac1529f4fc9b5d9b64e27de5d5d8b8951
WebAPI/Controllers/BaseSet/Gy_SupplierController.cs
@@ -247,6 +247,7 @@
        }
        #endregion
        #region 获取供应商编辑查看 视图
        /// <summary>
        /// 供应商列表修改按钮方法
        ///参数:string sql。
@@ -281,8 +282,46 @@
                return objJsonResult;
            }
        }
        #endregion
        #region 获取供应商编辑查看 视图 扩展制单信息
        /// <summary>
        /// 供应商列表修改按钮方法
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Gy_Supplier/xg_ExpendBillMake")]
        [HttpGet]
        public object xg_ExpendBillMake(long HInterID)
        {
            try
            {
                string sql = string.Format(@"select  * from h_v_Gy_SupplierEdit_ExpendBillMake where HItemID='" + HInterID + "'");
                ds = oCN.RunProcReturn(sql, "h_v_Gy_SupplierEdit_ExpendBillMake");
                DataSet cs = oCN.RunProcReturn("select * from Gy_Supplier_PayPlan where HSupID = '" + HInterID + "'", "Gy_Supplier_PayPlan");
                DataSet cs1 = oCN.RunProcReturn("select * from Gy_Supplier_Link where HSupID = '" + HInterID + "'", "Gy_Supplier_Link");
                List<Object> list = new List<object>();
                list.Add(cs);
                list.Add(cs1);
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = list;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 单据保存结合复制功能
        /// <summary>
        /// 新增单据-保存按钮
        ///参数:string sql。
@@ -345,6 +384,7 @@
                string HMaterClass = list[0].HMaterClass;
                long HPSStyleID = list[0].HPSStyleID;
                long HSupTypeID = list[0].HSupTypeID;
                string HMaker = list[0].HMaker;
                if (!DBUtility.ClsPub.AllowNumber(HNumber))
                {
@@ -356,6 +396,17 @@
                }
                //若MAINDI重复则重新获取
                oCN.BeginTran();
                // 若在新增和复制中存在相同组织,则返回错误信息
                DataSet ds_check = oCN.RunProcReturn(@"select * from Gy_Supplier where HNumber ='" + HNumber + "'" + "and HUSEORGID = '" + HUseOrgID + "'", "Gy_Supplier");
                if (ds_check.Tables[0].Rows.Count != 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "相同组织下不能存在相同供应商代码!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //主表
                oCN.RunProc("Insert Into Gy_Supplier " +
                "(HNumber,HName,HHelpCode,HShortNumber,HParentID" +
@@ -363,13 +414,13 @@
                    ",HShortName,HAddress,HLinkMan,HLinkPhone,HMobilePhone" +
                    ",HFax,HPostalCode,HEmail,HBank,HBankAccount" +
                    ",HTaxNum,HTaxRate,HCountry,HCorMan,HEnglishName" +
                    ",HEnglishAddress,HCurID,HSSID,HAreaID,HMaterClass,HUSEORGID,HCREATEORGID,HPSStyleID,HSupTypeID) " +
                    ",HEnglishAddress,HCurID,HSSID,HAreaID,HMaterClass,HUSEORGID,HCREATEORGID,HPSStyleID,HSupTypeID,HMaker) " +
                " values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "','" + HParentID + "'" +
                "," + HLevel + ",1,'" + HStopflag + "','" + HRemark + "'" +
                ",'" + HShortName + "','" + HAddress + "','" + HLinkMan + "','" + HLinkPhone + "','" + HMobilePhone + "'" +
                ",'" + HFax + "','" + HPostalCode + "','" + HEmail + "','" + HBank + "','" + HBankAccount + "'" +
                ",'" + HTaxNum + "','" + HTaxRate + "','" + HCountry + "','" + HCorMan + "','" + HEnglishName + "'" +
                ",'" + HEnglishAddress + "'," + HCurID + "," + HSSID + "," + HAreaID +" ,'" + HMaterClass + " ','" + HUseOrgID + "' ,'" + HCreateOrgID + "' ,'" + HPSStyleID+ "' ,'" + HSupTypeID +
                ",'" + HEnglishAddress + "'," + HCurID + "," + HSSID + "," + HAreaID +" ,'" + HMaterClass + " ','" + HUseOrgID + "' ,'" + HCreateOrgID + "' ,'" + HPSStyleID+ "' ,'" + HSupTypeID + "' ,'" + HMaker +
              "') ");
                //修改上级为非末级代码
                oCN.RunProc("Update Gy_Supplier set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
@@ -420,6 +471,7 @@
                return objJsonResult;
            }
        }
        #endregion
        [Route("Gy_Supplier/SaveGy_SupplierListApi")]
        [HttpPost]
@@ -428,35 +480,78 @@
            try
            {
                var _value = msg["model"].ToString();
                LogService.Write("1" + _value);
                var entry = msg["model"]["HENTRY"].ToString();
                LogService.Write("1" + _value);
                LogService.Write("12" + entry);
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                //反序列化
                _value = "[" + _value.ToString() + "]";
                List<Supplier> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Supplier>>(_value);
                List<Model.ClsGy_SupplierContact_Model> lssub = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_SupplierContact_Model>>(entry);
                string sql = string.Empty;
                 LogService.Write("2");
                //保存
                oCN.BeginTran();
                sql = $"delete from Gy_Supplier where HItemID = {lsmain[0].HItemID}";
                LogService.Write("3");
                oCN.RunProc(sql);
                sql = "set identity_insert Gy_Supplier on";
                oCN.RunProc(sql);
                LogService.Write("供应商同步" + @"Insert Into Gy_Supplier " +
                 "(HItemID,HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                     ",HLevel,HEndFlag,HStopflag,HRemark" +
                     ",HShortName,HAddress,HLinkMan,HLinkPhone,HMobilePhone" +
                     ",HFax,HPostalCode,HEmail,HBank,HBankAccount" +
                     ",HTaxNum,HTaxRate,HCountry,HCorMan,HEnglishName" +
                     ",HEnglishAddress,HCurID,HSSID,HAreaID,HMaterClass,HERPItemID,HUseOrgID,HCreateOrgID) " +
                 " values('" + lsmain[0].HItemID + "','" + lsmain[0].HNumber + "','" + lsmain[0].HName + "','" + lsmain[0].HHelpCode + "','" + lsmain[0].HShortNumber + "','" + lsmain[0].HParentID + "'" +
                 "," + lsmain[0].HLevel + ",0,'" + lsmain[0].HStopflag + "','" + lsmain[0].HRemark + "'" +
                 ",'" + lsmain[0].HShortName + "','" + lsmain[0].HAddress + "','" + lsmain[0].HLinkMan + "','" + lsmain[0].HLinkPhone + "','" + lsmain[0].HMobilePhone + "'" +
                 ",'" + lsmain[0].HFax + "','" + lsmain[0].HPostalCode + "','" + lsmain[0].HEmail + "','" + lsmain[0].HBank + "','" + lsmain[0].HBankAccount + "'" +
                 ",'" + lsmain[0].HTaxNum + "','" + lsmain[0].HTaxRate + "','" + lsmain[0].HCountry + "','" + lsmain[0].HCorMan + "','" + lsmain[0].HEnglishName + "'" +
                 ",'" + lsmain[0].HEnglishAddress + "'," + lsmain[0].HCurID + "," + lsmain[0].HSSID + "," + lsmain[0].HAreaID + ",'" + lsmain[0].HMaterClass +
                 "'," + lsmain[0].HItemID + ",'" + lsmain[0].HUseOrgID + "','" + lsmain[0].HCreateOrgID +
                  "') ");
                oCN.RunProc("Insert Into Gy_Supplier " +
                 "(HItemID,HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                     ",HLevel,HEndFlag,HStopflag,HRemark" +
                     ",HShortName,HAddress,HLinkMan,HLinkPhone,HMobilePhone" +
                     ",HFax,HPostalCode,HEmail,HBank,HBankAccount" +
                     ",HTaxNum,HTaxRate,HCountry,HCorMan,HEnglishName" +
                     ",HEnglishAddress,HCurID,HSSID,HAreaID,HMaterClass,HERPItemID) " +
                     ",HEnglishAddress,HCurID,HSSID,HAreaID,HMaterClass,HERPItemID,HUseOrgID,HCreateOrgID) " +
                 " values('" + lsmain[0].HItemID + "','" + lsmain[0].HNumber + "','" + lsmain[0].HName + "','" + lsmain[0].HHelpCode + "','" + lsmain[0].HShortNumber + "','" + lsmain[0].HParentID + "'" +
                 "," + lsmain[0].HLevel + ",0,'" + lsmain[0].HStopflag + "','" + lsmain[0].HRemark + "'" +
                 ",'" + lsmain[0].HShortName + "','" + lsmain[0].HAddress + "','" + lsmain[0].HLinkMan + "','" + lsmain[0].HLinkPhone + "','" + lsmain[0].HMobilePhone + "'" +
                 ",'" + lsmain[0].HFax + "','" + lsmain[0].HPostalCode + "','" + lsmain[0].HEmail + "','" + lsmain[0].HBank + "','" + lsmain[0].HBankAccount + "'" +
                 ",'" + lsmain[0].HTaxNum + "','" + lsmain[0].HTaxRate + "','" + lsmain[0].HCountry + "','" + lsmain[0].HCorMan + "','" + lsmain[0].HEnglishName + "'" +
                 ",'" + lsmain[0].HEnglishAddress + "'," + lsmain[0].HCurID + "," + lsmain[0].HSSID + "," + lsmain[0].HAreaID +",'"+lsmain[0].HMaterClass+ 
                 "'," + lsmain[0].HItemID +
                  ") ");
                //修改上级为非末级代码
                 "'," + lsmain[0].HItemID + ",'" + lsmain[0].HUseOrgID + "','" + lsmain[0].HCreateOrgID +
                  "') ");
                sql = "set identity_insert Gy_Supplier off";
                oCN.RunProc(sql);
                ///////////
                foreach (var osub in lssub)
                {
                    sql = " set identity_insert Gy_SupplierContact on";
                    oCN.RunProc(sql);
                    LogService.Write("开始插入供应商联系人");
                    sql = $"delete from Gy_SupplierContact where HItemID = {osub.HItemID}";
                    oCN.RunProc(sql);
                    oCN.RunProc("insert into Gy_SupplierContact" +
                     "(HItemID,HNumber,HName,HShortNumber,HParentID,HLevel" +
                    ", HEndFlag, HStopflag, HRemark, HUseFlag, HIsDefault, HUSEORGID, HCREATEORGID) " +
                     " values('" + osub.HItemID + "','" + osub.HNumber + "','" + osub.HName + "'," + "'" + osub.HShortNumber + "'," + osub.HParentID + "," + osub.HLevel + ",'" + osub.HEndFlag + "','" + osub.HStopflag + "'" +
                     "," + "'" + osub.HRemark + "'" + ",'" + osub.HUseFlag + "','" + osub.HIsDefault + "'," + osub.HUSEORGID + "," + osub.HCREATEORGID +
                      ") ");
                    sql = "set identity_insert Gy_SupplierContact off";
                    oCN.RunProc(sql);
                }
                //修改上级为非末级代码
                LogService.Write("插入供应商联系人compelete");
                oCN.Commit();
                objJsonResult.code = "1";
@@ -467,6 +562,7 @@
            }
            catch (Exception e)
            {
                LogService.Write(e);
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
@@ -480,7 +576,6 @@
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Gy_Supplier/AddBill1")]
        [HttpPost]
        public object AddBill1([FromBody] JObject oMain)
@@ -552,6 +647,10 @@
                    return objJsonResult;
                }
                if(HItemID == 0) // 使用新增函数
                {
                }
                if (!DBUtility.ClsPub.AllowNumber(HNumber))
                {
@@ -643,6 +742,7 @@
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;