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 查询检验单列表
|
/// <summary>
|
/// 查询检验单列表
|
/// </summary>
|
/// <param name="searchModel">实体</param>
|
/// <returns></returns>
|
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 检验单送检
|
/// <summary>
|
/// 检验单送检
|
/// </summary>
|
/// <param name="inspectNo">检验单号</param>
|
/// <param name="operatorName">送检员</param>
|
/// <param name="inspectDept">送检部门</param>
|
/// <returns></returns>
|
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接口更新采购订单待检验数据
|
/// <summary>
|
/// 获取调用OMS接口更新采购订单待检验数据
|
/// </summary>
|
/// <param name="opinspectNo">检验单号</param>
|
/// <returns></returns>
|
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 检验单提交更新到货单数量
|
/// <summary>
|
/// 检验单提交更新到货单数量
|
/// </summary>
|
/// <param name="inspectNoStr">检验单字符串</param>
|
/// <param name="trans"></param>
|
/// <returns></returns>
|
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
|
}
|
}
|