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 更新入库订单状态 /// /// 提交入库订单-主表 /// /// 审批实体 /// 审批类型(已提交、已审核、已反审、已驳回) /// /// [HANHE(XDL)] CREATED BY 2019-02-20 public OperateResult ExamineMst(List 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; } /// /// 提交入库订单-子表 /// /// 审批实体 /// 审批类型(已提交、已审核、已反审、已驳回) /// /// [HANHE(XDL)] CREATED BY 2019-02-20 public OperateResult ExamineDtl(List 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 到货单联机新增-选择来源 /// /// 到货单页面,选择来源单据 /// /// 实体 /// /// [HANHE(XDL)] CREATED BY 2018-11-26 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 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 lstInOrder = ExecuteQuery(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 查询到货单列表 /// /// 查询到货单列表 /// /// 实体 /// /// [HANHE(XDL)] CREATED BY 2018-12-18 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 } }