using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using WMS.Model.Stock; using WMS.DBUtility; using WMS.IData.IStock; using WMS.IData;using Oracle.ManagedDataAccess.Client; namespace WMS.SqlServerData.StockData { public class AreaRepInData : IAreaRepIn { /// /// 获取库区间调拨单入库明细 /// /// 库区间调拨单入库明细 public DataTable GetAreaRepInDT(AreaRepInModel model) { StringBuilder strSql = new StringBuilder(); strSql.AppendLine("select "); strSql.AppendLine(" a.AREA_REP_ID, "); strSql.AppendLine(" a.IN_LOC_ID, "); strSql.AppendLine(" a.PLAN_COUNT, "); strSql.AppendLine(" a.REAL_COUNT, "); strSql.AppendLine(" a.GOODS_ID, "); strSql.AppendLine(" a.TAB_IN_ID, "); strSql.AppendLine(" a.MISTOCK_NUM, "); strSql.AppendLine(" a.UNIT, --单位 "); strSql.AppendLine(" a.SCALE_UNIT, --重量单位 "); strSql.AppendLine(" a.PRICE, --标准价格 "); strSql.AppendLine(" b.goods_name "); if (model.SORT == 1)//去备份表查 { strSql.AppendLine(" FROM T_STOCK_AREA_REP_IN_BACK a "); } else { strSql.AppendLine(" FROM T_STOCK_AREA_REP_IN a "); } strSql.AppendLine(" left join t_base_goods b "); strSql.AppendLine(" on a.goods_id = b.goods_id "); strSql.AppendLine("where 1 = 1"); if (!string.IsNullOrEmpty(model.TAB_IN_ID)) { strSql.AppendLine(" and a.TAB_IN_ID like '%" + model.TAB_IN_ID + "%' "); } if (!string.IsNullOrEmpty(model.AREA_REP_ID)) { strSql.AppendLine(" and a.AREA_REP_ID = '" + model.AREA_REP_ID + "' "); } strSql.AppendLine(" order by a.TAB_IN_ID"); return SystemDataObject.Instance.GetDataTable(strSql.ToString()); } /// /// 插入库区间调拨单入库明细信息 /// /// 库区间调拨单入库明细Model public void InsertAreaRepIn(AreaRepInModel model) { StringBuilder strSql = new StringBuilder(); //if (model.AREA_REP_ID == null) //{ // strSql.AppendLine("insert into T_STOCK_AREA_REP_IN("); // strSql.AppendLine("AREA_REP_ID,IN_LOC_ID,PLAN_COUNT,REAL_COUNT,GOODS_ID,TAB_IN_ID,MISTOCK_NUM)"); // strSql.AppendLine(" values ("); // strSql.AppendLine("SEQ_STOCK_AREA_REP.currval,:IN_LOC_ID,:PLAN_COUNT,:REAL_COUNT,:GOODS_ID,SEQ_STOCK_AREA_REP_IN.nextval,:MISTOCK_NUM)"); // OracleParameter[] parameters = { // new OracleParameter(":IN_LOC_ID",OracleDbType.Varchar2,20), // new OracleParameter(":PLAN_COUNT", OracleDbType.Decimal,4), // new OracleParameter(":REAL_COUNT", OracleDbType.Decimal,4), // new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,20), // new OracleParameter(":MISTOCK_NUM", OracleDbType.Decimal,4)}; // parameters[0].Value = model.IN_LOC_ID; // parameters[1].Value = model.PLAN_COUNT; // parameters[2].Value = model.REAL_COUNT; // parameters[3].Value = model.GOODS_ID; // parameters[4].Value = model.MISTOCK_NUM; // SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters); //} //else //{ if (model.TAB_IN_ID == null) { strSql.AppendLine("insert into T_STOCK_AREA_REP_IN("); strSql.AppendLine("AREA_REP_ID,IN_LOC_ID,PLAN_COUNT,REAL_COUNT,GOODS_ID,MISTOCK_NUM,UNIT,SCALE_UNIT,PRICE)"); strSql.AppendLine(" values ("); strSql.AppendLine(":AREA_REP_ID,:IN_LOC_ID,:PLAN_COUNT,:REAL_COUNT,:GOODS_ID,:MISTOCK_NUM,:UNIT,:SCALE_UNIT,:PRICE)"); OracleParameter[] parameters = { new OracleParameter(":AREA_REP_ID",OracleDbType.Varchar2), new OracleParameter(":IN_LOC_ID",OracleDbType.Varchar2), new OracleParameter(":PLAN_COUNT", OracleDbType.Decimal), new OracleParameter(":REAL_COUNT", OracleDbType.Decimal), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2), new OracleParameter(":MISTOCK_NUM", OracleDbType.Decimal), new OracleParameter(":UNIT",OracleDbType.Varchar2), new OracleParameter(":SCALE_UNIT",OracleDbType.Varchar2), new OracleParameter(":PRICE",OracleDbType.Varchar2)}; parameters[0].Value = model.AREA_REP_ID; parameters[1].Value = model.IN_LOC_ID; parameters[2].Value = model.PLAN_COUNT; parameters[3].Value = model.REAL_COUNT; parameters[4].Value = model.GOODS_ID; parameters[5].Value = model.MISTOCK_NUM; parameters[6].Value = model.UNIT; parameters[7].Value = model.SCALE_UNIT; parameters[8].Value = model.PRICE; SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters); } else { strSql.AppendLine("insert into T_STOCK_AREA_REP_IN("); strSql.AppendLine("AREA_REP_ID,IN_LOC_ID,PLAN_COUNT,REAL_COUNT,GOODS_ID,TAB_IN_ID,MISTOCK_NUM,UNIT,SCALE_UNIT,PRICE)"); strSql.AppendLine(" values ("); strSql.AppendLine(":AREA_REP_ID,:IN_LOC_ID,:PLAN_COUNT,:REAL_COUNT,:GOODS_ID,:TAB_IN_ID,:MISTOCK_NUM,:UNIT,:SCALE_UNIT,:PRICE)"); OracleParameter[] parameters = { new OracleParameter(":AREA_REP_ID",OracleDbType.Varchar2), new OracleParameter(":IN_LOC_ID",OracleDbType.Varchar2), new OracleParameter(":PLAN_COUNT", OracleDbType.Decimal), new OracleParameter(":REAL_COUNT", OracleDbType.Decimal), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2), new OracleParameter(":TAB_IN_ID",OracleDbType.Varchar2), new OracleParameter(":MISTOCK_NUM", OracleDbType.Decimal), new OracleParameter(":UNIT",OracleDbType.Varchar2), new OracleParameter(":SCALE_UNIT",OracleDbType.Varchar2), new OracleParameter(":PRICE",OracleDbType.Varchar2)}; parameters[0].Value = model.AREA_REP_ID; parameters[1].Value = model.IN_LOC_ID; parameters[2].Value = model.PLAN_COUNT; parameters[3].Value = model.REAL_COUNT; parameters[4].Value = model.GOODS_ID; parameters[5].Value = model.TAB_IN_ID; parameters[6].Value = model.MISTOCK_NUM; parameters[7].Value = model.UNIT; parameters[8].Value = model.SCALE_UNIT; parameters[9].Value = model.PRICE; SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters); } //} } /// /// 修改库区间调拨单入库明细信息 /// /// 库区间调拨单入库明细Model public void UpdateAreaRepIn(AreaRepInModel model) { StringBuilder strSql = new StringBuilder(); strSql.AppendLine("update T_STOCK_AREA_REP_IN set "); strSql.AppendLine("AREA_REP_ID=:AREA_REP_ID,"); strSql.AppendLine("IN_LOC_ID=:IN_LOC_ID,"); strSql.AppendLine("PLAN_COUNT=:PLAN_COUNT,"); strSql.AppendLine("REAL_COUNT=:REAL_COUNT,"); strSql.AppendLine("GOODS_ID=:GOODS_ID,"); strSql.AppendLine("TAB_IN_ID=:TAB_IN_ID,"); strSql.AppendLine("MISTOCK_NUM=:MISTOCK_NUM"); strSql.AppendLine("unit=:unit,"); strSql.AppendLine("SCALE_UNIT=:SCALE_UNIT,"); strSql.AppendLine("PRICE=:PRICE"); strSql.AppendLine(" where TAB_IN_ID=:TAB_IN_ID "); OracleParameter[] parameters = { new OracleParameter(":AREA_REP_ID",OracleDbType.Varchar2), new OracleParameter(":IN_LOC_ID",OracleDbType.Varchar2), new OracleParameter(":PLAN_COUNT", OracleDbType.Decimal), new OracleParameter(":REAL_COUNT", OracleDbType.Decimal), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2), new OracleParameter(":TAB_IN_ID",OracleDbType.Varchar2), new OracleParameter(":UNIT",OracleDbType.Varchar2), new OracleParameter(":SCALE_UNIT",OracleDbType.Varchar2), new OracleParameter(":MISTOCK_NUM", OracleDbType.Decimal), new OracleParameter(":PRICE",OracleDbType.Varchar2)}; parameters[0].Value = model.AREA_REP_ID; parameters[1].Value = model.IN_LOC_ID; parameters[2].Value = model.PLAN_COUNT; parameters[3].Value = model.REAL_COUNT; parameters[4].Value = model.GOODS_ID; parameters[5].Value = model.TAB_IN_ID; parameters[6].Value = model.UNIT; parameters[7].Value = model.SCALE_UNIT; parameters[8].Value = model.MISTOCK_NUM; parameters[9].Value = model.PRICE; SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters); } /// /// 删除库区间调拨单入库明细信息 /// /// public void DeleteAreaRepIn(string ID) { StringBuilder strSql = new StringBuilder(); strSql.AppendLine("delete from T_STOCK_AREA_REP_IN "); strSql.AppendLine(" where TAB_IN_ID=:TAB_IN_ID "); OracleParameter[] parameters = { new OracleParameter(":TAB_IN_ID",OracleDbType.Varchar2) }; parameters[0].Value = ID; SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters); } /// /// 通过库区间调拨单编号删除库区间调拨单入库明细 /// /// public void DeleteAreaRepInByAreaRepID(string ID) { StringBuilder strSql = new StringBuilder(); strSql.AppendLine("delete from T_STOCK_AREA_REP_IN "); strSql.AppendLine(" where AREA_REP_ID=:AREA_REP_ID "); OracleParameter[] parameters = { new OracleParameter(":AREA_REP_ID",OracleDbType.Varchar2) }; parameters[0].Value = ID; SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters); } /// /// 向备份表中添加库区间调拨单入库明细 /// /// 库区间调拨单编号 public void InsertAreaRepInBack(string AreaRepID) { string strSql = "insert into T_STOCK_AREA_REP_IN_BACK select * from T_STOCK_AREA_REP_IN where AREA_REP_ID =:AREA_REP_ID"; OracleParameter[] parameters = { new OracleParameter(":AREA_REP_ID",OracleDbType.Varchar2)}; parameters[0].Value = AreaRepID; SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters); } } }