using HH.WMS.BLL; using HH.WMS.BLL.InStock; using HH.WMS.Common; using HH.WMS.Entitys; using HH.WMS.Entitys.Basic; using HH.WMS.Entitys.Common; using HH.WMS.Entitys.Entitys; using HH.WMS.WebApi.Areas.Common.Controllers; using Newtonsoft.Json; using Newtonsoft.Json.Converters; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; namespace HH.WMS.WebApi.Areas.InStock.Controllers { public class InspectController : BaseController { #region 新增检验单 /// /// 新增检验单 /// /// 检验单实体 /// [HttpPost] public OperateResult AddInspect(TN_WM_INSPECT_MSTEntity entity) { try { return ValidateToken(entity.TokenId, t => { OperateResult result = new OperateResult(); entity.CN_S_CREATOR = t.CN_S_LOGIN; entity.CN_S_CREATOR_BY = t.CN_S_NAME; entity.CN_T_CREATE = DateTime.Now; entity.CN_S_MODIFY = t.CN_S_LOGIN; entity.CN_S_MODIFY_BY = t.CN_S_NAME; entity.CN_T_MODIFY = DateTime.Now; int rowNo = 1; foreach (var inDtl in entity.DTLEntity) { inDtl.CN_N_ROW_NO = rowNo++; inDtl.CN_S_INSPECT_NO = entity.CN_S_INSPECT_NO; inDtl.CN_S_STATE = entity.CN_S_STATE; inDtl.CN_T_CREATE = DateTime.Now; inDtl.CN_S_CREATOR = entity.CN_S_CREATOR; inDtl.CN_S_CREATOR_BY = entity.CN_S_CREATOR_BY; inDtl.CN_T_MODIFY = DateTime.Now; inDtl.CN_S_MODIFY = entity.CN_S_MODIFY; inDtl.CN_S_MODIFY_BY = entity.CN_S_MODIFY_BY; } result = BLLCreator.Create().AddInspect(entity, t); if (result.Success && (entity.OperateMessage == Constants.Operate_EditAndSubmit)) { List examineList = new List(); examineList.Add(new TN_WM_B_EXAMINEEntity() { CN_GUID = System.Guid.NewGuid().ToString().ToUpper(), CN_S_EXAMINE_TYPE = Constants.State_Submit, CN_S_OP_FROM = "检验单", CN_S_FROM_NO = entity.CN_S_INSPECT_NO, CN_S_CREATOR = t.CN_S_LOGIN, CN_S_CREATOR_BY = t.CN_S_NAME, CN_T_CREATE = DateTime.Now, CN_S_OPINION = "", TokenId = entity.TokenId }); return SubmitInspect(examineList); } return result; }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 修改检验单 /// /// 修改检验单 /// /// 检验单单实体 /// [HttpPost] public OperateResult UpdateInspect(TN_WM_INSPECT_MSTEntity entity) { try { return ValidateToken(entity.TokenId, t => { OperateResult result = new OperateResult(); var existsInMst = BLLCreator.Create>().GetSingleEntity(new { CN_S_INSPECT_NO = entity.CN_S_INSPECT_NO }); entity.CN_T_CREATE = existsInMst.CN_T_CREATE; entity.CN_S_CREATOR = existsInMst.CN_S_CREATOR; entity.CN_S_CREATOR_BY = existsInMst.CN_S_CREATOR_BY; //根据tokenId 获取当前登陆信息 entity.CN_S_MODIFY = t.CN_S_LOGIN; entity.CN_S_MODIFY_BY = t.CN_S_NAME; //修改 entity.CN_T_MODIFY = DateTime.Now; int rowNo = 1; foreach (var inDtl in entity.DTLEntity) { inDtl.CN_N_ROW_NO = rowNo++; inDtl.CN_S_INSPECT_NO = entity.CN_S_INSPECT_NO; inDtl.CN_S_STATE = entity.CN_S_STATE; inDtl.CN_F_UNQUALIFIED = inDtl.CN_F_QUANTITY - inDtl.CN_F_QUALIFIED; inDtl.CN_T_CREATE = DateTime.Now; inDtl.CN_S_CREATOR = entity.CN_S_CREATOR; inDtl.CN_S_CREATOR_BY = entity.CN_S_CREATOR_BY; inDtl.CN_T_MODIFY = DateTime.Now; inDtl.CN_S_MODIFY = entity.CN_S_MODIFY; inDtl.CN_S_MODIFY_BY = entity.CN_S_MODIFY_BY; } result = BLLCreator.Create().UpdateInspect(entity); if (result.Success && (entity.OperateMessage == Constants.Operate_EditAndSubmit)) { List examineList = new List(); examineList.Add(new TN_WM_B_EXAMINEEntity() { CN_GUID = System.Guid.NewGuid().ToString().ToUpper(), CN_S_EXAMINE_TYPE = Constants.State_Submit, CN_S_OP_FROM = "检验单", CN_S_FROM_NO = entity.CN_S_INSPECT_NO, CN_S_CREATOR = t.CN_S_LOGIN, CN_S_CREATOR_BY = t.CN_S_NAME, CN_T_CREATE = DateTime.Now, CN_S_OPINION = "", TokenId = entity.TokenId }); return SubmitInspect(examineList); } return result; }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region /// /// 提交入库订单 /// /// 审批实体 /// /// [HANHE(XDL)] CREATED BY 2019-02-20 [HttpPost] public OperateResult SubmitInspect(List entity) { try { return ValidateToken(entity[0].TokenId, t => { return BLLCreator.Create().SubmitInspect(entity); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 查询数据集 /// /// 获取检验单列表 /// /// 查询实体(页码,显示条数,条件等) /// /// [HANHE(XDL)] CREATED BY 2018-11-24 [HttpPost] public string GetInspectList(SearchModel searchModel) { return ValidateToken(searchModel.TokenId, t => { IsoDateTimeConverter timeFormat = new IsoDateTimeConverter(); timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; OperateResult pagingList = BLLCreator.Create().GetInspectList(searchModel); return JsonConvert.SerializeObject(pagingList, timeFormat); }); } #endregion #region 获取主子表信息 /// /// 根据单号获取主子表信息 /// /// 模糊查询条件:入库单号 /// [HttpGet] public string GetInspectMstAndDtl(string inspectNo) { try { return ValidateToken(t => { TN_WM_INSPECT_MSTEntity inMstEntity = BLLCreator.Create().GetInspectMstAndDtl(inspectNo); return JsonConvert.SerializeObject(OperateResult.Succeed("", inMstEntity)); }); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } #endregion #region 检验单送检 /// /// 检验单送检 /// /// 检验单号 /// 送检员 /// 送检部门 /// /// [HANHE(XDL)] CREATED BY 2019-02-28 [HttpGet] public OperateResult InspectBeenTest(string inspectNo, string operatorName, string inspectDept) { try { return ValidateToken(t => { return BLLCreator.Create().InspectBeenTest(inspectNo, operatorName, inspectDept); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion } }