177 lines
9.2 KiB
C#
177 lines
9.2 KiB
C#
|
|
|||
|
/// <summary>
|
|||
|
///INTERFACE IMPLIMENT FOR TABLE t_wmsOutRequest
|
|||
|
///By wm with codesmith.
|
|||
|
///on 05/18/2017
|
|||
|
/// </summary>
|
|||
|
|
|||
|
using System;
|
|||
|
using System.Data.SqlClient;
|
|||
|
using DeiNiu.Utils;
|
|||
|
namespace DeiNiu.wms.Data.Model
|
|||
|
{
|
|||
|
[Serializable] class WmsOutRequest_Imp : WmsOutRequest_base_Imp
|
|||
|
{
|
|||
|
protected override void CmdPrepare(SqlCommand sqlCmd)
|
|||
|
{
|
|||
|
base.CmdPrepare(sqlCmd);
|
|||
|
WmsOutRequest mObj = ( WmsOutRequest)modelObj;
|
|||
|
switch (_cust_op_flag)
|
|||
|
{
|
|||
|
|
|||
|
case 99: //query orders with free parameters
|
|||
|
_strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM t_wmsOutRequest WHERE DR = 1 " + mObj.CmdParameters[0].ToString();
|
|||
|
_strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END";
|
|||
|
_strSql += ";SELECT COUNT(*) FROM t_wmsOutRequest WHERE DR = 1 " + mObj.CmdParameters[0].ToString();
|
|||
|
sqlCmd.CommandText = _strSql;
|
|||
|
sqlCmd.Parameters.AddWithValue("@START", this._rownumStart);
|
|||
|
sqlCmd.Parameters.AddWithValue("@END", this._rownumEnd);
|
|||
|
break;
|
|||
|
case 100: //by orderNo
|
|||
|
_strSql = "SELECT * FROM t_wmsOutRequest WHERE orderNo = @orderNo";
|
|||
|
sqlCmd.CommandText = _strSql;
|
|||
|
sqlCmd.Parameters.AddWithValue("@orderNo", mObj.CmdParameters[0] );
|
|||
|
break;
|
|||
|
case 200: //
|
|||
|
_strSql = "SELECT * FROM t_wmsOutRequest r WHERE state = @state";
|
|||
|
|
|||
|
if (WmsConstants.WAVE_LINE > 0)
|
|||
|
{
|
|||
|
_strSql += " and exists(select 1 from t_tmsLineDetail where custId =r.customerId and lineid =@lineId ) ";
|
|||
|
sqlCmd.Parameters.AddWithValue("@lineId", WmsConstants.WAVE_LINE);
|
|||
|
}
|
|||
|
|
|||
|
if (!string.IsNullOrEmpty(WmsConstants.WAVE_SALE))
|
|||
|
{
|
|||
|
_strSql += " and salesperson =@sales ";
|
|||
|
sqlCmd.Parameters.AddWithValue("@sales", WmsConstants.WAVE_SALE);
|
|||
|
}
|
|||
|
|
|||
|
sqlCmd.CommandText = _strSql;
|
|||
|
sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[0]);
|
|||
|
break;
|
|||
|
case 300: //get order request detail by ORDERNO
|
|||
|
_strSql = "SELECT * FROM t_wmsOutRequestDetail WHERE ORDERNO = @ORDERNO";
|
|||
|
sqlCmd.CommandText = _strSql;
|
|||
|
sqlCmd.Parameters.AddWithValue("@ORDERNO", mObj.CmdParameters[0]);
|
|||
|
break;
|
|||
|
|
|||
|
case 400: //get order out detail by ORDERNO
|
|||
|
_strSql = "SELECT * FROM v_stockOutDetail_wms WHERE ORDERNO = @ORDERNO";
|
|||
|
sqlCmd.CommandText = _strSql;
|
|||
|
sqlCmd.Parameters.AddWithValue("@ORDERNO", mObj.CmdParameters[0]);
|
|||
|
break;
|
|||
|
|
|||
|
case 500: //sync sales order with erp
|
|||
|
// pay attention on the insert order
|
|||
|
|
|||
|
string cols = "[orderNo] ,[goodsId] ,[batch] ,[count] ,[bulkCount],[batch1Count],[boxcnt],[productDate],[state] ,[validDate],[whtype]";
|
|||
|
_strSql = string.Format(" ; insert into t_wmsoutdetail({0}) SELECT {1} FROM [v_stockOutDetail_available] ", cols, cols); // first insert outdetail
|
|||
|
|
|||
|
cols = "[orderNo] ,[orderSn] ,[goodsId] ,[batch] ,[productDate] ,[validDate] ,[Count] ,[saleDate] ,[state] ,[whtype]";
|
|||
|
_strSql += string.Format(" ; insert into t_wmsOutRequestDetail({0}) SELECT {1} FROM [v_stockOutRequestDetail_available] ", cols, cols);//second insert request out detail
|
|||
|
|
|||
|
cols = "[orderNo],[orderTypeName],[customerId],[customerName],[custAddress] ,[delivery],[phone1],[phone2] ,[salesperson] ,[contactperson] ,[totalnumber],[remark] ,[orderDate]";
|
|||
|
_strSql += string.Format(" ;insert into t_wmsOutRequest({0}) SELECT {1} FROM [v_stockOutRequest_Available] ", cols, cols); //insert detail first, then main table
|
|||
|
|
|||
|
|
|||
|
sqlCmd.CommandText = _strSql;
|
|||
|
|
|||
|
|
|||
|
break;
|
|||
|
|
|||
|
case 600: //get new orders to sync with erp
|
|||
|
|
|||
|
//_strSql = string.Format("SELECT {0} FROM [v_stockOutRequest_Available] order by customerId", "-1 as id,*");
|
|||
|
_strSql = "SELECT -1 as id,* FROM [v_stockOutRequest_Available] order by customerId" ;
|
|||
|
|
|||
|
sqlCmd.CommandText = _strSql;
|
|||
|
|
|||
|
|
|||
|
break;
|
|||
|
|
|||
|
|
|||
|
case 800: //get orders by order type and status
|
|||
|
|
|||
|
// _strSql = "SELECT * FROM [t_wmsoutdetail] a where exists(select 1 from t_wmsoutrequest where orderNo = a.orderNo and orderType =@orderType and status =@status)";
|
|||
|
_strSql = "SELECT a.*,b.customerId FROM [t_wmsoutdetail] a left outer join t_wmsoutrequest b on a.orderNo = b.orderNo "
|
|||
|
+ " where b.orderType =@orderType and b.status =@status "
|
|||
|
+ " order by b.[customerId]";
|
|||
|
sqlCmd.Parameters.AddWithValue("@orderType", mObj.CmdParameters[0]);
|
|||
|
sqlCmd.Parameters.AddWithValue("@status", mObj.CmdParameters[1]);
|
|||
|
|
|||
|
sqlCmd.CommandText = _strSql;
|
|||
|
|
|||
|
break;
|
|||
|
|
|||
|
|
|||
|
case 900: //get order details group by custid
|
|||
|
// string cols2 = "-1 as operater,GETDATE() as lastmodified,true as dr, -1 as id ";
|
|||
|
_strSql = string.Format("SELECT {0} FROM [v_stockOutDetailByCust] order by customerName,custAddress ", "*");
|
|||
|
// + "SELECT * FROM t_wmsOutRequest WHERE state = @state";
|
|||
|
|
|||
|
//sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[0]);
|
|||
|
sqlCmd.CommandText = _strSql;
|
|||
|
|
|||
|
break;
|
|||
|
|
|||
|
case 1000: //get error pickdetails
|
|||
|
|
|||
|
_strSql = "SELECT * FROM [t_wmsOutPickDetail_error] order by pickOrderNo" ;
|
|||
|
|
|||
|
sqlCmd.CommandText = _strSql;
|
|||
|
|
|||
|
break;
|
|||
|
case 1100: //get error pickdetails
|
|||
|
|
|||
|
_strSql = "SELECT * FROM [v_stockOutRequestSales] ";
|
|||
|
|
|||
|
sqlCmd.CommandText = _strSql;
|
|||
|
|
|||
|
break;
|
|||
|
|
|||
|
case 1200: // update order status
|
|||
|
|
|||
|
_strSql = "update t_wmsOutRequest set state =@state ,pickOrderNo =@pickOrderNo"
|
|||
|
+ ",operater =@operId,lastmodified = getdate() "
|
|||
|
+" where state =@stateOld "
|
|||
|
+" and customerId = @custId and customerName =@custName and custAddress =@custAddress ";
|
|||
|
|
|||
|
sqlCmd.CommandText = _strSql;
|
|||
|
|
|||
|
sqlCmd.Parameters.AddWithValue("@custId", mObj.CmdParameters[0]);
|
|||
|
sqlCmd.Parameters.AddWithValue("@custName", mObj.CmdParameters[1]);
|
|||
|
sqlCmd.Parameters.AddWithValue("@custAddress", mObj.CmdParameters[2]);
|
|||
|
sqlCmd.Parameters.AddWithValue("@pickOrderNo", mObj.CmdParameters[3]);
|
|||
|
sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[4]);
|
|||
|
sqlCmd.Parameters.AddWithValue("@stateOld", mObj.CmdParameters[5]);
|
|||
|
sqlCmd.Parameters.AddWithValue("@operId", mObj.CmdParameters[6]);
|
|||
|
break;
|
|||
|
|
|||
|
case 1300: //prepare the out request orders for pick
|
|||
|
_strSql = " update t_wmsOutRequest set state =@statePrepare "
|
|||
|
+ " where state = 0 and not exists(select 1 from [v_stockOutRequestNoStock] "
|
|||
|
+ " where orderNo = t_wmsOutRequest.orderNo);";
|
|||
|
|
|||
|
_strSql += " update t_wmsOutDetail set state =@stateNoStock ,description =@descNoStock"
|
|||
|
+ ",operater =@operId,lastmodified = getdate() "
|
|||
|
+ " where exists(select 1 from [v_stockOutRequestNoStock] "
|
|||
|
+" where id = t_wmsOutDetail.id);";
|
|||
|
|
|||
|
_strSql += " update t_wmsOutDetail set state =@stateReady ,description =@descNoStock"
|
|||
|
+ ",operater =@operId,lastmodified = getdate() "
|
|||
|
+ " where state =@stateNoStock and not exists(select 1 from [v_stockOutRequestNoStock]"
|
|||
|
+ " where id = t_wmsOutDetail.id);";
|
|||
|
|
|||
|
sqlCmd.CommandText = _strSql;
|
|||
|
sqlCmd.Parameters.AddWithValue("@stateNoStock", mObj.CmdParameters[0]);
|
|||
|
sqlCmd.Parameters.AddWithValue("@descNoStock", mObj.CmdParameters[1]);
|
|||
|
sqlCmd.Parameters.AddWithValue("@stateReady", mObj.CmdParameters[2]);
|
|||
|
sqlCmd.Parameters.AddWithValue("@statePrepare", mObj.CmdParameters[3]);
|
|||
|
sqlCmd.Parameters.AddWithValue("@operId", mObj.CmdParameters[4]);
|
|||
|
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|