BaoKai_202508_Wms_Jingwang_.../WMS.Model/SystemManage/SCData/ProBreakData.cs

213 lines
9.7 KiB
C#
Raw Normal View History

2025-08-24 21:52:42 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WMS.IData.ISC;
using WMS.Model.SC;
using System.Data;
using WMS.IData;using System.Data.SqlClient;
namespace WMS.SqlServerData.SCData
{
class ProBreakData : IProBreak
{
#region
/// <summary>
/// 获取集合
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public DataTable GetProBreak(ProBreakModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select a.STORAGE_ID,a.TASK_ID,j.goods_name material_name,a.STEP_ID,a.GOODS_ID,a.MATERIAL_ID,a.MATERIAL_NUM,a.UNIT,a.BREAK_NUM,a.BREAK_PER,a.BREAK_DATE,a.AREA_ID,a.RECORD_PER,a.RECORD_DATE ,");
strSql.Append(" b.storage_name storage_name, ");
strSql.Append(" c.goods_name goods_name, ");
strSql.Append(" d.plan_name task_name, ");
strSql.Append(" e.name Record_perName,");
strSql.Append(" f.vc_dictionary_name Unit_name, ");
strSql.Append(" i.vc_dictionary_name Step_name, ");
strSql.Append(" g.storage_area_name Area_name, ");
strSql.Append(" h.name Record_perName");
strSql.Append(" from t_sc_pro_break a ");
strSql.Append(" left join t_base_storageinfo b ");
strSql.Append(" on a.storage_id = b.storage_id");
strSql.Append(" left join t_base_goods c");
strSql.Append(" on a.goods_id = c.goods_id ");
strSql.Append(" left join t_sc_process_plan d");
strSql.Append(" on a.task_id = d.plan_id");
strSql.Append(" left join t_base_userinfo e ");
strSql.Append(" on a.record_per = e.user_id");
strSql.Append(" left join t_sys_dictionary_tab f ");
strSql.Append(" on a.unit = f.vc_char_value");
strSql.Append(" and f.VC_DICTIONARY_TYPE = 'vc_uom'");
strSql.Append(" and c_flag = '1'");
strSql.Append(" left join t_base_storage_area g");
strSql.Append(" on g.storage_area_id = a.area_id");
strSql.Append(" left join t_base_userinfo h");
strSql.Append(" on a.break_per = h.user_id");
strSql.Append(" left join t_base_goods j ");
strSql.Append(" on a.MATERIAL_ID = j.goods_id ");
strSql.Append(" left join t_sys_dictionary_tab i");
strSql.Append(" on a.step_id = i.vc_char_value ");
strSql.Append(" and i.VC_DICTIONARY_TYPE = 'Step'");
strSql.Append(" and i.c_flag = '1' ");
strSql.Append(" where 1=1 ");
if (!string.IsNullOrEmpty(model.STORAGE_ID))
{
strSql.Append(" and a.STORAGE_ID = '" + model.STORAGE_ID + "'");
}
if (!string.IsNullOrEmpty(model.TASK_ID))
{
strSql.Append(" and a.TASK_ID = '" + model.TASK_ID + "'");
}
if (!string.IsNullOrEmpty(model.STEP_ID))
{
strSql.Append(" and a.STEP_ID = '" + model.STEP_ID + "'");
}
if (!string.IsNullOrEmpty(model.GOODS_ID))
{
strSql.Append(" and a.GOODS_ID = '" + model.GOODS_ID + "'");
}
if (!string.IsNullOrEmpty(model.MATERIAL_ID))
{
strSql.Append(" and a.MATERIAL_ID = '" + model.MATERIAL_ID + "'");
}
if (!string.IsNullOrEmpty(model.RECORD_DATE.ToString()) && (model.RECORD_DATE.ToString()) != "0001/1/1 0@00@00")
{
strSql.Append(" and a.RECORD_DATE = '" + model.RECORD_DATE + "'");
}
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
}
#endregion
#region
/// <summary>
/// 新增
/// </summary>
/// <param name="model"></param>
public void AddProBreak(ProBreakModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into T_SC_PRO_BREAK(");
strSql.Append("STORAGE_ID,TASK_ID,STEP_ID,GOODS_ID,MATERIAL_ID,MATERIAL_NUM,UNIT,BREAK_NUM,BREAK_PER,BREAK_DATE,AREA_ID,RECORD_PER,RECORD_DATE)");
strSql.Append(" values (");
strSql.Append("@STORAGE_ID,@TASK_ID,@STEP_ID,@GOODS_ID,@MATERIAL_ID,@MATERIAL_NUM,@UNIT,@BREAK_NUM,@BREAK_PER,@BREAK_DATE,@AREA_ID,@RECORD_PER,@RECORD_DATE)");
SqlParameter[] parameters = {
new SqlParameter("@STORAGE_ID", SqlDbType.VarChar,50),
new SqlParameter("@TASK_ID", SqlDbType.VarChar,50),
new SqlParameter("@STEP_ID", SqlDbType.VarChar,50),
new SqlParameter("@GOODS_ID", SqlDbType.VarChar,50),
new SqlParameter("@MATERIAL_ID", SqlDbType.VarChar,50),
new SqlParameter("@MATERIAL_NUM", SqlDbType.Decimal,4),
new SqlParameter("@UNIT", SqlDbType.Char),
new SqlParameter("@BREAK_NUM", SqlDbType.Decimal,4),
new SqlParameter("@BREAK_PER", SqlDbType.VarChar,50),
new SqlParameter("@BREAK_DATE", SqlDbType.Date),
new SqlParameter("@AREA_ID", SqlDbType.VarChar,50),
new SqlParameter("@RECORD_PER", SqlDbType.VarChar,50),
new SqlParameter("@RECORD_DATE", SqlDbType.Date)};
parameters[0].Value = model.STORAGE_ID;
parameters[1].Value = model.TASK_ID;
parameters[2].Value = model.STEP_ID;
parameters[3].Value = model.GOODS_ID;
parameters[4].Value = model.MATERIAL_ID;
parameters[5].Value = model.MATERIAL_NUM;
parameters[6].Value = model.UNIT;
parameters[7].Value = model.BREAK_NUM;
parameters[8].Value = model.BREAK_PER;
parameters[9].Value = model.BREAK_DATE;
parameters[10].Value = model.AREA_ID;
parameters[11].Value = model.RECORD_PER;
parameters[12].Value = model.RECORD_DATE;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
#endregion
#region
/// <summary>
/// 修改
/// </summary>
/// <param name="model"></param>
public void UpdateProBreak(ProBreakModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update T_SC_PRO_BREAK set ");
strSql.Append("MATERIAL_NUM=@MATERIAL_NUM,");
strSql.Append("UNIT=@UNIT,");
strSql.Append("BREAK_NUM=@BREAK_NUM,");
strSql.Append("BREAK_PER=@BREAK_PER,");
strSql.Append("BREAK_DATE=@BREAK_DATE,");
strSql.Append("AREA_ID=@AREA_ID,");
strSql.Append("RECORD_PER=@RECORD_PER,");
strSql.Append("RECORD_DATE=@RECORD_DATE");
strSql.Append(" where STORAGE_ID=@STORAGE_ID and TASK_ID=@TASK_ID and STEP_ID=@STEP_ID and GOODS_ID=@GOODS_ID and MATERIAL_ID=@MATERIAL_ID ");
SqlParameter[] parameters = {
new SqlParameter("@MATERIAL_NUM", SqlDbType.Decimal,4),
new SqlParameter("@UNIT", SqlDbType.Char),
new SqlParameter("@BREAK_NUM", SqlDbType.Decimal,4),
new SqlParameter("@BREAK_PER",SqlDbType.VarChar,50),
new SqlParameter("@BREAK_DATE", SqlDbType.Date),
new SqlParameter("@AREA_ID",SqlDbType.VarChar,50),
new SqlParameter("@RECORD_PER",SqlDbType.VarChar,50),
new SqlParameter("@RECORD_DATE", SqlDbType.Date),
new SqlParameter("@STORAGE_ID",SqlDbType.VarChar,50),
new SqlParameter("@TASK_ID",SqlDbType.VarChar,50),
new SqlParameter("@STEP_ID",SqlDbType.VarChar,50),
new SqlParameter("@GOODS_ID",SqlDbType.VarChar,50),
new SqlParameter("@MATERIAL_ID",SqlDbType.VarChar,50)};
parameters[0].Value = model.MATERIAL_NUM;
parameters[1].Value = model.UNIT;
parameters[2].Value = model.BREAK_NUM;
parameters[3].Value = model.BREAK_PER;
parameters[4].Value = model.BREAK_DATE;
parameters[5].Value = model.AREA_ID;
parameters[6].Value = model.RECORD_PER;
parameters[7].Value = model.RECORD_DATE;
parameters[8].Value = model.STORAGE_ID;
parameters[9].Value = model.TASK_ID;
parameters[10].Value = model.STEP_ID;
parameters[11].Value = model.GOODS_ID;
parameters[12].Value = model.MATERIAL_ID;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
#endregion
#region
/// <summary>
/// 删除
/// </summary>
/// <param name="model"></param>
public void DeleteProBreak(ProBreakModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete from T_SC_PRO_BREAK ");
strSql.Append(" where STORAGE_ID=@STORAGE_ID and TASK_ID=@TASK_ID and STEP_ID=@STEP_ID and GOODS_ID=@GOODS_ID and MATERIAL_ID=@MATERIAL_ID and RECORD_DATE=@RECORD_DATE");
SqlParameter[] parameters = {
new SqlParameter("@STORAGE_ID", SqlDbType.VarChar,50),
new SqlParameter("@TASK_ID", SqlDbType.VarChar,50),
new SqlParameter("@STEP_ID", SqlDbType.VarChar,50),
new SqlParameter("@GOODS_ID", SqlDbType.VarChar,50),
new SqlParameter("@MATERIAL_ID", SqlDbType.VarChar,50),
new SqlParameter("@RECORD_DATE",SqlDbType.Date)};
parameters[0].Value = model.STORAGE_ID;
parameters[1].Value = model.TASK_ID;
parameters[2].Value = model.STEP_ID;
parameters[3].Value = model.GOODS_ID;
parameters[4].Value = model.MATERIAL_ID;
parameters[5].Value = model.RECORD_DATE;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
#endregion
}
}