ldj/Model/wms/data/Erp_sale_Imp.cs

151 lines
8.3 KiB
C#

/// <summary>
///INTERFACE IMPLIMENT FOR TABLE t_erp_sale
///By wm with codesmith.
///on 06/22/2018
/// </summary>
using System;
using System.Data.SqlClient;
using DeiNiu.Utils;
namespace DeiNiu.wms.Data.Model
{
[Serializable] class Erp_sale_Imp : Erp_sale_base_Imp
{
protected override void CmdPrepare(SqlCommand sqlCmd)
{
base.CmdPrepare(sqlCmd);
Erp_sale mObj = ( Erp_sale)modelObj;
switch (_cust_op_flag)
{
case 99: //query with dic
_strSql = "SELECT *,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo FROM t_erp_sale WHERE DR = 1 " + mObj.CmdParameters[0].ToString();
_strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY ID DESC";
_strSql += ";SELECT COUNT(*) FROM t_erp_sale WHERE DR = 1 " + mObj.CmdParameters[0].ToString();
sqlCmd.Parameters.AddWithValue("@START", this._rownumStart);
sqlCmd.Parameters.AddWithValue("@END", this._rownumEnd);
sqlCmd.CommandText = _strSql;
break;
case 100: //by name
_strSql = "SELECT * FROM t_erp_sale WHERE sale_order = @Order";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@Order", mObj.CmdParameters[0]);
break;
case 101: //delete by order number
_strSql = "DELETE FROM t_erp_sale WHERE sale_order = @Order;" +
" DELETE FROM T_ERP_SALE_D WHERE sale_order = @Order;";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@Order", mObj.CmdParameters[0]);
break;
case 150: //by name
_strSql = "SELECT * FROM t_erp_sale WHERE pickOrder = @pickOrder";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@pickOrder", mObj.CmdParameters[0]);
break;
case 200: //插入待同步临时数据
_strSql = "DELETE FROM t_erp_sale_tmp; "
+"INSERT INTO t_erp_sale_tmp SELECT ID, orderNo,timeFromErp FROM v_wms_sale_syncId";
sqlCmd.CommandText = _strSql;
break;
/*
case 201: // 更新同步出库订单前状态
_strSql = "DELETE FROM t_erp_sale_tmp; INSERT INTO t_erp_sale_tmp SELECT ID, orderNo FROM v_wms_sale_syncId";
_strSql += "; update t_erp_sale set wms_state =@wmsState,lastmodified=getdate() where exists(select 1 from t_erp_sale_tmp where id = t_erp_sale.id)";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@wmsState", mObj.CmdParameters[1]);
break;
*/
case 202: // 更新同步出库订单后状态
_strSql = " update t_erp_sale set wms_state =@wmsState ,lastmodified=getdate() where exists(select 1 from t_erp_sale_tmp where id = t_erp_sale.id)";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@wmsState", mObj.CmdParameters[1]);
break;
case 300: //出库单分配拣货单更新状态
_strSql = " update t_erp_sale set wms_state =@wmsState,pickOrder =@pickOrderNo ,lastmodified=getdate() "; // where exists(select 1 from v_wms_out_request where pickOrderNo=@pickOrderNo and orderNo = t_erp_sale.sale_order)";
_strSql += mObj.CmdParameters[1];
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@wmsState", mObj.CmdParameters[2]);
sqlCmd.Parameters.AddWithValue("@pickOrderNo", mObj.CmdParameters[3]);
// LogHelper.debug(typeof(Erp_sale_Imp), String.Format(" sql " +_strSql));
break;
case 400: //出库单分配拣货单更新状态
_strSql = " update t_erp_sale_d set whType =@whtype ,lastmodified=getdate() where sale_order=@orderNo";
_strSql = " update t_erp_sale set wms_state=@wmsstate ,lastmodified=getdate() where sale_order=@orderNo";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@orderNo", mObj.CmdParameters[0]);
sqlCmd.Parameters.AddWithValue("@whtype", mObj.CmdParameters[1]);
// sqlCmd.Parameters.AddWithValue("@wmsstate",(int)enumOutStockRequestStatus.待出库);
sqlCmd.Parameters.AddWithValue("@wmsstate", mObj.CmdParameters[2]);
break;
case 500: //test only
_strSql = " update [t_erp_sale] set createtime=getdate()-1 where sale_order=@orderNo";
_strSql += "; update t_erp_sale_d set createtime =getdate()-1 where sale_order=@orderNo";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@orderNo", mObj.CmdParameters[0]);
break;
case 600: // 取明细
_strSql = " select * from t_erp_sale_d d where exists (select 1 from t_erp_sale where sale_order =d.sale_order and pickOrder = @pickOrder)";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@pickOrder", mObj.CmdParameters[0]);
break;
case 700: //by name
_strSql = "SELECT * FROM t_erp_sale WHERE erp_state = @state or (wms_state>=@wmsState and erp_state=0) ";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@state", mObj.CmdParameters[0]);
sqlCmd.Parameters.AddWithValue("@wmsState", mObj.CmdParameters[1]);
break;
case 800: //query out details
string tmp_strSql = "SELECT *, ceiling([pickCount]/minOperateCount) as boxcnt,ROW_NUMBER() OVER (ORDER BY custor_id DESC) as sortNo FROM dbo.[v_stockOutDetail4Report] WHERE erp_state = 1 " + mObj.CmdParameters[0].ToString() ;
_strSql = "SELECT * FROM (" + tmp_strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END order by createtime";
_strSql += "; SELECT COUNT(*) FROM v_stockOutDetail4Report WHERE erp_state = 1 " + mObj.CmdParameters[0].ToString();
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@START", this._rownumStart);
sqlCmd.Parameters.AddWithValue("@END", this._rownumEnd);
break;
case 900: //query sum out by goodsId
tmp_strSql = "SELECT [goods_id] ,[goodsName] ,[minOperateCount] ,[minOperateUnit] ,[unit] ,[spec],sum([pickCount]) as pickCount ,ceiling(sum([pickCount])/minOperateCount) as boxcnt " +
" ,ROW_NUMBER() OVER (ORDER BY goods_id DESC) as sortNo FROM [v_stockOutDetail4Report] where erp_state =1 " + mObj.CmdParameters[0].ToString() + " group by [goods_id] ,[goodsName] ,[minOperateCount] ,[minOperateUnit],[unit],[spec] ";
_strSql = "SELECT * FROM (" + tmp_strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END order by goods_id";
_strSql += "; SELECT COUNT(*) FROM("+ tmp_strSql + ")a " ;
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@START", this._rownumStart);
sqlCmd.Parameters.AddWithValue("@END", this._rownumEnd);
break;
case 1000: // out in kanban data
_strSql = " select * from [v_kanbanPh] ";//今日入库
_strSql += "; select * from [v_kanbanSh] "; //今日出库
_strSql += "; SELECT * FROM [v_kanbanSd_day] "; //销售记录明细条数
_strSql += "; SELECT * FROM [v_kanbanPd_day] "; //采购入库明细条数
sqlCmd.CommandText = _strSql;
break;
}
}
}
}