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 ProvideRepData : IProvideRep { #region 获得流水号 /// /// 获取验收流水号 /// /// public string GetNextValNum() { string strSqlSeq = ""; strSqlSeq = "select NEXT VALUE FOR SEQ_STOCK_PROVIDEREP_ID"; DataTable dt = SystemDataObject.Instance.GetDataTable(strSqlSeq); string strSEQ = "GB" + DateTime.Now.ToString("yyyyMMdd") + dt.Rows[0][0].ToString(); return strSEQ; } #endregion #region 查询主表信息 /// /// 查询供应商补货数据信息 /// /// 供应商补货Model /// public DataTable GetProvideRepData(ProvideRepModel proModel) { StringBuilder strSql = new StringBuilder(); strSql.Append(@" select prorep_id, --供应商补货单据编号 t.pro_id, --供应商编号 p.provider_name pro_name, --供应商名称 t.total_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.prorep_status, --单据Status s.vc_dictionary_name RESION_NAME, --补货原因 t.Storage_Id, --所属仓库编号 st.storage_name STORAGE_NAME, --所属仓库名称 t.Storage_Area_Id, --所属仓库库区 sa.storage_area_name STORAGE_AREA_NAME, --所属仓库库区名称 t.shippers, --承运商 t.ORI_BILL, --来源单号 t.resion, --补货原因 t.print_count, --打印次数 t.remark --备注 from T_STOCK_PROREP 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 outer join t_Base_Provider_Dictionary p --供应商明细表 on t.pro_id = p.provider_id left join T_SYS_DICTIONARY_TAB s --字典表 on s.vc_dictionary_id = t.resion left join t_Base_Storageinfo st --仓库表 on t.storage_id = st.storage_id left join t_Base_Storage_Area sa --仓库库区表 on t.storage_area_id = sa.storage_area_id where 1 = 1 "); #region 查询条件 if (!string.IsNullOrEmpty(proModel.PROREP_ID)) { strSql.Append(" and t.prorep_id like '%" + proModel.PROREP_ID + "%'"); } if (!string.IsNullOrEmpty(proModel.RESION)) { strSql.Append(" and t.resion like '%" + proModel.RESION + "%'"); } if (!string.IsNullOrEmpty(proModel.CREATE_MAN)) { strSql.Append(" and t.CREATE_MAN like '%" + proModel.CREATE_MAN + "%'"); } if (!string.IsNullOrEmpty(proModel.CONFIRM_MAN)) { strSql.Append(" and t.CONFIRM_MAN like '%" + proModel.CONFIRM_MAN + "%'"); } //if (!string.IsNullOrEmpty(proModel.REVIEW_MAN)) //{ // strSql.Append(" and t.REVIEW_MAN like '%" + proModel.REVIEW_MAN + "%'"); //} if (proModel.TIMESTART != DateTime.MinValue && proModel.TIMEEND != DateTime.MinValue) { strSql.Append(" and t.create_date between convert(varchar(100),'" + proModel.TIMESTART.ToString("yyyy-MM-dd") + "',20) and convert(varchar(100),'" + proModel.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 GetProvideRepInfoData(string proID) { StringBuilder strSql = new StringBuilder(); strSql.Append(@"select s.prorep_id, s.goods_id, g.goods_name GOODS_NAME, s.pro_id, s.goods_count, s.shevl_num, s.price, s.unit, s.sumprice, s.remark from T_STOCK_PROREP_INFO s left join T_BASE_GOODS g on s.goods_id = g.goods_id where 1 = 1 "); if (!string.IsNullOrEmpty(proID)) { strSql.Append(" and s.prorep_id like '%" + proID + "%'"); } strSql.Append(" order by s.prorep_id desc"); return SystemDataObject.Instance.GetDataTable(strSql.ToString()); } #endregion #region 同时新增主表明细表数据 /// /// 新增供应商补货主表明细表数据 /// /// 主表Model /// 明细表Model public void InsertProvideRepData(ProvideRepModel model, List listmodel) { List addsqlstrlist = new List(); List addsqlpara = new List(); StringBuilder strSql = new StringBuilder(); strSql.Append("insert into T_STOCK_PROREP("); strSql.Append("PROREP_ID,PRO_ID,TOTAL_NUM,CREATE_MAN,CONFIRM_MAN,CREATE_DATE,CONFIRM_DATE,EXPECT_DATE,PROREP_STATUS,REMARK,VERSION,RESION,STORAGE_ID,STORAGE_AREA_ID,PRINT_COUNT,SHIPPERS,ORI_BILL,OPERATORID,OPERATEDATE)"); strSql.Append(" values ("); strSql.Append(":PROREP_ID,:PRO_ID,:TOTAL_NUM,:CREATE_MAN,:CONFIRM_MAN,:CREATE_DATE,:CONFIRM_DATE,:EXPECT_DATE,:PROREP_STATUS,:REMARK,:VERSION,:RESION,:STORAGE_ID,:STORAGE_AREA_ID,:PRINT_COUNT,:SHIPPERS,:ORI_BILL,:OPERATORID,:OPERATEDATE)"); OracleParameter[] parameters = { new OracleParameter(":PROREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":PRO_ID",OracleDbType.Varchar2,20), new OracleParameter(":TOTAL_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(":PROREP_STATUS",OracleDbType.Varchar2,30), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":RESION",OracleDbType.Varchar2,200), new OracleParameter(":STORAGE_ID",OracleDbType.Varchar2,50), new OracleParameter(":STORAGE_AREA_ID",OracleDbType.Varchar2,50), 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.PROREP_ID; parameters[1].Value = model.PRO_ID; parameters[2].Value = model.TOTAL_NUM; parameters[3].Value = model.CREATE_MAN; parameters[4].Value = model.CONFIRM_MAN; //parameters[5].Value = model.REVIEW_MAN; parameters[5].Value = model.CREATE_DATE; parameters[6].Value = model.CONFIRM_DATE; // parameters[8].Value = model.REVIEW_DATE; parameters[7].Value = model.EXPECT_DATE; parameters[8].Value = model.PROREP_STATUS; parameters[9].Value = model.REMARK; parameters[10].Value = model.VERSION; parameters[11].Value = model.RESION; parameters[12].Value = model.STORAGE_ID; parameters[13].Value = model.STORAGE_AREA_ID; parameters[14].Value = model.PRINT_COUNT; parameters[15].Value = model.SHIPPERS; parameters[16].Value = model.ORI_BILL; parameters[17].Value = model.OPERATORID; parameters[18].Value = model.OPERATEDATE; addsqlstrlist.Add(strSql.ToString()); addsqlpara.Add(parameters); foreach (ProvideRepInfoModel modelinfo in listmodel) { strSql = new StringBuilder(); strSql.Append("insert into T_STOCK_PROREP_INFO("); strSql.Append("PROREP_ID,GOODS_ID,SHEVL_NUM,GOODS_COUNT,REMARK,VERSION,PRICE,UNIT,SUMPRICE)"); strSql.Append(" values ("); strSql.Append(":PROREP_ID,:GOODS_ID,:SHEVL_NUM,:GOODS_COUNT,:REMARK,:VERSION,:PRICE,:UNIT,:SUMPRICE)"); OracleParameter[] parametersinfo = { new OracleParameter(":PROREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30), new OracleParameter(":SHEVL_NUM",OracleDbType.Decimal,4), new OracleParameter(":GOODS_COUNT", OracleDbType.Decimal,4), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":PRICE",OracleDbType.Decimal,4), new OracleParameter(":UNIT",OracleDbType.Varchar2,10), new OracleParameter(":SUMPRICE",OracleDbType.Decimal,4)}; parametersinfo[0].Value = modelinfo.PROREP_ID; parametersinfo[1].Value = modelinfo.GOODS_ID; parametersinfo[2].Value = modelinfo.SHEVL_NUM; parametersinfo[3].Value = modelinfo.GOODS_COUNT; parametersinfo[4].Value = modelinfo.REMARK; parametersinfo[5].Value = modelinfo.VERSION; parametersinfo[6].Value = modelinfo.PRICE; parametersinfo[7].Value = modelinfo.UNIT; parametersinfo[8].Value = modelinfo.SUMPRICE; addsqlstrlist.Add(strSql.ToString()); addsqlpara.Add(parametersinfo); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(addsqlstrlist, addsqlpara); } #endregion #region 同时更新主表和明细表数据 /// /// 更新供应商补货数据(明细只有更改时 调用此方法) /// /// 主表model /// 明细表Model public void UpdateProvideRepData(ProvideRepModel model, List listmodel) { List updatesqlstrlist = new List(); List updatesqlpara = new List(); StringBuilder strSql = new StringBuilder(); strSql.Append("update T_STOCK_PROREP set "); strSql.Append("PRO_ID=:PRO_ID,"); strSql.Append("PRO_TYPE=:PRO_TYPE,"); strSql.Append("TOTAL_NUM=:TOTAL_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("PROREP_STATUS=:PROREP_STATUS,"); strSql.Append("REMARK=:REMARK,"); strSql.Append("VERSION=:VERSION,"); strSql.Append("RESION=:RESION,"); strSql.Append("STORAGE_ID=:STORAGE_ID,"); strSql.Append("STORAGE_AREA_ID=:STORAGE_AREA_ID,"); 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 PROREP_ID=:PROREP_ID "); OracleParameter[] parameters = { new OracleParameter(":PRO_ID",OracleDbType.Varchar2,20), new OracleParameter(":PRO_TYPE",OracleDbType.Varchar2,30), new OracleParameter(":TOTAL_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(":PROREP_STATUS",OracleDbType.Varchar2,30), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":RESION",OracleDbType.Varchar2,200), new OracleParameter(":STORAGE_ID",OracleDbType.Varchar2,50), new OracleParameter(":STORAGE_AREA_ID",OracleDbType.Varchar2,50), 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(":PROREP_ID",OracleDbType.Varchar2,30) }; parameters[0].Value = model.PRO_ID; parameters[1].Value = model.PRO_TYPE; parameters[2].Value = model.TOTAL_NUM; parameters[3].Value = model.CREATE_MAN; parameters[4].Value = model.CONFIRM_MAN; //parameters[5].Value = model.REVIEW_MAN; parameters[5].Value = model.CREATE_DATE; parameters[6].Value = model.CONFIRM_DATE; // parameters[8].Value = model.REVIEW_DATE; parameters[7].Value = model.EXPECT_DATE; parameters[8].Value = model.PROREP_STATUS; parameters[9].Value = model.REMARK; parameters[10].Value = model.VERSION; parameters[11].Value = model.RESION; parameters[12].Value = model.STORAGE_ID; parameters[13].Value = model.STORAGE_AREA_ID; parameters[14].Value = model.PRINT_COUNT; parameters[15].Value = model.SHIPPERS; parameters[16].Value = model.OPERATORID; parameters[17].Value = model.OPERATEDATE; parameters[18].Value = model.ORI_BILL; parameters[19].Value = model.PROREP_ID; updatesqlpara.Add(parameters); updatesqlstrlist.Add(strSql.ToString()); foreach (ProvideRepInfoModel modelinfo in listmodel) { strSql = new StringBuilder(); strSql.Append("update T_STOCK_PROREP_INFO set "); strSql.Append("PRO_ID=:PRO_ID,"); strSql.Append("GOODS_COUNT=:GOODS_COUNT,"); strSql.Append("REMARK=:REMARK,"); strSql.Append("PRICE=:PRICE,"); strSql.Append("UNIT=:UNIT,"); strSql.Append("SUMPRICE=:SUMPRICE,"); strSql.Append("VERSION=:VERSION"); strSql.Append(" where PROREP_ID=:PROREP_ID and GOODS_ID=:GOODS_ID "); OracleParameter[] parameter = { new OracleParameter(":PRO_ID",OracleDbType.Varchar2,20), new OracleParameter(":GOODS_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.Varchar2,10), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":PROREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30)}; parameter[0].Value = modelinfo.PRO_ID; parameter[1].Value = modelinfo.GOODS_COUNT; parameter[2].Value = modelinfo.REMARK; parameter[3].Value = modelinfo.PRICE; parameter[4].Value = modelinfo.UNIT; parameter[5].Value = modelinfo.SUMPRICE; parameter[6].Value = modelinfo.VERSION; parameter[7].Value = modelinfo.PROREP_ID; parameter[8].Value = modelinfo.GOODS_ID; updatesqlstrlist.Add(strSql.ToString()); updatesqlpara.Add(parameter); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(updatesqlstrlist, updatesqlpara); } #endregion #region 同时删除主表和明细表数据 /// /// 同时删除主表和明细表数据 /// /// 供应商补货编号List集合 public void DeleteProvideRepData(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_PROREP "); strSql.Append(" where PROREP_ID =:PROREP_ID"); OracleParameter[] parameters = { new OracleParameter("PROREP_ID",OracleDbType.Varchar2,30) }; parameters[0].Value = stDel; delsqlstrlist.Add(strSql.ToString()); delsqlpara.Add(parameters); strSql.Clear(); } foreach (string str in listmodel) { strSql.Append("delete from T_STOCK_PROREP_INFO "); strSql.Append(" where PROREP_ID=:PROREP_ID "); OracleParameter[] parameters = { new OracleParameter(":PROREP_ID",OracleDbType.Varchar2,30), }; parameters[0].Value = str; delsqlstrlist.Add(strSql.ToString()); delsqlpara.Add(parameters); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(delsqlstrlist, delsqlpara); } #endregion #region 根据主键 单独增明细 /// /// 增明细 /// /// 明细List public void Add(List list) { List addsqlstrlist = new List(); List addsqlpara = new List(); StringBuilder strSql = new StringBuilder(); foreach (ProvideRepInfoModel model in list) { strSql = new StringBuilder(); strSql.Append("insert into T_STOCK_PROREP_INFO("); strSql.Append("PROREP_ID,GOODS_ID,PRO_ID,GOODS_COUNT,REMARK,VERSION,SHEVL_NUM,PRICE,UNIT,SUMPRICE)"); strSql.Append(" values ("); strSql.Append(":PROREP_ID,:GOODS_ID,:PRO_ID,:GOODS_COUNT,:REMARK,:VERSION,:SHEVL_NUM,:PRICE,:UNIT,:SUMPRICE)"); OracleParameter[] parameters = { new OracleParameter(":PROREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30), new OracleParameter(":PRO_ID",OracleDbType.Varchar2,20), new OracleParameter(":GOODS_COUNT", OracleDbType.Decimal,4), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":SHEVL_NUM", OracleDbType.Decimal,4), new OracleParameter(":PRICE", OracleDbType.Decimal,4), new OracleParameter(":UNIT",OracleDbType.Varchar2,10), new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4)}; parameters[0].Value = model.PROREP_ID; parameters[1].Value = model.GOODS_ID; parameters[2].Value = model.PRO_ID; parameters[3].Value = model.GOODS_COUNT; parameters[4].Value = model.REMARK; parameters[5].Value = model.VERSION; parameters[6].Value = model.SHEVL_NUM; parameters[7].Value = model.PRICE; parameters[8].Value = model.UNIT; parameters[9].Value = model.SUMPRICE; addsqlstrlist.Add(strSql.ToString()); addsqlpara.Add(parameters); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(addsqlstrlist, addsqlpara); } #endregion #region 单独删除明细 /// /// 删明细 /// /// 明细List public void Delete(List lsit) { List delsqlstrlist = new List(); List delsqlpara = new List(); StringBuilder strSql = new StringBuilder(); foreach (ProvideRepInfoModel model in lsit) { strSql = new StringBuilder(); strSql.Append("delete from T_STOCK_PROREP_INFO "); strSql.Append(" where PROREP_ID=:PROREP_ID and GOODS_ID=:GOODS_ID "); OracleParameter[] parameters = { new OracleParameter(":PROREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30) }; parameters[0].Value = model.PROREP_ID; parameters[1].Value = model.GOODS_ID; delsqlstrlist.Add(strSql.ToString()); delsqlpara.Add(parameters); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(delsqlstrlist, delsqlpara); } #endregion #region 更新供应商补货数据 /// /// 更新供应商补货数据(明细有新增 或 删除 时 调用此方法) /// /// 更新 /// 新增 /// 删除 public void NewProvideRepInfoFuc(ProvideRepModel model, List upFuc, List insertFuc, List delFuc) { List sqlList = new List(); List paraList = new List(); StringBuilder strSql = new StringBuilder(); #region 主表 strSql.Append("update T_STOCK_PROREP set "); strSql.Append("PRO_ID=:PRO_ID,"); strSql.Append("PRO_TYPE=:PRO_TYPE,"); strSql.Append("TOTAL_NUM=:TOTAL_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("PROREP_STATUS=:PROREP_STATUS,"); strSql.Append("REMARK=:REMARK,"); strSql.Append("VERSION=:VERSION,"); strSql.Append("RESION=:RESION,"); strSql.Append("STORAGE_ID=:STORAGE_ID,"); strSql.Append("STORAGE_AREA_ID=:STORAGE_AREA_ID,"); 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 PROREP_ID=:PROREP_ID "); OracleParameter[] param = new OracleParameter[]{ new OracleParameter(":PRO_ID",OracleDbType.Varchar2,20), new OracleParameter(":PRO_TYPE",OracleDbType.Varchar2,30), new OracleParameter(":TOTAL_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(":PROREP_STATUS",OracleDbType.Varchar2,30), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":RESION",OracleDbType.Varchar2,200), new OracleParameter(":STORAGE_ID",OracleDbType.Varchar2,50), new OracleParameter(":STORAGE_AREA_ID",OracleDbType.Varchar2,50), 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(":PROREP_ID",OracleDbType.Varchar2,30) }; param[0].Value = model.PRO_ID; param[1].Value = model.PRO_TYPE; param[2].Value = model.TOTAL_NUM; param[3].Value = model.CREATE_MAN; param[4].Value = model.CONFIRM_MAN; //param[5].Value = model.REVIEW_MAN; param[5].Value = model.CREATE_DATE; param[6].Value = model.CONFIRM_DATE; //param[8].Value = model.REVIEW_DATE; param[7].Value = model.EXPECT_DATE; param[8].Value = model.PROREP_STATUS; param[9].Value = model.REMARK; param[10].Value = model.VERSION; param[11].Value = model.RESION; param[12].Value = model.STORAGE_ID; param[13].Value = model.STORAGE_AREA_ID; param[14].Value = model.PRINT_COUNT; param[15].Value = model.SHIPPERS; param[16].Value = model.OPERATORID; param[17].Value = model.OPERATEDATE; param[18].Value = model.ORI_BILL; param[19].Value = model.PROREP_ID; sqlList.Add(strSql.ToString()); paraList.Add(param); strSql.Clear(); #endregion #region 明细表 #region 删 //明细删除 if (delFuc.Count > 0) { foreach (ProvideRepInfoModel infomodel in delFuc) { strSql.Append("delete from T_STOCK_PROREP_INFO "); strSql.Append(" where PROREP_ID=:PROREP_ID and GOODS_ID=:GOODS_ID"); OracleParameter[] parameters = { new OracleParameter(":PROREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30) }; parameters[0].Value = infomodel.PROREP_ID; parameters[1].Value = infomodel.GOODS_ID; sqlList.Add(strSql.ToString()); paraList.Add(parameters); strSql.Clear(); } } #endregion #region 更 //更新明细数据 if (upFuc.Count > 0) { foreach (ProvideRepInfoModel modelinfo in upFuc) { strSql = new StringBuilder(); strSql.Append("update T_STOCK_PROREP_INFO set "); strSql.Append("PRO_ID=:PRO_ID,"); strSql.Append("GOODS_COUNT=:GOODS_COUNT,"); strSql.Append("REMARK=:REMARK,"); strSql.Append("PRICE=:PRICE,"); strSql.Append("UNIT=:UNIT,"); strSql.Append("SUMPRICE=:SUMPRICE,"); strSql.Append("VERSION=:VERSION"); strSql.Append(" where PROREP_ID=:PROREP_ID and GOODS_ID=:GOODS_ID "); OracleParameter[] parameter = { new OracleParameter(":PRO_ID",OracleDbType.Varchar2,20), new OracleParameter(":GOODS_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(":PROREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30)}; parameter[0].Value = modelinfo.PRO_ID; parameter[1].Value = modelinfo.GOODS_COUNT; parameter[2].Value = modelinfo.REMARK; parameter[3].Value = modelinfo.PRICE; parameter[4].Value = modelinfo.UNIT; parameter[5].Value = modelinfo.SUMPRICE; parameter[6].Value = modelinfo.VERSION; parameter[7].Value = modelinfo.PROREP_ID; parameter[8].Value = modelinfo.GOODS_ID; sqlList.Add(strSql.ToString()); paraList.Add(parameter); strSql.Clear(); } } #endregion #region 增 //菜单功能添加 if (insertFuc.Count > 0) { foreach (ProvideRepInfoModel modelinfo in insertFuc) { strSql = new StringBuilder(); strSql.Append("insert into T_STOCK_PROREP_INFO("); strSql.Append("PROREP_ID,GOODS_ID,PRO_ID,SHEVL_NUM,GOODS_COUNT,REMARK,VERSION,PRICE,UNIT,SUMPRICE)"); strSql.Append(" values ("); strSql.Append(":PROREP_ID,:GOODS_ID,:PRO_ID,:SHEVL_NUM,:GOODS_COUNT,:REMARK,:VERSION,:PRICE,:UNIT,:SUMPRICE)"); OracleParameter[] parametersinfo = { new OracleParameter(":PROREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30), new OracleParameter(":PRO_ID",OracleDbType.Varchar2,20), new OracleParameter(":SHEVL_NUM",OracleDbType.Decimal,4), new OracleParameter(":GOODS_COUNT", OracleDbType.Decimal,4), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":PRICE", OracleDbType.Decimal,4), new OracleParameter(":UNIT",OracleDbType.Varchar2,10), new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4) }; parametersinfo[0].Value = modelinfo.PROREP_ID; parametersinfo[1].Value = modelinfo.GOODS_ID; parametersinfo[2].Value = modelinfo.PRO_ID; parametersinfo[3].Value = modelinfo.SHEVL_NUM; parametersinfo[4].Value = modelinfo.GOODS_COUNT; parametersinfo[5].Value = modelinfo.REMARK; parametersinfo[6].Value = modelinfo.VERSION; parametersinfo[7].Value = modelinfo.PRICE; parametersinfo[8].Value = modelinfo.UNIT; parametersinfo[9].Value = modelinfo.SUMPRICE; sqlList.Add(strSql.ToString()); paraList.Add(parametersinfo); strSql.Clear(); } } #endregion #endregion SystemDataObject.Instance.ExecuteList(sqlList, paraList); } #endregion #region 已废 删主表 /// /// 删除主表多条数据 /// public void DeleteProvideRep(List listmodel) { StringBuilder strSql = new StringBuilder(); List delsqlstrlist = new List(); List delsqlpara = new List(); foreach (ProvideRepModel model in listmodel) { strSql.Append("delete from T_STOCK_PROREP "); strSql.Append(" where PROREP_ID =:PROREP_ID"); OracleParameter[] parameters = { new OracleParameter("PROREP_ID",OracleDbType.Varchar2,30) }; parameters[0].Value = model.PROREP_ID; delsqlstrlist.Add(strSql.ToString()); delsqlpara.Add(parameters); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(delsqlstrlist, delsqlpara); } #endregion #region 已废 删 /// /// 删除一条数据 /// public void DeleteProvideRepInfo(List listmodel) { StringBuilder strSql = new StringBuilder(); List delsqlstrlist = new List(); List delsqlpara = new List(); foreach (ProvideRepInfoModel model in listmodel) { strSql.Append("delete from T_STOCK_PROREP_INFO "); strSql.Append(" where PROREP_ID=:PROREP_ID "); OracleParameter[] parameters = { new OracleParameter(":PROREP_ID",OracleDbType.Varchar2,30), //new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30) }; parameters[0].Value = model.PROREP_ID; // parameters[1].Value = model.GOODS_ID; delsqlstrlist.Add(strSql.ToString()); delsqlpara.Add(parameters); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(delsqlstrlist, delsqlpara); } #endregion #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 增加供应商补货主表数据 /// /// 增加供应商补货一条数据 /// /// 供应商补货Model public void InsertProvideRep(ProvideRepModel model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into T_STOCK_PROREP("); strSql.Append("PROREP_ID,PRO_ID,PRO_TYPE,TOTAL_NUM,CREATE_MAN,CONFIRM_MAN,REVIEW_MAN,CREATE_DATE,CONFIRM_DATE,REVIEW_DATE,EXPECT_DATE,PROREP_STATUS,REMARK,VERSION,RESION,STORAGE_ID,STORAGE_AREA_ID,PRINT_COUNT,SHIPPERS,ORI_BILL,OPERATORID,OPERATEDATE)"); strSql.Append(" values ("); strSql.Append(":PROREP_ID,:PRO_ID,:PRO_TYPE,:TOTAL_NUM,:CREATE_MAN,:CONFIRM_MAN,:REVIEW_MAN,:CREATE_DATE,:CONFIRM_DATE,:REVIEW_DATE,:EXPECT_DATE,:PROREP_STATUS,:REMARK,:VERSION,:RESION,:STORAGE_ID,:STORAGE_AREA_ID,:PRINT_COUNT,:SHIPPERS,:ORI_BILL,:OPERATORID,:OPERATEDATE)"); OracleParameter[] parameters = { new OracleParameter(":PROREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":PRO_ID",OracleDbType.Varchar2,20), new OracleParameter(":PRO_TYPE",OracleDbType.Varchar2,30), new OracleParameter(":TOTAL_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(":PROREP_STATUS",OracleDbType.Varchar2,30), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":RESION",OracleDbType.Varchar2,200), new OracleParameter(":STORAGE_ID",OracleDbType.Varchar2,50), new OracleParameter(":STORAGE_AREA_ID",OracleDbType.Varchar2,50), 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.PROREP_ID; parameters[1].Value = model.PRO_ID; parameters[2].Value = model.PRO_TYPE; parameters[3].Value = model.TOTAL_NUM; parameters[4].Value = model.CREATE_MAN; parameters[5].Value = model.CONFIRM_MAN; //parameters[6].Value = model.REVIEW_MAN; parameters[6].Value = model.CREATE_DATE; parameters[7].Value = model.CONFIRM_DATE; // parameters[9].Value = model.REVIEW_DATE; parameters[8].Value = model.EXPECT_DATE; parameters[9].Value = model.PROREP_STATUS; parameters[10].Value = model.REMARK; parameters[11].Value = model.VERSION; parameters[12].Value = model.RESION; parameters[13].Value = model.STORAGE_ID; parameters[14].Value = model.STORAGE_AREA_ID; parameters[15].Value = model.PRINT_COUNT; parameters[16].Value = model.SHIPPERS; parameters[17].Value = model.ORI_BILL; parameters[18].Value = model.OPERATORID; parameters[19].Value = model.OPERATEDATE; SystemDataObject.Instance.ExecuteSqlCommit(strSql.ToString(), parameters); } #endregion #region 增加供应商补货明细表数据 /// /// 增加供应商明细多条数据 /// /// 供应商补货明细表Model集合 public void InsertProvideRepInfo(List listmodel) { StringBuilder strSql = new StringBuilder(); List addsqlstrlist = new List(); List addsqlpara = new List(); foreach (ProvideRepInfoModel modelinfo in listmodel) { strSql = new StringBuilder(); strSql.Append("insert into T_STOCK_PROREP_INFO("); strSql.Append("PROREP_ID,GOODS_ID,PRO_ID,SHEVL_NUM,GOODS_COUNT,REMARK,VERSION,PRICE,UNIT,SUMPRICE)"); strSql.Append(" values ("); strSql.Append(":PROREP_ID,:GOODS_ID,:PRO_ID,:SHEVL_NUM,:GOODS_COUNT,:REMARK,:VERSION,:PRICE,:UNIT,:SUMPRICE)"); OracleParameter[] parametersinfo = { new OracleParameter(":PROREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30), new OracleParameter(":PRO_ID",OracleDbType.Varchar2,20), new OracleParameter(":SHEVL_NUM",OracleDbType.Decimal,4), new OracleParameter(":GOODS_COUNT", OracleDbType.Decimal,4), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":PRICE", OracleDbType.Decimal,4), new OracleParameter(":UNIT",OracleDbType.Varchar2,10), new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4) }; parametersinfo[0].Value = modelinfo.PROREP_ID; parametersinfo[1].Value = modelinfo.GOODS_ID; parametersinfo[2].Value = modelinfo.PRO_ID; parametersinfo[3].Value = modelinfo.SHEVL_NUM; parametersinfo[4].Value = modelinfo.GOODS_COUNT; parametersinfo[5].Value = modelinfo.REMARK; parametersinfo[6].Value = modelinfo.VERSION; parametersinfo[7].Value = modelinfo.PRICE; parametersinfo[8].Value = modelinfo.UNIT; parametersinfo[9].Value = modelinfo.SUMPRICE; addsqlstrlist.Add(strSql.ToString()); addsqlpara.Add(parametersinfo); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(addsqlstrlist, addsqlpara); } #endregion #region 更主表单据 /// /// 更新供应商补货主表数据 /// /// 供应商补货Model public void UpdateProvideRep(ProvideRepModel model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update T_STOCK_PROREP set "); strSql.Append("PRO_ID=:PRO_ID,"); strSql.Append("PRO_TYPE=:PRO_TYPE,"); strSql.Append("TOTAL_NUM=:TOTAL_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("PROREP_STATUS=:PROREP_STATUS,"); strSql.Append("REMARK=:REMARK,"); strSql.Append("VERSION=:VERSION,"); strSql.Append("RESION=:RESION,"); strSql.Append("STORAGE_ID=:STORAGE_ID,"); strSql.Append("STORAGE_AREA_ID=:STORAGE_AREA_ID,"); 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 PROREP_ID=:PROREP_ID "); OracleParameter[] parameters = { new OracleParameter(":PRO_ID",OracleDbType.Varchar2,20), new OracleParameter(":PRO_TYPE",OracleDbType.Varchar2,30), new OracleParameter(":TOTAL_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(":PROREP_STATUS",OracleDbType.Varchar2,30), new OracleParameter(":REMARK",OracleDbType.Varchar2,200), new OracleParameter(":VERSION",OracleDbType.Varchar2,10), new OracleParameter(":RESION",OracleDbType.Varchar2,200), new OracleParameter(":STORAGE_ID",OracleDbType.Varchar2,50), new OracleParameter(":STORAGE_AREA_ID",OracleDbType.Varchar2,50), 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(":PROREP_ID",OracleDbType.Varchar2,30)}; parameters[0].Value = model.PRO_ID; parameters[1].Value = model.PRO_TYPE; parameters[2].Value = model.TOTAL_NUM; parameters[3].Value = model.CREATE_MAN; parameters[4].Value = model.CONFIRM_MAN; // parameters[5].Value = model.REVIEW_MAN; parameters[5].Value = model.CREATE_DATE; parameters[6].Value = model.CONFIRM_DATE; //parameters[8].Value = model.REVIEW_DATE; parameters[7].Value = model.EXPECT_DATE; parameters[8].Value = model.PROREP_STATUS; parameters[9].Value = model.REMARK; parameters[10].Value = model.VERSION; parameters[11].Value = model.RESION; parameters[12].Value = model.STORAGE_ID; parameters[13].Value = model.STORAGE_AREA_ID; parameters[14].Value = model.PRINT_COUNT; parameters[15].Value = model.SHIPPERS; parameters[16].Value = model.OPERATORID; parameters[17].Value = model.OPERATEDATE; parameters[18].Value = model.ORI_BILL; parameters[19].Value = model.PROREP_ID; SystemDataObject.Instance.ExecuteSqlCommit(strSql.ToString(), parameters); } #endregion #region 更明细单据 /// /// 更新供应商补货明细表数据 /// /// 供应商补货明细Model集合 public void UpdateProvideRepInfo(List listmodel) { StringBuilder strSql = new StringBuilder(); List updatesqlstrlist = new List(); List updatesqlpara = new List(); foreach (ProvideRepInfoModel modelinfo in listmodel) { strSql = new StringBuilder(); strSql.Append("update T_STOCK_PROREP_INFO set "); strSql.Append("PRO_ID=:PRO_ID,"); strSql.Append("GOODS_COUNT=:GOODS_COUNT,"); strSql.Append("REMARK=:REMARK,"); strSql.Append("PRICE=:PRICE,"); strSql.Append("UNIT=:UNIT,"); strSql.Append("SUMPRICE=:SUMPRICE,"); strSql.Append("VERSION=:VERSION"); strSql.Append(" where PROREP_ID=:PROREP_ID and GOODS_ID=:GOODS_ID "); OracleParameter[] parameter = { new OracleParameter(":PRO_ID",OracleDbType.Varchar2,20), new OracleParameter(":GOODS_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(":PROREP_ID",OracleDbType.Varchar2,30), new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30)}; parameter[0].Value = modelinfo.PRO_ID; parameter[1].Value = modelinfo.GOODS_COUNT; parameter[2].Value = modelinfo.REMARK; parameter[3].Value = modelinfo.PRICE; parameter[4].Value = modelinfo.UNIT; parameter[5].Value = modelinfo.SUMPRICE; parameter[6].Value = modelinfo.VERSION; parameter[7].Value = modelinfo.PROREP_ID; parameter[8].Value = modelinfo.GOODS_ID; updatesqlstrlist.Add(strSql.ToString()); updatesqlpara.Add(parameter); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(updatesqlstrlist, updatesqlpara); } #endregion #region 删除主表数据 /// /// 删除供应商补货主表数据 /// /// 供应商补货ID集合 public void DeleteProvideRep(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_PROREP "); strSql.Append(" where PROREP_ID =:PROREP_ID"); OracleParameter[] parameters = { new OracleParameter("PROREP_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 DeleteProvideRepInfo(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_PROREP_INFO "); strSql.Append(" where PROREP_ID=:PROREP_ID "); OracleParameter[] parameters = { new OracleParameter(":PROREP_ID",OracleDbType.Varchar2,30), }; parameters[0].Value = str; delsqlstrlist.Add(strSql.ToString()); delsqlpara.Add(parameters); strSql.Clear(); } SystemDataObject.Instance.ExecuteList(delsqlstrlist, delsqlpara); } #endregion } }