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
}
}