protected void btn_Delete_Click(object sender, EventArgs e) { PDT_CategoryBLL _bll = new PDT_CategoryBLL(int.Parse(lbl_ID.Text)); if (_bll.Delete() < 0) { lbl_AlertInfo.Text = "该目录包含下级目录,或该目录已被使用,请勿删除"; return; } lbl_AlertInfo.Text = ""; Response.Redirect("ProductCategory.aspx?SuperID=" + _bll.Model.SuperID.ToString()); }
public string DoImportProduct(int TemplateID, int Client, ISheet Sheet, out int State) { string ImportInfo = "【商品资料】Excel表:"; State = 0; IPT_UploadTemplateBLL _template = new IPT_UploadTemplateBLL(TemplateID); List<string> listPDT = new List<string>() { "序号", "大类", "小类", "商品编码", "产品名称", "规格型号", "大单位", "小单位", "整零换算系数", "整件重量", "销售价", "采购价", "保质期", "整件条码", "零售条码" }; DataTable dt = null; bool flag = VertifySheet(Sheet, listPDT, out dt, ref ImportInfo); if (!flag) { State = 4; return ImportInfo; } foreach (DataRow dr in dt.Rows)//循环导入数据 { try { decimal _pdtBuyPrice = (!string.IsNullOrEmpty(dr["采购价"].ToString())) ? Convert.ToDecimal(dr["采购价"].ToString()) : 0; decimal _pdtSalesPrice = (!string.IsNullOrEmpty(dr["销售价"].ToString())) ? Convert.ToDecimal(dr["销售价"].ToString()) : 0; if (_pdtSalesPrice == 0) continue;//销售价格围标表示门店不经营 int _pdtID = 0; string _pdtCode = dr["商品编码"].ToString(); IList<PDT_ProductExtInfo> _listPDTExtInfo = PDT_ProductExtInfoBLL.GetProductExtInfoList_BySupplier(_template.Model.ClientID).Where(m => m.Code == _pdtCode).ToList(); if (_listPDTExtInfo != null && _listPDTExtInfo.Count > 0) { ImportInfo += string.Format("序号为{0},产品编码为{1}的产品与现有产品编码重复,跳过此行信息\r\n", dr["序号"], _pdtCode); continue; } int _pdtCategory = 0;//类别 IList<PDT_Product> listPdt = PDT_ProductBLL.GetModelList(string.Format(" OwnerType IN (1,2) AND FactoryCode='{0}' ", _pdtCode)); if (listPdt == null || listPdt.Count == 0)//添加新产品 { #region 获取产品类别 IList<PDT_Category> _listCategory = PDT_CategoryBLL.GetModelList(" SuperID=1 AND ApproveFlag=1 AND(OwnerType IN(1,2) OR (OwnerType=3 AND OwnerClient=" + _template.Model.ClientID.ToString() + " )) AND Name='" + dr["大类"].ToString() + "'");//获取大类(大类可能属于平台级和厂商级,也有可能属于经销商自己) if (_listCategory == null || _listCategory.Count == 0) { PDT_CategoryBLL _bllCategory = new PDT_CategoryBLL(); _bllCategory.Model.Name = dr["大类"].ToString(); _bllCategory.Model.SuperID = 1; _bllCategory.Model.EnabledFlag = "Y"; _bllCategory.Model.OwnerType = 3; _bllCategory.Model.OwnerClient = _template.Model.ClientID; _bllCategory.Model.Remark = "Excel批量导入"; _bllCategory.Model.ApproveFlag = 1; _bllCategory.Model.InsertTime = DateTime.Now; _bllCategory.Model.InsertStaff = _template.Model.InsertStaff; _pdtCategory = _bllCategory.Add(); } else { _pdtCategory = _listCategory[0].ID; } IList<PDT_Category> _listCategory2 = PDT_CategoryBLL.GetModelList(" ApproveFlag=1 AND SuperID=" + _pdtCategory.ToString() + " AND (OwnerType IN(1,2) OR (OwnerType=3 AND OwnerClient=" + _template.Model.ClientID.ToString() + ")) AND Name='" + dr["小类"].ToString() + "'");//获取小类 if (_listCategory2 == null || _listCategory2.Count == 0) { PDT_CategoryBLL _bllCategory = new PDT_CategoryBLL(); _bllCategory.Model.Name = dr["小类"].ToString(); _bllCategory.Model.SuperID = _pdtCategory; _bllCategory.Model.EnabledFlag = "Y"; _bllCategory.Model.OwnerType = 3; _bllCategory.Model.OwnerClient = _template.Model.ClientID; _bllCategory.Model.Remark = "Excel批量导入"; _bllCategory.Model.ApproveFlag = 1; _bllCategory.Model.InsertTime = DateTime.Now; _bllCategory.Model.InsertStaff = _template.Model.InsertStaff; _pdtCategory = _bllCategory.Add(); } else { _pdtCategory = _listCategory2[0].ID; } #endregion string _pdtName = dr["产品名称"].ToString(); if (string.IsNullOrEmpty(_pdtCode) && string.IsNullOrEmpty(_pdtName)) { ImportInfo += string.Format("序号为{0}的行产品编码和名称均为空,跳过此行信息\r\n", dr["序号"]); continue; } string _pdtSpec = dr["规格型号"].ToString(); IList<Dictionary_Data> _listData = DictionaryBLL.Dictionary_Data_GetAlllList(" TableName='PDT_Packaging' "); string _strPdtTrafficPackaging = _listData.First(m => m.Name == dr["大单位"].ToString()).Code; int _pdtTrafficPackaging = 0; int.TryParse(_strPdtTrafficPackaging, out _pdtTrafficPackaging);//整件单位 string _strPdtPackaging = _listData.First(m => m.Name == dr["小单位"].ToString()).Code; int _pdtPackaging = 0; int.TryParse(_strPdtPackaging, out _pdtPackaging);//零售包装 int _pdtConvertFactor = (!string.IsNullOrEmpty(dr["整零换算系数"].ToString())) ? Convert.ToInt32(dr["整零换算系数"].ToString()) : 0;//重要信息强制显示,出错时直接跳过此行 decimal _pdtWeight = 0; decimal.TryParse(dr["整件重量"].ToString(), out _pdtWeight); int _pdtExpiry = 0; int.TryParse(dr["保质期"].ToString(), out _pdtExpiry); string _pdtBoxBarCode = dr["整件条码"].ToString(); string _pdtBarCode = dr["零售条码"].ToString(); PDT_ProductBLL _bllProduct = new PDT_ProductBLL(); _bllProduct.Model.FullName = _pdtName; _bllProduct.Model.ShortName = _pdtName; _bllProduct.Model.Spec = _pdtSpec; _bllProduct.Model.TrafficPackaging = _pdtTrafficPackaging; _bllProduct.Model.Packaging = _pdtPackaging; _bllProduct.Model.ConvertFactor = _pdtConvertFactor; _bllProduct.Model.BoxBarCode = _pdtBoxBarCode; _bllProduct.Model.BarCode = _pdtBarCode; _bllProduct.Model.Weight = _pdtWeight; _bllProduct.Model.Expiry = _pdtExpiry; _bllProduct.Model.Category = _pdtCategory; _bllProduct.Model.State = 1;//在用产品 _bllProduct.Model.OwnerClient = _template.Model.ClientID;//所属经销商 _bllProduct.Model.OwnerType = 3;//经销商级 _bllProduct.Model.ApproveFlag = 1; _bllProduct.Model.InsertTime = DateTime.Now; _bllProduct.Model.InsertStaff = _template.Model.InsertStaff; _bllProduct.Model.Remark = "Excel批量导入"; _pdtID = _bllProduct.Add(); } else _pdtID = listPdt[0].ID;//已存在的厂商或平台级产品 IList<PDT_ProductExtInfo> _listPdtExtInfo = PDT_ProductExtInfoBLL.GetModelList(" Product=" + _pdtID.ToString() + " AND Supplier=" + _template.Model.ClientID.ToString() + " AND ApproveFlag=1 "); if (_listPdtExtInfo == null || _listPdtExtInfo.Count == 0) { PDT_ProductExtInfoBLL _pdtExtInfoBLL = new PDT_ProductExtInfoBLL(); _pdtExtInfoBLL.Model.Supplier = _template.Model.ClientID; _pdtExtInfoBLL.Model.Product = _pdtID; _pdtExtInfoBLL.Model.Code = _pdtCode; _pdtExtInfoBLL.Model.BuyPrice = _pdtBuyPrice; _pdtExtInfoBLL.Model.SalesPrice = _pdtSalesPrice; _pdtExtInfoBLL.Model.SalesState = 1; _pdtExtInfoBLL.Model.Category = _pdtCategory; _pdtExtInfoBLL.Model.Remark = "Excel批量导入"; _pdtExtInfoBLL.Model.ApproveFlag = 1; _pdtExtInfoBLL.Model.InsertStaff = _template.Model.InsertStaff; _pdtExtInfoBLL.Model.InsertTime = DateTime.Now; _pdtExtInfoBLL.Add(); } else { PDT_ProductExtInfoBLL _pdtExtInfoBLL = new PDT_ProductExtInfoBLL(_listPdtExtInfo[0].ID); _pdtExtInfoBLL.Model.BuyPrice = _pdtBuyPrice; _pdtExtInfoBLL.Model.SalesPrice = _pdtSalesPrice; _pdtExtInfoBLL.Model.Remark = "Excel批量导入时修改"; _pdtExtInfoBLL.Model.UpdateStaff = _template.Model.InsertStaff; _pdtExtInfoBLL.Model.UpdateTime = DateTime.Now; _pdtExtInfoBLL.Update(); } } catch (Exception ex) { ImportInfo += "导入序列号为" + dr["序号"].ToString() + "的数据行时出现错误,错误说明:" + ex.Message + "\r\n"; State = 5; continue; } } if (State == 0) State = 3; ImportInfo += (State == 3 ? "导入完成!\r\n" : ""); IPT_UploadTemplateMessageBLL _bllUploadTemplateMessage = new IPT_UploadTemplateMessageBLL(); _bllUploadTemplateMessage.Model.TemplateID = TemplateID; _bllUploadTemplateMessage.Model.MessageType = State; _bllUploadTemplateMessage.Model.Content = ImportInfo; _bllUploadTemplateMessage.Add(); return ImportInfo; }
protected void btn_Save_Click(object sender, EventArgs e) { if ((int)ViewState["ID"] == 1) return; PDT_CategoryBLL _bll; if ((int)ViewState["ID"] == 0) { _bll = new PDT_CategoryBLL(); } else { _bll = new PDT_CategoryBLL((int)ViewState["ID"]); } _bll.Model.Name = tbx_Name.Text; _bll.Model.SuperID = int.Parse(tree_SuperID.SelectValue); _bll.Model.EnabledFlag = ddl_EnabledFlag.SelectedValue; if (_bll.Model.SuperID == 0) return; #region 为方便操作,分类最多开放至3级 int level = 1, superid = _bll.Model.SuperID; while (superid != 1) { level++; superid = new PDT_CategoryBLL(superid).Model.SuperID; } if (level > 3) { MessageBox.Show(this, "商品级别超预设层级数!"); return; } #endregion if ((int)ViewState["ID"] == 0) { _bll.Model.ApproveFlag = 1; _bll.Model.InsertStaff = (int)Session["UserID"]; _bll.Model.OwnerType = (int)Session["OwnerType"]; _bll.Model.OwnerClient = (int)Session["OwnerClient"]; int ret = _bll.Add(); if (ret < 0) { lbl_AlertInfo.Text = "添加目录失败!"; return; } else ViewState["ID"] = ret; } else { if (_bll.Model.SuperID == _bll.Model.ID) return; int ret = _bll.Update(); switch (ret) { case -1: lbl_AlertInfo.Text = "更新目录失败!"; return; case -2: lbl_AlertInfo.Text = "更新目录失败,不能将当前目录设置为上级目录"; return; case -3: lbl_AlertInfo.Text = "更新目录失败,不能将当前目录的子目录设置为上级目录"; return; } } DataCache.RemoveCache("Cache-TreeTableBLL-GetAllNode-MCS_Pub.dbo.PDT_Category"); tree_SuperID.DataSource = null; Response.Redirect("ProductCategory.aspx?ID=" + tree_SuperID.SelectValue); }
private void BindData() { PDT_CategoryBLL _bll = new PDT_CategoryBLL((int)ViewState["ID"]); if (_bll.Model == null) return; lbl_ID.Text = _bll.Model.ID.ToString(); tbx_Name.Text = _bll.Model.Name; tree_SuperID.SelectValue = _bll.Model.SuperID.ToString(); ddl_EnabledFlag.SelectedValue = _bll.Model.EnabledFlag; btn_Save.Text = "修改"; btn_Save.ForeColor = System.Drawing.Color.Red; btn_Delete.Enabled = true; MessageBox.ShowConfirm(btn_Delete, "数据删除将不可恢复,确定删除么?"); btn_Cancel.Enabled = true; bt_AddSub.Enabled = true; lbl_AlertInfo.Text = ""; if ((int)ViewState["ID"] == 1) { btn_Save.Enabled = false; } else { if ((int)Session["OwnerType"] == _bll.Model.OwnerType && (int)Session["OwnerClient"] == _bll.Model.OwnerClient) { btn_Save.Enabled = true; btn_Delete.Enabled = true; } else { btn_Save.Enabled = false; btn_Delete.Enabled = false; //bt_AddSub.Enabled = false; } } btn_Delete.Enabled = PDT_CategoryBLL.GetModelList("SuperID=" + ViewState["ID"].ToString()).Count == 0; }