using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using WMS.Model.RK; using WMS.DBUtility; using WMS.IData.IRK; using WMS.IData; using Oracle.ManagedDataAccess.Client; namespace WMS.SqlServerData.RKData { public class WareNoticeData : IWareNotice { public void DelOrderData(string PURCHASE_ID) { string sqlStr = "delete from T_RK_WARE_NOTICE where PURCHASE_ID='" + PURCHASE_ID + "'"; SystemDataObject.Instance.ExecuteSql(sqlStr.ToString()); } public void DelOrderData2 (string PURCHASE_ID) { string sqlStr = "delete from t_rk_ware_notice_tab T where t.purchase_id='" + PURCHASE_ID + "'"; SystemDataObject.Instance.ExecuteSql(sqlStr.ToString()); } /// /// 查询入库单不同状态的数据 /// /// /// public DataTable GetWareNoticeDataSts(string sts) { string sqlStr = "select * from T_RK_WARE_NOTICE where STATE='" + sts+"'"; return SystemDataObject.Instance.GetDataTable(sqlStr); } /// /// 获取入库通知单 /// /// 入库通知单 public DataTable GetWareNoticeDT(WareNoticeModel model) { StringBuilder strSql = new StringBuilder(); strSql.AppendLine("select "); strSql.AppendLine(" a.WAREHOUSING_ID, --入库通知单编号 "); strSql.AppendLine(" a.PURCHASE_ID, --采购单号 "); strSql.AppendLine(" a.ORDER_DATE, --下单时间 "); strSql.AppendLine(" a.PROVIDER_ID, --供应商编号 "); //strSql.AppendLine(" b.provider_name, "); strSql.AppendLine(" ISNULL(a.AMOUNT,0) AMOUNT, --数量 "); strSql.AppendLine(" ISNULL(a.TOTAL_VOLUME,0) TOTAL_VOLUME, --总体积 "); strSql.AppendLine(" ISNULL(a.TOTAL_ROUGH_WEIGHT,0) TOTAL_ROUGH_WEIGHT, --总毛重 "); strSql.AppendLine(" ISNULL(a.TOTAL_NET_WEIGH,0) TOTAL_NET_WEIGH, --总净重 "); strSql.AppendLine(" ISNULL(a.TOTAL_MONEY,0) TOTAL_MONEY, --总金额 "); strSql.AppendLine(" ISNULL(a.WARE_COUNT,0) WARE_COUNT, --入库数量 "); strSql.AppendLine(" ISNULL(a.SHELVES_COUNT,0) SHELVES_COUNT, --上架数量 "); strSql.AppendLine(" a.ACCE_NUM, --验收数量 "); strSql.AppendLine(" a.PASS_NUM, --合格数量 "); strSql.AppendLine(" a.WAYBILL_ID, --运单号 "); strSql.AppendLine(" a.SHIPPERS, --承运商 "); strSql.AppendLine(" a.CARNO, --车牌号 "); strSql.AppendLine(" a.DRIVER, --司机 "); strSql.AppendLine(" a.CONFIRM_PERSON, --审核人 "); //strSql.AppendLine(" c.name confirm_person_name, "); strSql.AppendLine(" a.CONFIRM_DATE, --审核时间 "); strSql.AppendLine(" a.EXPECTED_DELIVERY_DATE, --预计到货时间 "); strSql.AppendLine(" a.END_DELIVERY_DATE, --终止到货时间 "); strSql.AppendLine(" a.REAL_DELIVERY_DATE, --实际到货时间 "); strSql.AppendLine(" a.RECIPIENTS, --收货人 "); //strSql.AppendLine(" d.name recipients_name, "); strSql.AppendLine(" a.CLASS_GROUP, --卸货班组 "); strSql.AppendLine(" a.WARE_DATE, --入库时间 "); strSql.AppendLine(" a.SHELVES_DATE, --上架时间 "); strSql.AppendLine(" a.RECORD_PERSON, --操作人 "); strSql.AppendLine(" e.name record_person_name, "); strSql.AppendLine(" a.RECORD_DATE, --操作时间 "); strSql.AppendLine(" a.CLOSE_PERSON, --关闭人 "); //strSql.AppendLine(" f.name close_person_name, "); strSql.AppendLine(" a.CLOSE_DATE, --关闭时间 "); strSql.AppendLine(" a.CLOSE_REASON, --关闭原因 "); strSql.AppendLine(" a.ORDER_MODE, --订单方式(录入、导入、其它) "); strSql.AppendLine(" a.STORAGE_MODE, --入库类型(采购入库、退货入库、调货入库、盲收、其它) "); strSql.AppendLine(" a.STATE, --状态(未审核、在途、已到货、已入库、已上架、已关闭) "); strSql.AppendLine(" a.TRAY_STATE, --是否已码盘(1 码盘 0 未码盘) "); strSql.AppendLine(" a.DISPATCHING_STATE, --是否已派工 1已派工 0未派工 "); strSql.AppendLine(" a.REMARK, --备注 "); strSql.AppendLine(" ISNULL(a.PALLET_COUNT,0) PALLET_COUNT, --托盘数量 "); strSql.AppendLine(" ISNULL(a.PURCHASE_COUNT,0) PURCHASE_COUNT --采购数量 "); if (!string.IsNullOrEmpty(model.STATE) && model.STATE.Length == 1 && int.Parse(model.STATE) >= 4)//如果已上架、关闭、作废 去备份表查 { strSql.AppendLine("FROM T_RK_WARE_NOTICE_BACK a "); } else { strSql.AppendLine("FROM T_RK_WARE_NOTICE a "); } //strSql.AppendLine(" left join t_base_provider_dictionary b "); //strSql.AppendLine(" on a.provider_id = b.provider_id "); //strSql.AppendLine(" left join t_base_userinfo c "); //strSql.AppendLine(" on a.confirm_person = c.user_id "); //strSql.AppendLine(" left join t_base_userinfo d "); //strSql.AppendLine(" on a.recipients = d.user_id "); //strSql.AppendLine(" left join t_base_userinfo e "); //strSql.AppendLine(" on a.record_person = e.user_id "); //strSql.AppendLine(" left join t_base_userinfo f "); //strSql.AppendLine(" on a.close_person = f.user_id "); strSql.AppendLine("where 1 = 1 "); if (!string.IsNullOrEmpty(model.WAREHOUSING_ID)) { strSql.AppendLine(" and a.WAREHOUSING_ID like '%" + model.WAREHOUSING_ID + "%' "); } if (!string.IsNullOrEmpty(model.STORAGE_ID)) { strSql.AppendLine(" and a.STORAGE_ID = '" + model.STORAGE_ID + "' "); } if (!string.IsNullOrEmpty(model.PURCHASE_ID)) { strSql.AppendLine(" and a.PURCHASE_ID like '%" + model.PURCHASE_ID + "%' "); } if (!string.IsNullOrEmpty(model.WAYBILL_ID)) { strSql.AppendLine(" and a.WAYBILL_ID like '%" + model.WAYBILL_ID + "%' "); } if (model.EXPECTED_DELIVERY_DATE.Year != 1900) { strSql.AppendLine(" and convert(date,a.EXPECTED_DELIVERY_DATE,23) = convert(date,'" + model.EXPECTED_DELIVERY_DATE + "',23)"); } if (model.ORDER_DATE.Year != 1900) { strSql.AppendLine(" and convert(date,a.ORDER_DATE,23) = convert(date,'" + model.ORDER_DATE + "',23)"); } if (model.END_DELIVERY_DATE.Year != 1900) { strSql.AppendLine(" and convert(date,a.END_DELIVERY_DATE,23) = convert(date,'" + model.END_DELIVERY_DATE + "',23)"); } if (model.REAL_DELIVERY_DATE.Year != 1900) { strSql.AppendLine(" and convert(date,a.REAL_DELIVERY_DATE,23) = convert(date,'" + model.REAL_DELIVERY_DATE + "',23)"); } if (!string.IsNullOrEmpty(model.STATE)) { if (model.STATE.Length == 1) { strSql.AppendLine(" and a.STATE = '" + model.STATE + "' "); } else if (model.STATE.Length == 3) { strSql.AppendLine(" and ( a.STATE >= " + model.STATE[0] + " and a.STATE <= " + model.STATE[2] + " ) "); } } else { strSql.AppendLine(" and ( a.STATE = '0' or a.STATE = '1' ) "); } if (!string.IsNullOrEmpty(model.STORAGE_MODE)) { strSql.AppendLine(" and a.STORAGE_MODE = '" + model.STORAGE_MODE + "' "); } if (!string.IsNullOrEmpty(model.PROVIDER_ID)) { strSql.AppendLine(" and a.PROVIDER_ID = '" + model.PROVIDER_ID + "' "); } if (!string.IsNullOrEmpty(model.TRAY_STATE)) { strSql.AppendLine(" and a.TRAY_STATE = '" + model.TRAY_STATE + "' "); } if (!string.IsNullOrEmpty(model.SHIPPERS)) { strSql.AppendLine(" and a.SHIPPERS = '" + model.SHIPPERS + "' "); } if (!string.IsNullOrEmpty(model.RECIPIENTS)) { strSql.AppendLine(" and a.RECIPIENTS = '" + model.RECIPIENTS + "' "); } if (!string.IsNullOrEmpty(model.RECORD_PERSON)) { strSql.AppendLine(" and a.RECORD_PERSON = '" + model.RECORD_PERSON + "' "); } if (!string.IsNullOrEmpty(model.CONFIRM_PERSON)) { strSql.AppendLine(" and a.CONFIRM_PERSON = '" + model.CONFIRM_PERSON + "' "); } if (!string.IsNullOrEmpty(model.CLASS_GROUP)) { strSql.AppendLine(" and a.CLASS_GROUP = '" + model.CLASS_GROUP + "' "); } if (!string.IsNullOrEmpty(model.CARNO)) { strSql.AppendLine(" and a.CARNO like '%" + model.CARNO + "%' "); } if (!string.IsNullOrEmpty(model.REMARK)) { strSql.AppendLine(" and a.REMARK like '%" + model.REMARK + "%' "); } strSql.AppendLine(" order by a.STATE,a.WAREHOUSING_ID desc,a.TRAY_STATE"); string ss = "select * from T_RK_WARE_NOTICE t where t.state=0 order by t.ware_date desc"; return SystemDataObject.Instance.GetDataTable(ss.ToString()); } public void InsertWareNotice(WareNoticeModel model) { StringBuilder strSql = new StringBuilder(); strSql.AppendLine("insert into T_RK_WARE_NOTICE("); strSql.AppendLine("PO_HEADER_ID,ORGANIZATION_ID,ORGANIZATION_CODE,SHIP_TO_ORGANIZATION_CODE,SHIP_TO_ORGANIZATION_ID,WAREHOUSING_ID,PURCHASE_ID,PROVIDER_ID,AMOUNT,TOTAL_VOLUME,TOTAL_ROUGH_WEIGHT,TOTAL_NET_WEIGH,TOTAL_MONEY,WARE_COUNT,SHELVES_COUNT,WAYBILL_ID,SHIPPERS,CARNO,DRIVER,CONFIRM_PERSON,CONFIRM_DATE,EXPECTED_DELIVERY_DATE,END_DELIVERY_DATE,REAL_DELIVERY_DATE,RECIPIENTS,CLASS_GROUP,RECORD_PERSON,CLOSE_PERSON,ORDER_MODE,STORAGE_MODE,TRAY_STATE,DISPATCHING_STATE,REMARK,PALLET_COUNT,PURCHASE_COUNT,ACCE_NUM,PASS_NUM,STORAGE_ID,STATE)"); strSql.AppendLine(" values ("); strSql.AppendLine(""+ model.PO_HEADER_ID + " ,"+ model.ORGANIZATION_ID + ",'"+ model.ORGANIZATION_CODE + "','"+ model.SHIP_TO_ORGANIZATION_CODE + "',"+ model.SHIP_TO_ORGANIZATION_ID + " ,'" + model.WAREHOUSING_ID + "','" + model.PURCHASE_ID + "','" + model.PROVIDER_ID + "' ,'" + model.AMOUNT + "','" + model.TOTAL_VOLUME + "','" + model.TOTAL_ROUGH_WEIGHT + "','" + model.TOTAL_NET_WEIGH + "','" + model.TOTAL_MONEY + "','" + model.WARE_COUNT + "','" + model.SHELVES_COUNT + "','" + model.WAYBILL_ID + "','" + model.SHIPPERS + "','" + model.CARNO + "','" + model.DRIVER + "','" + model.CONFIRM_PERSON + "'," + "to_date('"+ model.CONFIRM_DATE + "', 'yyyy-MM-dd HH24:mi:ss'),to_date('"+ model.EXPECTED_DELIVERY_DATE + "', 'yyyy-MM-dd HH24:mi:ss'),to_date('"+ model.END_DELIVERY_DATE + "', 'yyyy-MM-dd HH24:mi:ss'),to_date('"+ model.REAL_DELIVERY_DATE + "', 'yyyy-MM-dd HH24:mi:ss'),'" + model.RECIPIENTS + "','" + model.CLASS_GROUP + "','" + model.RECORD_PERSON + "','"+model.CLOSE_PERSON+"','" + model.ORDER_MODE + "','" + model.STORAGE_MODE + "','" + model.TRAY_STATE + "','" + model.DISPATCHING_STATE + "','" + model.REMARK + "','" + model.PALLET_COUNT + "','"+model.PURCHASE_COUNT+"','" + model.ACCE_NUM + "','" + model.PASS_NUM + "','" + model.STORAGE_ID + "','0')"); //to_date('"+ startTime + "', 'yyyy-MM-dd HH24:mi:ss') SystemDataObject.Instance.ExecuteSql(strSql.ToString()); } public void RevieWareNotiec(WareNoticeModel model) { StringBuilder strSql = new StringBuilder(); strSql.AppendLine("update T_RK_WARE_NOTICE set "); strSql.AppendLine("CONFIRM_PERSON='"+model.CONFIRM_PERSON+"',"); strSql.AppendLine("CONFIRM_DATE=getdate(),"); strSql.AppendLine("STATE='"+model.STATE+"'"); strSql.AppendLine(" where WAREHOUSING_ID='"+model.WAREHOUSING_ID+"' "); SystemDataObject.Instance.ExecuteSql(strSql.ToString()); } /// /// 插入或修改入库通知单信息 /// /// 入库通知单Model /// 操作表示符 0:新增; 1:修改 /// 入库通知单编号 public string UpdateWareNotice(WareNoticeModel model) { StringBuilder strSql; //新增 strSql = new StringBuilder(); strSql.AppendLine("update T_RK_WARE_NOTICE set "); strSql.AppendLine("PURCHASE_ID=:PURCHASE_ID,"); strSql.AppendLine("ORDER_DATE=:ORDER_DATE,"); strSql.AppendLine("PROVIDER_ID=:PROVIDER_ID,"); strSql.AppendLine("AMOUNT=:AMOUNT,"); strSql.AppendLine("TOTAL_VOLUME=:TOTAL_VOLUME,"); strSql.AppendLine("TOTAL_ROUGH_WEIGHT=:TOTAL_ROUGH_WEIGHT,"); strSql.AppendLine("TOTAL_NET_WEIGH=:TOTAL_NET_WEIGH,"); strSql.AppendLine("TOTAL_MONEY=:TOTAL_MONEY,"); strSql.AppendLine("WARE_COUNT=:WARE_COUNT,"); strSql.AppendLine("SHELVES_COUNT=:SHELVES_COUNT,"); strSql.AppendLine("WAYBILL_ID=:WAYBILL_ID,"); strSql.AppendLine("SHIPPERS=:SHIPPERS,"); strSql.AppendLine("CARNO=:CARNO,"); strSql.AppendLine("DRIVER=:DRIVER,"); strSql.AppendLine("CONFIRM_PERSON=:CONFIRM_PERSON,"); strSql.AppendLine("CONFIRM_DATE=:CONFIRM_DATE,"); strSql.AppendLine("EXPECTED_DELIVERY_DATE=:EXPECTED_DELIVERY_DATE,"); strSql.AppendLine("END_DELIVERY_DATE=:END_DELIVERY_DATE,"); strSql.AppendLine("REAL_DELIVERY_DATE=:REAL_DELIVERY_DATE,"); strSql.AppendLine("RECIPIENTS=:RECIPIENTS,"); strSql.AppendLine("CLASS_GROUP=:CLASS_GROUP,"); strSql.AppendLine("WARE_DATE=:WARE_DATE,"); strSql.AppendLine("SHELVES_DATE=:SHELVES_DATE,"); strSql.AppendLine("RECORD_PERSON=:RECORD_PERSON,"); strSql.AppendLine("RECORD_DATE=getdate(),"); strSql.AppendLine("CLOSE_PERSON=:CLOSE_PERSON,"); strSql.AppendLine("CLOSE_DATE=:CLOSE_DATE,"); strSql.AppendLine("CLOSE_REASON=:CLOSE_REASON,"); strSql.AppendLine("ORDER_MODE=:ORDER_MODE,"); strSql.AppendLine("STORAGE_MODE=:STORAGE_MODE,"); strSql.AppendLine("STATE=:STATE,"); strSql.AppendLine("TRAY_STATE=:TRAY_STATE,"); strSql.AppendLine("DISPATCHING_STATE=:DISPATCHING_STATE,"); strSql.AppendLine("REMARK=:REMARK,"); strSql.AppendLine("PALLET_COUNT=:PALLET_COUNT,"); strSql.AppendLine(" ACCE_NUM =:ACCE_NUM,"); strSql.AppendLine(" PASS_NUM =:PASS_NUM,"); strSql.AppendLine("PURCHASE_COUNT=:PURCHASE_COUNT"); strSql.AppendLine(" where WAREHOUSING_ID=:WAREHOUSING_ID "); OracleParameter[] parameters = { new OracleParameter(":PURCHASE_ID",OracleDbType.Varchar2), new OracleParameter(":ORDER_DATE", OracleDbType.Date), new OracleParameter(":PROVIDER_ID",OracleDbType.Varchar2), new OracleParameter(":AMOUNT", OracleDbType.Decimal), new OracleParameter(":TOTAL_VOLUME", OracleDbType.Decimal), new OracleParameter(":TOTAL_ROUGH_WEIGHT", OracleDbType.Decimal), new OracleParameter(":TOTAL_NET_WEIGH", OracleDbType.Decimal), new OracleParameter(":TOTAL_MONEY", OracleDbType.Decimal), new OracleParameter(":WARE_COUNT", OracleDbType.Decimal), new OracleParameter(":SHELVES_COUNT", OracleDbType.Decimal), new OracleParameter(":WAYBILL_ID",OracleDbType.Varchar2), new OracleParameter(":SHIPPERS",OracleDbType.Varchar2), new OracleParameter(":CARNO",OracleDbType.Varchar2), new OracleParameter(":DRIVER",OracleDbType.Varchar2), new OracleParameter(":CONFIRM_PERSON",OracleDbType.Varchar2), new OracleParameter(":CONFIRM_DATE", OracleDbType.Date), new OracleParameter(":EXPECTED_DELIVERY_DATE", OracleDbType.Date), new OracleParameter(":END_DELIVERY_DATE", OracleDbType.Date), new OracleParameter(":REAL_DELIVERY_DATE", OracleDbType.Date), new OracleParameter(":RECIPIENTS",OracleDbType.Varchar2), new OracleParameter(":CLASS_GROUP",OracleDbType.Varchar2), new OracleParameter(":WARE_DATE", OracleDbType.Date), new OracleParameter(":SHELVES_DATE", OracleDbType.Date), new OracleParameter(":RECORD_PERSON",OracleDbType.Varchar2), //new OracleParameter(":RECORD_DATE", OracleDbType.Date), new OracleParameter(":CLOSE_PERSON",OracleDbType.Varchar2), new OracleParameter(":CLOSE_DATE", OracleDbType.Date), new OracleParameter(":CLOSE_REASON",OracleDbType.Varchar2), new OracleParameter(":ORDER_MODE", OracleDbType.Char), new OracleParameter(":STORAGE_MODE", OracleDbType.Char), new OracleParameter(":STATE", OracleDbType.Char), new OracleParameter(":TRAY_STATE", OracleDbType.Char), new OracleParameter(":DISPATCHING_STATE", OracleDbType.Char), new OracleParameter(":REMARK",OracleDbType.Varchar2), new OracleParameter(":PALLET_COUNT", OracleDbType.Decimal), new OracleParameter(":ACCE_NUM",OracleDbType.Decimal), new OracleParameter(":PASS_NUM",OracleDbType.Decimal), new OracleParameter(":PURCHASE_COUNT", OracleDbType.Decimal), new OracleParameter(":WAREHOUSING_ID",OracleDbType.Varchar2)}; parameters[0].Value = model.PURCHASE_ID; parameters[1].Value = model.ORDER_DATE; parameters[2].Value = model.PROVIDER_ID; parameters[3].Value = model.AMOUNT; parameters[4].Value = model.TOTAL_VOLUME; parameters[5].Value = model.TOTAL_ROUGH_WEIGHT; parameters[6].Value = model.TOTAL_NET_WEIGH; parameters[7].Value = model.TOTAL_MONEY; parameters[8].Value = model.WARE_COUNT; parameters[9].Value = model.SHELVES_COUNT; parameters[10].Value = model.WAYBILL_ID; parameters[11].Value = model.SHIPPERS; parameters[12].Value = model.CARNO; parameters[13].Value = model.DRIVER; parameters[14].Value = model.CONFIRM_PERSON; parameters[15].Value = model.CONFIRM_DATE; parameters[16].Value = model.EXPECTED_DELIVERY_DATE; parameters[17].Value = model.END_DELIVERY_DATE; parameters[18].Value = model.REAL_DELIVERY_DATE; parameters[19].Value = model.RECIPIENTS; parameters[20].Value = model.CLASS_GROUP; parameters[21].Value = model.WARE_DATE; parameters[22].Value = model.SHELVES_DATE; parameters[23].Value = model.RECORD_PERSON; //parameters[24].Value = model.RECORD_DATE; parameters[24].Value = model.CLOSE_PERSON; parameters[25].Value = model.CLOSE_DATE; parameters[26].Value = model.CLOSE_REASON; parameters[27].Value = model.ORDER_MODE; parameters[28].Value = model.STORAGE_MODE; parameters[29].Value = model.STATE; parameters[30].Value = model.TRAY_STATE; parameters[31].Value = model.DISPATCHING_STATE; parameters[32].Value = model.REMARK; parameters[33].Value = model.PALLET_COUNT; parameters[34].Value = model.ACCE_NUM; parameters[35].Value = model.PASS_NUM; parameters[36].Value = model.PURCHASE_COUNT; parameters[37].Value = model.WAREHOUSING_ID; SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters); return model.WAREHOUSING_ID; } /// /// 修改入库通知单状态 /// public void updateWareNoticeState(WareNoticeModel model) { StringBuilder strSql = new StringBuilder(); strSql.AppendLine("update T_RK_WARE_NOTICE set "); strSql.AppendLine("SHELVES_DATE=getdate(),"); strSql.AppendLine("STATE=:STATE"); strSql.AppendLine(" where WAREHOUSING_ID=:WAREHOUSING_ID "); OracleParameter[] parameters = { new OracleParameter(":STATE", OracleDbType.Char), new OracleParameter(":WAREHOUSING_ID",OracleDbType.Varchar2)}; parameters[0].Value = model.STATE; parameters[1].Value = model.WAREHOUSING_ID; SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters); } /// /// 向备份表中添加入库通知单 /// /// 入库通知单编号 public void InsertWareNoticeBack(string WareNoticeID) { string strSql = "insert into T_RK_WARE_NOTICE_BACK select * from T_RK_WARE_NOTICE where WAREHOUSING_ID =:WAREHOUSING_ID"; OracleParameter[] parameters = { new OracleParameter(":WAREHOUSING_ID",OracleDbType.Varchar2)}; parameters[0].Value = WareNoticeID; SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters); } /// /// 删除入库通知单信息 /// /// public void DeleteWareNotice(string ID) { StringBuilder strSql = new StringBuilder(); strSql.AppendLine("delete from T_RK_WARE_NOTICE "); strSql.AppendLine(" where WAREHOUSING_ID=:WAREHOUSING_ID "); OracleParameter[] parameters = { new OracleParameter(":WAREHOUSING_ID",OracleDbType.Varchar2) }; parameters[0].Value = ID; SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters); } } }