using System; using System.Collections.Generic; using System.Text; using Stone.Entity; using System.Data; using Stone.Common; namespace Stone.WinBiz.BasicData { public class F_Product : F_Base { public F_Product() { this.type = "Product"; this.name = "零件"; this.entity = new Entity_t_Product(); this.entityView = new Entity_v_Product(); } public override void GetView(System.Windows.Forms.DataGridView dgv) { base.GetView(dgv); dgv.Columns["TypeCode"].HeaderText = "存货分类代码"; dgv.Columns["TypeName"].HeaderText = "存货分类名称"; dgv.Columns["Code"].HeaderText = "存货代码"; dgv.Columns["Name"].HeaderText = "存货名称"; dgv.Columns["Model"].HeaderText = "规格型号"; dgv.Columns["UnitCode"].HeaderText = "单位代码"; dgv.Columns["UnitName"].HeaderText = "单位"; dgv.Columns["CarModelCode"].HeaderText = "车型代码"; dgv.Columns["CarModelName"].HeaderText = "车型名称"; dgv.Columns["CarModelSort"].HeaderText = "车型显示顺序"; dgv.Columns["Deploy"].HeaderText = "配置"; dgv.Columns["ColorCode"].HeaderText = "颜色代码"; dgv.Columns["ColorName"].HeaderText = "颜色名称"; dgv.Columns["Deploy"].HeaderText = "配置"; dgv.Columns["LocationCode"].HeaderText = "亮灯库位代码"; dgv.Columns["LocationName"].HeaderText = "亮灯库位名称"; dgv.Columns["Exclude"].HeaderText = "排除零件号"; } public override void Checking(DataRow drData, bool isNew) { base.Checking(drData, isNew); if ((new F_Unit()).GetData("Code='" + drData["UnitCode"].ToString() + "'") == null) throw new Exception("单位代码 " + drData["UnitCode"].ToString() + " 不存在!"); if ((new F_CarModel()).GetData("Code='" + drData["CarModelCode"].ToString() + "'") == null) throw new Exception("车型代码 " + drData["CarModelCode"].ToString() + " 不存在!"); if ((new F_Color()).GetData("Code='" + drData["ColorCode"].ToString() + "'") == null) throw new Exception("颜色代码 " + drData["ColorCode"].ToString() + " 不存在!"); if (MyStrings.GetLength(drData["Name"].ToString()) > 255) throw new Exception("名称不能超过255个字符!"); } public override void InputData(DataSet dsInput, Gm_WMS.DataAccess.DataService.LocalDBService db) { int i = 0; try { Entity_t_Product t_Input = new Entity_t_Product(db); DataRow drInput = null; foreach (DataRow drData in dsInput.Tables[0].Rows) { i++; drInput = t_Input.Table.NewRow(); drInput["TypeCode"] = drData["存货分类代码"].ToString(); drInput["Code"] = drData["存货代码"].ToString().Trim(); drInput["Name"] = drData["存货名称"].ToString().Trim(); drInput["CarModelCode"] = drData["车型代码"].ToString().Trim(); drInput["ColorCode"] = drData["颜色代码"].ToString().Trim(); drInput["Model"] = drData["规格型号"].ToString().Trim(); drInput["Deploy"] = drData["配置"].ToString().Trim(); drInput["UnitCode"] = drData["单位代码"].ToString().Trim(); drInput["LocationCode"] = drData["亮灯库位代码"].ToString(); drInput["Exclude"] = drData["排除零件号"].ToString(); if (drInput["Code"].ToString().Trim() == "") throw new Exception("代码不能为空!"); if (new Entity_t_Product(db).GetData("", "Code='" + drInput["Code"].ToString() + "'", "id asc").Tables[0].Rows.Count > 0) throw new Exception("代码 " + drInput["Code"].ToString() + " 已经存在!"); if ((new Entity_t_Unit(db).GetData("", "Code='" + drInput["UnitCode"].ToString() + "'", "id asc").Tables[0].Rows.Count == 0)) throw new Exception("单位代码 " + drInput["UnitCode"].ToString() + " 不存在!"); if ((new Entity_t_CarModel(db)).GetData("", "Code='" + drInput["CarModelCode"].ToString() + "'", "id asc").Tables[0].Rows.Count == 0) throw new Exception("车型代码 " + drInput["CarModelCode"].ToString() + " 不存在!"); if ((new Entity_t_Color(db)).GetData("", "Code='" + drInput["ColorCode"].ToString() + "'", "id asc").Tables[0].Rows.Count == 0) throw new Exception("颜色代码 " + drInput["ColorCode"].ToString() + " 不存在!"); if (MyStrings.GetLength(drInput["Name"].ToString()) > 255) throw new Exception("名称不能超过255个字符!"); t_Input.Add(drInput); } } catch (Exception ex) { throw new Exception("第【" + i.ToString() +"】行报错, 字段格式为:[存货分类代码][存货代码][存货名称][车型代码][颜色代码][规格型号][配置][单位代码][最小库存][最大库存][安全库存][拉动库存][库位存量][库区代码][排序区代码][升降机代码][排序增加量][排架代码][是否打包][是否混放][混放方式][项目编码][项目名称][开始存放层数][结束存放层数][开始存放排架][结束存放排架][Q状态][子级代码][JIT存货代码][标准包装量][器具分类代码][电子眼][雾灯][出租车][BOM代码]\r\n\r\n错误原因为:\r\n" + ex.Message); } } public string GetModelByCode(string Code) { DataSet dsData = entity.GetData("[Code]='" + Code + "'"); if (dsData.Tables[0].Rows.Count > 0) { return dsData.Tables[0].Rows[0]["Model"].ToString(); } else { throw new Exception(Code + " 未找到!"); } } public string GetCodeByModel(string Model) { DataSet dsData = entity.GetData("[Model]='" + Model + "'"); if (dsData.Tables[0].Rows.Count > 0) { return dsData.Tables[0].Rows[0]["Code"].ToString(); } else { throw new Exception(Model + " 未找到!"); } } public string GetCarModelCode(string Code) { Entity_v_Product v_Product = new Entity_v_Product(); DataSet dsData = v_Product.GetData("[Code]='" + Code + "'"); if (dsData.Tables[0].Rows.Count > 0) { return dsData.Tables[0].Rows[0]["CarModelCode"].ToString(); } else { throw new Exception(Code + " 未找到!"); } } public string GetCarModelName(string Code) { Entity_v_Product v_Product = new Entity_v_Product(); DataSet dsData = v_Product.GetData("[Code]='" + Code + "'"); if (dsData.Tables[0].Rows.Count > 0) { return dsData.Tables[0].Rows[0]["CarModelName"].ToString(); } else { throw new Exception(Code + " 未找到!"); } } public static string GetColorNameByCode(string ProductCode) { string ret = ""; Entity_v_Product v_Product = new Entity_v_Product(); DataSet dsData = v_Product.GetData("ColorName", "[Code]='" + ProductCode + "'", "ColorName"); if (dsData.Tables[0].Rows.Count > 0) { ret = dsData.Tables[0].Rows[0]["ColorName"].ToString(); } return ret; } public DataSet GetDataByProductType(string TypeName) { Entity_v_Product v_Product = new Entity_v_Product(); DataSet dsData = v_Product.GetData("[TypeName]='" + TypeName + "'"); return dsData; } public static DataSet GetSortPullData() { string StockAreaCode = "C"; //MyAppconfig.ReadValue("SortAreaCode"); Entity_v_Product v_Product = new Entity_v_Product(); //return v_Product.GetData("[ID],[Code],[Name],[CarModelName],[ColorName],[Model],[SortQty],[MinQty],[PullQty],[MaxQty],[SortAddQty]", "[SortAreaCode]='" + SortAreaCode + "' and [SortAddQty] <> 0 and [PullQty] <> 0", "([PullQty]-[SortQty]) desc"); //return v_Product.GetData("[ID],[Code],[Name],[CarModelName],[ColorName],[Model],[SortQty],[MinQty],[PullQty],[MaxQty],[SortAddQty]", "[SortAreaCode]='" + SortAreaCode + "' and [SortAddQty] <> 0 and [PullQty] <> 0", "([SortQty]-[PullQty]) asc"); return v_Product.GetData("[ID],[Code],[Name],[CarModelName],[ColorName],[Model],[SortQty],[MinQty],[PullQty],[MaxQty],[SortAddQty]", "[StockAreaCode]='" + StockAreaCode + "' and [SortAddQty] <> 0 and [PullQty] <> 0", "([SortQty]-[PullQty]) asc"); //只选成品 } public static void EditSortData(string Code, int Qty) { Entity_t_Product t_Product = new Entity_t_Product(); t_Product.Edit("[SortQty]=[SortQty]+" + Qty, "[Code]='" + Code + "'"); } } }