This commit is contained in:
2024-11-11 15:27:43 +08:00
23 changed files with 1481 additions and 78 deletions

View File

@@ -426,6 +426,11 @@ namespace Tnb.WarehouseMgr.Entities.Consts
/// </summary>
public const string BIZTYPE_TEMPCONTROLOUTSTOCK_ID = "38027183728661";
/// <summary>
/// 预任务生成业务类型-暂控料入库
/// </summary>
public const string BIZTYPE_TEMPCONTROLINSTOCK_ID = "38065450570261";
/// <summary>
/// 成品调拨入库
/// </summary>

View File

@@ -62,6 +62,10 @@ namespace Tnb.WarehouseMgr.Entities.Dto.ErpInputs
/// 应到货日期
/// </summary>
public DateTime arrival_date { get; set; }
/// <summary>
/// 转库单类型(人工线,自动线)
/// </summary>
public string transfer_type { get; set; }
/// <summary>
/// 主表主键

View File

@@ -10,4 +10,142 @@ namespace Tnb.WarehouseMgr.Entities.Dto.Inputs
{
public string? id { get; set; }
}
public class TransferInstockDListOutput
{
public string id { get; set; }
/// <summary>
    /// 所属组织
    /// </summary>
public string? org_id { get; set; }
/// <summary>
    /// 入库单ID
    /// </summary>
public string? bill_id { get; set; }
/// <summary>
    /// 执行状态
    /// </summary>
public string? status { get; set; }
/// <summary>
    /// 物品ID
    /// </summary>
public string? material_id { get; set; }
/// <summary>
    /// 物品代码
    /// </summary>
public string? material_code { get; set; }
/// <summary>
    /// 单位ID
    /// </summary>
public string? unit_id { get; set; }
/// <summary>
    /// 单位代码
    /// </summary>
public string? unit_code { get; set; }
/// <summary>
    /// 入库需求数量
    /// </summary>
public decimal? pr_qty { get; set; }
/// <summary>
    /// 已下发数量
    /// </summary>
public decimal? xf_qty { get; set; }
/// <summary>
    /// 实际入库数量
    /// </summary>
public decimal? qty { get; set; }
/// <summary>
    /// 流程任务Id
    /// </summary>
public string? f_flowtaskid { get; set; }
/// <summary>
    /// 流程引擎Id
    /// </summary>
public string? f_flowid { get; set; }
/// <summary>
    /// 规格型号
    /// </summary>
public string? material_desc { get; set; }
/// <summary>
    /// 创建用户
    /// </summary>
public string? create_id { get; set; }
/// <summary>
    /// 创建时间
    /// </summary>
public DateTime? create_time { get; set; }
/// <summary>
    /// 修改用户
    /// </summary>
public string? modify_id { get; set; }
/// <summary>
    /// 修改时间
    /// </summary>
public DateTime? modify_time { get; set; }
/// <summary>
    /// 批号
    /// </summary>
public string? pi_code { get; set; }
/// <summary>
/// 库存地点
/// </summary>
public string? stock_location { get; set; }
/// <summary>
/// erp_line_pk
/// </summary>
public string? erp_line_pk { get; set; }
/// <summary>
/// 行号
/// </summary>
public string? lineno { get; set; }
/// <summary>
/// 物料名称
/// </summary>
public string? material_name { get; set; }
/// <summary>
/// 辅助属性
/// </summary>
public string auxprop { get; set; }
/// <summary>
/// 辅助属性 供应商
/// </summary>
public string auxprop_gys { get; set; }
/// <summary>
/// 辅助属性 小批号
/// </summary>
public string auxprop_xph { get; set; }
public string udi_code { get; set; }
/// <summary>
/// 物料规格
/// </summary>
public string? material_specification { get; set; }
/// <summary>
/// 物料型号(箱号)
/// </summary>
public string? material_standard { get; set; }
}
}

View File

@@ -1019,7 +1019,7 @@ namespace Tnb.WarehouseMgr
WmsMaterialTransfer wmsMaterialTransfer = new WmsMaterialTransfer();
string Code = await _billRuleService.GetBillNumber("MaterialTransfer");
wmsMaterialTransfer.bill_code = Code;
wmsMaterialTransfer.status = WmsWareHouseConst.BILLSTATUS_ADD_ID;
wmsMaterialTransfer.status = input.transfer_type == "0001H11000000000D32H" ? WmsWareHouseConst.BILLSTATUS_COMPLETE_ID : WmsWareHouseConst.BILLSTATUS_ADD_ID;//转库单类型是人工线的,直接是完成状态
wmsMaterialTransfer.bill_date = DateTime.Now;
wmsMaterialTransfer.warehouse_outstock = warehouse_outstock.id;
wmsMaterialTransfer.warehouse_instock = warehouse_instock.id;
@@ -1088,7 +1088,7 @@ namespace Tnb.WarehouseMgr
WmsPrdReturnH wmsPrdReturnH = new WmsPrdReturnH();
string Code = await _billRuleService.GetBillNumber("WMSPRDRETURN");
wmsPrdReturnH.bill_code = Code;
wmsPrdReturnH.status = WmsWareHouseConst.BILLSTATUS_ADD_ID;
wmsPrdReturnH.status = input.transfer_type == "0001H11000000000D32H" ? WmsWareHouseConst.BILLSTATUS_COMPLETE_ID : WmsWareHouseConst.BILLSTATUS_ADD_ID;//转库单类型是人工线的,直接是完成状态
wmsPrdReturnH.warehouse_id = warehouse_instock.id;
wmsPrdReturnH.create_id = WmsWareHouseConst.ErpUserId;
wmsPrdReturnH.create_time = DateTime.Now;

View File

@@ -20,6 +20,7 @@ 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;
@@ -75,7 +76,39 @@ namespace Tnb.WarehouseMgr
var data = JsonConvert.DeserializeObject<dynamic>(json);
JArray mainTable = data.list;
ISugarQueryable<WmsTransferInstockD> wmsTransferInstockDs = _db.Queryable<WmsTransferInstockD>().Where(r => mainTable.Select(r => r["id"].ToString()).ToList().Contains(r.bill_id));
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)
{

View File

@@ -340,6 +340,8 @@ namespace Tnb.WarehouseMgr
bindCarryCodeInput.location_code = endLocations[0].location_code;
bindCarryCodeInput.code_batch = wmsTransferInstockD.pi_code;
bindCarryCodeInput.unit_id = basMaterial.unit_id;
bindCarryCodeInput.material_specification = wmsTransferInstockD.material_desc;
bindCarryCodeInput.container_no=basMaterial.container_no;
await _wmsCarryService.BindCarryMaterial(bindCarryCodeInput);
}

View File

@@ -142,8 +142,8 @@ namespace Tnb.WarehouseMgr
List<WmsInstockD> allInstockDetails = await _db.Queryable<WmsInstockD>().Where(it => instock_mains.Select(r => r.id).Contains(it.bill_id)
&& it.material_id == wmsPurchaseD.material_id && it.code_batch == wmsPurchaseD.code_batch
&& (!string.IsNullOrEmpty(it.source_detail_id) && it.source_detail_id == wmsPurchaseD.id)).OrderBy(x=>x.id).ToListAsync();
&& it.material_id == wmsPurchaseD.material_id && it.code_batch == wmsPurchaseD.code_batch
&& (string.IsNullOrEmpty(it.source_detail_id) || (!string.IsNullOrEmpty(it.source_detail_id) && it.source_detail_id == wmsPurchaseD.id))).OrderBy(x => x.id).ToListAsync();
List<Dictionary<string, object>> requestData = new List<Dictionary<string, object>>();
List<string> carryIds = instock_mains.Select(x => x.carry_id).ToList();

View File

@@ -190,7 +190,8 @@ namespace Tnb.WarehouseMgr
["crowno"] = item.lineno,
["csourcebillhid"] = wmsTransferInstockH?.erp_pk ?? "",
["csourcebillbid"] = wmsTransferInstockD?.erp_line_pk ?? "",
["cunitid"] = erpExtendFields.Find(x => x.table_id == item.unit_id)?.cunitid ?? "",
//["cunitid"] = erpExtendFields.Find(x => x.table_id == item.unit_id)?.cunitid ?? "",
["cunitid"] = null,
["cvendorid"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_id ?? "",
["cvendorvid"] = erpExtendFields.Find(x => x.table_id == supplierId)?.supplier_vid ?? "",
["dbizdate"] = date,