using HH.WMS.Common;
|
using HH.WMS.Entitys;
|
using HH.WMS.Entitys.Basic;
|
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_INDAL : DapperBaseDAL
|
{
|
#region 更新入库订单状态
|
/// <summary>
|
/// 提交入库订单-主表
|
/// </summary>
|
/// <param name="entity">审批实体</param>
|
/// <param name="examineType">审批类型(已提交、已审核、已反审、已驳回)</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2019-02-20</History>
|
public OperateResult ExamineMst(List<TN_WM_B_EXAMINEEntity> entity, string examineType, IDbTransaction trans)
|
{
|
OperateResult result = new OperateResult();
|
foreach (var model in entity)
|
{
|
StringBuilder strSql = new StringBuilder();
|
strSql.Append(" UPDATE TN_WM_IN_MST SET CN_S_STATE=@CN_S_STATE,CN_S_AUDITOR=@CN_S_AUDITOR,CN_T_AUDIT_TIME=@CN_T_AUDIT_TIME,CN_S_AUDIT_REMARK=@CN_S_AUDIT_REMARK WHERE CN_S_OP_NO=@CN_S_OP_NO");
|
|
result = ExecuteTranSql(strSql.ToString(), new
|
{
|
CN_S_STATE = examineType,
|
CN_S_OP_NO = model.CN_S_FROM_NO,
|
CN_S_AUDITOR = model.CN_S_CREATOR,
|
CN_T_AUDIT_TIME = DateTime.Now,
|
CN_S_AUDIT_REMARK = model.CN_S_OPINION
|
}, trans);
|
if (result.Status == ResultStatus.Error)
|
return result;
|
}
|
return result;
|
}
|
|
/// <summary>
|
/// 提交入库订单-子表
|
/// </summary>
|
/// <param name="entity">审批实体</param>
|
/// <param name="examineType">审批类型(已提交、已审核、已反审、已驳回)</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2019-02-20</History>
|
public OperateResult ExamineDtl(List<TN_WM_B_EXAMINEEntity> entity, string examineType, IDbTransaction trans)
|
{
|
OperateResult result = new OperateResult();
|
foreach (var model in entity)
|
{
|
StringBuilder strSql = new StringBuilder();
|
strSql.Append(" UPDATE TN_WM_IN_DTL SET CN_S_STATE=@CN_S_STATE WHERE CN_S_OP_NO=@CN_S_OP_NO");
|
|
result = ExecuteTranSql(strSql.ToString(), new
|
{
|
CN_S_STATE = examineType,
|
CN_S_OP_NO = model.CN_S_FROM_NO
|
}, trans);
|
if (result.Status == ResultStatus.Error)
|
return result;
|
}
|
return result;
|
}
|
#endregion
|
|
#region 到货单联机新增-选择来源
|
/// <summary>
|
/// 到货单页面,选择来源单据
|
/// </summary>
|
/// <param name="searchModel">实体</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-11-26</History>
|
public OperateResult GetFromInOrderList(SearchModel searchModel)
|
{
|
var condition = searchModel.SearchCondition;
|
string ConStr = "where 1=1 ";
|
if (condition != null)
|
{
|
if (!string.IsNullOrEmpty(condition.CN_S_OP_NO.Value))
|
{
|
ConStr = ConStr + " and CN_S_OP_NO like '%" + condition.CN_S_OP_NO + "%'";
|
}
|
if (!string.IsNullOrEmpty(condition.CN_S_OP_TYPE))
|
{
|
ConStr = ConStr + " and CN_S_OP_TYPE = '" + condition.CN_S_OP_TYPE + "'";
|
}
|
|
}
|
string sql = @"(select *,CN_S_VENDOR_NO CN_S_VENDOR_CODE from TN_WM_IN_MST WHERE CN_S_STATE in ('" + Constants.State_Audit + "','" + Constants.State_BeenCheck + "')) T " + ConStr;
|
|
OperateResult result = new OperateResult();
|
|
return ExecutePagingResult(sql, searchModel.PageIndex, searchModel.PageSize, "", "");
|
}
|
|
public List<TN_WM_IN_DTLEntity> GetFromInOrderDtl(string opNo)
|
{
|
string sql = "SELECT CN_S_OP_NO,CN_GUID,CN_S_CREATOR,CN_N_ROW_NO,CN_S_SERIAL_NO,CN_S_CREATOR_BY,CN_S_ITEM_CODE,CN_T_CREATE,CN_S_ITEM_NAME,CN_S_MODIFY,CN_C_IS_WARRANTY_PARTS,CN_S_MODIFY_BY,CN_S_MEASURE_UNIT,CN_T_MODIFY,CN_F_PURCHASE_PRICE,CN_F_RETAIL_PRICE,CN_S_ITEM_STATE,CN_S_LOT_CODE,CN_S_PRODUCTION_BATCH,CN_S_WO_NO,CN_T_OUTFACTORY,CN_T_PRODUCTION,(ISNULL(CN_F_QUANTITY,0)-ISNULL(CN_F_ADDUP_ARRIVAL_QTY,0)-ISNULL(CN_F_CLOSED_QTY,0)) CN_F_QUANTITY,CN_F_ADDUP_ARRIVAL_QTY,CN_S_STATE,CN_S_TRAY_CODE,CN_S_NOTE,CN_S_MSTGUID,CN_C_IS_VIRTUAL,cn_t_validity,CN_N_QGP,CN_N_QGP_UNIT,CN_N_PALLETIZING_QTY,CN_S_MODEL,CN_F_PLAN_PRICE,CN_F_PLAN_MONEY,CN_F_ACTUAL_PRICE,CN_F_ACTUAL_MONEY,CN_S_FIGURE_NO,CN_F_CLOSED_QTY FROM TN_WM_IN_DTL WHERE CN_S_OP_NO='" + opNo + "'";
|
|
List<TN_WM_IN_DTLEntity> lstInOrder = ExecuteQuery<TN_WM_IN_DTLEntity>(sql);
|
|
foreach (var item in lstInOrder)
|
{
|
string sqlqu = @"select ISNULL(CN_F_UNQUALIFIED,0) CN_F_UNQUALIFIED from (select CN_S_ITEM_CODE,SUM(CN_F_UNQUALIFIED) CN_F_UNQUALIFIED from tn_wm_inspect_dtl insdtl
|
left join tn_wm_inspect_mst insmst on insdtl.CN_S_INSPECT_NO=insmst.CN_S_INSPECT_NO
|
left join tn_wm_arrival_mst arrmst on arrmst.CN_S_ARRIVAL_NO=insmst.CN_S_FROM_NO
|
WHERE arrmst.CN_S_FROM_NO='" + opNo + @"' AND insmst.CN_S_STATE='已提交' group by CN_S_ITEM_CODE) A where
|
A.CN_S_ITEM_CODE='" + item.CN_S_ITEM_CODE + @"'";
|
DataTable dt = ExecuteDataTable(sqlqu);
|
|
if (dt.Rows.Count > 0)
|
{
|
item.CN_F_QUANTITY = item.CN_F_QUANTITY + Convert.ToDecimal(dt.Rows[0]["CN_F_UNQUALIFIED"].ToString());
|
}
|
item.CN_F_ORDER_QTY = item.CN_F_QUANTITY;
|
}
|
return lstInOrder;
|
}
|
#endregion
|
|
#region 查询到货单列表
|
/// <summary>
|
/// 查询到货单列表
|
/// </summary>
|
/// <param name="searchModel">实体</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-12-18</History>
|
public OperateResult GetInOrderList(SearchModel searchModel)
|
{
|
var condition = searchModel.SearchCondition;
|
string ConStr = "where 1=1 ";
|
if (condition != null)
|
{
|
if (!string.IsNullOrEmpty(condition.CN_S_OP_NO.ToString()))
|
{
|
ConStr = ConStr + " and CN_S_OP_NO like '%" + condition.CN_S_OP_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 + "'";
|
}
|
if (!string.IsNullOrEmpty(condition.CN_S_VENDOR_NAME.ToString()))
|
{
|
ConStr = ConStr + " and CN_S_VENDOR_NAME like '%" + condition.CN_S_VENDOR_NAME + "%'";
|
}
|
if (!string.IsNullOrEmpty(condition.IsHandWork.ToString()))
|
{
|
if (condition.IsHandWork.ToString() == "true" || condition.IsHandWork.ToString() == "True")
|
ConStr = ConStr + " and (CN_S_FROM_NO='' or CN_S_FROM_NO IS NULL) ";
|
else
|
ConStr = ConStr + " and (CN_S_FROM_NO!='' and CN_S_FROM_NO IS not NULL) ";
|
}
|
}
|
string sql = @"(select * from TN_WM_IN_MST ) T " + ConStr;
|
|
OperateResult result = new OperateResult();
|
|
return ExecutePagingResult(sql, searchModel.PageIndex, searchModel.PageSize, "", "");
|
}
|
#endregion
|
|
}
|
}
|