147 lines
5.4 KiB
C#
147 lines
5.4 KiB
C#
using System.Dynamic;
|
|
using JNPF.Common.Core.Manager;
|
|
using JNPF.Common.Dtos.VisualDev;
|
|
using JNPF.Common.Enums;
|
|
using JNPF.Common.Extension;
|
|
using JNPF.Common.Filter;
|
|
using JNPF.Common.Security;
|
|
using JNPF.FriendlyException;
|
|
using JNPF.Systems.Entitys.Permission;
|
|
using JNPF.Systems.Interfaces.System;
|
|
using JNPF.VisualDev;
|
|
using JNPF.VisualDev.Entitys;
|
|
using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
|
|
using JNPF.VisualDev.Interfaces;
|
|
using Mapster;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
using NPOI.SS.Formula.Functions;
|
|
using Senparc.Weixin.MP.AdvancedAPIs.Card;
|
|
using SqlSugar;
|
|
using Tnb.BasicData.Entities;
|
|
using Tnb.EquipMgr;
|
|
using Tnb.EquipMgr.Entities;
|
|
using Tnb.WarehouseMgr.Entities;
|
|
using Tnb.WarehouseMgr.Entities.Consts;
|
|
using Tnb.WarehouseMgr.Entities.Dto;
|
|
using Tnb.WarehouseMgr.Entities.Dto.Inputs;
|
|
using Tnb.WarehouseMgr.Entities.Entity;
|
|
using Tnb.WarehouseMgr.Entities.Enums;
|
|
using Tnb.WarehouseMgr.Interfaces;
|
|
using Top.Api;
|
|
|
|
namespace Tnb.WarehouseMgr
|
|
{
|
|
/// <summary>
|
|
/// 载具绑定
|
|
/// </summary>
|
|
[OverideVisualDev(ModuleConsts.MODULE_WMSTRANSFERINSTOCKH_ID)]
|
|
public class TransferInstockHService : BaseWareHouseService
|
|
{
|
|
|
|
private readonly ISqlSugarClient _db;
|
|
private readonly IRunService _runService;
|
|
private readonly IVisualDevService _visualDevService;
|
|
private readonly IUserManager _userManager;
|
|
private readonly IBillRullService _billRullService;
|
|
public TransferInstockHService(
|
|
ISqlSugarRepository<WmsCarryH> repository,
|
|
IRunService runService,
|
|
IVisualDevService visualDevService,
|
|
IUserManager userManager,
|
|
IBillRullService billRullService)
|
|
{
|
|
_db = repository.AsSugarClient();
|
|
_runService = runService;
|
|
_visualDevService = visualDevService;
|
|
_userManager = userManager;
|
|
_billRullService = billRullService;
|
|
//OverideFuncs.GetListAsync = GetList;
|
|
|
|
|
|
}
|
|
|
|
[NonAction]
|
|
private async Task<dynamic> GetList(VisualDevModelListQueryInput input)
|
|
{
|
|
try
|
|
{
|
|
SqlSugarPagedList<WmsTransferInstockH> result = await _db.Queryable<WmsTransferInstockH>()
|
|
.ToPagedListAsync(input.currentPage, input.pageSize);
|
|
|
|
var _data = PageResult<WmsTransferInstockH>.SqlSugarPageResult(result);
|
|
var json = JsonConvert.SerializeObject(_data);
|
|
var data = JsonConvert.DeserializeObject<dynamic>(json);
|
|
JArray mainTable = data.list;
|
|
|
|
var wmsTransferInstockDs = _db.Queryable<WmsTransferInstockD>().LeftJoin<BasMaterial>((a, b) => a.material_id == b.id).Where((a, b) => mainTable.Select(r => r["id"].ToString()).ToList().Contains(a.bill_id)).Select((a, b) => new TransferInstockDListOutput
|
|
{
|
|
id = a.id,
|
|
org_id = a.org_id,
|
|
bill_id = a.bill_id,
|
|
status = a.status,
|
|
material_id = a.material_id,
|
|
material_code = a.material_code,
|
|
unit_id = a.unit_id,
|
|
unit_code = a.unit_code,
|
|
pr_qty = a.pr_qty,
|
|
xf_qty = a.xf_qty,
|
|
qty = a.qty,
|
|
f_flowid = a.f_flowid,
|
|
f_flowtaskid = a.f_flowtaskid,
|
|
material_desc = a.material_desc,
|
|
create_id = a.create_id,
|
|
create_time = a.create_time,
|
|
modify_id = a.modify_id,
|
|
modify_time = a.modify_time,
|
|
pi_code = a.pi_code,
|
|
stock_location = a.stock_location,
|
|
erp_line_pk = a.erp_line_pk,
|
|
lineno = a.lineno,
|
|
material_name = a.material_name,
|
|
auxprop = a.auxprop,
|
|
auxprop_gys = a.auxprop_gys,
|
|
auxprop_xph = a.auxprop_xph,
|
|
udi_code = a.udi_code,
|
|
material_specification = b.material_specification,
|
|
material_standard = b.material_standard
|
|
|
|
});
|
|
|
|
foreach (JObject wmsTransferInstockH in mainTable)
|
|
{
|
|
wmsTransferInstockH["tablefield105"] = JArray.Parse(JsonConvert.SerializeObject(wmsTransferInstockDs.Where(r => r.bill_id == wmsTransferInstockH["id"].ToString()).ToList()));
|
|
}
|
|
return data;
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
return Task.FromResult(ex);
|
|
}
|
|
}
|
|
|
|
|
|
[HttpPost, NonUnify, AllowAnonymous]
|
|
public async Task<dynamic> List(TransferInstockHListInput input)
|
|
{
|
|
try
|
|
{
|
|
JObject jobject = new JObject();
|
|
jobject["code"] = "200";
|
|
|
|
List<WmsTransferInstockD> wmsTransferInstockDs = _db.Queryable<WmsTransferInstockD>().Where(r => r.bill_id == input.id).ToList();
|
|
|
|
|
|
jobject["data"] = JArray.Parse(JsonConvert.SerializeObject(wmsTransferInstockDs));
|
|
return await Task.FromResult(jobject);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return Task.FromResult(ex);
|
|
}
|
|
}
|
|
}
|
|
}
|