zrg
2024-08-02 b34f4ee212f32e35809cbc875288154a39650dc0
WebAPI/Controllers/BaseSet/Gy_CustomerController.cs
@@ -93,6 +93,49 @@
            }
        }
        #region 客户子表[关联用户] 查询
        /// <summary>
        /// 返回客户子表[关联用户]列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Gy_Customer/RelationUserlist")]
        [HttpGet]
        public object RelationUserlist(Int64 HCusID)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                string sql = "select * from h_v_Gy_Customer_RelationUsers_Query where HCusID = " + HCusID + " order by 用户编码 asc";
                ds = oCN.RunProcReturn(sql, "h_v_Gy_Customer_RelationUsers_Query");
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        /// <summary>
        /// 客户列表修改按钮方法
        ///参数:string sql。
@@ -105,7 +148,7 @@
            try
            {
                string sql = string.Format(@"select  c.HItemID,c.HNumber 客户代码,c.HName 客户名称,c.HHelpCode  助记码,c.HShortName 简称,c.HAddress 地址,c.HLinkMan 联系人,c.HLinkPhone 联系电话
                                            ,c.HMobilePhone 手机,c.HFax 传真,c.HPostalCode 邮编,c.HEmail 电子邮件,c.HCorMan 法人代表,c.HBank 开户银行,c.HBankAccount 银行账号,
                                            ,c.HMobilePhone 手机,c.HFax 传真,c.HPostalCode 邮编,c.HEmail 电子邮件,c.HCorMan 法人代表,c.HBank 开户银行,c.HBankAccount 银行账号,c.HMateOutEmp 领用人,
                                            c.HTaxNum 税务登记号,c.HTaxRate 增值税率,c.HEnglishName 英文名称,c.HEngLishAddress 英文地址,c.HCountry 国家,c.HCusStatus 客户状态
                                            ,c.HStopflag 禁用标志,c.HRemark 备注,c.HAreaID 地区ID,a.HName 地区名称,c.HCurID 默认货币ID,r.HName 默认货币,
                                            c.HSSID 结算方式ID,s.HName 结算方式,c.HCusTypeID 客户分类ID,t.HName 客户分类 from Gy_Customer c
@@ -130,6 +173,45 @@
                return objJsonResult;
            }
        }
        #region 获取当前最大的客户代码
        [Route("Gy_Customer/getMaxCusNumber")]
        [HttpGet]
        public object getMaxCusNumber()
        {
            try
            {
                string sql = "select top(1) * from Gy_Customer order by HNumber desc";
                ds = oCN.RunProcReturn(sql, "Gy_Customer");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "尚未存在客户,请自主维护客户代码!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        /// <summary>
        /// 获取最大基础资料ID
@@ -272,7 +354,7 @@
                DateTime HMakeTime = list[0].HMakeTime;
                long HCreateOrgID = list[0].HCREATEORGID;
                long HUseOrgID = list[0].HUSEORGID;
                string HMateOutEmp = list[0].HMateOutEmp;
                //DateTime HDeleteDate = list[0].HDeleteDate;
@@ -300,7 +382,7 @@
                    ",HEmpID,HCreditDate,HCreditRatingDate,HMaxCreditRatingDate" +
                    ",HMonthUseQty,HForecastCreditRating,HCreditLevelID,HCountAccrualRating" +
                    ",HSubsidyAccrualRating,HCreditRating,HMaxCreditRating" +
                    ",HCusTypeID,HCREATEORGID,HUSEORGID) " +
                    ",HCusTypeID,HCREATEORGID,HUSEORGID,HMateOutEmp) " +
                    " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + HParentID +
                    ", " + HLevel + ",1,'" + HStopflag + "','" + HRemark + "'" +
                    ",'" + HShortName + "','" + HAddress + "','" + HLinkMan + "','" + HLinkPhone + "','" + HMobilePhone + "'" +
@@ -310,9 +392,25 @@
                    "," + HEmpID + "," + HCreditDate + "," + HCreditRatingDate + "," + HMaxCredRatingDate +
                    "," + HMonthUseQty + "," + HForecastCreditRating + "," + HCreditLevelID + "," + HCountAccrualRating +
                    "," + HSubsidyAccrualRating + "," + HCreditRating + "," + HMaxCreditRating +
                    ", " + HCusTypeID + ","+ HCreateOrgID + ","+ HUseOrgID + ")");
                    ", " + HCusTypeID + ","+ HCreateOrgID + ","+ HUseOrgID + ",'"+ HMateOutEmp + "')");
                //修改上级为非末级代码
                oCN.RunProc("Update Gy_Customer set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                //保存后控制
                string sql = "select * from Gy_Customer where HNumber = '" + HNumber + "' and HName = '" + HName + "' and HUSEORGID = " + HUseOrgID;
                ds = oCN.RunProcReturn(sql, "Gy_Customer");
                HItemID = Int64.Parse(ds.Tables[0].Rows[0]["HItemID"].ToString());
                ds = oCN.RunProcReturn("exec h_p_Gy_Customer_AfterSaveCtrl " + HItemID, "h_p_Gy_Customer_AfterSaveCtrl");
                if (ds.Tables[0].Rows[0]["HBack"].ToString() == "1")
                {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "Exception!" + ds.Tables[0].Rows[0]["HBackRemark"].ToString();
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
@@ -340,6 +438,7 @@
            try
            {
                var model = oMain["model"].ToString();
                LogService.Write("客户:" + model);
                var custLocationModel = oMain["model"]["HCustLocationEntry"].ToString();
                var custContactModel = oMain["model"]["HCustContactEntry"].ToString();
                //反序列化
@@ -353,8 +452,8 @@
                oCN.RunProc(sql);
                sql = "set identity_insert gy_Customer on";
                oCN.RunProc(sql);
                //主表_客户
                oCN.RunProc("Insert into Gy_Customer " +
                LogService.Write("客户:" + "Insert into Gy_Customer " +
                    " (HItemID,HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                    ",HLevel,HEndFlag,HStopflag,HRemark" +
                    ",HShortName,HAddress,HLinkMan,HLinkPhone,HMobilePhone" +
@@ -375,6 +474,28 @@
                    "," + lsmain[0].HMonthUseQty + "," + lsmain[0].HForecastCreditRating + "," + lsmain[0].HCreditLevelID + "," + lsmain[0].HCountAccrualRating +
                    "," + lsmain[0].HSubsidyAccrualRating + "," + lsmain[0].HCreditRating + "," + lsmain[0].HMaxCreditRating +
                    ", " + lsmain[0].HCusTypeID + ")");
                //主表_客户
                oCN.RunProc("Insert into Gy_Customer " +
                    " (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,HCusStatus" +
                    ",HEmpID,HCreditDate,HCreditRatingDate,HMaxCreditRatingDate" +
                    ",HMonthUseQty,HForecastCreditRating,HCreditLevelID,HCountAccrualRating" +
                    ",HSubsidyAccrualRating,HCreditRating,HMaxCreditRating" +
                    ",HCusTypeID,HERPItemID) " +
                    " 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].HCusStatus + "'" +
                    "," + lsmain[0].HEmpID + "," + lsmain[0].HCreditDate + "," + lsmain[0].HCreditRatingDate + "," + lsmain[0].HMaxCreditRatingDate +
                    "," + lsmain[0].HMonthUseQty + "," + lsmain[0].HForecastCreditRating + "," + lsmain[0].HCreditLevelID + "," + lsmain[0].HCountAccrualRating +
                    "," + lsmain[0].HSubsidyAccrualRating + "," + lsmain[0].HCreditRating + "," + lsmain[0].HMaxCreditRating +
                    ", " + lsmain[0].HCusTypeID + "," + lsmain[0].HItemID + ")");
                sql = "set identity_insert gy_Customer off";
                oCN.RunProc(sql);
                //客户_交货地点
@@ -510,7 +631,7 @@
                DateTime HMakeTime = list[0].HMakeTime;
                long HCreateOrgID = list[0].HCREATEORGID;
                long HUseOrgID = list[0].HUSEORGID;
                string HMateOutEmp = list[0].HMateOutEmp;
                //判断权限
                if (!ClsPub.Security_Log(msg5, 1, false, msg4))
@@ -567,12 +688,28 @@
                    ",HAreaID  ='" + HAreaID + "'" +
                    ",HCusStatus  ='" + HCusStatus + "'" +
                    ",HCusTypeID  ='" + HCusTypeID + "'" +
                    ",HRemark= '" + HRemark + "' Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                    ",HMateOutEmp='"+ HMateOutEmp+
                    "',HRemark= '" + HRemark + "' Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                //修改子项目代码
                //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_Department,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
                //将上级 为非末级
                oCN.RunProc("Update Gy_Customer set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                //
                //保存后控制
                ds = oCN.RunProcReturn("exec h_p_Gy_Customer_AfterSaveCtrl " + HItemID, "h_p_Gy_Customer_AfterSaveCtrl");
                if (ds.Tables[0].Rows[0]["HBack"].ToString() == "1")
                {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "Exception!" + ds.Tables[0].Rows[0]["HBackRemark"].ToString();
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
@@ -634,25 +771,37 @@
                        return objJsonResult;
                    }
                    //
                    if (oDept.DeleteByID(HItemID))
                    try
                    {
                        //写入日志
                        ClsPub.Add_Log("", "删除项目,代码:" + oDeptHlp.omodel.HNumber + ",名称:" + oDeptHlp.omodel.HName, ClsPub.CurUserName);
                        //更新上级为 末级
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "删除成功";
                        objJsonResult.data = null;
                        return objJsonResult;
                        if (oDept.DeleteByID(HItemID))
                        {
                            //写入日志
                            ClsPub.Add_Log("", "删除项目,代码:" + oDeptHlp.omodel.HNumber + ",名称:" + oDeptHlp.omodel.HName, ClsPub.CurUserName);
                            //更新上级为 末级
                            objJsonResult.code = "1";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "删除成功";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "删除失败";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    else
                    catch (Exception e)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "删除失败";
                        objJsonResult.Message = "删除失败,该客户存在关联的销售订单、销售出库单、生产订单,或程序错误。";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                //ds = oCN.RunProcReturn("delete from Gy_Department where HItemID =  " + HItemID, "Gy_Department");
@@ -998,7 +1147,7 @@
               ,HLevel,HEndFlag,HStopflag,HRemark,HUseFlag,HMakeTime,HCREATEORGID,HUSEORGID
                 )
                values
                ({jsonData.HItemID},{jsonData.HERPItemID},'{jsonData.HNumber}','{jsonData.HName}',
                ({jsonData.HItemID},{jsonData.HItemID},'{jsonData.HNumber}','{jsonData.HName}',
                '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}','{jsonData.HUseFlag}','{jsonData.HMakeTime}',{jsonData.HCREATEORGID},{jsonData.HUSEORGID})";
                    oCN.RunProc(sql);