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";
}
}