/// ///INTERFACE IMPLIMENT FOR TABLE t_erp_sale ///By wm with codesmith. ///on 06/22/2018 /// 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; } } } }