using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Pub_Class;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Web.Http;
using WebAPI.Models;
namespace WebAPI.Controllers
{
public class Gy_CustomerController : ApiController
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
public DBUtility.ClsPub.Enum_BillStatus BillStatus;
private json objJsonResult = new json();
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
DataSet ds;
///
/// 返回客户列表
///参数:string sql。
///返回值:object。
///
[Route("Gy_Customer/list")]
[HttpGet]
public object list(string sWhere, string user, string Organization)
{
try
{
List columnNameList = new List();
//编辑权限
if (!DBUtility.ClsPub.Security_Log_second("Crm_CustomerFileList", 1, false, user))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "无查看权限!";
objJsonResult.data = null;
return objJsonResult;
}
string sql1 = string.Format(@"select * from h_v_Gy_CustomerList where 组织名称='" + Organization + "'");
if (sWhere == null || sWhere.Equals(""))
{
ds = oCN.RunProcReturn(sql1 + sWhere + " order by 客户代码 ", "h_v_Gy_CustomerList");
}
else
{
string sql = sql1 + sWhere + " order by 客户代码 ";
ds = oCN.RunProcReturn(sql, "h_v_Gy_CustomerList");
}
//添加列名
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;
}
}
///
/// 客户列表修改按钮方法
///参数:string sql。
///返回值:object。
///
[Route("Gy_Customer/xg")]
[HttpGet]
public object xg(long HInterID)
{
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.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
left join Gy_AreaSet a on c.HAreaID=a.HItemID
left join Gy_Currency r on c.HCurID=r.HItemID
left join Gy_SettleStyle s on c.HSSID=s.HItemID
left join Gy_CusType t on c.HCusTypeID=t.HItemID
where c.HItemID='" + HInterID + "'");
ds = oCN.RunProcReturn(sql, "Gy_Customer");
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;
}
}
///
/// 获取最大基础资料ID
///参数:string sql。
///返回值:object。
///
[Route("Gy_Customer/GetMAXBillID")]
[HttpGet]
public object GetMAXBillID()
{
try
{
ds = oCN.RunProcReturn("select max(hitemid)+1 hitemid from Gy_Customer", "Gy_Customer");
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;
}
}
///
/// 客户列表树形结构
///参数:string sql。
///返回值:object。
///
[Route("Gy_Customer/LoadTree")]
[HttpGet]
public object LoadTree_Json(string sWhere)
{
SQLHelper.ClsCN SubCn = new SQLHelper.ClsCN();
//ds = oCN.RunProcReturn("select * from h_v_IF_GroupList " + sWhere, "h_v_IF_GroupList");
ds = oCN.RunProcReturn("select * from h_v_CustomerLoadTree", "h_v_CustomerLoadTree");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "false!";
objJsonResult.data = null;
return objJsonResult;
}
else
{
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "Sucess!";
objJsonResult.data = ds.Tables[0];
return objJsonResult;
}
}
///
/// 新增单据-保存按钮
///参数:string sql。
///返回值:object。
///
[Route("Gy_Customer/AddBill")]
[HttpPost]
public object AddBill([FromBody] JObject oMain)
{
try
{
var _value = oMain["oMain"].ToString();
string msg3 = _value.ToString();
string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
string msg1 = sArray[0].ToString();
string msg2 = sArray[1].ToString();
//反序列化
msg1 = "[" + msg1.ToString() + "]";
DAL.ClsGy_Customer_Ctl oDept = new DAL.ClsGy_Customer_Ctl();
DAL.ClsGy_Customer_View oDeptHlp = new DAL.ClsGy_Customer_View();
//编辑权限
if (!DBUtility.ClsPub.Security_Log_second("Gy_Customer_Edit", 1, false, msg2))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "无保存权限!";
objJsonResult.data = null;
return objJsonResult;
}
List list = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg1);
long HItemID = list[0].HItemID;
string HNumber = list[0].HNumber;
string HName = list[0].HName;
string HShortNumber = list[0].HShortNumber;
long HLevel = list[0].HLevel;
string HEndFlag = list[0].HEndFlag;
long HParentID = list[0].HParentID;
string HRemark = list[0].HRemark;
string HStopflag = list[0].HStopFlag;
string HHelpCode = list[0].HHelpCode;
string HShortName = list[0].HShortName;
string HAddress = list[0].HAddress;
string HLinkMan = list[0].HLinkMan;
string HLinkPhone = list[0].HLinkPhone;
string HMobilePhone = list[0].HMobilePhone;
string HFax = list[0].HFax;
string HPostalCode = list[0].HPostalCode;
string HEmail = list[0].HEmail;
string HBank = list[0].HBank;
string HBankAccount = list[0].HBankAccount;
string HTaxNum = list[0].HTaxNum;
double HTaxRate = list[0].HTaxRate;
string HCountry = list[0].HCountry;
string HCorMan = list[0].HCorMan;
string HEnglishName = list[0].HEnglishName;
string HEnglishAddress = list[0].HEnglishAddress;
long HCurID = list[0].HCurID;
long HSSID = list[0].HSSID;
long HAreaID = list[0].HAreaID;
string HCusStatus = list[0].HCusStatus;
long HCusTypeID = list[0].HCusTypeID;
string HUseFlag = list[0].HUseFlag;
long HCreditDate = list[0].HCreditDate;
long HCreditRatingDate = list[0].HCreditRatingDate;
long HMaxCredRatingDate = list[0].HMaxCreditRatingDate;
double HMonthUseQty = list[0].HMonthUseQty;
double HForecastCreditRating = list[0].HForecastCreditRating;
long HCreditLevelID = list[0].HCreditLevelID;
double HCountAccrualRating = list[0].HCountAccrualRating;
double HSubsidyAccrualRating = list[0].HSubsidyAccrualRating;
double HCreditRating = list[0].HCreditRating;
double HMaxCreditRating = list[0].HMaxCreditRating;
long HEmpID = list[0].HEmpID;
long HERPItemID = list[0].HERPItemID;
DateTime HMakeTime = list[0].HMakeTime;
long HCreateOrgID = list[0].HCREATEORGID;
long HUseOrgID = list[0].HUSEORGID;
//DateTime HDeleteDate = list[0].HDeleteDate;
if (!DBUtility.ClsPub.AllowNumber(HNumber))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "代码中不能出现连续‘.’并且首位末位不能为‘.’!";
objJsonResult.data = null;
return objJsonResult;
}
//若MAINDI重复则重新获取
oCN.BeginTran();
//主表
oCN.RunProc("Insert into Gy_Customer " +
" (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) " +
" Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + HParentID +
", " + HLevel + ",0,'" + 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 + "," + HMaxCredRatingDate +
"," + HMonthUseQty + "," + HForecastCreditRating + "," + HCreditLevelID + "," + HCountAccrualRating +
"," + HSubsidyAccrualRating + "," + HCreditRating + "," + HMaxCreditRating +
", " + HCusTypeID + ")");
//修改上级为非末级代码
oCN.RunProc("Update Gy_Customer set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
oCN.Commit();
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "新增单据成功!";
//objJsonResult.data = null;
return objJsonResult;
}
catch (Exception e)
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "Exception!" + e.Message;
objJsonResult.data = null;
return objJsonResult;
}
}
[Route("Gy_Customer/SaveGy_CustomerListApi")]
[HttpPost]
public object SaveGy_CustomerListApi([FromBody] JObject oMain)
{
try
{
var model = oMain["model"].ToString();
var custLocationModel = oMain["model"]["HCustLocationEntry"].ToString();
var custContactModel = oMain["model"]["HCustContactEntry"].ToString();
//反序列化
model = "[" + model + "]";
List lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject>(model);
List custLocationls = Newtonsoft.Json.JsonConvert.DeserializeObject>(custLocationModel);
List custContactls = Newtonsoft.Json.JsonConvert.DeserializeObject>(custContactModel);
string sql = string.Empty;
oCN.BeginTran();
sql = $"delete gy_Customer where HItemID = {lsmain[0].HItemID}";
oCN.RunProc(sql);
sql = "set identity_insert gy_Customer on";
oCN.RunProc(sql);
//主表_客户
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) " +
" 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 + ")");
sql = "set identity_insert gy_Customer off";
oCN.RunProc(sql);
//客户_交货地点
sql = $"delete Gy_CustLocation where HItemID = {lsmain[0].HItemID}";
oCN.RunProc(sql);
sql = "set identity_insert Gy_CustLocation on";
oCN.RunProc(sql);
foreach (var item in custLocationls)
{
sql = $@"insert into Gy_CustLocation(HItemID,HEntryID,HNumber,HName ,HShortNumber,HParentID ,HLevel
,HEndFlag,HStopflag,HRemark ,HHelpCode ,HUseFlag
,HMakeTime ,HMakeEmp ,HCheckEmp ,HCheckTime ,HModifyEmp
,HModifyTime ,HStopEmp ,HStopTime ,HUSEORGID,HCREATEORGID)
values({item.HItemID},{item.HENTRYID},'{item.HNumber}','{item.HName}','{item.HShortNumber}',{item.HParentID},{item.HLevel}
,{Convert.ToString(item.HEndFlag ? 1 : 0)},{Convert.ToString(item.HStopflag ? 1 : 0) },'{item.HRemark}','{item.HHelpCode}','{item.HUseFlag}'
,'{item.HMakeTime}','{item.HMakeEmp}','{item.HCheckEmp}','{item.HCheckTime}','{item.HModifyEmp}'
,'{item.HModifyTime}','{item.HStopEmp}',null,{item.HUSEORGID},{item.HCREATEORGID})";
oCN.RunProc(sql);
}
sql = "set identity_insert Gy_CustLocation off";
oCN.RunProc(sql);
//客户_收货方联系人
sql = $"delete Gy_COMMONCONTACT where HCUSTID = {lsmain[0].HItemID}";
oCN.RunProc(sql);
sql = "set identity_insert Gy_COMMONCONTACT on";
oCN.RunProc(sql);
foreach (var item in custContactls)
{
sql = $@"insert into Gy_COMMONCONTACT(HItemID,HCUSTID,HNumber,HName,HShortNumber,HParentID,HLevel,HEndFlag,HStopflag,
HRemark,HHelpCode,HUseFlag,HMakeTime,HMakeEmp,HCheckEmp,HCheckTime,HModifyEmp,HModifyTime,HStopEmp,HStopTime,
HUSEORGID,HCREATEORGID)
values({item.HItemID},{item.HCUSTID},'{item.HNumber}','{item.HName}','{item.HShortNumber}',{item.HParentID},{item.HLevel}
,{Convert.ToString(item.HEndFlag ? 1 : 0)},{Convert.ToString(item.HStopflag ? 1 : 0) },'{item.HRemark}','{item.HHelpCode}','{item.HUseFlag}'
,'{item.HMakeTime}','{item.HMakeEmp}','{item.HCheckEmp}','{item.HCheckTime}','{item.HModifyEmp}'
,'{item.HModifyTime}','{item.HStopEmp}','{item.HStopTime}',{item.HUSEORGID},{item.HCREATEORGID})";
oCN.RunProc(sql);
}
sql = "set identity_insert Gy_COMMONCONTACT off";
oCN.RunProc(sql);
oCN.Commit();
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "新增基础资料成功!";
//objJsonResult.data = null;
return objJsonResult;
}
catch (Exception e)
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "Exception!" + e.Message;
objJsonResult.data = null;
return objJsonResult;
}
}
///
/// 修改单据-保存按钮
///参数:string sql。
///返回值:object。
///
[Route("Gy_Customer/AddBill1")]
[HttpPost]
public object AddBill1([FromBody] JObject oMain)
{
try
{
DAL.ClsGy_Customer_Ctl oDept = new DAL.ClsGy_Customer_Ctl();
DAL.ClsGy_Customer_View oDeptHlp = new DAL.ClsGy_Customer_View();
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();//id
string msg4 = sArray[2].ToString();//当前用户
string msg5 = sArray[3].ToString();//权限模块代码
//反序列化
msg2 = "[" + msg2.ToString() + "]";
List list = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2);
long HItemID = int.Parse(msg3);
string HNumber = list[0].HNumber;
string HName = list[0].HName;
string HShortNumber = list[0].HShortNumber;
long HLevel = list[0].HLevel;
string HEndFlag = list[0].HEndFlag;
long HParentID = list[0].HParentID;
string HRemark = list[0].HRemark;
string HStopflag = list[0].HStopFlag;
string HHelpCode = list[0].HHelpCode;
string HShortName = list[0].HShortName;
string HAddress = list[0].HAddress;
string HLinkMan = list[0].HLinkMan;
string HLinkPhone = list[0].HLinkPhone;
string HMobilePhone = list[0].HMobilePhone;
string HFax = list[0].HFax;
string HPostalCode = list[0].HPostalCode;
string HEmail = list[0].HEmail;
string HBank = list[0].HBank;
string HBankAccount = list[0].HBankAccount;
string HTaxNum = list[0].HTaxNum;
double HTaxRate = list[0].HTaxRate;
string HCountry = list[0].HCountry;
string HCorMan = list[0].HCorMan;
string HEnglishName = list[0].HEnglishName;
string HEnglishAddress = list[0].HEnglishAddress;
long HCurID = list[0].HCurID;
long HSSID = list[0].HSSID;
long HAreaID = list[0].HAreaID;
string HCusStatus = list[0].HCusStatus;
long HCusTypeID = list[0].HCusTypeID;
string HUseFlag = list[0].HUseFlag;
long HCreditDate = list[0].HCreditDate;
long HCreditRatingDate = list[0].HCreditRatingDate;
long HMaxCredRatingDate = list[0].HMaxCreditRatingDate;
double HMonthUseQty = list[0].HMonthUseQty;
double HForecastCreditRating = list[0].HForecastCreditRating;
long HCreditLevelID = list[0].HCreditLevelID;
double HCountAccrualRating = list[0].HCountAccrualRating;
double HSubsidyAccrualRating = list[0].HSubsidyAccrualRating;
double HCreditRating = list[0].HCreditRating;
double HMaxCreditRating = list[0].HMaxCreditRating;
long HEmpID = list[0].HEmpID;
long HERPItemID = list[0].HERPItemID;
DateTime HMakeTime = list[0].HMakeTime;
long HCreateOrgID = list[0].HCREATEORGID;
long HUseOrgID = list[0].HUSEORGID;
//判断权限
if (!ClsPub.Security_Log(msg5, 1, false, msg4))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "没有找到该功能模块!";
objJsonResult.data = null;
return objJsonResult;
}
if (!DBUtility.ClsPub.AllowNumber(HNumber))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "代码中不能出现连续‘.’并且首位末位不能为‘.’!";
objJsonResult.data = null;
return objJsonResult;
}
//若MAINDI重复则重新获取
oCN.BeginTran();
//主表
oCN.RunProc("Update Gy_Customer set " +
" HNumber='" + HNumber + "'" +
",HName='" + HName + "'" +
",HShortNumber='" + HShortNumber + "'" +
",HLevel ='" + HLevel + "'" +
",HEndFlag ='" + HEndFlag + "'" +
",HParentID='" + HParentID + "'" +
",HStopflag ='" + HStopflag + "'" +
",HHelpCode ='" + HHelpCode + "'" +
",HShortName ='" + HShortName + "'" +
",HAddress ='" + HAddress + "'" +
",HLinkMan ='" + HLinkMan + "'" +
",HLinkPhone ='" + HLinkPhone + "'" +
",HMobilePhone ='" + HMobilePhone + "'" +
",HFax ='" + HFax + "'" +
",HPostalCode ='" + HPostalCode + "'" +
",HEmail ='" + HEmail + "'" +
",HBank ='" + HBank + "'" +
",HBankAccount ='" + HBankAccount + "'" +
",HTaxNum ='" + HTaxNum + "'" +
",HTaxRate ='" + HTaxRate + "'" +
",HCountry ='" + HCountry + "'" +
",HEnglishName ='" + HEnglishName + "'" +
",HCorMan ='" + HCorMan + "'" +
",HEnglishAddress ='" + HEnglishAddress + "'" +
",HCurID ='" + HCurID + "'" +
",HSSID ='" + HSSID + "'" +
",HAreaID ='" + HAreaID + "'" +
",HCusStatus ='" + HCusStatus + "'" +
",HCusTypeID ='" + HCusTypeID + "'" +
",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);
//
oCN.Commit();
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "修改单据成功!";
//objJsonResult.data = null;
return objJsonResult;
}
catch (Exception e)
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "Exception!" + e.Message;
objJsonResult.data = null;
return objJsonResult;
}
}
///
/// 客户列表删除按钮
///参数:string sql。
///返回值:object。
///
[Route("Gy_Customer/Delete_Json")]
[HttpGet]
public object Delete_Json(long HItemID, string User, string ModRightNameDelete)
{
DAL.ClsGy_Customer_Ctl oDept = new DAL.ClsGy_Customer_Ctl();
DAL.ClsGy_Customer_View oDeptHlp = new DAL.ClsGy_Customer_View();
try
{
if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, false, User))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "没有删除权限";
objJsonResult.data = null;
return objJsonResult;
}
if (oDeptHlp.GetInfoByID(HItemID))
{
if (oDept.HavChildCodes(HItemID))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "此项目存在子项目,不能删除!";
objJsonResult.data = null;
return objJsonResult;
}
//删除前判断是否 已使用 20141020
if (oDeptHlp.omodel.HUseFlag != "未使用")
{
objJsonResult.code = "0";
objJsonResult.count = 0;
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;
}
}
//ds = oCN.RunProcReturn("delete from Gy_Department where HItemID = " + HItemID, "Gy_Department");
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "删除成功";
objJsonResult.data = null;
return objJsonResult;
}
catch (Exception e)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "Exception!" + e.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
#region [同步基础资料]
[Route("Gy_Customer/Gy_CustomerViewApi")]
[HttpGet]
public json Gy_CustomerViewApi(string Number, string Type)
{
string sql = string.Empty;
string sReturn = "";
if (oSystemParameter.ShowBill(ref sReturn) == true)
{
//系统参数是否为私有云模式,N为公有云模式,Y为私有云模式
if (oSystemParameter.omodel.WMS_CloudMode == "Y")
{
#region [私有云模式,直接调用数据库存储过程更新]
try
{
oCN.BeginTran();
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet DS = oCn.RunProcReturn("exec h_p_WMS_ERPBasicInfoToLocal '" + Number + "','" + Type + "'", "h_p_WMS_ERPBasicInfoToLocal");
if (DS == null)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "基础资料同步失败";
objJsonResult.data = null;
return objJsonResult;
}
else
{
if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HBack"]) == "2")
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "ERP中不存在该代码";
objJsonResult.data = null;
return objJsonResult;
}
else
{
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "基础资料同步成功";
objJsonResult.data = null;
return objJsonResult;
}
}
}
catch (Exception e)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "Exception!" + e.ToString();
objJsonResult.data = null;
return objJsonResult;
}
#endregion
}
else
{
#region [公有云模式,调用WEBAPI的方式进行更新]
var json = new
{
CreateOrgId = 0,
Number = Number,
Id = ""
};
#region [金蝶部分]
//登录金蝶
var loginRet = InvokeHelper.Login();
var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value();
//判断是否登录成功
if (isSuccess < 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = loginRet;
objJsonResult.data = null;
return objJsonResult;
}
//查看 获取数据
var _result = InvokeHelper.View("BD_Customer", JsonConvert.SerializeObject(json));
var _saveObj = JObject.Parse(_result);
//判断数据是否获取成功
if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "金蝶客户同步失败jsonRoot:" + _result;
objJsonResult.data = null;
return objJsonResult;
}
#endregion
//获取数据
DataSet Ds;
Ds = oCN.RunProcReturn("select * from Gy_Customer where HNumber = '" + Number + "'", "Gy_Customer");
if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemID"].ToString()) != 0)
{
}
#region [表数据赋值]
var jsonData = new
{
HItemID = _saveObj["Result"]["Result"]["Id"],
HERPItemID = _saveObj["Result"]["Result"]["Id"],
HNumber = _saveObj["Result"]["Result"]["Number"],
HName = _saveObj["Result"]["Result"]["Name"][0]["Value"],
HShortNumber = _saveObj["Result"]["Result"]["Number"],
HParentID = 0,
HLevel = 1,
HEndFlag = 1,
HStopflag = _saveObj["Result"]["Result"]["ForbidStatus"].ToString() == "A" ? 0 : 1,
HRemark = "CLD-ERP导入",
HUseFlag = "已使用",
HMakeTime = _saveObj["Result"]["Result"]["CreateDate"],
HCREATEORGID = _saveObj["Result"]["Result"]["CreateOrgId_Id"],
HUSEORGID = _saveObj["Result"]["Result"]["UseOrgId_Id"],
};
#endregion
// 删除主表对应数据
sql = $"delete from Gy_Customer where HItemID = " + jsonData.HItemID + " and HNumber = '" + Number + "'";
oCN.RunProc(sql);
sql = "set identity_insert Gy_Customer on";
oCN.RunProc(sql);
//插入表
sql = $@"
insert into Gy_Customer
(HItemID,HERPItemID,HNumber,HName,HShortNumber,HParentID
,HLevel,HEndFlag,HStopflag,HRemark,HUseFlag,HMakeTime,HCREATEORGID,HUSEORGID
)
values
({jsonData.HItemID},{jsonData.HERPItemID},'{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);
sql = "set identity_insert Gy_Customer off";
oCN.RunProc(sql);
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "客户同步成功!";
objJsonResult.data = null;
return objJsonResult;
#endregion
}
}
else
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "基础资料读取失败!";
objJsonResult.data = null;
return objJsonResult;
}
}
#endregion
}
}