BaoKai_202508_Wms_Jingwang_.../WMS.SqlServerData/SCData/ProBreakData.cs
2025-08-24 21:52:42 +08:00

160 lines
6.3 KiB
C#

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 Oracle.ManagedDataAccess.Client;
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)
{
string sqlInsert = string.Format(@"insert into T_SC_PRO_BREAK(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)values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}',
'{7}','{8}','{9}','{10}','{11}','{12}')",
model.STORAGE_ID,
model.TASK_ID,
model.STEP_ID,
model.GOODS_ID,
model.MATERIAL_ID,
model.MATERIAL_NUM,
model.UNIT,
model.BREAK_NUM,
model.BREAK_PER,
model.BREAK_DATE,
model.AREA_ID,
model.RECORD_PER,
model.RECORD_DATE);
SystemDataObject.Instance.ExecuteSql(sqlInsert);
}
#endregion
#region
/// <summary>
/// 修改
/// </summary>
/// <param name="model"></param>
public void UpdateProBreak(ProBreakModel model)
{
string sqlUpdate = string.Format(@"update T_SC_PRO_BREAK set MATERIAL_NUM='{0}',UNIT='{1}',
BREAK_NUM='{2}',BREAK_PER='{3}',BREAK_DATE='{4}',AREA_ID='{5}',RECORD_PER='{6}',RECORD_DATE='{7}'
where STORAGE_ID='{8}' and TASK_ID='{9}' and STEP_ID='{10}' and GOODS_ID='{11}' and MATERIAL_ID='{12}' ",
model.MATERIAL_NUM,
model.UNIT,
model.BREAK_NUM,
model.BREAK_PER,
model.BREAK_DATE,
model.AREA_ID,
model.RECORD_PER,
model.RECORD_DATE,
model.STORAGE_ID,
model.TASK_ID,
model.STEP_ID,
model.GOODS_ID,
model.MATERIAL_ID
);
SystemDataObject.Instance.ExecuteSql(sqlUpdate);
}
#endregion
#region
/// <summary>
/// 删除
/// </summary>
/// <param name="model"></param>
public void DeleteProBreak(ProBreakModel model)
{
string sqlDelete = string.Format(@"delete from T_SC_PRO_BREAK where
STORAGE_ID='{0}' and TASK_ID='{1}' and STEP_ID='{2}' and GOODS_ID='{3}' and MATERIAL_ID='{4}' and RECORD_DATE='{5}'",
model.STORAGE_ID, model.TASK_ID, model.STEP_ID, model.GOODS_ID, model.MATERIAL_ID, DateTime.Now
);
SystemDataObject.Instance.ExecuteSql(sqlDelete);
}
#endregion
}
}