226 lines
8.6 KiB
C#
226 lines
8.6 KiB
C#
using Gatedge.K3Cloud.Utils;
|
||
using Gatedge.K3Cloud.Utils.Common;
|
||
using Gatedge.K3Cloud.Utils.Model.K3Request;
|
||
using Gatedge.ScanCode.Common;
|
||
using Gatedge.ScanCode.Extension;
|
||
using Gatedge.ScanCode.Models.Dto;
|
||
using Gatedge.ScanCode.Models.Dto.ScanRecords;
|
||
using Gatedge.ScanCode.Services;
|
||
using Gatedge.ScanCode.Services.IServices;
|
||
using Microsoft.AspNetCore.Authorization;
|
||
using Microsoft.AspNetCore.Mvc;
|
||
|
||
namespace Gatedge.ScanCode.Controllers
|
||
{
|
||
/// <summary>
|
||
/// 暂存扫描记录
|
||
/// </summary>
|
||
[Route("api/[controller]")]
|
||
[Authorize]
|
||
[ApiController]
|
||
public class ScanRecordsController : ControllerBase
|
||
{
|
||
private readonly string _FormName = "扫描记录#";
|
||
private readonly string _FormId = "k4b27f8773ecb443da113e1a5e64ccaf9";
|
||
private readonly K3CloudApiUtils _utils;
|
||
|
||
/// <summary>
|
||
/// 构造函数
|
||
/// </summary>
|
||
/// <param name="utils"></param>
|
||
public ScanRecordsController(K3CloudApiUtils utils)
|
||
{
|
||
_utils = utils;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 查看
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[HttpGet("View")]
|
||
public AjaxResult View([FromQuery] View Param)
|
||
{
|
||
var loginInfo = User.GetLoginInfoByClaimsPrincipal();
|
||
_utils.InitCloudApi(loginInfo);
|
||
IScanRecordsService service = new ScanRecordsService(_utils);
|
||
var data = service.View(Param);
|
||
return AjaxResult.Success(data).AddBillId(_FormId);
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 单据列表
|
||
/// </summary>
|
||
/// <param name="param"></param>
|
||
/// <returns></returns>
|
||
[HttpGet("List")]
|
||
public AjaxResult List([FromQuery] ScanRecordsPageParam param)
|
||
{
|
||
if (param.PageSize <= 0)
|
||
{
|
||
var errMes = string.Format("传递的参数不合法,页大小需要大于0,当前 PageSize 为 {0}", param.PageSize);
|
||
return AjaxResult.Error(500, errMes);
|
||
}
|
||
if (param.PageIndex <= 0)
|
||
{
|
||
var errMes = string.Format("传递的参数不合法,页索引需要大于0,当前 PageIndex 为 {0}", param.PageIndex);
|
||
return AjaxResult.Error(500, errMes);
|
||
}
|
||
if (param.UserId == null)
|
||
{
|
||
var errMes = string.Format("传递的参数不合法,用户Id不能为空,当前 UserId 为 {0}", param.UserId);
|
||
return AjaxResult.Error(500, errMes);
|
||
}
|
||
|
||
|
||
Query queryParam = new Query()
|
||
{
|
||
FormId = this._FormId,
|
||
FieldKeys = @"FID,FStatus,FCreatorId,FCreateDate,
|
||
FBillId.FID,FBillId.FName,FBillNo,FBarCode,FEntryId,FMaterialId,FMaterialId.FNumber,FMaterialId.FName,FQty,FStockId,FStockId.FNumber,FStockId.FName,Flot,FJSON,
|
||
FErrorInfo,FSubmitLot,
|
||
FResultBillId.FID,FResultBillId.FName,FResultBillNo,FResultId,FResultIsChecked,FIsPrinted",
|
||
Limit = param.PageSize,
|
||
StartRow = param.PageSize * (param.PageIndex - 1),
|
||
//FilterString = "",
|
||
OrderString = "FCreateDate DESC"
|
||
};
|
||
//FilterItem userItem = new FilterItem("FCreatorId", "67", param.UserId, "0");
|
||
//queryParam.FilterString.Add(userItem);
|
||
//// 如果存在FormId,加到过滤条件中
|
||
//if (param.BillId != null)
|
||
//{
|
||
// queryParam.FilterString.Add(new FilterItem("FBillId.FID", "67", param.BillId, "0"));
|
||
//}
|
||
//// 如果存在FormId,加到过滤条件中
|
||
//if (param.BarCode != null)
|
||
//{
|
||
// queryParam.FilterString.Add(new FilterItem("FBarCode", "67", param.BarCode, "0"));
|
||
//}
|
||
//if (param.BillNo != null)
|
||
//{
|
||
// queryParam.FilterString.Add(new FilterItem("FBillNo", "67", param.BillNo, "0"));
|
||
//}
|
||
//if (param.Status != null)
|
||
//{
|
||
// queryParam.FilterString.Add(new FilterItem("FStatus", "29", param.Status, "0"));
|
||
//}
|
||
//if (param.SubmitLot != null)
|
||
//{
|
||
// queryParam.FilterString.Add(new FilterItem("FSubmitLot", "67", param.SubmitLot, "0"));
|
||
//}
|
||
//queryParam.FilterString.Add(userItem);
|
||
var loginInfo = User.GetLoginInfoByClaimsPrincipal();
|
||
_utils.InitCloudApi(loginInfo);
|
||
IScanRecordsService service = new ScanRecordsService(_utils);
|
||
var data = service.List(queryParam);
|
||
return AjaxResult.Success(data);
|
||
}
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// 保存扫描记录
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[HttpPost("Save")]
|
||
public AjaxResult Save([FromBody] ScanRecordsSaveDto param)
|
||
{
|
||
var loginInfo = User.GetLoginInfoByClaimsPrincipal();
|
||
_utils.InitCloudApi(loginInfo);
|
||
IScanRecordsService service = new ScanRecordsService(_utils);
|
||
service.Save(param);
|
||
return AjaxResult.Success("保存成功");
|
||
}
|
||
|
||
/// <summary>
|
||
/// 批量扫描记录
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[HttpPost("PatchSave")]
|
||
public AjaxResult PatchSave([FromBody] ArrayDto<ScanRecordsSaveDto> param)
|
||
{
|
||
var loginInfo = User.GetLoginInfoByClaimsPrincipal();
|
||
_utils.InitCloudApi(loginInfo);
|
||
IScanRecordsService service = new ScanRecordsService(_utils);
|
||
service.PatchSave(param);
|
||
return AjaxResult.Success("保存成功");
|
||
}
|
||
|
||
/// <summary>
|
||
/// 删除扫描记录
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[HttpPost("Delete")]
|
||
public AjaxResult Delete([FromBody] Delete Param)
|
||
{
|
||
var loginInfo = User.GetLoginInfoByClaimsPrincipal();
|
||
_utils.InitCloudApi(loginInfo);
|
||
IScanRecordsService service = new ScanRecordsService(_utils);
|
||
service.Delete(Param);
|
||
return AjaxResult.Success("删除成功");
|
||
}
|
||
|
||
/// <summary>
|
||
/// 批量删除扫描记录
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[HttpPost("MultiDelete")]
|
||
public AjaxResult MultiDelete([FromBody] ScanRecordsPageParam Param)
|
||
{
|
||
if (Param.UserId == null)
|
||
{
|
||
var errMes = string.Format("传递的参数不合法,用户Id不能为空,当前 UserId 为 {0}", Param.UserId);
|
||
return AjaxResult.Error(500, errMes);
|
||
}
|
||
if (Param.BillId == null)
|
||
{
|
||
var errMes = string.Format("传递的参数不合法,表单Id不能为空,当前 FormId 为 {0}", Param.BillId);
|
||
return AjaxResult.Error(500, errMes);
|
||
}
|
||
Query queryParam = new Query()
|
||
{
|
||
FormId = this._FormId,
|
||
FieldKeys = "FID",
|
||
};
|
||
//FilterList filterString = new FilterList();
|
||
//FilterItem userItem = new FilterItem("FCreatorId", "67", Param.UserId, "0");
|
||
//filterString.AddFilterItem(userItem);
|
||
//FilterItem formidItem = new FilterItem("FFromId", "67", Param.BillId, "0");
|
||
//filterString.AddFilterItem(formidItem);
|
||
//queryParam.FilterString = filterString.GetFilterString();
|
||
var loginInfo = User.GetLoginInfoByClaimsPrincipal();
|
||
_utils.InitCloudApi(loginInfo);
|
||
IScanRecordsService service = new ScanRecordsService(_utils);
|
||
|
||
var data = service.List(queryParam);
|
||
var mes = string.Format("删除成功。删除数量:{0}", data.List.Count);
|
||
if (data.List.Count == 0)
|
||
{
|
||
return AjaxResult.Success(mes);
|
||
}
|
||
Delete delete = new Delete()
|
||
{
|
||
Ids = string.Join(",", data.List.Select(n => n["FID"].ToString()))
|
||
};
|
||
var result = service.Delete(delete);
|
||
return AjaxResult.Success(mes, result);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 打印成果单据
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[HttpPost("PrintResultBillNo")]
|
||
public AjaxResult PrintResultBillNo([FromBody] PrintRecord printRecord)
|
||
{
|
||
var loginInfo = User.GetLoginInfoByClaimsPrincipal();
|
||
_utils.InitCloudApi(loginInfo);
|
||
IScanRecordsService service = new ScanRecordsService(_utils);
|
||
var reuslt = service.PrintResultBillNo(printRecord.Ids);
|
||
return AjaxResult.Success("扫描记录更新成功.");
|
||
}
|
||
|
||
}
|
||
}
|