using System; using System.Collections.Generic; using System.Linq; using System.Text; using WMS.Model.Stock; using WMS.IData;using Oracle.ManagedDataAccess.Client; using WMS.IData.IStock; using System.Data; namespace WMS.SqlServerData.StockData { public class StorageRepData : IStorageRep { #region 获得流水号 /// /// 获取流水号 /// /// public string GetNextValNum() { string strSqlSeq = ""; strSqlSeq = "select NEXT VALUE FOR SEQ_STOCK_STORAGEREP_ID"; DataTable dt = SystemDataObject.Instance.GetDataTable(strSqlSeq); string strSEQ = "CB" + DateTime.Now.ToString("yyyyMMdd") + dt.Rows[0][0].ToString(); return strSEQ; } #endregion #region 查询主表信息 /// /// 查询仓库间调拨数据信息 /// /// 仓库间调拨Model /// public DataTable GetStorageRepData(StorageRepModel stoModel) { StringBuilder strSql = new StringBuilder(); strSql.Append(@" select t.storep_id, --供应商补货单据编号 t.totalout_num, --出库总量 t.create_man, --创建人 a.Name create_man_name, --创建人名称 t.confirm_man, --审核人 b.Name confirm_man_name, --审核人名称 t.operatorid, --用户编号 c.Name OPERATOR_NAME,--录入人 t.operatedate, --录入时间 t.create_date, --创建时间 t.confirm_date, --确认时间 t.expect_date, --预计到货时间 t.stostart_id, --出库仓库编号 s.storage_name stostart_name, --出库仓库名称 t.stoend_id, --目的仓库编号 y.storage_name stoend_name, --目的仓库名称 t.storep_status, --单据Status t.remark, --备注 t.resion, --补货原因编号 sy.vc_dictionary_name RESION_NAME, --补货原因 t.shippers, --承运商 t.ori_bill, --来源单号 t.version, --版本号 t.print_count --打印次数 from T_STOCK_STOREP t --仓库间调拨表 left join T_BASE_USERINFO a --用户表 on t.create_man = a.user_id left join T_BASE_USERINFO b --用户表 on t.Confirm_man = b.user_id left join T_BASE_USERINFO c --用户表 on t.operatorid = c.user_id left join T_BASE_STORAGEINFO s --仓库表 on t.stostart_id = s.storage_id left join t_Base_Storageinfo y --仓库表 on t.stoend_id = y.storage_id left join T_SYS_DICTIONARY_TAB sy --字典表 on t.resion = sy.vc_dictionary_id where 1 = 1 "); #region 查询条件 if (!string.IsNullOrEmpty(stoModel.STOREP_ID)) { strSql.Append(" and t.storep_id like'%" + stoModel.STOREP_ID + "%'"); } if (!string.IsNullOrEmpty(stoModel.CREATE_MAN)) { strSql.Append(" and t.CREATE_MAN like '%" + stoModel.CREATE_MAN + "%'"); } if (!string.IsNullOrEmpty(stoModel.CONFIRM_MAN)) { strSql.Append(" and t.CONFIRM_MAN like '%" + stoModel.CONFIRM_MAN + "%'"); } //if (!string.IsNullOrEmpty(stoModel.REVIEW_MAN)) //{ // strSql.Append(" and t.REVIEW_MAN like '%" + stoModel.REVIEW_MAN + "%'"); //} if (!string.IsNullOrEmpty(stoModel.RESION)) { strSql.Append(" and t.resion like '%" + stoModel.RESION + "%'"); } if (stoModel.TIMESTART != DateTime.MinValue && stoModel.TIMEEND != DateTime.MinValue) { strSql.Append(" and t.create_DATE between convert(varchar(100),'" + stoModel.TIMESTART.ToString("yyyy-MM-dd") + "',20) and convert(varchar(100),'" + stoModel.TIMEEND.ToString("yyyy-MM-dd") + "',20)"); } strSql.Append(" order by t.create_date desc"); #endregion return SystemDataObject.Instance.GetDataTable(strSql.ToString()); } #endregion #region 查询明细表信息 /// /// 查询仓库间调拨明细数据 /// /// 仓库间调拨ID /// public DataTable GetStorageRepInfoData(string stoid) { StringBuilder strSql = new StringBuilder(); strSql.Append(@"select s.storep_id, s.goods_id, g.goods_name GOODS_NAME, s.goodsout_count, g.cost_price, s.goodsout_count*g.cost_price sum_cost_price, t.vc_dictionary_name UNIT_NAME, s.remark, s.price, s.unit, s.sumprice, s.shevls_num from T_STOCK_STOREP_INFO s left join t_Base_Goods g on s.goods_id = g.goods_id left join T_SYS_DICTIONARY_TAB t on s.unit = t.vc_char_value where 1 = 1 and t.vc_dictionary_type='vc_uom' "); if (!string.IsNullOrEmpty(stoid)) { strSql.Append(" and s.STOREP_ID = '" + stoid + "'"); } strSql.Append(" order by s.storep_id desc"); return SystemDataObject.Instance.GetDataTable(strSql.ToString()); } #endregion #region 同时新增 主表明细表数据 /// /// 同时新增 主表和明细表数据 /// /// 主表Model /// 明细表Model集合 public void InsertStorageRepData(StorageRepModel model, List listmodel) { StringBuilder strSql = new StringBuilder(); List addsqlstrlist = new List(); List addsqlpara = new List(); strSql.Append("insert into T_STOCK_STOREP("); strSql.Append("STOREP_ID,TOTALOUT_NUM,CREATE_MAN,CONFIRM_MAN,CREATE_DATE,CONFIRM_DATE,EXPECT_DATE,STOSTART_ID,STOEND_ID,STOREP_STATUS,REMARK,VERSION,RESION,PRINT_COUNT,SHIPPERS,ORI_BILL,OPERATORID,OPERATEDATE)"); strSql.Append(" values ("); strSql.Append(":STOREP_ID,:TOTALOUT_NUM,:CREATE_MAN,:CONFIRM_MAN,:CREATE_DATE,:CONFIRM_DATE,:EXPECT_DATE,:STOSTART_ID,:STOEND_ID,:STOREP_STATUS,:REMARK,:VERSION,:RESION,:PRINT_COUNT,:SHIPPERS,:ORI_BILL,:OPERATORID,:OPERATEDATE)"); OracleParameter[] parameters = { new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":TOTALOUT_NUM", OracleDbType.Decimal,4), new OracleParameter(":CREATE_MAN",OracleDbType.Varchar2,30), new OracleParameter(":CONFIRM_MAN",OracleDbType.Varchar2,30), new OracleParameter(":CREATE_DATE", OracleDbType.Date), new OracleParameter(":CONFIRM_DATE", OracleDbType.Date), new OracleParameter(":EXPECT_DATE", OracleDbType.Date), new OracleParameter(":STOSTART_ID",OracleDbType.Varchar2,30), new OracleParameter(":STOEND_ID",OracleDbType.Varchar2,30), new OracleParameter(":STOREP_STATUS", OracleDbType.Char,1), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":RESION",OracleDbType.Varchar2,200), new OracleParameter(":PRINT_COUNT",OracleDbType.Decimal), new OracleParameter(":SHIPPERS",OracleDbType.Varchar2,50), new OracleParameter(":ORI_BILL",OracleDbType.Varchar2,50), new OracleParameter(":OPERATORID",OracleDbType.Varchar2,50), new OracleParameter(":OPERATEDATE",OracleDbType.Date) }; parameters[0].Value = model.STOREP_ID; parameters[1].Value = model.TOTALOUT_NUM; parameters[2].Value = model.CREATE_MAN; parameters[3].Value = model.CONFIRM_MAN; // parameters[4].Value = model.REVIEW_MAN; parameters[4].Value = model.CREATE_DATE; parameters[5].Value = model.CONFIRM_DATE; // parameters[7].Value = model.REVIEW_DATE; parameters[6].Value = model.EXPECT_DATE; parameters[7].Value = model.STOSTART_ID; parameters[8].Value = model.STOEND_ID; parameters[9].Value = model.STOREP_STATUS; parameters[10].Value = model.REMARK; parameters[11].Value = model.VERSION; parameters[12].Value = model.RESION; parameters[13].Value = model.PRINT_COUNT; parameters[14].Value = model.SHIPPERS; parameters[15].Value = model.ORI_BILL; parameters[16].Value = model.OPERATORID; parameters[17].Value = model.OPERATEDATE; addsqlstrlist.Add(strSql.ToString()); addsqlpara.Add(parameters); foreach (StorageRepInfoModel info in listmodel) { strSql = new StringBuilder(); strSql.Append("insert into T_STOCK_STOREP_INFO("); strSql.Append("STOREP_ID,GOODS_ID,GOODSOUT_COUNT,REMARK,VERSION,SHEVLS_NUM,PRICE,UNIT,SUMPRICE)"); strSql.Append(" values ("); strSql.Append(":STOREP_ID,:GOODS_ID,:GOODSOUT_COUNT,:REMARK,:VERSION,:SHEVLS_NUM,:PRICE,:UNIT,:SUMPRICE)"); OracleParameter[] parameter = { new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODSOUT_COUNT", OracleDbType.Decimal,4), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":SHEVLS_NUM", OracleDbType.Decimal,4), new OracleParameter(":PRICE", OracleDbType.Decimal,4), new OracleParameter(":UNIT",OracleDbType.Varchar2,10), new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4), }; parameter[0].Value = info.STOREP_ID; parameter[1].Value = info.GOODS_ID; parameter[2].Value = info.GOODSOUT_COUNT; parameter[3].Value = info.REMARK; parameter[4].Value = info.VERSION; parameter[5].Value = info.SHEVLS_NUM; parameter[6].Value = info.PRICE; parameter[7].Value = info.UNIT; parameter[8].Value = info.SUMPRICE; addsqlstrlist.Add(strSql.ToString()); addsqlpara.Add(parameter); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(addsqlstrlist, addsqlpara); } #endregion #region 同时更新 主表明细表数据 /// /// 同时更新 主表明细表数据 /// /// 仓库间调拨主表Model /// 仓库间调拨明细表Model集合 public void UpdateStorageRepData(StorageRepModel model, List listmodel) { StringBuilder strSql = new StringBuilder(); List updatesqlstrlist = new List(); List updatesqlpara = new List(); strSql.Append("update T_STOCK_STOREP set "); strSql.Append("TOTALOUT_NUM=:TOTALOUT_NUM,"); strSql.Append("CREATE_MAN=:CREATE_MAN,"); strSql.Append("CONFIRM_MAN=:CONFIRM_MAN,"); strSql.Append("CREATE_DATE=:CREATE_DATE,"); strSql.Append("CONFIRM_DATE=:CONFIRM_DATE,"); strSql.Append("EXPECT_DATE=:EXPECT_DATE,"); strSql.Append("STOSTART_ID=:STOSTART_ID,"); strSql.Append("STOEND_ID=:STOEND_ID,"); strSql.Append("STOREP_STATUS=:STOREP_STATUS,"); strSql.Append("RESION=:RESION,"); strSql.Append("REMARK=:REMARK,"); strSql.Append("VERSION=:VERSION,"); strSql.Append("PRINT_COUNT=:PRINT_COUNT,"); strSql.Append("SHIPPERS=:SHIPPERS,"); strSql.Append("OPERATORID=:OPERATORID,"); strSql.Append("OPERATEDATE=:OPERATEDATE,"); strSql.Append("ORI_BILL=:ORI_BILL"); strSql.Append(" where STOREP_ID=:STOREP_ID"); OracleParameter[] parameters = { new OracleParameter(":TOTALOUT_NUM", OracleDbType.Decimal,4), new OracleParameter(":CREATE_MAN",OracleDbType.Varchar2,30), new OracleParameter(":CONFIRM_MAN",OracleDbType.Varchar2,30), //new OracleParameter(":REVIEW_MAN",OracleDbType.Varchar2,30), new OracleParameter(":CREATE_DATE", OracleDbType.Date), new OracleParameter(":CONFIRM_DATE", OracleDbType.Date), //new OracleParameter(":REVIEW_DATE", OracleDbType.Date), new OracleParameter(":EXPECT_DATE", OracleDbType.Date), new OracleParameter(":STOSTART_ID",OracleDbType.Varchar2,30), new OracleParameter(":STOEND_ID",OracleDbType.Varchar2,30), new OracleParameter(":STOREP_STATUS", OracleDbType.Char,1), new OracleParameter(":RESION",OracleDbType.Varchar2,200), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":PRINT_COUNT",OracleDbType.Decimal), new OracleParameter(":SHIPPERS",OracleDbType.Varchar2,50), new OracleParameter(":OPERATORID",OracleDbType.Varchar2,50), new OracleParameter(":OPERATEDATE",OracleDbType.Date), new OracleParameter(":ORI_BILL",OracleDbType.Varchar2,50), new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30)}; parameters[0].Value = model.TOTALOUT_NUM; parameters[1].Value = model.CREATE_MAN; parameters[2].Value = model.CONFIRM_MAN; // parameters[3].Value = model.REVIEW_MAN; parameters[3].Value = model.CREATE_DATE; parameters[4].Value = model.CONFIRM_DATE; //parameters[6].Value = model.REVIEW_DATE; parameters[5].Value = model.EXPECT_DATE; parameters[6].Value = model.STOSTART_ID; parameters[7].Value = model.STOEND_ID; parameters[8].Value = model.STOREP_STATUS; parameters[9].Value = model.RESION; parameters[10].Value = model.REMARK; parameters[11].Value = model.VERSION; parameters[12].Value = model.PRINT_COUNT; parameters[13].Value = model.SHIPPERS; parameters[14].Value = model.OPERATORID; parameters[15].Value = model.OPERATEDATE; parameters[16].Value = model.ORI_BILL; parameters[17].Value = model.STOREP_ID; updatesqlstrlist.Add(strSql.ToString()); updatesqlpara.Add(parameters); foreach (StorageRepInfoModel info in listmodel) { strSql = new StringBuilder(); strSql.Append("update T_STOCK_STOREP_INFO set "); strSql.Append("GOODSOUT_COUNT=:GOODSOUT_COUNT,"); strSql.Append("REMARK=:REMARK,"); strSql.Append("PRICE=:PRICE,"); strSql.Append("UNIT=:UNIT,"); strSql.Append("SUMPRICE=:SUMPRICE,"); strSql.Append("VERSION=:VERSION"); strSql.Append(" where STOREP_ID=:STOREP_ID and GOODS_ID=:GOODS_ID "); OracleParameter[] parameter = { new OracleParameter(":GOODSOUT_COUNT", OracleDbType.Decimal,4), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":PRICE", OracleDbType.Decimal,4), new OracleParameter(":UNIT",OracleDbType.Varchar2,10), new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30)}; parameter[0].Value = info.GOODSOUT_COUNT; parameter[1].Value = info.REMARK; parameter[2].Value = info.PRICE; parameter[3].Value = info.UNIT; parameter[4].Value = info.SUMPRICE; parameter[5].Value = info.VERSION; parameter[6].Value = info.STOREP_ID; parameter[7].Value = info.GOODS_ID; updatesqlstrlist.Add(strSql.ToString()); updatesqlpara.Add(parameter); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(updatesqlstrlist, updatesqlpara); } #endregion #region 同时删除 主表明细表数据 /// /// 同时删除 主表明细表数据 /// /// public void DeleteStorageRepData(List listmodel) { StringBuilder strSql = new StringBuilder(); List delsqlstrlist = new List(); List delsqlpara = new List(); foreach (string stDel in listmodel) { strSql.Append("delete from T_STOCK_STOREP "); strSql.Append(" where STOREP_ID=:STOREP_ID "); OracleParameter[] parameters = { new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30)}; parameters[0].Value = stDel; delsqlstrlist.Add(strSql.ToString()); delsqlpara.Add(parameters); strSql.Clear(); } foreach (string str in listmodel) { strSql = new StringBuilder(); strSql.Append("delete from T_STOCK_STOREP_INFO "); strSql.Append(" where STOREP_ID=:STOREP_ID "); OracleParameter[] parameters = { new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30) }; parameters[0].Value = str; delsqlstrlist.Add(strSql.ToString()); delsqlpara.Add(parameters); strSql.Clear(); } //foreach (string strmes in listmodel) //{ // strSql = new StringBuilder(); // strSql.Append("delete from T_BASE_MESSAGE "); // strSql.Append(" where RELATIVE_NUMBER=:RELATIVE_NUMBER "); // OracleParameter[] parametersss = { // new OracleParameter(":RELATIVE_NUMBER",OracleDbType.Varchar2) //}; // parametersss[0].Value = strmes; // delsqlstrlist.Add(strSql.ToString()); // delsqlpara.Add(parametersss); // strSql.Clear(); //} SystemDataObject.Instance.ExecuteList(delsqlstrlist, delsqlpara); } #endregion /// /// 单独增加明细数据 /// public void Add(List list) { StringBuilder strSql = new StringBuilder(); List sqlstrlist = new List(); List sqlpara = new List(); foreach (StorageRepInfoModel model in list) { strSql = new StringBuilder(); strSql = new StringBuilder(); strSql.Append("insert into T_STOCK_STOREP_INFO("); strSql.Append("STOREP_ID,GOODS_ID,GOODSOUT_COUNT,REMARK,VERSION,SHEVLS_NUM,PRICE,UNIT,SUMPRICE)"); strSql.Append(" values ("); strSql.Append(":STOREP_ID,:GOODS_ID,:GOODSOUT_COUNT,:REMARK,:VERSION,:SHEVLS_NUM,:PRICE,:UNIT,:SUMPRICE)"); OracleParameter[] parameter = { new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODSOUT_COUNT", OracleDbType.Decimal,4), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":SHEVLS_NUM", OracleDbType.Decimal,4), new OracleParameter(":PRICE", OracleDbType.Decimal,4), new OracleParameter(":UNIT",OracleDbType.Varchar2,10), new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4), }; parameter[0].Value = model.STOREP_ID; parameter[1].Value = model.GOODS_ID; parameter[2].Value = model.GOODSOUT_COUNT; parameter[3].Value = model.REMARK; parameter[4].Value = model.VERSION; parameter[5].Value = model.SHEVLS_NUM; parameter[6].Value = model.PRICE; parameter[7].Value = model.UNIT; parameter[8].Value = model.SUMPRICE; sqlstrlist.Add(strSql.ToString()); sqlpara.Add(parameter); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(sqlstrlist, sqlpara); } #region 单独更新明细数据 /// /// 单独更新明细数据 /// /// /// /// public void NewStorageRepInfoFuc(StorageRepModel stM, List upFuc, List insertFuc, List delFuc) { List sqlList = new List(); List paraList = new List(); StringBuilder strSql = new StringBuilder(); #region 主表 strSql.Append("update T_STOCK_STOREP set "); strSql.Append("TOTALOUT_NUM=:TOTALOUT_NUM,"); strSql.Append("CREATE_MAN=:CREATE_MAN,"); strSql.Append("CONFIRM_MAN=:CONFIRM_MAN,"); // strSql.Append("REVIEW_MAN=:REVIEW_MAN,"); strSql.Append("CREATE_DATE=:CREATE_DATE,"); strSql.Append("CONFIRM_DATE=:CONFIRM_DATE,"); //strSql.Append("REVIEW_DATE=:REVIEW_DATE,"); strSql.Append("EXPECT_DATE=:EXPECT_DATE,"); strSql.Append("STOSTART_ID=:STOSTART_ID,"); strSql.Append("STOEND_ID=:STOEND_ID,"); strSql.Append("STOREP_STATUS=:STOREP_STATUS,"); strSql.Append("RESION=:RESION,"); strSql.Append("REMARK=:REMARK,"); strSql.Append("VERSION=:VERSION,"); strSql.Append("PRINT_COUNT=:PRINT_COUNT"); strSql.Append(" where STOREP_ID=:STOREP_ID "); OracleParameter[] param = new OracleParameter[]{ new OracleParameter(":TOTALOUT_NUM", OracleDbType.Decimal,4), new OracleParameter(":CREATE_MAN",OracleDbType.Varchar2,30), new OracleParameter(":CONFIRM_MAN",OracleDbType.Varchar2,30), //new OracleParameter(":REVIEW_MAN",OracleDbType.Varchar2,30), new OracleParameter(":CREATE_DATE", OracleDbType.Date), new OracleParameter(":CONFIRM_DATE", OracleDbType.Date), //new OracleParameter(":REVIEW_DATE", OracleDbType.Date), new OracleParameter(":EXPECT_DATE", OracleDbType.Date), new OracleParameter(":STOSTART_ID",OracleDbType.Varchar2,30), new OracleParameter(":STOEND_ID",OracleDbType.Varchar2,30), new OracleParameter(":STOREP_STATUS", OracleDbType.Char,1), new OracleParameter(":RESION",OracleDbType.Varchar2,200), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":PRINT_COUNT",OracleDbType.Decimal), new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30)}; param[0].Value = stM.TOTALOUT_NUM; param[1].Value = stM.CREATE_MAN; param[2].Value = stM.CONFIRM_MAN; //param[3].Value = stM.REVIEW_MAN; param[3].Value = stM.CREATE_DATE; param[4].Value = stM.CONFIRM_DATE; //param[6].Value = stM.REVIEW_DATE; param[5].Value = stM.EXPECT_DATE; param[6].Value = stM.STOSTART_ID; param[7].Value = stM.STOEND_ID; param[8].Value = stM.STOREP_STATUS; param[9].Value = stM.RESION; param[10].Value = stM.REMARK; param[11].Value = stM.VERSION; param[12].Value = stM.PRINT_COUNT; param[13].Value = stM.STOREP_ID; sqlList.Add(strSql.ToString()); paraList.Add(param); strSql.Clear(); #endregion #region 明细表 #region 删 //明细删除 if (delFuc.Count > 0) { foreach (StorageRepInfoModel infomodel in delFuc) { strSql = new StringBuilder(); strSql.Append("delete from T_STOCK_STOREP_INFO "); strSql.Append(" where STOREP_ID=:STOREP_ID and GOODS_ID=:GOODS_ID"); OracleParameter[] parameters = { new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30) }; parameters[0].Value = infomodel.STOREP_ID; parameters[1].Value = infomodel.GOODS_ID; sqlList.Add(strSql.ToString()); paraList.Add(parameters); strSql.Clear(); } } #endregion #region 更 //更新明细数据 if (upFuc.Count > 0) { foreach (StorageRepInfoModel modelinfo in upFuc) { strSql = new StringBuilder(); strSql.Append("update T_STOCK_STOREP_INFO set "); strSql.Append("GOODSOUT_COUNT=:GOODSOUT_COUNT,"); strSql.Append("REMARK=:REMARK,"); strSql.Append("PRICE=:PRICE,"); strSql.Append("UNIT=:UNIT,"); strSql.Append("SUMPRICE=:SUMPRICE,"); strSql.Append("VERSION=:VERSION"); strSql.Append(" where STOREP_ID=:STOREP_ID and GOODS_ID=:GOODS_ID "); OracleParameter[] parameter = { new OracleParameter(":GOODSOUT_COUNT", OracleDbType.Decimal,4), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":PRICE", OracleDbType.Decimal,4), new OracleParameter(":UNIT",OracleDbType.Varchar2,10), new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30)}; parameter[0].Value = modelinfo.GOODSOUT_COUNT; parameter[1].Value = modelinfo.REMARK; parameter[2].Value = modelinfo.PRICE; parameter[3].Value = modelinfo.UNIT; parameter[4].Value = modelinfo.SUMPRICE; parameter[5].Value = modelinfo.VERSION; parameter[6].Value = modelinfo.STOREP_ID; parameter[7].Value = modelinfo.GOODS_ID; sqlList.Add(strSql.ToString()); paraList.Add(parameter); strSql.Clear(); } } #endregion #region 增 // 新增明细数据 if (insertFuc.Count > 0) { foreach (StorageRepInfoModel modelinfo in insertFuc) { strSql = new StringBuilder(); strSql = new StringBuilder(); strSql.Append("insert into T_STOCK_STOREP_INFO("); strSql.Append("STOREP_ID,GOODS_ID,GOODSOUT_COUNT,REMARK,VERSION,SHEVLS_NUM,PRICE,UNIT,SUMPRICE)"); strSql.Append(" values ("); strSql.Append(":STOREP_ID,:GOODS_ID,:GOODSOUT_COUNT,:REMARK,:VERSION,:SHEVLS_NUM,:PRICE,:UNIT,:SUMPRICE)"); OracleParameter[] parameter = { new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODSOUT_COUNT", OracleDbType.Decimal,4), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":SHEVLS_NUM", OracleDbType.Decimal,4), new OracleParameter(":PRICE", OracleDbType.Decimal,4), new OracleParameter(":UNIT",OracleDbType.Varchar2,10), new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4), }; parameter[0].Value = modelinfo.STOREP_ID; parameter[1].Value = modelinfo.GOODS_ID; parameter[2].Value = modelinfo.GOODSOUT_COUNT; parameter[3].Value = modelinfo.REMARK; parameter[4].Value = modelinfo.VERSION; parameter[5].Value = modelinfo.SHEVLS_NUM; parameter[6].Value = modelinfo.PRICE; parameter[7].Value = modelinfo.UNIT; parameter[8].Value = modelinfo.SUMPRICE; sqlList.Add(strSql.ToString()); paraList.Add(parameter); strSql.Clear(); } } #endregion #endregion SystemDataObject.Instance.ExecuteList(sqlList, paraList); } #endregion /// /// 单独删除明细数据 /// public void Delete(List list) { StringBuilder strSql = new StringBuilder(); List sqlstrlist = new List(); List sqlstrpara = new List(); foreach (StorageRepInfoModel model in list) { strSql = new StringBuilder(); strSql.Append("delete from T_STOCK_STOREP_INFO "); strSql.Append(" where STOREP_ID=:STOREP_ID and GOODS_ID=:GOODS_ID "); OracleParameter[] parameters = { new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30) }; parameters[0].Value = model.STOREP_ID; parameters[1].Value = model.GOODS_ID; sqlstrlist.Add(strSql.ToString()); sqlstrpara.Add(parameters); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(sqlstrlist, sqlstrpara); } #region 已废 查询补货操作数据信息 // public DataTable GetStockData() // { // StringBuilder strSql = new StringBuilder(); // strSql.Append(@"select // t.stock_id, // t.putin_id, // t.out_id, // t.storage_id, // t.area_id, // t.location_id, // t.goods_typeid, // t.goods_id, // g.goods_name, // t.goods_num, // t.operator_man, // t.operator_date, // t.operator_type, // t.remark, // t.version // from T_MI_STOCK_BACK t // left outer join T_BASE_GOODS g // on t.goods_id = g.goods_id // where 1 = 1"); // #region 查询条件 // strSql.Append(""); // #endregion // return SystemDataObject.Instance.GetDataTable(strSql.ToString()); // } #endregion #region 已废 删主表 /// /// 删除多条数据 /// public void DeleteStorageRep(List listmodel) { StringBuilder strSql = new StringBuilder(); List delsqlstrlist = new List(); List delsqlpara = new List(); foreach (StorageRepModel model in listmodel) { strSql.Append("delete from T_STOCK_STOREP "); strSql.Append(" where STOREP_ID=:STOREP_ID "); OracleParameter[] parameters = { new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30) }; parameters[0].Value = model.STOREP_ID; delsqlstrlist.Add(strSql.ToString()); delsqlpara.Add(parameters); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(delsqlstrlist, delsqlpara); } #endregion #region 已废 删明细 /// /// 删除一条数据 /// public void DeleteStorageRepInfo(List listmodel) { StringBuilder strSql = new StringBuilder(); List delsqlstrlist = new List(); List delsqlpara = new List(); foreach (StorageRepInfoModel model in listmodel) { strSql.Append("delete from T_STOCK_STOREP_INFO "); strSql.Append(" where STOREP_ID=:STOREP_ID "); OracleParameter[] parameters = { new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30) // new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30) }; parameters[0].Value = model.STOREP_ID; //parameters[1].Value = model.GOODS_ID; delsqlstrlist.Add(strSql.ToString()); delsqlpara.Add(parameters); } SystemDataObject.Instance.ExecuteList(delsqlstrlist, delsqlpara); } #endregion #region 增主表 /// /// 增加仓库间调拨主表数据 /// /// 仓库间调拨Model public void InsertStorageRep(StorageRepModel model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into T_STOCK_STOREP("); strSql.Append("STOREP_ID,TOTALOUT_NUM,CREATE_MAN,CONFIRM_MAN,CREATE_DATE,CONFIRM_DATE,EXPECT_DATE,STOSTART_ID,STOEND_ID,STOREP_STATUS,REMARK,VERSION,RESION,PRINT_COUNT,SHIPPERS,ORI_BILL,OPERATORID,OPERATEDATE)"); strSql.Append(" values ("); strSql.Append(":STOREP_ID,:TOTALOUT_NUM,:CREATE_MAN,:CONFIRM_MAN,:CREATE_DATE,:CONFIRM_DATE,:EXPECT_DATE,:STOSTART_ID,:STOEND_ID,:STOREP_STATUS,:REMARK,:VERSION,:RESION,:PRINT_COUNT,:SHIPPERS,:ORI_BILL,:OPERATORID,:OPERATEDATE)"); OracleParameter[] parameters = { new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":TOTALOUT_NUM", OracleDbType.Decimal,4), new OracleParameter(":CREATE_MAN",OracleDbType.Varchar2,30), new OracleParameter(":CONFIRM_MAN",OracleDbType.Varchar2,30), //new OracleParameter(":REVIEW_MAN",OracleDbType.Varchar2,30), new OracleParameter(":CREATE_DATE", OracleDbType.Date), new OracleParameter(":CONFIRM_DATE", OracleDbType.Date), //new OracleParameter(":REVIEW_DATE", OracleDbType.Date), new OracleParameter(":EXPECT_DATE", OracleDbType.Date), new OracleParameter(":STOSTART_ID",OracleDbType.Varchar2,30), new OracleParameter(":STOEND_ID",OracleDbType.Varchar2,30), new OracleParameter(":STOREP_STATUS", OracleDbType.Char,1), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":RESION",OracleDbType.Varchar2,200), new OracleParameter(":PRINT_COUNT",OracleDbType.Decimal), new OracleParameter(":SHIPPERS",OracleDbType.Varchar2,50), new OracleParameter(":ORI_BILL",OracleDbType.Varchar2,50), new OracleParameter(":OPERATORID",OracleDbType.Varchar2,50), new OracleParameter(":OPERATEDATE",OracleDbType.Date) }; parameters[0].Value = model.STOREP_ID; parameters[1].Value = model.TOTALOUT_NUM; parameters[2].Value = model.CREATE_MAN; parameters[3].Value = model.CONFIRM_MAN; // parameters[4].Value = model.CONFIRM_MAN; parameters[4].Value = model.CREATE_DATE; parameters[5].Value = model.CONFIRM_DATE; // parameters[7].Value = model.REVIEW_DATE; parameters[6].Value = model.EXPECT_DATE; parameters[7].Value = model.STOSTART_ID; parameters[8].Value = model.STOEND_ID; parameters[9].Value = model.STOREP_STATUS; parameters[10].Value = model.REMARK; parameters[11].Value = model.VERSION; parameters[12].Value = model.RESION; parameters[13].Value = model.PRINT_COUNT; parameters[14].Value = model.SHIPPERS; parameters[15].Value = model.ORI_BILL; parameters[16].Value = model.OPERATORID; parameters[17].Value = model.OPERATEDATE; SystemDataObject.Instance.ExecuteSqlCommit(strSql.ToString(), parameters); } #endregion #region 增明细 /// /// 增仓库间调拨明细数据 /// /// 仓库间调拨明细Model集合 public void InsertStorageRepInfo(List listmodel) { StringBuilder strSql = new StringBuilder(); List addsqlstrlist = new List(); List addsqlpara = new List(); foreach (StorageRepInfoModel model in listmodel) { strSql = new StringBuilder(); strSql.Append("insert into T_STOCK_STOREP_INFO("); strSql.Append("STOREP_ID,GOODS_ID,GOODSOUT_COUNT,REMARK,VERSION,SHEVLS_NUM,PRICE,UNIT,SUMPRICE)"); strSql.Append(" values ("); strSql.Append(":STOREP_ID,:GOODS_ID,:GOODSOUT_COUNT,:REMARK,:VERSION,:SHEVLS_NUM,:PRICE,:UNIT,:SUMPRICE)"); OracleParameter[] parameter = { new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODSOUT_COUNT", OracleDbType.Decimal,4), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":SHEVLS_NUM", OracleDbType.Decimal,4), new OracleParameter(":PRICE", OracleDbType.Decimal,4), new OracleParameter(":UNIT",OracleDbType.Varchar2,10), new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4), }; parameter[0].Value = model.STOREP_ID; parameter[1].Value = model.GOODS_ID; parameter[2].Value = model.GOODSOUT_COUNT; parameter[3].Value = model.REMARK; parameter[4].Value = model.VERSION; parameter[5].Value = model.SHEVLS_NUM; parameter[6].Value = model.PRICE; parameter[7].Value = model.UNIT; parameter[8].Value = model.SUMPRICE; addsqlstrlist.Add(strSql.ToString()); addsqlpara.Add(parameter); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(addsqlstrlist, addsqlpara); } #endregion #region 更主表 /// /// 更新仓库间调拨主表数据 /// /// 仓库间调拨Model public void UpdateStorageRep(StorageRepModel model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update T_STOCK_STOREP set "); strSql.Append("TOTALOUT_NUM=:TOTALOUT_NUM,"); strSql.Append("CREATE_MAN=:CREATE_MAN,"); strSql.Append("CONFIRM_MAN=:CONFIRM_MAN,"); //strSql.Append("REVIEW_MAN=:REVIEW_MAN,"); strSql.Append("CREATE_DATE=:CREATE_DATE,"); strSql.Append("CONFIRM_DATE=:CONFIRM_DATE,"); //strSql.Append("REVIEW_DATE=:REVIEW_DATE,"); strSql.Append("EXPECT_DATE=:EXPECT_DATE,"); strSql.Append("STOSTART_ID=:STOSTART_ID,"); strSql.Append("STOEND_ID=:STOEND_ID,"); strSql.Append("STOREP_STATUS=:STOREP_STATUS,"); strSql.Append("RESION=:RESION,"); strSql.Append("REMARK=:REMARK,"); strSql.Append("VERSION=:VERSION,"); strSql.Append("PRINT_COUNT=:PRINT_COUNT,"); strSql.Append("SHIPPERS=:SHIPPERS,"); strSql.Append("OPERATORID=:OPERATORID,"); strSql.Append("OPERATEDATE=:OPERATEDATE,"); strSql.Append("ORI_BILL=:ORI_BILL"); strSql.Append(" where STOREP_ID=:STOREP_ID "); OracleParameter[] parameters = { new OracleParameter(":TOTALOUT_NUM", OracleDbType.Decimal,4), new OracleParameter(":CREATE_MAN",OracleDbType.Varchar2,30), new OracleParameter(":CONFIRM_MAN",OracleDbType.Varchar2,30), //new OracleParameter(":REVIEW_MAN",OracleDbType.Varchar2,30), new OracleParameter(":CREATE_DATE", OracleDbType.Date), new OracleParameter(":CONFIRM_DATE", OracleDbType.Date), //new OracleParameter(":REVIEW_DATE", OracleDbType.Date), new OracleParameter(":EXPECT_DATE", OracleDbType.Date), new OracleParameter(":STOSTART_ID",OracleDbType.Varchar2,30), new OracleParameter(":STOEND_ID",OracleDbType.Varchar2,30), new OracleParameter(":STOREP_STATUS", OracleDbType.Char,1), new OracleParameter(":RESION",OracleDbType.Varchar2,200), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":PRINT_COUNT",OracleDbType.Decimal), new OracleParameter(":SHIPPERS",OracleDbType.Varchar2,50), new OracleParameter(":OPERATORID",OracleDbType.Varchar2,50), new OracleParameter(":OPERATEDATE",OracleDbType.Date), new OracleParameter(":ORI_BILL",OracleDbType.Varchar2,50), new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30)}; parameters[0].Value = model.TOTALOUT_NUM; parameters[1].Value = model.CREATE_MAN; parameters[2].Value = model.CONFIRM_MAN; //parameters[3].Value = model.REVIEW_MAN; parameters[3].Value = model.CREATE_DATE; parameters[4].Value = model.CONFIRM_DATE; //parameters[6].Value = model.REVIEW_DATE; parameters[5].Value = model.EXPECT_DATE; parameters[6].Value = model.STOSTART_ID; parameters[7].Value = model.STOEND_ID; parameters[8].Value = model.STOREP_STATUS; parameters[9].Value = model.RESION; parameters[10].Value = model.REMARK; parameters[11].Value = model.VERSION; parameters[12].Value = model.PRINT_COUNT; parameters[13].Value = model.SHIPPERS; parameters[14].Value = model.OPERATORID; parameters[15].Value = model.OPERATEDATE; parameters[16].Value = model.ORI_BILL; parameters[17].Value = model.STOREP_ID; SystemDataObject.Instance.ExecuteSqlCommit(strSql.ToString(), parameters); } #endregion #region 更明细 /// /// 更新仓库间调拨明细数据 /// /// 仓库间调拨明细Model集合 public void UpdateStorageRepInfo(List listmodel) { StringBuilder strSql = new StringBuilder(); List updatesqlstrlist = new List(); List updatesqlpara = new List(); foreach (StorageRepInfoModel model in listmodel) { strSql.Append("update T_STOCK_STOREP_INFO set "); strSql.Append("GOODSOUT_COUNT=:GOODSOUT_COUNT,"); strSql.Append("REMARK=:REMARK,"); strSql.Append("PRICE=:PRICE,"); strSql.Append("UNIT=:UNIT,"); strSql.Append("SUMPRICE=:SUMPRICE,"); strSql.Append("VERSION=:VERSION"); strSql.Append(" where STOREP_ID=:STOREP_ID and GOODS_ID=:GOODS_ID "); OracleParameter[] parameter = { new OracleParameter(":GOODSOUT_COUNT", OracleDbType.Decimal,4), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":PRICE", OracleDbType.Decimal,4), new OracleParameter(":UNIT",OracleDbType.Varchar2,10), new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30)}; parameter[0].Value = model.GOODSOUT_COUNT; parameter[1].Value = model.REMARK; parameter[2].Value = model.PRICE; parameter[3].Value = model.UNIT; parameter[4].Value = model.SUMPRICE; parameter[5].Value = model.VERSION; parameter[6].Value = model.STOREP_ID; parameter[7].Value = model.GOODS_ID; updatesqlstrlist.Add(strSql.ToString()); updatesqlpara.Add(parameter); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(updatesqlstrlist, updatesqlpara); } #endregion #region 删主表 /// /// 删除仓库间调拨主表数据 /// /// 仓库间调拨ID集合 public void DeleteStorageRep(List listmodel) { StringBuilder strSql = new StringBuilder(); List delsqlstrlist = new List(); List delsqlpara = new List(); foreach (string stDel in listmodel) { strSql.Append("delete from T_STOCK_STOREP "); strSql.Append(" where STOREP_ID=:STOREP_ID "); OracleParameter[] parameters = { new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30) }; parameters[0].Value = stDel; delsqlstrlist.Add(strSql.ToString()); delsqlpara.Add(parameters); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(delsqlstrlist, delsqlpara); } #endregion #region 删明细 /// /// 删除仓库间调拨明细表数据 /// /// 仓库间调拨ID集合 public void DeleteStorageRepInfo(List listmodel) { StringBuilder strSql = new StringBuilder(); List delsqlstrlist = new List(); List delsqlpara = new List(); foreach (string str in listmodel) { strSql.Append("delete from T_STOCK_STOREP_INFO "); strSql.Append(" where STOREP_ID=:STOREP_ID "); OracleParameter[] parameters = { new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30) }; parameters[0].Value = str; delsqlstrlist.Add(strSql.ToString()); delsqlpara.Add(parameters); } SystemDataObject.Instance.ExecuteList(delsqlstrlist, delsqlpara); } #endregion } }