北京安通林JIS系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

211 lines
9.1 KiB

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 + "'");
}
}
}