using HanHe.Utility.Data; using HH.WMS.Common; using HH.WMS.Entitys; using HH.WMS.Entitys.Basic; using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HH.WMS.DAL.Basic { public class TN_WM_B_TRAY_INFODAL : DapperBaseDAL { #region GET public OperateResult GetForPrint(string trayCode, string trayType, string spec, int pageIndex, int pageSize) { string sqlWhere = " where 1=1 "; if (!string.IsNullOrEmpty(trayCode)) { sqlWhere += " and CN_S_TRAY_CODE like '%" + trayCode + "%' "; } if (!string.IsNullOrEmpty(trayType)) { sqlWhere += " and CN_S_TRAY_TYPE like '%" + trayType + "%'"; } if (!string.IsNullOrEmpty(spec)) { sqlWhere += " and CN_S_SPEC like '%" + spec + "%'"; } sqlWhere += " and CN_S_TRAY_CODE not like 'VWT%' "; string sql = @"(select * from TN_WM_TRAY_INFO " + sqlWhere + ") AS AA "; return ExecutePagingResult(sql, pageIndex, pageSize); } #endregion #region 更新托盘实际重量 /// /// 更新托盘实际重量 /// /// 托盘 编码 /// 本次入托实际重量 /// /// /// [HANHE(XDL)] CREATED BY 2018-11-14 public OperateResult updateTrayCodeWeight(string trayCode, decimal weight, IDbTransaction trans) { string sq1 = "UPDATE TN_WM_TRAY_INFO SET CN_S_STATE=@CN_S_STATE,CN_F_WEIGHT=CN_F_WEIGHT+@CN_F_WEIGHT,CN_S_USE_STATE=case when CN_F_WEIGHT+@CN_F_WEIGHT>=CN_F_LOADBEARING then '满' else '不满' end WHERE CN_S_TRAY_CODE=@CN_S_TRAY_CODE"; return ExecuteTranSql(sq1, new { CN_S_STATE = Constants.TrayState_InUse, CN_F_WEIGHT = weight, CN_S_TRAY_CODE = trayCode }, trans); } #endregion #region 查询托盘是否已使用 /// /// 查询托盘是否已使用 /// /// 托盘号 /// /// [HANHE(DBS)] CREATED BY 2018-12-5 public bool GetUseState(string trayCode) { string sql = "select count(1) from tn_wm_b_tray_location where CN_S_TRAY_CODE=@CN_S_TRAY_CODE"; DataTable dt = ExecuteDataTable(sql, new { CN_S_TRAY_CODE = trayCode }); if (Convert.ToInt16(dt.Rows[0][0]) == 0) { sql = "select COUNT(1) from TN_WM_B_TRAY_ITEM_MST where CN_S_TRAY_CODE=@CN_S_TRAY_CODE"; //tn_wm_b_tray_item_rel dt = ExecuteDataTable(sql, new { CN_S_TRAY_CODE = trayCode }); } return Convert.ToInt16(dt.Rows[0][0]) > 0; } #endregion #region 新增容器表 /// /// 新增容器表 /// /// /// [HANHE(LT)] CREATED BY 2018-12-27 public OperateResult Add(List list, IDbTransaction trans) { OperateResult result = new OperateResult(); foreach (TN_WM_B_TRAY_INFOEntity model in list) { StringBuilder strSql = new StringBuilder(); //strSql.Append(" if not exists(select * from tn_wm_tray_info " + model.sqlWhere + " )"); strSql.Append(" IF NOT EXISTS(SELECT * FROM dbo.TN_WM_B_TRAY_ITEM_MST " + model.sqlWhere + ") "); strSql.Append("insert into tn_wm_tray_info("); strSql.Append("CN_S_TRAY_CODE,CN_S_MODIFY,CN_S_MODIFY_BY,CN_S_TRAY_CODE_EXT,CN_S_TRAY_TYPE,CN_T_MODIFY,CN_S_CREATOR,CN_S_TRAY_DIMENSION,CN_S_CREATOR_BY,CN_S_TRAY_COLOR,CN_S_DESC,CN_T_CREATE,CN_S_STATE,CN_S_SPEC,CN_S_SORTING_CODE,CN_S_COLLECT_CODE,CN_S_COLLECT_LOCATION,CN_N_LATTICE_NUM,CN_S_USE_STATE,CN_N_ROW_NUM,CN_N_COLUMN_NUM,CN_F_LOADBEARING,CN_F_GROSSWEIGHT,CN_F_WEIGHT)"); strSql.Append(" values ("); strSql.Append("@CN_S_TRAY_CODE,@CN_S_MODIFY,@CN_S_MODIFY_BY,@CN_S_TRAY_CODE_EXT,@CN_S_TRAY_TYPE,@CN_T_MODIFY,@CN_S_CREATOR,@CN_S_TRAY_DIMENSION,@CN_S_CREATOR_BY,@CN_S_TRAY_COLOR,@CN_S_DESC,@CN_T_CREATE,@CN_S_STATE,@CN_S_SPEC,@CN_S_SORTING_CODE,@CN_S_COLLECT_CODE,@CN_S_COLLECT_LOCATION,@CN_N_LATTICE_NUM,@CN_S_USE_STATE,@CN_N_ROW_NUM,@CN_N_COLUMN_NUM,@CN_F_LOADBEARING,@CN_F_GROSSWEIGHT,@CN_F_WEIGHT)"); result = ExecuteTranSql(strSql.ToString(), new { CN_S_TRAY_CODE = model.CN_S_TRAY_CODE, CN_S_MODIFY = model.CN_S_MODIFY, CN_S_MODIFY_BY = model.CN_S_MODIFY_BY, CN_S_TRAY_CODE_EXT = model.CN_S_TRAY_CODE_EXT, CN_S_TRAY_TYPE = model.CN_S_TRAY_TYPE, CN_T_MODIFY = model.CN_T_MODIFY, CN_S_CREATOR = model.CN_S_CREATOR, CN_S_TRAY_DIMENSION = model.CN_S_TRAY_DIMENSION, CN_S_CREATOR_BY = model.CN_S_CREATOR_BY, CN_S_TRAY_COLOR = model.CN_S_TRAY_COLOR, CN_S_DESC = model.CN_S_DESC, CN_T_CREATE = model.CN_T_CREATE, CN_S_STATE = model.CN_S_STATE, CN_S_SPEC = model.CN_S_SPEC, CN_S_SORTING_CODE = model.CN_S_SORTING_CODE, CN_S_COLLECT_CODE = model.CN_S_COLLECT_CODE, CN_S_COLLECT_LOCATION = model.CN_S_COLLECT_LOCATION, CN_N_LATTICE_NUM = model.CN_N_LATTICE_NUM, CN_S_USE_STATE = model.CN_S_USE_STATE, CN_N_ROW_NUM = model.CN_N_ROW_NUM, CN_N_COLUMN_NUM = model.CN_N_COLUMN_NUM, CN_F_LOADBEARING = model.CN_F_LOADBEARING, CN_F_GROSSWEIGHT = model.CN_F_GROSSWEIGHT, CN_F_WEIGHT = model.CN_F_WEIGHT, }, trans); if (result.Status == ResultStatus.Error) return result; } return result; } #endregion #region 新增容器表 单个 /// /// 新增容器表 /// /// /// [HANHE(LT)] CREATED BY 2018-12-27 public OperateResult Add(TN_WM_B_TRAY_INFOEntity model, IDbTransaction trans) { OperateResult result = new OperateResult(); StringBuilder strSql = new StringBuilder(); //strSql.Append(" if not exists(select * from tn_wm_tray_info " + model.sqlWhere + " )"); strSql.Append("insert into tn_wm_tray_info("); strSql.Append("CN_S_TRAY_CODE,CN_S_MODIFY,CN_S_MODIFY_BY,CN_S_TRAY_CODE_EXT,CN_S_TRAY_TYPE,CN_T_MODIFY,CN_S_CREATOR,CN_S_TRAY_DIMENSION,CN_S_CREATOR_BY,CN_S_TRAY_COLOR,CN_S_DESC,CN_T_CREATE,CN_S_STATE,CN_S_SPEC,CN_S_SORTING_CODE,CN_S_COLLECT_CODE,CN_S_COLLECT_LOCATION,CN_N_LATTICE_NUM,CN_S_USE_STATE,CN_N_ROW_NUM,CN_N_COLUMN_NUM,CN_F_LOADBEARING,CN_F_GROSSWEIGHT,CN_F_WEIGHT)"); strSql.Append(" values ("); strSql.Append("@CN_S_TRAY_CODE,@CN_S_MODIFY,@CN_S_MODIFY_BY,@CN_S_TRAY_CODE_EXT,@CN_S_TRAY_TYPE,@CN_T_MODIFY,@CN_S_CREATOR,@CN_S_TRAY_DIMENSION,@CN_S_CREATOR_BY,@CN_S_TRAY_COLOR,@CN_S_DESC,@CN_T_CREATE,@CN_S_STATE,@CN_S_SPEC,@CN_S_SORTING_CODE,@CN_S_COLLECT_CODE,@CN_S_COLLECT_LOCATION,@CN_N_LATTICE_NUM,@CN_S_USE_STATE,@CN_N_ROW_NUM,@CN_N_COLUMN_NUM,@CN_F_LOADBEARING,@CN_F_GROSSWEIGHT,@CN_F_WEIGHT)"); result = ExecuteTranSql(strSql.ToString(), new { CN_S_TRAY_CODE = model.CN_S_TRAY_CODE, CN_S_MODIFY = model.CN_S_MODIFY, CN_S_MODIFY_BY = model.CN_S_MODIFY_BY, CN_S_TRAY_CODE_EXT = model.CN_S_TRAY_CODE_EXT, CN_S_TRAY_TYPE = model.CN_S_TRAY_TYPE, CN_T_MODIFY = model.CN_T_MODIFY, CN_S_CREATOR = model.CN_S_CREATOR, CN_S_TRAY_DIMENSION = model.CN_S_TRAY_DIMENSION, CN_S_CREATOR_BY = model.CN_S_CREATOR_BY, CN_S_TRAY_COLOR = model.CN_S_TRAY_COLOR, CN_S_DESC = model.CN_S_DESC, CN_T_CREATE = model.CN_T_CREATE, CN_S_STATE = model.CN_S_STATE, CN_S_SPEC = model.CN_S_SPEC, CN_S_SORTING_CODE = model.CN_S_SORTING_CODE, CN_S_COLLECT_CODE = model.CN_S_COLLECT_CODE, CN_S_COLLECT_LOCATION = model.CN_S_COLLECT_LOCATION, CN_N_LATTICE_NUM = model.CN_N_LATTICE_NUM, CN_S_USE_STATE = model.CN_S_USE_STATE, CN_N_ROW_NUM = model.CN_N_ROW_NUM, CN_N_COLUMN_NUM = model.CN_N_COLUMN_NUM, CN_F_LOADBEARING = model.CN_F_LOADBEARING, CN_F_GROSSWEIGHT = model.CN_F_GROSSWEIGHT, CN_F_WEIGHT = model.CN_F_WEIGHT, }, trans); if (result.Status == ResultStatus.Error) return result; return result; } #endregion #region 更新托盘实际重量及容器规格 /// /// 更新托盘实际重量 /// /// 托盘 编码 /// 本次入托实际重量 /// /// /// [HANHE(XDL)] CREATED BY 2018-11-14 public OperateResult updateTrayInfo(string trayCode, decimal? weight, string useState, string traySpec, IDbTransaction trans) { string sq1 = "UPDATE TN_WM_TRAY_INFO SET CN_S_SPEC=@CN_S_SPEC,CN_F_GROSSWEIGHT=@CN_F_GROSSWEIGHT,CN_S_USE_STATE=@CN_S_USE_STATE WHERE CN_S_TRAY_CODE=@CN_S_TRAY_CODE"; return ExecuteTranSql(sq1, new { CN_F_GROSSWEIGHT = weight, CN_S_SPEC = traySpec, CN_S_USE_STATE = useState, CN_S_TRAY_CODE = trayCode }, trans); } #endregion #region 根据托盘号获取托盘信息 public TN_WM_B_TRAY_INFOEntity GetModel(string trayCode) { string sql = @"SELECT * FROM tn_wm_tray_info WHERE CN_S_TRAY_CODE='" + trayCode + "'"; return ExecuteSingleEntity(sql, null); } /// /// 设置实体的各列 /// private void SetEntity(TN_WM_B_TRAY_INFOEntity entity, IDataReader reader) { SetEntityUti(entity, "CN_GUID", "CN_GUID", reader); SetEntityUti(entity, "CN_S_TRAY_CODE", "CN_S_TRAY_CODE", reader); SetEntityUti(entity, "CN_S_TRAY_TYPE", "CN_S_TRAY_TYPE", reader); SetEntityUti(entity, "CN_S_USE_STATE", "CN_S_USE_STATE", reader); SetEntityUti(entity, "CN_S_SPEC", "CN_S_SPEC", reader); } #endregion } }