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 获取集合 /// /// 获取集合 /// /// /// 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 新增 /// /// 新增破损记录 /// /// 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 修改 /// /// 修改 /// /// 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 删除 /// /// 删除 /// /// 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 } }