using HH.WMS.BLL;
using HH.WMS.BLL.Basic;
using HH.WMS.Common;
using HH.WMS.Entitys;
using HH.WMS.Entitys.Basic;
using HH.WMS.Entitys.Common;
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.Basic
{
public class OperationTypeController : BaseController
{
///
/// 获取业务类型表
///
/// 类型(出库、入库)
/// TokenId
/// OutSelection
///
/// [HanHe(xdl)] CREATED 2018/11/20
[HttpGet]
public OperateResult GetOperationTypeList(string opType, string OutSelection="")
{
return ValidateToken(x =>
{
try
{
List entity = BLLCreator.Create().GetOperationTypeList(opType, OutSelection);
return OperateResult.Succeed("", entity);
}
catch (Exception ex)
{
return OperateResult.Error("业务类型数据获取异常!" + ex.ToString());
}
});
}
#region 查询所有业务
///
/// 查询所有业务
///
/// 查询参数
///
/// [Hanhe(DBS)] created by 2018/12/02
[HttpPost]
public OperateResult GetList(SearchModel searchModel)
{
return ValidateToken(searchModel.TokenId, x =>
{
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
OperateResult result = BLLCreator.Create>().
GetPagingResult(searchModel.PageIndex, searchModel.PageSize, new { CN_S_OP_TYPE = Util.ToString(searchModel.SearchCondition.CN_S_OP_TYPE) });
return result;
});
}
#endregion
#region 新增业务类型
///
/// 新增业务类型
///
/// 业务类型实体
///
/// [Hanhe(DBS)] created by 2018/12/06
[HttpPost]
public OperateResult Add(TN_WM_OPERATION_TYPEEntity model)
{
return ValidateToken(model.TokenId, x =>
{
OperateResult result;
//根据tokenId 获取当前登陆信息
result = GetTokenInfo(model.TokenId);
if (!result.Success)
return result;
TN_WM_OPERATION_TYPEEntity oldModel = BLLCreator.Create>().GetSingleEntity(new { CN_S_OPERATION_CODE = model.CN_S_OPERATION_CODE });
if (oldModel != null)
{
return OperateResult.Error("该编号已存在!");
}
else
{
return BLLCreator.Create>().Add(model);
}
});
}
#endregion
#region 修改业务类型
///
/// 修改业务类型
///
/// 业务类型实体
///
/// [Hanhe(DBS)] created by 2018/12/06
[HttpPost]
public OperateResult Update(TN_WM_OPERATION_TYPEEntity model)
{
return ValidateToken(model.TokenId, x =>
{
OperateResult result;
//根据tokenId 获取当前登陆信息
result = GetTokenInfo(model.TokenId);
if (!result.Success)
return result;
return BLLCreator.Create>()
.Update(new
{
CN_S_OPERATION_NAME = model.CN_S_OPERATION_NAME,
CN_S_MODIFY = model.CN_S_MODIFY,
CN_S_MODIFY_BY = model.CN_S_MODIFY_BY,
CN_T_MODIFY = model.CN_T_MODIFY
}, new { CN_S_OPERATION_CODE = model.CN_S_OPERATION_CODE });
});
}
#endregion
#region 获取业务号实体
///
/// 获取业务号实体
///
/// tokenId
/// 托盘号
///
/// [Hanhe(DBS)] CREATED BY 2018-12-07
public OperateResult GetModel(string opCode)
{
return ValidateToken(x =>
{
TN_WM_OPERATION_TYPEEntity entity = BLLCreator.Create>().GetSingleEntity(new { CN_S_OPERATION_CODE = opCode });
return OperateResult.Succeed("", entity);
});
}
#endregion
///
/// 获取业务单据的关联库区
///
///
///
[HttpGet]
public OperateResult AbleAreas(string stockCode, string opCode)
{
return ValidateToken(x =>
{
List entity = BLLCreator.Create>().GetList(new { CN_S_OPERATION_CODE = opCode });
return OperateResult.Succeed("", entity);
});
}
[HttpGet]
public OperateResult SaveAreaRel(string opCode, string stockCode, string selectValue)
{
return ValidateToken(x =>
{
try
{
List entity = new List();
foreach (string area in selectValue.Split(','))
{
entity.Add(new TN_WM_OP_STORE_RELEntity()
{
CN_C_IS_USE = "Y",
CN_S_AREA_CODE = area,
CN_S_MODIFY = x.CN_S_LOGIN,
CN_S_MODIFY_BY = x.CN_S_NAME,
CN_S_STOCK_CODE = stockCode,
CN_S_OPERATION_CODE = opCode,
CN_T_MODIFY = DateTime.Now
}
);
}
BLLCreator.Create>().Delete(new { CN_S_STOCK_CODE = stockCode, CN_S_OPERATION_CODE = opCode });
BLLCreator.Create>().AddRange(entity);
return OperateResult.Succeed("", entity);
}
catch (Exception ex)
{
return OperateResult.Error(ex.Message);
}
});
}
}
}