using HanHe.Utility.Data; using HH.MData; using HH.WMS.Common; using HH.WMS.Entitys.Autobom; using HH.WMS.Entitys.Common; using HH.WMS.Entitys.External; using MongoDB.Driver; using MongoDB.Driver.Builders; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Data.OracleClient; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HH.WMS.DAL.External { public class TN_WM_TRANSPORT_TASKDAL : BaseDAL { #region 获取流转任务 /// /// 获取流转任务 /// /// 对象 /// 对象编码 /// 任务编码 /// 任务状态 /// /// /// /// [HanHe(xdl)] CREATED 2018/04/28 public List GetSearchList(string strWhere, string strOrder, int pageSize, int pageIndex, out int totalPages, out int totalRows) { string sql = @"(SELECT CN_S_TASK_NO,CN_S_CIR_OBJ,CN_S_CIR_OBJ_CODE,CN_S_START_BIT,CN_S_END_BIT,CN_S_PRO_CODE,CN_S_STATE,CN_T_START, CN_T_END,CN_S_BF_TASK_NO,CN_S_AF_TASK_NO,CN_S_STOCK_CODE, CN_S_START_AREA,CN_S_END_AREA,CN_N_PRIORITY,CN_S_CREATOR, CN_S_CREATOR_BY,CN_T_CREATE,CN_S_MODIFY,CN_S_MODIFY_BY, CN_T_MODIFY,CN_S_REMARK,CN_S_TASK_TYPE FROM TN_WM_TRANSPORT_TASK) t"; DbCommand cmd = DataAccess.GetStoredProcCommand("prc_query"); this.DataAccess.AddInParameter(cmd, "TableName", ComDbType.STRING, sql); this.DataAccess.AddInParameter(cmd, "WhereStr", ComDbType.STRING, strWhere); this.DataAccess.AddInParameter(cmd, "OrderByStr", ComDbType.STRING, strOrder); this.DataAccess.AddInParameter(cmd, "PageSize", ComDbType.INT, pageSize); this.DataAccess.AddInParameter(cmd, "PageIndex", ComDbType.INT, pageIndex); this.DataAccess.AddOutParameter(cmd, "TotalPage", ComDbType.INT, 4); this.DataAccess.AddOutParameter(cmd, "TotalRecord", ComDbType.INT, 4); //如果是oracle 增加特性 if (!string.IsNullOrEmpty(Now_dbType) && Now_dbType.Equals("ORACLE")) { //处理游标类型 因DbType无游标类型,游标类型单独处理 ComDbType.AddOrcOutParameter(cmd, "v_cur", OracleType.Cursor); } try { //获得列表 List list = DataAccessExtensive.ExecuteListEntity(this.DataAccess, cmd, SetEntity); totalPages = Convert.ToInt32(this.DataAccess.GetParameterValue(cmd, "TotalPage")); totalRows = Convert.ToInt32(this.DataAccess.GetParameterValue(cmd, "TotalRecord")); return list; } catch (Exception) { throw; } } /// /// 设置实体的各列 /// private void SetEntity(TN_WM_TRANSPORT_TASKEntity entity, IDataReader reader) { SetEntityUti(entity, "CN_S_TASK_NO", "CN_S_TASK_NO", reader); SetEntityUti(entity, "CN_S_CIR_OBJ", "CN_S_CIR_OBJ", reader); SetEntityUti(entity, "CN_S_CIR_OBJ_CODE", "CN_S_CIR_OBJ_CODE", reader); SetEntityUti(entity, "CN_S_START_BIT", "CN_S_START_BIT", reader); SetEntityUti(entity, "CN_S_END_BIT", "CN_S_END_BIT", reader); SetEntityUti(entity, "CN_S_PRO_CODE", "CN_S_PRO_CODE", reader); SetEntityUti(entity, "CN_S_STATE", "CN_S_STATE", reader); SetEntityUti(entity, "CN_T_START", "CN_T_START", reader); SetEntityUti(entity, "CN_T_END", "CN_T_END", reader); SetEntityUti(entity, "CN_S_BF_TASK_NO", "CN_S_BF_TASK_NO", reader); SetEntityUti(entity, "CN_S_AF_TASK_NO", "CN_S_AF_TASK_NO", reader); SetEntityUti(entity, "CN_S_STOCK_CODE", "CN_S_STOCK_CODE", reader); SetEntityUti(entity, "CN_S_START_AREA", "CN_S_START_AREA", reader); SetEntityUti(entity, "CN_S_END_AREA", "CN_S_END_AREA", reader); SetEntityUti(entity, "CN_S_TASK_TYPE", "CN_S_TASK_TYPE", reader); SetEntityUti(entity, "CN_N_PRIORITY", "CN_N_PRIORITY", reader); SetEntityUti(entity, "CN_S_CREATOR", "CN_S_CREATOR", reader); SetEntityUti(entity, "CN_S_CREATOR_BY", "CN_S_CREATOR_BY", reader); SetEntityUti(entity, "CN_T_CREATE", "CN_T_CREATE", reader); SetEntityUti(entity, "CN_S_MODIFY", "CN_S_MODIFY", reader); SetEntityUti(entity, "CN_S_MODIFY_BY", "CN_S_MODIFY_BY", reader); SetEntityUti(entity, "CN_T_MODIFY", "CN_T_MODIFY", reader); SetEntityUti(entity, "CN_S_REMARK", "CN_S_REMARK", reader); } #endregion /// /// 获取流转任务对象 /// /// /// /// [HanHe(xdl)] CREATED 2018/04/28 public TN_WM_TRANSPORT_TASKEntity GetTransportTask(string taskNo) { string strSql = "SELECT * FROM TN_WM_TRANSPORT_TASK WHERE 1=1 AND CN_S_TASK_NO='" + taskNo + "'"; TN_WM_TRANSPORT_TASKEntity transportTask; try { DbCommand cmd = DataAccess.GetSqlStringCommand(strSql); transportTask = DataAccessExtensive.ExecuteSingleEntity(this.DataAccess, cmd, SetEntity); } catch (Exception ex) { Log.Info("HH.BWMS.DAL.TaskMgr.TN_WM_TRANSPORT_TASKDAL.GetTransportTask", JsonConvert.SerializeObject(ex)); return null; } return transportTask; } /// /// 获取流转任务对象列表 /// /// /// /// [HanHe(xdl)] CREATED 2018/04/28 public List GetTransportTaskList(string strWhere) { string strSql = "SELECT * FROM TN_WM_TRANSPORT_TASK WHERE 1=1 " + strWhere + ""; List lstTransportTask; DbCommand cmd = DataAccess.GetSqlStringCommand(strSql); lstTransportTask = DataAccessExtensive.ExecuteListEntity(this.DataAccess, cmd, SetEntity); return lstTransportTask; } /// /// 根据任务号获取任务实体 /// /// /// public DataTable GetTaskEntity(string CN_S_TASK_NO) { string strSql = "SELECT * FROM TN_WM_TRANSPORT_TASK WHERE 1=1 AND CN_S_TASK_NO='" + CN_S_TASK_NO + "'"; DataTable dt = new DataTable(); try { DbCommand cmd = DataAccess.GetSqlStringCommand(strSql); dt = DataAccessExtensive.ExecuteDataTable(this.DataAccess, cmd); } catch (Exception ex) { return dt; throw ex; } return dt; } #region 新增 /// /// 增加一条数据 /// /// [HanHe(DBS)] CREATED 2018/4/12 public SqlExecuteResult Add(List entitys, DbTransaction trans) { string sql = @"INSERT INTO TN_WM_TRANSPORT_TASK (CN_S_TASK_NO ,CN_S_CIR_OBJ ,CN_S_CIR_OBJ_CODE ,CN_S_START_BIT ,CN_S_END_BIT ,CN_S_PRO_CODE ,CN_S_STATE ,CN_S_TASK_TYPE ,CN_S_BF_TASK_NO ,CN_S_AF_TASK_NO ,CN_S_STOCK_CODE ,CN_S_START_AREA ,CN_S_END_AREA ,CN_S_START_AREA_TYPE ,CN_S_END_AREA_TYPE ,CN_C_START_IS_CONTROL_QTY ,CN_C_END_IS_CONTROL_QTY ,CN_S_START_CONTROL_INV ,CN_S_END_CONTROL_INV ,CN_N_PRIORITY ,CN_S_CREATOR ,CN_S_CREATOR_BY ,CN_T_CREATE ,CN_T_MODIFY,CN_S_REMARK,CN_C_IS_AUTO,CN_S_PROJECT_CODE) VALUES (:CN_S_TASK_NO,:CN_S_CIR_OBJ,:CN_S_CIR_OBJ_CODE,:CN_S_START_BIT,:CN_S_END_BIT ,:CN_S_PRO_CODE,:CN_S_STATE,:CN_S_TASK_TYPE, :CN_S_BF_TASK_NO,:CN_S_AF_TASK_NO,:CN_S_STOCK_CODE,:CN_S_START_AREA,:CN_S_END_AREA,:CN_S_START_AREA_TYPE,:CN_S_END_AREA_TYPE,:CN_C_START_IS_CONTROL_QTY,:CN_C_END_IS_CONTROL_QTY,:CN_S_START_CONTROL_INV,:CN_S_END_CONTROL_INV,:CN_N_PRIORITY,:CN_S_CREATOR ,:CN_S_CREATOR_BY,:CN_T_CREATE,:CN_T_MODIFY,:CN_S_REMARK,:CN_C_IS_AUTO,:CN_S_PROJECT_CODE)"; List cmds = new List(); foreach (TN_WM_TRANSPORT_TASKEntity entity in entitys) { DbCommand cmd = DataAccess.GetSqlStringCommand(sql); DataAccess.AddInParameter(cmd, "@CN_S_TASK_NO", DbType.String, entity.CN_S_TASK_NO); DataAccess.AddInParameter(cmd, "@CN_S_CIR_OBJ", DbType.String, entity.CN_S_CIR_OBJ); DataAccess.AddInParameter(cmd, "@CN_S_CIR_OBJ_CODE", DbType.String, entity.CN_S_CIR_OBJ_CODE); DataAccess.AddInParameter(cmd, "@CN_S_START_BIT", DbType.String, entity.CN_S_START_BIT); DataAccess.AddInParameter(cmd, "@CN_S_END_BIT", DbType.String, entity.CN_S_END_BIT); DataAccess.AddInParameter(cmd, "@CN_S_PRO_CODE", DbType.String, entity.CN_S_PRO_CODE); DataAccess.AddInParameter(cmd, "@CN_S_STATE", DbType.String, entity.CN_S_STATE); DataAccess.AddInParameter(cmd, "@CN_S_TASK_TYPE", DbType.String, entity.CN_S_TASK_TYPE); DataAccess.AddInParameter(cmd, "@CN_S_BF_TASK_NO", DbType.String, entity.CN_S_BF_TASK_NO); DataAccess.AddInParameter(cmd, "@CN_S_AF_TASK_NO", DbType.String, entity.CN_S_AF_TASK_NO); DataAccess.AddInParameter(cmd, "@CN_S_STOCK_CODE", DbType.String, entity.CN_S_STOCK_CODE); DataAccess.AddInParameter(cmd, "@CN_S_START_AREA", DbType.String, entity.CN_S_START_AREA); DataAccess.AddInParameter(cmd, "@CN_S_END_AREA", DbType.String, entity.CN_S_END_AREA); DataAccess.AddInParameter(cmd, "@CN_S_START_AREA_TYPE", DbType.String, entity.CN_S_START_AREA_TYPE); DataAccess.AddInParameter(cmd, "@CN_S_END_AREA_TYPE", DbType.String, entity.CN_S_END_AREA_TYPE); DataAccess.AddInParameter(cmd, "@CN_C_START_IS_CONTROL_QTY", DbType.String, entity.CN_C_START_IS_CONTROL_QTY); DataAccess.AddInParameter(cmd, "@CN_C_END_IS_CONTROL_QTY", DbType.String, entity.CN_C_END_IS_CONTROL_QTY); DataAccess.AddInParameter(cmd, "@CN_S_START_CONTROL_INV", DbType.String, entity.CN_S_START_CONTROL_INV); DataAccess.AddInParameter(cmd, "@CN_S_END_CONTROL_INV", DbType.String, entity.CN_S_END_CONTROL_INV); DataAccess.AddInParameter(cmd, "@CN_N_PRIORITY", DbType.Int16, entity.CN_N_PRIORITY); DataAccess.AddInParameter(cmd, "@CN_S_CREATOR", DbType.String, entity.CN_S_CREATOR); DataAccess.AddInParameter(cmd, "@CN_S_CREATOR_BY", DbType.String, entity.CN_S_CREATOR_BY); DataAccess.AddInParameter(cmd, "@CN_T_CREATE", DbType.DateTime, entity.CN_T_CREATE); DataAccess.AddInParameter(cmd, "@CN_T_MODIFY", DbType.DateTime, entity.CN_T_MODIFY); DataAccess.AddInParameter(cmd, "@CN_S_REMARK", DbType.String, entity.CN_S_REMARK); DataAccess.AddInParameter(cmd, "@CN_C_IS_AUTO", DbType.String, entity.CN_C_IS_AUTO); DataAccess.AddInParameter(cmd, "@CN_S_PROJECT_CODE", DbType.String, entity.CN_S_PROJECT_CODE); cmds.Add(cmd); } return ExecuteCommands(cmds, trans); } public SqlExecuteResult Add(TN_WM_TRANSPORT_TASKEntity entity, DbTransaction trans) { string sql = @"INSERT INTO TN_WM_TRANSPORT_TASK (CN_S_TASK_NO ,CN_S_CIR_OBJ ,CN_S_CIR_OBJ_CODE ,CN_S_START_BIT ,CN_S_END_BIT ,CN_S_PRO_CODE ,CN_S_STATE ,CN_S_TASK_TYPE ,CN_S_BF_TASK_NO ,CN_S_AF_TASK_NO ,CN_S_STOCK_CODE ,CN_S_START_AREA ,CN_S_END_AREA ,CN_S_START_AREA_TYPE ,CN_S_END_AREA_TYPE ,CN_C_START_IS_CONTROL_QTY ,CN_C_END_IS_CONTROL_QTY ,CN_S_START_CONTROL_INV ,CN_S_END_CONTROL_INV ,CN_N_PRIORITY ,CN_S_CREATOR ,CN_S_CREATOR_BY ,CN_T_CREATE ,CN_T_MODIFY,CN_S_REMARK,CN_C_IS_AUTO,CN_S_PROJECT_CODE) VALUES (:CN_S_TASK_NO,:CN_S_CIR_OBJ,:CN_S_CIR_OBJ_CODE,:CN_S_START_BIT,:CN_S_END_BIT ,:CN_S_PRO_CODE,:CN_S_STATE,:CN_S_TASK_TYPE, :CN_S_BF_TASK_NO,:CN_S_AF_TASK_NO,:CN_S_STOCK_CODE,:CN_S_START_AREA,:CN_S_END_AREA,:CN_S_START_AREA_TYPE,:CN_S_END_AREA_TYPE,:CN_C_START_IS_CONTROL_QTY,:CN_C_END_IS_CONTROL_QTY,:CN_S_START_CONTROL_INV,:CN_S_END_CONTROL_INV,:CN_N_PRIORITY,:CN_S_CREATOR ,:CN_S_CREATOR_BY,:CN_T_CREATE,:CN_T_MODIFY,:CN_S_REMARK,:CN_C_IS_AUTO,:CN_S_PROJECT_CODE)"; DbCommand cmd = DataAccess.GetSqlStringCommand(sql); DataAccess.AddInParameter(cmd, "@CN_S_TASK_NO", DbType.String, entity.CN_S_TASK_NO); DataAccess.AddInParameter(cmd, "@CN_S_CIR_OBJ", DbType.String, entity.CN_S_CIR_OBJ); DataAccess.AddInParameter(cmd, "@CN_S_CIR_OBJ_CODE", DbType.String, entity.CN_S_CIR_OBJ_CODE); DataAccess.AddInParameter(cmd, "@CN_S_START_BIT", DbType.String, entity.CN_S_START_BIT); DataAccess.AddInParameter(cmd, "@CN_S_END_BIT", DbType.String, entity.CN_S_END_BIT); DataAccess.AddInParameter(cmd, "@CN_S_PRO_CODE", DbType.String, entity.CN_S_PRO_CODE); DataAccess.AddInParameter(cmd, "@CN_S_STATE", DbType.String, entity.CN_S_STATE); DataAccess.AddInParameter(cmd, "@CN_S_TASK_TYPE", DbType.String, entity.CN_S_TASK_TYPE); DataAccess.AddInParameter(cmd, "@CN_S_BF_TASK_NO", DbType.String, entity.CN_S_BF_TASK_NO); DataAccess.AddInParameter(cmd, "@CN_S_AF_TASK_NO", DbType.String, entity.CN_S_AF_TASK_NO); DataAccess.AddInParameter(cmd, "@CN_S_STOCK_CODE", DbType.String, entity.CN_S_STOCK_CODE); DataAccess.AddInParameter(cmd, "@CN_S_START_AREA", DbType.String, entity.CN_S_START_AREA); DataAccess.AddInParameter(cmd, "@CN_S_END_AREA", DbType.String, entity.CN_S_END_AREA); DataAccess.AddInParameter(cmd, "@CN_S_START_AREA_TYPE", DbType.String, entity.CN_S_START_AREA_TYPE); DataAccess.AddInParameter(cmd, "@CN_S_END_AREA_TYPE", DbType.String, entity.CN_S_END_AREA_TYPE); DataAccess.AddInParameter(cmd, "@CN_C_START_IS_CONTROL_QTY", DbType.String, entity.CN_C_START_IS_CONTROL_QTY); DataAccess.AddInParameter(cmd, "@CN_C_END_IS_CONTROL_QTY", DbType.String, entity.CN_C_END_IS_CONTROL_QTY); DataAccess.AddInParameter(cmd, "@CN_S_START_CONTROL_INV", DbType.String, entity.CN_S_START_CONTROL_INV); DataAccess.AddInParameter(cmd, "@CN_S_END_CONTROL_INV", DbType.String, entity.CN_S_END_CONTROL_INV); DataAccess.AddInParameter(cmd, "@CN_N_PRIORITY", DbType.Int16, entity.CN_N_PRIORITY); DataAccess.AddInParameter(cmd, "@CN_S_CREATOR", DbType.String, entity.CN_S_CREATOR); DataAccess.AddInParameter(cmd, "@CN_S_CREATOR_BY", DbType.String, entity.CN_S_CREATOR_BY); DataAccess.AddInParameter(cmd, "@CN_T_CREATE", DbType.DateTime, entity.CN_T_CREATE); DataAccess.AddInParameter(cmd, "@CN_T_MODIFY", DbType.DateTime, entity.CN_T_MODIFY); DataAccess.AddInParameter(cmd, "@CN_S_REMARK", DbType.String, entity.CN_S_REMARK); DataAccess.AddInParameter(cmd, "@CN_C_IS_AUTO", DbType.String, entity.CN_C_IS_AUTO); DataAccess.AddInParameter(cmd, "@CN_S_PROJECT_CODE", DbType.String, entity.CN_S_PROJECT_CODE); return ExecuteCommand(cmd, trans); } #endregion #region 更改任务状态为执行中 /// /// 更改任务执行状态 /// /// /// /// /// public SqlExecuteResult UpdateState(string taskNo, string taskState, DbTransaction trans) { string strSql = "UPDATE TN_WM_TRANSPORT_TASK SET CN_S_STATE=:CN_S_STATE where CN_S_TASK_NO=:CN_S_TASK_NO"; DbCommand cmd = DataAccess.GetSqlStringCommand(strSql.ToString()); DataAccess.AddInParameter(cmd, "CN_S_STATE", DbType.String, taskState); DataAccess.AddInParameter(cmd, "CN_T_END", DbType.Date, DateTime.Now); DataAccess.AddInParameter(cmd, "CN_S_TASK_NO", DbType.String, taskNo); return ExecuteCommand(cmd, trans); } /// /// 更新任务执行开始时间 /// /// /// /// public SqlExecuteResult UpdateStartTime(string taskNo, DbTransaction trans) { string strSql = "UPDATE TN_WM_TRANSPORT_TASK SET CN_T_START=:CN_T_START where CN_S_TASK_NO=:CN_S_TASK_NO"; DbCommand cmd = DataAccess.GetSqlStringCommand(strSql.ToString()); DataAccess.AddInParameter(cmd, "CN_T_START", DbType.Date, DateTime.Now); DataAccess.AddInParameter(cmd, "CN_S_TASK_NO", DbType.String, taskNo); return ExecuteCommand(cmd, trans); } #endregion #region 根据任务编号获取任务实体 /// /// 根据任务编号获取任务实体 /// /// 任务编号 /// /// public TN_WM_TRANSPORT_TASKEntity GetTaskByNo(string taskNo) { TN_WM_TRANSPORT_TASKEntity taskEntity = new TN_WM_TRANSPORT_TASKEntity(); string sql = @" select * from TN_WM_TRANSPORT_TASK WHERE CN_S_TASK_NO ='" + taskNo + "'"; DbCommand cmd = DataAccess.GetSqlStringCommand(sql); try { //获得 实体 taskEntity = DataAccessExtensive.ExecuteSingleEntity(this.DataAccess, cmd, SetEntity); return taskEntity; } catch (Exception) { throw; } } #endregion #region 根据流程编号获取实体 /// /// 根据流程编号获取实体 /// /// /// public List GetEntityByProCode(string proCode) { IMongoQuery query = Query.EQ("CN_S_PRO_CODE", proCode); return MongoDBSingleton.Instance.Find(query, "TN_AB_B_PRO_EVENT_DEF"); } #endregion public List GetNotEndTask(string startBit) { string strSql = @"select CN_S_TASK_NO from TN_WM_TRANSPORT_TASK where (CN_S_START_BIT=:CN_S_START_BIT or CN_S_END_BIT=:CN_S_END_BIT) and CN_S_STATE in('未执行','执行中','取货完成')"; DbCommand cmd = DataAccess.GetSqlStringCommand(strSql.ToString()); DataAccess.AddInParameter(cmd, "CN_S_START_BIT", DbType.String, startBit); DataAccess.AddInParameter(cmd, "CN_S_END_BIT", DbType.String, startBit); return DataAccessExtensive.ExecuteListEntity(this.DataAccess, cmd, (entity, reader) => { entity.CN_S_TASK_NO = reader["CN_S_TASK_NO"].ToString().Trim(); }); } #region 改变任务状态 /// /// 改变任务状态 /// /// 主键 /// 状态 /// public SqlExecuteResult CheckState(string taskNo, string State, DbTransaction trans) { StringBuilder strSql = new StringBuilder(); strSql.Append(" UPDATE TN_WM_TRANSPORT_TASK SET CN_S_STATE=@CN_S_STATE "); if (State == "执行中") { strSql.Append(",CN_T_START=@CN_T_START "); } if (State == "完成") { strSql.Append(",CN_T_END=@CN_T_END "); } strSql.Append(" where CN_S_TASK_NO=@CN_S_TASK_NO "); DbCommand cmd = DataAccess.GetSqlStringCommand(strSql.ToString()); DataAccess.AddInParameter(cmd, "CN_S_STATE", ComDbType.STRING, State); DataAccess.AddInParameter(cmd, "CN_S_TASK_NO", ComDbType.STRING, taskNo); DataAccess.AddInParameter(cmd, "CN_T_START", ComDbType.DATE, DateTime.Now); DataAccess.AddInParameter(cmd, "CN_T_END", ComDbType.DATE, DateTime.Now); return ExecuteCommand(cmd, trans); } #endregion /// /// 判断指定托盘是否存在未执行结束的任务 /// /// /// public bool GetNotExecutedTaskByObj(string objCode) { string strSql = @"select CN_S_CIR_OBJ_CODE from TN_WM_TRANSPORT_TASK where CN_S_CIR_OBJ_CODE=:CN_S_CIR_OBJ_CODE and CN_S_STATE in('未执行','执行中','取货完成')"; DbCommand cmd = DataAccess.GetSqlStringCommand(strSql.ToString()); DataAccess.AddInParameter(cmd, "CN_S_CIR_OBJ_CODE", DbType.String, objCode); DataTable dt = DataAccessExtensive.ExecuteDataTable(this.DataAccess, cmd); return dt.Rows.Count > 0; } public SqlExecuteResult UpdateTaskPostion(string taskNo, string position, string area, string type, DbTransaction trans) { string sql = string.Empty; if (type == "start") { sql = "UPDATE TN_WM_TRANSPORT_TASK SET CN_S_START_BIT ='" + position + "',CN_S_START_AREA='" + area + "' WHERE CN_S_TASK_NO=:CN_S_TASK_NO"; } else { sql = "UPDATE TN_WM_TRANSPORT_TASK SET CN_S_END_BIT ='" + position + "',CN_S_END_AREA='" + area + "' WHERE CN_S_TASK_NO=:CN_S_TASK_NO"; } DbCommand cmd = DataAccess.GetSqlStringCommand(sql); DataAccess.AddInParameter(cmd, "CN_S_TASK_NO", DbType.String, taskNo); return ExecuteCommand(cmd, trans); } public SqlExecuteResult UpdateTaskAuto(string taskNo, string taskState, DbTransaction trans) { string strSql = "UPDATE TN_WM_TRANSPORT_TASK SET CN_C_IS_AUTO=:CN_C_IS_AUTO where CN_S_TASK_NO=:CN_S_TASK_NO"; DbCommand cmd = DataAccess.GetSqlStringCommand(strSql.ToString()); DataAccess.AddInParameter(cmd, "CN_C_IS_AUTO", ComDbType.CHAR, taskState); DataAccess.AddInParameter(cmd, "CN_S_TASK_NO", DbType.String, taskNo); return ExecuteCommand(cmd, trans); } } }