public static bool ConfirmSttlSubSellOrder(SubSellOrderModel SubSellOrderM) { try { SqlCommand comm = SubSellOrderDBHelper.ConfirmSettSubSellOrder(SubSellOrderM); //获取登陆用户信息 UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"]; //定义返回变量 bool isSucc = false; /* * 定义日志内容变量 * 增删改相关的日志,需要输出操作日志,该类型日志插入到数据库 * 其他的 如出现异常时,需要输出系统日志,该类型日志保存到日志文件 */ //执行插入操作 try { isSucc = SqlHelper.ExecuteTransWithCommand(comm); } catch (Exception ex) { //输出日志 WriteSystemLog(userInfo, ex); } //定义变量 string remark; //成功时 if (isSucc) { //设置操作成功标识 remark = ConstUtil.LOG_PROCESS_SUCCESS; } else { //设置操作成功标识 remark = ConstUtil.LOG_PROCESS_FAILED; } LogInfoModel logModel = InitLogInfo(SubSellOrderM.OrderNo); //涉及关键元素 这个需要根据每个页面具体设置,本页面暂时设置为空 logModel.Element = ConstUtil.LOG_PROCESS_STTL; //设置操作成功标识 logModel.Remark = remark; //登陆日志 LogDBHelper.InsertLog(logModel); return(isSucc); } catch (Exception ex) { throw ex; } }
public static DataTable SelectSubSellOrder(SubSellOrderModel SubSellOrderM, int pageIndex, int pageCount, string OrderBy, string EFIndex, string EFDesc, ref int totalCount) { try { SqlCommand comm = SubSellOrderDBHelper.SelectSubSellOrder(SubSellOrderM, pageIndex, pageCount, OrderBy, EFIndex, EFDesc, ref totalCount); //执行查询 return(SqlHelper.PagerWithCommand(comm, pageIndex, pageCount, OrderBy, ref totalCount)); } catch (Exception ex) { throw ex; } }
protected void btnImport_Click(object sender, ImageClickEventArgs e) { string companyCD = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).CompanyCD; SubSellOrderModel SubSellOrderM = new SubSellOrderModel(); SubSellOrderM.CompanyCD = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).CompanyCD; SubSellOrderM.OrderNo = this.txtOrderNo.Value.Trim(); SubSellOrderM.Title = this.txtOrderTitle.Value.Trim(); SubSellOrderM.SendMode = this.ddlSendMode.Value; SubSellOrderM.CustName = this.txtCustName.Value.Trim(); SubSellOrderM.CustTel = this.txtCustTel.Value.Trim(); SubSellOrderM.CustMobile = this.txtCustMobile.Value.Trim(); SubSellOrderM.CustAddr = this.txtCustAddr.Value.Trim(); SubSellOrderM.DeptID = this.hidDeptID.Value; SubSellOrderM.Seller = this.hidUserID.Value; SubSellOrderM.BusiStatus = this.ddlBusiStatus.Value; SubSellOrderM.BillStatus = this.ddlBillStatus.Value;; string EFIndex = GetBillExAttrControl1.GetExtIndexValue; string EFDesc = GetBillExAttrControl1.GetExtTxtValue; int totalCount = 0; DataTable dt = SubSellOrderBus.SelectSubSellOrder(SubSellOrderM, 1, 100000000, "ID desc", EFIndex, EFDesc, ref totalCount); //DataTable dt = WorkCenterBus.GetWorkCenterListBycondition(model, 1, 1000000, "ID desc", ref totalCount); //导出标题 string headerTitle = "订单编号|订单主题|发货模式|客户名称|客户联系电话|客户手机号|送货地址|销售分店|业务员|业务状态|单据状态"; string[] header = headerTitle.Split('|'); //导出标题所对应的列字段名称 string columnFiled = "OrderNo|Title|SendModeName|CustName|CustTel|CustMobile|CustAddr|DeptName|SellerName|BusiStatusName|BillStatusName"; string[] field = columnFiled.Split('|'); XBase.Common.OutputToExecl.ExportToTable(this.Page, dt, header, field, "销售订单"); }
/// <summary> /// 确认 /// </summary> /// <param name="SubSellOrderM"></param> /// <param name="SubSellOrderDetailMList"></param> /// <returns></returns> public static bool ConfirmOutSubSellOrder(SubSellOrderModel SubSellOrderM, List <SubSellOrderDetailModel> SubSellOrderDetailMList) { try { ArrayList lstConfirm = new ArrayList(); UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"]; int id = 0; decimal count = 0m; if (SubSellOrderM.SendMode == "1") {//分店发货 //确认时,更新分店存量表 foreach (SubSellOrderDetailModel SubSellOrderDetailM in SubSellOrderDetailMList) { #region 添加门店库存流水帐 SubStorageAccountModel aModel = new SubStorageAccountModel(); aModel.BatchNo = SubSellOrderDetailM.BatchNo; aModel.BillNo = SubSellOrderM.OrderNo; aModel.BillType = 3; aModel.CompanyCD = SubSellOrderDetailM.CompanyCD; aModel.PageUrl = ""; if (int.TryParse(SubSellOrderM.Creator, out id)) { aModel.Creator = id; } if (int.TryParse(SubSellOrderM.DeptID, out id)) { aModel.DeptID = id; } aModel.HappenDate = DateTime.Now; if (int.TryParse(SubSellOrderDetailM.ProductID, out id)) { aModel.ProductID = id; } if (decimal.TryParse(SubSellOrderDetailM.UnitPrice, out count)) { aModel.Price = count; } if (decimal.TryParse(SubSellOrderDetailM.ProductCount, out count)) { aModel.HappenCount = -count; } aModel.PageUrl = SubSellOrderM.Remark; lstConfirm.Add(XBase.Data.Office.SubStoreManager.SubStorageAccountDBHelper.GetCountAndInsertCommand(aModel)); #endregion lstConfirm.Add(XBase.Data.Office.LogisticsDistributionManager.StorageProductQueryDBHelper.UpdateProductCount(userInfo.CompanyCD , SubSellOrderDetailM.ProductID, SubSellOrderM.DeptID, SubSellOrderDetailM.BatchNo, -count)); } } else if (SubSellOrderM.SendMode == "2") {//总部发货 //确认时更新分仓存量表 foreach (SubSellOrderDetailModel SubSellOrderDetailM in SubSellOrderDetailMList) { #region 添加库存流水帐 XBase.Model.Office.StorageManager.StorageAccountModel sModel = new XBase.Model.Office.StorageManager.StorageAccountModel(); sModel.BatchNo = SubSellOrderDetailM.BatchNo; sModel.BillNo = SubSellOrderM.OrderNo; sModel.BillType = 21; sModel.CompanyCD = SubSellOrderDetailM.CompanyCD; if (int.TryParse(SubSellOrderDetailM.StorageID, out id)) { sModel.StorageID = id; } if (int.TryParse(SubSellOrderM.Creator, out id)) { sModel.Creator = id; } if (int.TryParse(SubSellOrderDetailM.ProductID, out id)) { sModel.ProductID = id; } if (decimal.TryParse(SubSellOrderDetailM.UnitPrice, out count)) { sModel.Price = count; } if (decimal.TryParse(SubSellOrderDetailM.ProductCount, out count)) { sModel.HappenCount = count; } sModel.HappenDate = DateTime.Now; sModel.PageUrl = SubSellOrderM.Remark; lstConfirm.Add(XBase.Data.Office.StorageManager.StorageAccountDBHelper.InsertStorageAccountCommand(sModel, "1")); #endregion // 更新库存 lstConfirm.Add(XBase.Data.Office.StorageManager.StorageSearchDBHelper.UpdateProductCount(userInfo.CompanyCD , SubSellOrderDetailM.ProductID, SubSellOrderDetailM.StorageID , SubSellOrderDetailM.BatchNo, -count)); } } //更新发货信息和安装信息 lstConfirm.Add(SubSellOrderDBHelper.ConfirmOutSubSellOrder(SubSellOrderM)); //获取登陆用户信息 //UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"]; //定义返回变量 bool isSucc = false; /* * 定义日志内容变量 * 增删改相关的日志,需要输出操作日志,该类型日志插入到数据库 * 其他的 如出现异常时,需要输出系统日志,该类型日志保存到日志文件 */ //执行插入操作 try { isSucc = SqlHelper.ExecuteTransWithArrayList(lstConfirm); } catch (Exception ex) { //输出日志 WriteSystemLog(userInfo, ex); } //定义变量 string remark; //成功时 if (isSucc) { //设置操作成功标识 remark = ConstUtil.LOG_PROCESS_SUCCESS; } else { //设置操作成功标识 remark = ConstUtil.LOG_PROCESS_FAILED; } LogInfoModel logModel = InitLogInfo(SubSellOrderM.OrderNo); //涉及关键元素 这个需要根据每个页面具体设置,本页面暂时设置为空 logModel.Element = ConstUtil.LOG_PROCESS_OUT; //设置操作成功标识 logModel.Remark = remark; //登陆日志 LogDBHelper.InsertLog(logModel); return(isSucc); } catch (Exception ex) { throw ex; } }
/// <summary> /// 销售订单发货确认判断 /// </summary> /// <param name="SubSellOrderM"></param> /// <param name="SubSellOrderDetailMList"></param> /// <param name="ProductID">负库存产品ID</param> /// <returns>返回1 则数量合法,2 则确认后会有负库存,且不允许出现负库存,3 则确认后会有负库存,允许出现负库存</returns> public static int CanConfirmOutSubSellOrder(SubSellOrderModel SubSellOrderM, List <SubSellOrderDetailModel> SubSellOrderDetailMList, ref string ProductID) { try { int a = 1; Dictionary <int, List <string> > dic = new Dictionary <int, List <string> >(); //判断是总部发货还是分店发货 if (SubSellOrderM.SendMode == "1") {//分店发货 foreach (SubSellOrderDetailModel item in SubSellOrderDetailMList) { a = SubSellOrderDBHelper.CanConfirmOutSub(SubSellOrderM.DeptID, item.ProductID, item.ProductCount, item.BatchNo); if (dic.ContainsKey(a)) {// 状态存在 if (!dic[a].Contains(item.ProductID)) { dic[a].Add(item.ProductID); } } else {// 状态不存在 dic.Add(a, new List <string>() { item.ProductID }); } } } else if (SubSellOrderM.SendMode == "2") {//总部发货 foreach (SubSellOrderDetailModel item in SubSellOrderDetailMList) { a = SubSellOrderDBHelper.CanConfirmOutHq(item.StorageID, item.ProductID, item.ProductCount, item.BatchNo); if (dic.ContainsKey(a)) {// 状态存在 if (!dic[a].Contains(item.ProductID)) { dic[a].Add(item.ProductID); } } else {// 状态不存在 dic.Add(a, new List <string>() { item.ProductID }); } } } if (dic.ContainsKey(2)) { a = 2; } else if (dic.ContainsKey(3)) { a = 3; } else { a = 1; } ProductID = string.Join(",", dic[a].ToArray()); return(a); } catch (Exception ex) { throw ex; } }
public static bool InsertSubSellOrder(SubSellOrderModel SubSellOrderM, List <SubSellOrderDetailModel> SubSellOrderDetailMList, out int IndexIDentity, Hashtable htExtAttr) { ArrayList lstAdd = new ArrayList(); //主表新增 SqlCommand AddPri = SubSellOrderDBHelper.InsertSubSellOrder(SubSellOrderM); lstAdd.Add(AddPri); // 更新扩展属性 SqlCommand commExtAttr = SubSellOrderDBHelper.UpdateExtAttr(SubSellOrderM, htExtAttr); if (commExtAttr != null) { lstAdd.Add(commExtAttr); } //明细表新增 foreach (SubSellOrderDetailModel SubSellOrderDetailM in SubSellOrderDetailMList) { SqlCommand AddDtl = SubSellOrderDBHelper.InsertSubSellOrderDetail(SubSellOrderDetailM); lstAdd.Add(AddDtl); } //获取登陆用户信息 UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"]; //定义返回变量 bool isSucc = false; /* * 定义日志内容变量 * 增删改相关的日志,需要输出操作日志,该类型日志插入到数据库 * 其他的 如出现异常时,需要输出系统日志,该类型日志保存到日志文件 */ //执行插入操作 try { isSucc = SqlHelper.ExecuteTransWithArrayList(lstAdd); } catch (Exception ex) { //输出日志 WriteSystemLog(userInfo, ex); } //定义变量 string remark; //成功时 if (isSucc) { //设置操作成功标识 remark = ConstUtil.LOG_PROCESS_SUCCESS; IndexIDentity = int.Parse(((SqlCommand)AddPri).Parameters["@IndexID"].Value.ToString()); } else { //设置操作成功标识 remark = ConstUtil.LOG_PROCESS_FAILED; IndexIDentity = 0; } LogInfoModel logModel = InitLogInfo(SubSellOrderM.OrderNo); //涉及关键元素 这个需要根据每个页面具体设置,本页面暂时设置为空 logModel.Element = ConstUtil.LOG_PROCESS_INSERT; //设置操作成功标识 logModel.Remark = remark; //登陆日志 LogDBHelper.InsertLog(logModel); return(isSucc); }
public static bool UpdateSubSellOrder(SubSellOrderModel SubSellOrderM, List <SubSellOrderDetailModel> SubSellOrderDetailMList, Hashtable htExtAttr) { ArrayList lstUpdate = new ArrayList(); //更新主表 SqlCommand UpdatePri = SubSellOrderDBHelper.UpdateSubSellOrder(SubSellOrderM); lstUpdate.Add(UpdatePri); // 更新扩展属性 SqlCommand commExtAttr = SubSellOrderDBHelper.UpdateExtAttr(SubSellOrderM, htExtAttr); if (commExtAttr != null) { lstUpdate.Add(commExtAttr); } //删除明细 SqlCommand DeleteDetail = SubSellOrderDBHelper.DeleteSubSellOrderDetail(SubSellOrderM.OrderNo); lstUpdate.Add(DeleteDetail); //新增明细 foreach (SubSellOrderDetailModel SubSellOrderDetailM in SubSellOrderDetailMList) { SqlCommand AddDetail = SubSellOrderDBHelper.InsertSubSellOrderDetail(SubSellOrderDetailM); lstUpdate.Add(AddDetail); } //获取登陆用户信息 UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"]; //定义返回变量 bool isSucc = false; /* * 定义日志内容变量 * 增删改相关的日志,需要输出操作日志,该类型日志插入到数据库 * 其他的 如出现异常时,需要输出系统日志,该类型日志保存到日志文件 */ //执行插入操作 try { isSucc = SqlHelper.ExecuteTransWithArrayList(lstUpdate); } catch (Exception ex) { //输出日志 WriteSystemLog(userInfo, ex); } //定义变量 string remark; //成功时 if (isSucc) { //设置操作成功标识 remark = ConstUtil.LOG_PROCESS_SUCCESS; } else { //设置操作成功标识 remark = ConstUtil.LOG_PROCESS_FAILED; } LogInfoModel logModel = InitLogInfo(SubSellOrderM.OrderNo); //涉及关键元素 这个需要根据每个页面具体设置,本页面暂时设置为空 logModel.Element = ConstUtil.LOG_PROCESS_UPDATE; //设置操作成功标识 logModel.Remark = remark; //登陆日志 LogDBHelper.InsertLog(logModel); return(isSucc); }