using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Collections; using System.ComponentModel; using System.Drawing; using System.Windows.Forms; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; namespace Core.StlMes.Client.Sale.BLL.SaleBusinessMgt.Plan { public class SlmDlivDir : SaleBusinessMgt.BllBase.BaseBll { public SlmDlivDir(OpeBase ob) : base(ob) { } private DataSet GetSlmDlivDir(string sqlCondition) { string sqlStr = SqlCollection.Plan.QUERY_SLM_DLIV_DIR; sqlStr = string.Format(sqlStr,base.DateTimeTocharFormat,sqlCondition); DataSet ds = base.ExecuteQuery(sqlStr); return ds; } private DataSet GetSlmDlivDirDetail(string sqlCondition) { string sqlStr = SqlCollection.Plan.QUERY_SLM_DELV_DIR_DETAIL; sqlStr = string.Format(sqlStr, base.DateTimeTocharFormat, sqlCondition); DataSet ds = base.ExecuteQuery(sqlStr); return ds; } private DataSet GetSlmDlivOrder(string sqlConditon) { string sqlStr = SqlCollection.Plan.QUERY_ORDER_DLIV; sqlStr = string.Format(sqlStr, sqlConditon); DataSet ds = base.ExecuteQuery(sqlStr); return ds; } public DataSet GetSlmDlivOrderByCustomerNo(string customerNo) { string sqlCondition = string.Format( " and b.customer_no = '{0}' and a.order_ln_status = '8' ",customerNo); return GetSlmDlivOrder(sqlCondition); } public DataSet GetSlmDlivOrderByOrderNo(string orderNo) { string sqlCondition = string.Format( " and a.order_no = '{0}' and a.order_ln_status = '8' ",orderNo); return GetSlmDlivOrder(sqlCondition); } //order_bdate public DataSet GetCarsSlmDlivOrder(DateTime orderBeginDate,DateTime orderEndDate) { string sqlCondition = " and a.order_ln_status = '8' "; sqlCondition += Util.ConverObject.ConvertDateTimeValueToDbLanguage("b.order_bdate", orderBeginDate, orderEndDate); return Util.UtilDataSet.GetDataSetWithRowFilter(GetSlmDlivOrder(sqlCondition), "TRANSIT_TYP",Trans_typeCar); } public DataSet GetShipSlmDlivOrder(DateTime orderBeginDate, DateTime orderEndDate) { string sqlCondition = " and a.order_ln_status = '8' "; sqlCondition += Util.ConverObject.ConvertDateTimeValueToDbLanguage("b.order_bdate", orderBeginDate, orderEndDate); return Util.UtilDataSet.GetDataSetWithRowFilter(GetSlmDlivOrder(sqlCondition), "TRANSIT_TYP", Trans_typeShip); } public DataSet GetSlmDlivDirByDlivDirNo(string dlivDirNo) { string sqlConditon = string.Format(" and dliv_dirno = '{0}' ",dlivDirNo); return this.GetSlmDlivDir(sqlConditon); } public DataSet GetValidSlmDlivDirByPlanDate(System.DateTime planDate) { string sqlConditon = string.Format(" and plandate = '{0}' ", Util.ConverObject.ConverDateTimeToyyyyMMdd(planDate)); return this.GetSlmDlivDir(sqlConditon); } public DataSet GetValidSlmDlivDirByPlanBeginDateAndEndDate(DateTime planBeginDate, DateTime planEndDate) { string sqlConditon = string.Format(" and plandate >= '{0}' and plandate <= '{1}' ", Util.ConverObject.ConverDateTimeToyyyyMMdd(planBeginDate), Util.ConverObject.ConverDateTimeToyyyyMMdd(planEndDate)); return this.GetSlmDlivDir(sqlConditon); } public DataSet GetSlmDlivDirDetailByDlivDirNo(string dlivDirNo) { string sqlConditon = string.Format(" and dliv_dirno = '{0}' ", dlivDirNo); return GetSlmDlivDirDetail(sqlConditon); } public Hashtable GetSlmDlivDirDetailTotalInfoByDlivDirNoList(ArrayList dlivDirno) { string sqlconditon = base.GetSqlConditionByColumnNameAndListStringValue("dliv_dirno", dlivDirno); DataSet dsDetail = GetSlmDlivDirDetail(sqlconditon); Hashtable hs = new Hashtable(); foreach (string s in dlivDirno) { DataRow[] drs = dsDetail.Tables[0].Select(string.Format(" DLIV_DIRNO = '{0}' ",s)); hs.Add(s, GetSlmDlivDirDetailTotalInfoByDlivDirNo(s, drs)); } return hs; } public void InsertCarDliv(Hashtable hsParam, out string errMsg) { errMsg = ""; CoreClientParam param = base.GetCoreClientParam(_ServerName, "deleteHead", new object[] { hsParam }); CoreClientParam result = base.fr.ExecuteNonQuery(param, CoreInvokeType.Internal); result.IfShowErrMsg = false; errMsg = base.GetReturnErrorInfo(result); } public void DeleteCarDliv(string dliv_dirNo,string deleteMan,out string errMsg) { errMsg = ""; } /// /// 更新计划明细重量 /// /// /// /// /// /// public void updateCarDlivDetailWeight(string dliv_dirNo,string seq,double newWgt,string updateMan,out string errMsg) { errMsg = ""; } public Hashtable GetSlmDlivDirDetailTotalInfoByDlivDirNo(string dlivDirNo,DataRow [] drsdliv) { System.Collections.Hashtable hs = new System.Collections.Hashtable(); DataRow[] dsDetail = drsdliv; double weight = 0; double QUANTITY = 0; double money = 0; string height = ""; string steelcode = ""; string usedcd = ""; ArrayList listSteelcode = new ArrayList(); ArrayList used_cd = new ArrayList(); ArrayList heightlist = new ArrayList(); foreach (DataRow dr in dsDetail) { weight += Util.ConverObject.ConvertToDouble(dr["WEIGHT"].ToString()); QUANTITY += Util.ConverObject.ConvertToDouble(dr["QUANTITY"].ToString()); money += Math.Round(Util.ConverObject.ConvertToDouble(dr["WEIGHT"].ToString()) * Util.ConverObject.ConvertToDouble(dr["PRICE"].ToString()),3); height = dr["HEIGHT"].ToString(); steelcode = dr["STEEL_CODE"].ToString(); usedcd = dr["USED_CD"].ToString(); if (!listSteelcode.Contains(steelcode)) listSteelcode.Add(steelcode); if (!used_cd.Contains(usedcd)) used_cd.Add(usedcd); if (!heightlist.Contains(height)) heightlist.Add(height); } height = ""; steelcode = ""; usedcd = ""; foreach (string s in listSteelcode) { steelcode = steelcode + s + "/"; } foreach (string s in used_cd) { usedcd = usedcd + s + "/"; } foreach (string s in heightlist) { height = height + s + "/"; } hs.Add(dlivDirNo, new Object[] { weight, QUANTITY, money, steelcode, usedcd, height }); return hs; } private string _ServerName = "core.stlmes.server.sale.service.order.SlmBaseOrder"; } }