using HH.WMS.Common; using HH.WMS.Entitys; using HH.WMS.Entitys.Common; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HH.WMS.DAL.InStock { public class TN_WM_INSPECTDAL : DapperBaseDAL { #region 查询检验单列表 /// /// 查询检验单列表 /// /// 实体 /// public OperateResult GetInspectList(SearchModel searchModel) { var condition = searchModel.SearchCondition; string ConStr = "where 1=1 "; if (condition != null) { if (!string.IsNullOrEmpty(condition.CN_S_INSPECT_NO.ToString())) { ConStr = ConStr + " and CN_S_INSPECT_NO like '%" + condition.CN_S_INSPECT_NO + "%'"; } string state = condition.CN_S_STATE.ToString(); if (!string.IsNullOrEmpty(state)) { if (state.IndexOf(",") > 0) { state = "'" + state.Replace(",", "','") + "'"; ConStr = ConStr + " and CN_S_STATE in (" + state + ")"; } else { ConStr = ConStr + " and CN_S_STATE='" + state + "'"; } } if (!string.IsNullOrEmpty(condition.CN_T_START.ToString())) { ConStr = ConStr + " and CN_T_CREATE >= '" + Util.ToStringInput(condition.CN_T_START) + " 00:00:00'"; } if (!string.IsNullOrEmpty(condition.CN_T_END.ToString())) { ConStr = ConStr + " and CN_T_CREATE <= '" + Util.ToStringInput(condition.CN_T_END) + " 23:59:59'"; } if (!string.IsNullOrEmpty(condition.CN_S_OP_TYPE.ToString())) { ConStr = ConStr + " and CN_S_OP_TYPE = '" + condition.CN_S_OP_TYPE + "'"; } } string sql = @"(select * from TN_WM_INSPECT_MST ) T " + ConStr; OperateResult result = new OperateResult(); return ExecutePagingResult(sql, searchModel.PageIndex, searchModel.PageSize, "", ""); } #endregion #region 检验单送检 /// /// 检验单送检 /// /// 检验单号 /// 送检员 /// 送检部门 /// public OperateResult InspectBeenTest(string inspectNo, string operatorName, string inspectDept) { if (string.IsNullOrEmpty(inspectDept)) { inspectDept = Constants.InspectDept; } OperateResult result = new OperateResult(); string sql = "UPDATE TN_WM_INSPECT_MST SET CN_S_STATE=@CN_S_STATE,CN_S_INSPECT_DEPT=@CN_S_INSPECT_DEPT,CN_S_SUBMIT_PERSONER=@CN_S_SUBMIT_PERSONER,CN_T_SUBMIT_INSPECT=case when CN_T_SUBMIT_INSPECT IS null then GETDATE() else CN_T_SUBMIT_INSPECT end WHERE CN_S_INSPECT_NO=@CN_S_INSPECT_NO"; result = ExecuteTranSql(sql, new { CN_S_STATE = Constants.State_BeenTest, CN_S_INSPECT_DEPT = inspectDept, CN_S_SUBMIT_PERSONER = operatorName, CN_S_INSPECT_NO = inspectNo }, null); return result; } #endregion #region 获取调用OMS接口更新采购订单待检验数据 /// /// 获取调用OMS接口更新采购订单待检验数据 /// /// 检验单号 /// public DataTable GetOmsCheckResultData(string opinspectNo) { string sql = @" SELECT DISTINCT ARRM.CN_S_OP_TYPE,INSD.CN_S_INSPECT_NO,INM.CN_S_FROM_NO,IND.CN_N_ROW_NO,INSD.CN_S_ITEM_CODE,INSD.CN_F_QUANTITY ,INSD.CN_F_QUALIFIED,INSD.CN_F_UNQUALIFIED,IND.CN_F_ACTUAL_PRICE ,IND.CN_F_ACTUAL_MONEY FROM TN_WM_INSPECT_DTL INSD LEFT JOIN TN_WM_ARRIVAL_MST ARRM ON ARRM.CN_S_ARRIVAL_NO=INSD.CN_S_FROM_NO LEFT JOIN TN_WM_IN_MST INM ON ARRM.CN_S_FROM_NO=INM.CN_S_OP_NO LEFT JOIN TN_WM_IN_DTL IND ON IND.CN_S_OP_NO=INM.CN_S_OP_NO AND INSD.CN_N_ROW_NO=IND.CN_N_ROW_NO WHERE CN_S_INSPECT_NO='" + opinspectNo + "' AND INM.CN_S_FROM_NO IS NOT NULL"; return ExecuteDataTable(sql); } #endregion #region 检验单提交更新到货单数量 /// /// 检验单提交更新到货单数量 /// /// 检验单字符串 /// /// public OperateResult UpdateArrivalQty(string inspectNoStr, IDbTransaction trans) { string sql = @"UPDATE TN_WM_ARRIVAL_DTL SET TN_WM_ARRIVAL_DTL.CN_F_QUANTITY = TN_WM_INSPECT_DTL.CN_F_QUALIFIED FROM TN_WM_ARRIVAL_DTL INNER JOIN TN_WM_INSPECT_DTL ON TN_WM_ARRIVAL_DTL.CN_S_ARRIVAL_NO=TN_WM_INSPECT_DTL.CN_S_FROM_NO AND TN_WM_ARRIVAL_DTL.CN_N_ROW_NO=TN_WM_INSPECT_DTL.CN_S_FROM_ROW_NO AND TN_WM_ARRIVAL_DTL.CN_S_ITEM_CODE=TN_WM_INSPECT_DTL.CN_S_ITEM_CODE WHERE TN_WM_INSPECT_DTL.CN_S_INSPECT_NO IN('" + inspectNoStr + "')"; return ExecuteTranSql(sql, null, trans); } #endregion } }