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 新增检验单
|
/// <summary>
|
/// 新增检验单
|
/// </summary>
|
/// <param name="Entity">检验单实体</param>
|
/// <returns></returns>
|
[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<TN_WM_INSPECTBLL>().AddInspect(entity, t);
|
|
|
if (result.Success && (entity.OperateMessage == Constants.Operate_EditAndSubmit))
|
{
|
List<TN_WM_B_EXAMINEEntity> examineList = new List<TN_WM_B_EXAMINEEntity>();
|
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 修改检验单
|
/// <summary>
|
/// 修改检验单
|
/// </summary>
|
/// <param name="Entity">检验单单实体</param>
|
/// <returns></returns>
|
[HttpPost]
|
public OperateResult UpdateInspect(TN_WM_INSPECT_MSTEntity entity)
|
{
|
try
|
{
|
return ValidateToken(entity.TokenId, t =>
|
{
|
OperateResult result = new OperateResult();
|
|
var existsInMst = BLLCreator.Create<DapperBLL<TN_WM_INSPECT_MSTEntity>>().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<TN_WM_INSPECTBLL>().UpdateInspect(entity);
|
|
if (result.Success && (entity.OperateMessage == Constants.Operate_EditAndSubmit))
|
{
|
List<TN_WM_B_EXAMINEEntity> examineList = new List<TN_WM_B_EXAMINEEntity>();
|
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
|
/// <summary>
|
/// 提交入库订单
|
/// </summary>
|
/// <param name="entity">审批实体</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2019-02-20</History>
|
[HttpPost]
|
public OperateResult SubmitInspect(List<TN_WM_B_EXAMINEEntity> entity)
|
{
|
try
|
{
|
return ValidateToken(entity[0].TokenId, t =>
|
{
|
return BLLCreator.Create<TN_WM_INSPECTBLL>().SubmitInspect(entity);
|
});
|
}
|
catch (Exception ex)
|
{
|
return OperateResult.Error(ex.Message);
|
}
|
}
|
#endregion
|
|
#region 查询数据集
|
/// <summary>
|
/// 获取检验单列表
|
/// </summary>
|
/// <param name="searchModel">查询实体(页码,显示条数,条件等)</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2018-11-24</History>
|
[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<TN_WM_INSPECTBLL>().GetInspectList(searchModel);
|
return JsonConvert.SerializeObject(pagingList, timeFormat);
|
});
|
}
|
#endregion
|
|
#region 获取主子表信息
|
/// <summary>
|
/// 根据单号获取主子表信息
|
/// </summary>
|
/// <param name="CN_S_OP_NO">模糊查询条件:入库单号</param>
|
/// <returns></returns>
|
[HttpGet]
|
public string GetInspectMstAndDtl(string inspectNo)
|
{
|
try
|
{
|
return ValidateToken(t =>
|
{
|
TN_WM_INSPECT_MSTEntity inMstEntity = BLLCreator.Create<TN_WM_INSPECTBLL>().GetInspectMstAndDtl(inspectNo);
|
return JsonConvert.SerializeObject(OperateResult.Succeed("", inMstEntity));
|
});
|
}
|
catch (Exception ex)
|
{
|
return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString()));
|
}
|
}
|
#endregion
|
|
#region 检验单送检
|
/// <summary>
|
/// 检验单送检
|
/// </summary>
|
/// <param name="inspectNo">检验单号</param>
|
/// <param name="operatorName">送检员</param>
|
/// <param name="inspectDept">送检部门</param>
|
/// <returns></returns>
|
/// <History>[HANHE(XDL)] CREATED BY 2019-02-28</History>
|
[HttpGet]
|
public OperateResult InspectBeenTest(string inspectNo, string operatorName, string inspectDept)
|
{
|
try
|
{
|
return ValidateToken(t =>
|
{
|
return BLLCreator.Create<TN_WM_INSPECTBLL>().InspectBeenTest(inspectNo, operatorName, inspectDept);
|
});
|
}
|
catch (Exception ex)
|
{
|
return OperateResult.Error(ex.Message);
|
}
|
}
|
#endregion
|
}
|
}
|