Commit ed60c2a7 authored by liudong1993's avatar liudong1993

重新入库

parent 20d25d83
......@@ -42,7 +42,7 @@ namespace Mall.Model.Entity.Property
set;
}
/// <summary>
/// 来源类型 1仓库操作 2商品操作 3 采购,4集团授权,5用户授权,6-出库
/// 来源类型 1仓库操作 2商品操作 3 采购,4集团授权,5用户授权,6-出库, 7重新入库
/// </summary>
public int? Type
{
......
using VT.FW.DB;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.Property
{
/// <summary>
/// 商品重新入库记录实体
/// </summary>
[Serializable]
[DB(ConnectionName = "PropertyConnection")]
public class RB_Warehouseout_Inventory
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 订单id
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 订单明细id
/// </summary>
public int OrderGoodsId { get; set; }
/// <summary>
/// 订单号
/// </summary>
public string OrderNo { get; set; }
/// <summary>
/// 出库id
/// </summary>
public int StockOutId { get; set; }
/// <summary>
/// 物料id
/// </summary>
public int MaterialId { get; set; }
/// <summary>
/// 重新入库数量
/// </summary>
public int InventoryNum { get; set; }
/// <summary>
/// 状态 0 正常 1删除
/// </summary>
public int Status { get; set; }
/// <summary>
/// 公司
/// </summary>
public int RB_Branch_Id { get; set; }
/// <summary>
/// 集团
/// </summary>
public int RB_Group_Id { get; set; }
/// <summary>
/// CreateBy
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// CreateDate
/// </summary>
public DateTime CreateDate { get; set; }
/// <summary>
/// 商户号
/// </summary>
public int TenantId { get; set; }
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId { get; set; }
/// <summary>
/// 财务单据id
/// </summary>
public int FinanceId { get; set; }
/// <summary>
/// 仓库id
/// </summary>
public int WarehouseId { get; set; }
/// <summary>
/// 生成入库单id
/// </summary>
public int StockInId { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
}
}
......@@ -38,5 +38,10 @@ namespace Mall.Model.Extend.Property
/// 흙욋鑒좆
/// </summary>
public int InStockNum { get; set; }
/// <summary>
/// 係近쯤
/// </summary>
public string Barcode { get; set; }
}
}
\ No newline at end of file
......@@ -15,6 +15,11 @@ namespace Mall.Model.Extend.Property
[DB(ConnectionName = "PropertyConnection")]
public class RB_WarehouseOut_GoodsDetail_Extend : RB_WarehouseOut_GoodsDetail
{
/// <summary>
/// 出库明细ids
/// </summary>
public string WarehouseOutIds { get; set; }
/// <summary>
/// 订单号
/// </summary>
......@@ -40,6 +45,11 @@ namespace Mall.Model.Extend.Property
/// </summary>
public DateTime? StockOutDate { get; set; }
/// <summary>
/// 重新入库时间
/// </summary>
public DateTime? StockInDate { get; set; }
/// <summary>
/// 重新入库数量
/// </summary>
......
using VT.FW.DB;
using Mall.Model.Entity.Property;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Extend.Property
{
/// <summary>
/// 商品重新入库记录扩展实体
/// </summary>
[Serializable]
[DB(ConnectionName = "PropertyConnection")]
public class RB_Warehouseout_Inventory_Extend : RB_Warehouseout_Inventory
{
/// <summary>
/// 仓库名称
/// </summary>
public string WarehouseName { get; set; }
}
}
......@@ -136,6 +136,10 @@ namespace Mall.Module.Property
/// 出库明细
/// </summary>
private readonly RB_WarehouseOut_GoodsDetailRepository warehouseOut_GoodsDetailRepository = new RB_WarehouseOut_GoodsDetailRepository();
/// <summary>
/// 重新入库
/// </summary>
private readonly RB_Warehouseout_InventoryRepository warehouseout_InventoryRepository = new RB_Warehouseout_InventoryRepository();
#region 获取采购单
......@@ -582,6 +586,7 @@ namespace Mall.Module.Property
{
return "未能查询到物料信息";
}
item.Barcode = materialModel.Barcode;
item.GoodsId = materialModel.GoodsId ?? 0;
item.SpecificationKey = materialModel.SpecificationKey;
}
......@@ -642,6 +647,21 @@ namespace Mall.Module.Property
}
};
procurement_DetailRepository.Update(keyValues1, wheres1, trans);
#region 更新物料条形码 2021-03-29 ld 暂时屏蔽
//if (!string.IsNullOrEmpty(item.Barcode) && item.Barcode != dModel.Barcode) {
// Dictionary<string, object> keyValues2 = new Dictionary<string, object>() {
// { nameof(RB_Supplies_Material_Extend.Barcode),item.Barcode}
// };
// List<WhereHelper> wheres2 = new List<WhereHelper>() {
// new WhereHelper(){
// FiledName=nameof(RB_Supplies_Material_Extend.Id),
// FiledValue=dModel.MaterialId
// }
// };
// supplies_MaterialRepository.Update(keyValues2, wheres2, trans);
//}
#endregion
}
#region 生成入库单
......@@ -685,7 +705,7 @@ namespace Mall.Module.Property
});
}
bool falg2 = SetStockInInfo(stockInModel, null);
bool falg2 = SetStockInInfo(stockInModel, null, out int StockInId);
if (falg2 == false)
{
procurementRepository.DBSession.Rollback();
......@@ -696,7 +716,7 @@ namespace Mall.Module.Property
property_LogRepository.Insert(new Model.Entity.Property.RB_Property_Log()
{
Type = 3,
Content = "采购单入库",
Content = "采购单入库,入库单id:" + StockInId,
CreateBy = empId,
CreateDate = DateTime.Now,
Id = 0,
......@@ -721,8 +741,9 @@ namespace Mall.Module.Property
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public bool SetStockInInfo(RB_Supplies_StockIn_Extend demodel, System.Data.IDbTransaction trans)
public bool SetStockInInfo(RB_Supplies_StockIn_Extend demodel, System.Data.IDbTransaction trans, out int StockInId)
{
StockInId = 0;
try
{
//生产编号
......@@ -903,6 +924,7 @@ namespace Mall.Module.Property
#endregion
}
StockInId = Id;
return Id > 0;
}
catch (Exception ex)
......@@ -1097,7 +1119,268 @@ namespace Mall.Module.Property
return list;
}
/// <summary>
/// 保存入库
/// </summary>
/// <param name="demodel"></param>
/// <param name="eRPEmpId"></param>
/// <param name="eRPBranchId"></param>
/// <param name="eRPGroupId"></param>
/// <param name="tenantId"></param>
/// <param name="mallBaseId"></param>
/// <param name="empId"></param>
/// <returns></returns>
public string SetGoodsAgainInventory(List<RB_WarehouseOut_GoodsDetail_Extend> deList, int eRPEmpId, int eRPBranchId, int eRPGroupId, int tenantId, int mallBaseId, int empId)
{
#region 查询验证
//每个出库商品明细 对应只能重新入库一次
foreach (var item in deList) {
if (warehouseout_InventoryRepository.GetList(new RB_Warehouseout_Inventory_Extend() { RB_Group_Id = eRPGroupId, WarehouseId = item.WarehouseId, OrderId = item.OrderId, OrderGoodsId = item.OrderGoodsId, MaterialId = item.MaterialId, StockOutId = item.StockOutId }).Any()) {
return "有已重新入库商品,请刷新后重试";
}
}
#endregion
var trans = warehouseout_InventoryRepository.DbTransaction;
try
{
int StockInId = 0;//入库单id
//生成重新入库明细
List<int> IList = new List<int>();
foreach (var item in deList) {
int Id = warehouseout_InventoryRepository.Insert(new RB_Warehouseout_Inventory()
{
Id = 0,
CreateBy = eRPEmpId,
CreateDate = DateTime.Now,
FinanceId = 0,
InventoryNum = item.InventoryNum,
MallBaseId = mallBaseId,
MaterialId = item.MaterialId,
OrderGoodsId = item.OrderGoodsId,
OrderId = item.OrderId,
RB_Branch_Id = eRPBranchId,
RB_Group_Id = eRPGroupId,
Status = 0,
StockInId = 0,
StockOutId = item.StockOutId,
TenantId = tenantId,
WarehouseId = item.WarehouseId,
OrderNo = item.OrderNo
}, trans);
IList.Add(Id);
}
if (IList.Any())
{
#region 生成入库单
int WarehouseId = deList.FirstOrDefault().WarehouseId;
RB_Supplies_StockIn_Extend stockInModel = new RB_Supplies_StockIn_Extend
{
WarehouseId = WarehouseId,
StockInDate = DateTime.Now,
Status = 0,
RB_Branch_Id = eRPBranchId,
RB_Group_Id = eRPGroupId,
CreateBy = eRPEmpId,
CreateDate = DateTime.Now,
UpdateBy = eRPEmpId,
UpdateDate = DateTime.Now,
SupplierName = "重新入库",
DetailList = new List<RB_Supplies_StockInDetail_Extend>(),
Money = 0
};
foreach (var item in deList)
{
decimal Money = (item.CostMoney ?? 0) * item.InventoryNum;
stockInModel.Money += Money;
stockInModel.DetailList.Add(new RB_Supplies_StockInDetail_Extend()
{
SuppliesId = item.MaterialId,
Money = Money,
Number = item.InventoryNum,
CreateBy = eRPEmpId,
CreateDate = DateTime.Now,
Id = 0,
RB_Branch_Id = eRPBranchId,
RB_Group_Id = eRPGroupId,
Remark = "电商自动生成,出库商品重新入库",
Status = 0,
StockInId = 0,
UnitPrice = (item.CostMoney ?? 0),
UpdateBy = eRPEmpId,
UpdateDate = DateTime.Now
});
}
bool falg2 = SetStockInInfo(stockInModel, trans, out StockInId);
if (falg2 == false)
{
procurementRepository.DBSession.Rollback();
return "资产入库单生成失败";
}
#endregion
#region 更新重新入库明细 - 入库单id
foreach (var item in IList) {
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Warehouseout_Inventory.StockInId),StockInId}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Warehouseout_Inventory.Id),
FiledValue=item,
OperatorEnum=OperatorEnum.Equal
}
};
warehouseout_InventoryRepository.Update(keyValues, wheres, trans);
}
#endregion
property_LogRepository.Insert(new Model.Entity.Property.RB_Property_Log()
{
Type = 7,
Content = "出库商品重新入库",
CreateBy = empId,
CreateDate = DateTime.Now,
Id = 0,
MallBaseId = mallBaseId,
SourceId = StockInId,
TenantId = tenantId
});
}
warehouseout_InventoryRepository.DBSession.Commit();
#region 生成财务单据
//出库单 负数形式
GoodsAgainInventoryFinanceModule(deList, IList, StockInId, "", eRPEmpId);
#endregion
return "";
}
catch (Exception ex)
{
LogHelper.Write(ex, "SetGoodsAgainInventory");
warehouseout_InventoryRepository.DBSession.Rollback();
return "出错啦,请联系管理员";
}
}
/// <summary>
/// 生成重新入库单据
/// </summary>
/// <param name="omodel"></param>
/// <returns></returns>
public bool GoodsAgainInventoryFinanceModule(List<RB_WarehouseOut_GoodsDetail_Extend> deList, List<int> IList, int pid, string pRemark, int eRPEmpId)
{
var flag = false;
try
{
int CurrencyId = Convert.ToInt32(new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("FinanceSetting")["ProcurementCurrencyId"]);
int ProcurementDirector = Convert.ToInt32(new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("FinanceSetting")["ProcurementDirector"]);
int ProcurementBranchId = Convert.ToInt32(new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("FinanceSetting")["ProcurementBranchId"]);
int ProcurementDepartment = Convert.ToInt32(new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("FinanceSetting")["ProcurementDepartment"]);
decimal TotalMoney = 0;
#region 关联财务订单
List<object> ECList = new List<object>();
foreach (var item in deList)
{
ECList.Add(new
{
ECOrderId = item.OrderId,
ECOrderDetailId = item.OrderGoodsId
});
}
ECList = ECList.Distinct().ToList();
#endregion
var detailList = new List<object>();
foreach (var item in deList)
{
decimal Money = (item.CostMoney ?? 0) * item.InventoryNum;
TotalMoney += Money;
detailList.Add(
new
{
CostTypeId = 213,
Number = item.InventoryNum,
OriginalMoney = -Money,
UnitPrice = -(item.CostMoney ?? 0),
Remark = item.GoodsName + item.Specification + item.OrderNo
}
);
}
string Remark = System.DateTime.Now.ToString("yyyy年MM月dd日") + " 自动生成重新入库单据";
var financeObj = new
{
CreateBy = eRPEmpId > 0 ? eRPEmpId : ProcurementDirector,
IsPublic = 0,
ClientType = 10,
ClientID = 3134,
CurrencyId,
WBMoney = -TotalMoney,
PayDate = DateTime.Now.ToString("yyyy-MM-dd"),
RB_Branch_Id = ProcurementBranchId,
TemplateId = 128,
OrderSource = 16,
OtherType = 30,
ReFinanceId = pid,
Remark,
detailList,
RB_Depart_Id = ProcurementDepartment,
ECOrderList = ECList
};
string sign = EncryptionHelper.AesEncrypt(JsonHelper.Serialize(financeObj), Config.FinanceKey);
var resultInfo = new
{
msg = sign
};
string apiResult = Mall.Common.Plugin.HttpHelper.HttpPost(Config.PaymentFinanceApi, JsonHelper.Serialize(resultInfo), "");
LogHelper.Write(apiResult);
var apir = JsonConvert.DeserializeObject<ApiResult>(apiResult);
if (apir.resultCode == 1)
{
foreach (var item in IList)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Warehouseout_Inventory.Remark),pRemark +" 自动生成采购单据:"+ apir.data.ToString()},
{ nameof(RB_Warehouseout_Inventory.FinanceId), Convert.ToInt32(apir.data.ToString())}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Warehouseout_Inventory.Id),
FiledValue=item,
OperatorEnum=OperatorEnum.Equal
}
};
warehouseout_InventoryRepository.Update(keyValues, wheres);
}
}
else
{
//记录自动生成失败,需手动新增财务单据
foreach (var item in IList)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Warehouseout_Inventory.Remark),pRemark +" 财务单据新增失败,请手动增加"},
{ nameof(RB_Warehouseout_Inventory.FinanceId), 0}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Warehouseout_Inventory.Id),
FiledValue=item,
OperatorEnum=OperatorEnum.Equal
}
};
warehouseout_InventoryRepository.Update(keyValues, wheres);
}
}
}
catch (Exception ex)
{
LogHelper.Write(ex);
}
return flag;
}
#endregion
#region 获取资产物料列表
......@@ -1143,6 +1426,27 @@ namespace Mall.Module.Property
return list;
}
/// <summary>
/// 设置耗材条形码
/// </summary>
/// <param name="materialId"></param>
/// <param name="barcode"></param>
/// <returns></returns>
public bool SetMaterialBarcode(int materialId, string barcode)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Supplies_Material_Extend.Barcode),barcode}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Supplies_Material_Extend.Id),
FiledValue=materialId,
OperatorEnum=OperatorEnum.Equal
}
};
return supplies_MaterialRepository.Update(keyValues, wheres);
}
/// <summary>
/// 同步商品信息至资产物料
/// </summary>
......
......@@ -60,7 +60,7 @@ namespace Mall.Repository.Property
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_WarehouseOut_GoodsDetail> GetOutGoodsDetailList(RB_WarehouseOut_GoodsDetail query)
public List<RB_WarehouseOut_GoodsDetail> GetOutGoodsDetailList(RB_WarehouseOut_GoodsDetail_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" select * from {TableName} as a where a.Status=0 ");
......@@ -82,6 +82,10 @@ namespace Mall.Repository.Property
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_GoodsDetail.ApplyId)}={query.ApplyId}");
}
if (!string.IsNullOrEmpty(query.WarehouseOutIds))
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_GoodsDetail.ID)} in({query.WarehouseOutIds})");
}
}
return Get<RB_WarehouseOut_GoodsDetail>(builder.ToString()).ToList();
}
......@@ -97,7 +101,7 @@ namespace Mall.Repository.Property
public List<RB_WarehouseOut_GoodsDetail_Extend> GetPageList_V2(int pageIndex, int pageSize, out long rowCount, RB_WarehouseOut_GoodsDetail_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($@"SELECT a.*,i.InventoryNum FROM(
builder.Append($@"SELECT a.*,i.InventoryNum,i.CreateDate as StockInDate FROM(
SELECT gd.OrderId,gd.OrderGoodsId,gd.GoodsId,gd.StockOutId,gd.MaterialId,gd.GoodsName
,gd.Specification,gd.CostMoney,gd.ProductCode,gd.WarehouseId,s.StockOutDate,w.`Name` as WarehouseName,COUNT(0) AS Number
FROM rb_warehouseout_goodsdetail gd
......@@ -110,6 +114,10 @@ WHERE gd.`Status`=0 ");
{
builder.Append($" AND gd.{nameof(RB_WarehouseOut_GoodsDetail.ID)}={query.ID}");
}
if (!string.IsNullOrEmpty(query.WarehouseOutIds))
{
builder.Append($" AND gd.{nameof(RB_WarehouseOut_GoodsDetail.ID)} in({query.WarehouseOutIds})");
}
if (query.TenantId > 0)
{
builder.Append($" AND gd.{nameof(RB_WarehouseOut_GoodsDetail.TenantId)}={query.TenantId}");
......@@ -132,5 +140,53 @@ LEFT JOIN rb_warehouseout_inventory i on a.StockOutId = i.StockOutId and a.Mater
builder.Append(" ORDER BY a.StockOutDate DESC");
return GetPage<RB_WarehouseOut_GoodsDetail_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
/// <summary>
/// 获取出库记录列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_WarehouseOut_GoodsDetail_Extend> GetList_V2(RB_WarehouseOut_GoodsDetail_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($@"SELECT a.*,i.InventoryNum FROM(
SELECT gd.OrderId,gd.OrderGoodsId,gd.GoodsId,gd.StockOutId,gd.MaterialId,gd.GoodsName
,gd.Specification,gd.CostMoney,gd.ProductCode,gd.WarehouseId,s.StockOutDate,w.`Name` as WarehouseName,COUNT(0) AS Number
FROM rb_warehouseout_goodsdetail gd
LEFT JOIN rb_supplies_stockout s on gd.StockOutId = s.Id and s.`Status`=0 and s.StockOutState =1
LEFT JOIN rb_supplies_warehouse w on gd.WarehouseId =w.Id
WHERE gd.`Status`=0 ");
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND gd.{nameof(RB_WarehouseOut_GoodsDetail.ID)}={query.ID}");
}
if (!string.IsNullOrEmpty(query.WarehouseOutIds))
{
builder.Append($" AND gd.{nameof(RB_WarehouseOut_GoodsDetail.ID)} in({query.WarehouseOutIds})");
}
if (query.TenantId > 0)
{
builder.Append($" AND gd.{nameof(RB_WarehouseOut_GoodsDetail.TenantId)}={query.TenantId}");
}
if (query.MallBaseId > 0)
{
builder.Append($" AND gd.{nameof(RB_WarehouseOut_GoodsDetail.MallBaseId)}={query.MallBaseId}");
}
if (query.OrderId > 0)
{
builder.Append($" AND gd.{nameof(RB_WarehouseOut_GoodsDetail.OrderId)}={query.OrderId}");
}
if (!string.IsNullOrEmpty(query.GoodsName))
{
builder.Append($" AND gd.{nameof(RB_WarehouseOut_GoodsDetail.GoodsName)} like '%{query.GoodsName}%'");
}
}
builder.Append($@" GROUP BY gd.OrderId,gd.OrderGoodsId,gd.GoodsId,gd.StockOutId,gd.MaterialId) a
LEFT JOIN rb_warehouseout_inventory i on a.StockOutId = i.StockOutId and a.MaterialId = i.MaterialId and a.OrderId = i.OrderId and a.OrderGoodsId = i.OrderGoodsId");
builder.Append(" ORDER BY a.StockOutDate DESC");
return Get<RB_WarehouseOut_GoodsDetail_Extend>(builder.ToString()).ToList();
}
}
}
using Mall.Model.Entity.Property;
using Mall.Model.Extend.Property;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.Property
{
/// <summary>
/// 重新入库仓储类
/// </summary>
public partial class RB_Warehouseout_InventoryRepository : BaseRepository<RB_Warehouseout_Inventory>
{
/// <summary>
/// 获取分页数据
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="dmodel"></param>
/// <param name="count"></param>
/// <returns></returns>
public List<RB_Warehouseout_Inventory_Extend> GetPageList(int pageIndex, int pageSize, RB_Warehouseout_Inventory_Extend dmodel, out long count)
{
string where = " where 1=1 ";
where += string.Format(" AND {0}={1}", nameof(RB_Warehouseout_Inventory_Extend.Status), 0);
where += $@" and RB_Group_Id={dmodel.RB_Group_Id}";
if (dmodel.WarehouseId > 0)
{
where += " and " + nameof(RB_Warehouseout_Inventory_Extend.WarehouseId) + $" ={dmodel.WarehouseId}";
}
if (dmodel.OrderId > 0)
{
where += " and " + nameof(RB_Warehouseout_Inventory_Extend.OrderId) + $" ={dmodel.OrderId}";
}
if (dmodel.MaterialId > 0)
{
where += " and " + nameof(RB_Warehouseout_Inventory_Extend.MaterialId) + $" ={dmodel.MaterialId}";
}
if (dmodel.FinanceId > 0)
{
where += " and " + nameof(RB_Warehouseout_Inventory_Extend.FinanceId) + $" ={dmodel.FinanceId}";
}
string sql = $@" select * from RB_Warehouseout_Inventory {where} order by Id desc";
return GetPage<RB_Warehouseout_Inventory_Extend>(pageIndex, pageSize, out count, sql).ToList();
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Warehouseout_Inventory_Extend> GetList(RB_Warehouseout_Inventory_Extend dmodel)
{
string where = " where 1=1 ";
where += string.Format(" AND {0}={1}", nameof(RB_Warehouseout_Inventory_Extend.Status), 0);
where += $@" and RB_Group_Id={dmodel.RB_Group_Id}";
if (dmodel.WarehouseId > 0)
{
where += " and " + nameof(RB_Warehouseout_Inventory_Extend.WarehouseId) + $" ={dmodel.WarehouseId}";
}
if (dmodel.OrderId > 0)
{
where += " and " + nameof(RB_Warehouseout_Inventory_Extend.OrderId) + $" ={dmodel.OrderId}";
}
if (dmodel.OrderGoodsId > 0)
{
where += " and " + nameof(RB_Warehouseout_Inventory_Extend.OrderGoodsId) + $" ={dmodel.OrderGoodsId}";
}
if (dmodel.StockOutId > 0)
{
where += " and " + nameof(RB_Warehouseout_Inventory_Extend.StockOutId) + $" ={dmodel.StockOutId}";
}
if (dmodel.MaterialId > 0)
{
where += " and " + nameof(RB_Warehouseout_Inventory_Extend.MaterialId) + $" ={dmodel.MaterialId}";
}
if (dmodel.FinanceId > 0)
{
where += " and " + nameof(RB_Warehouseout_Inventory_Extend.FinanceId) + $" ={dmodel.FinanceId}";
}
string sql = $@" select * from RB_Warehouseout_Inventory {where} order by Id desc";
return Get<RB_Warehouseout_Inventory_Extend>(sql).ToList();
}
}
}
......@@ -125,7 +125,8 @@ namespace Mall.WebApi.Controllers.MallBase
y.MaterialModel.GoodsCategoryList,
y.MaterialModel.GoodsId,
y.MaterialModel.SpecificationKey,
y.MaterialModel.ImageList
y.MaterialModel.ImageList,
y.MaterialModel.Barcode
}
}),
model.FinanceId
......@@ -408,6 +409,7 @@ namespace Mall.WebApi.Controllers.MallBase
x.WarehouseName,
x.Number,
StockOutDate = x.StockOutDate.HasValue ? x.StockOutDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
StockInDate = x.StockInDate.HasValue ? x.StockInDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
x.InventoryNum
});
return ApiResult.Success("", pagelist);
......@@ -420,11 +422,11 @@ namespace Mall.WebApi.Controllers.MallBase
[HttpPost]
public ApiResult SetGoodsAgainInventory()
{
var parms = RequestParm;
List<RB_WarehouseOut_GoodsDetail_Extend> demodel = JsonConvert.DeserializeObject<List<RB_WarehouseOut_GoodsDetail_Extend>>(parms.msg.ToString());
if (parms.ERPEmpId <= 0)
var requestParm = RequestParm;
List<RB_WarehouseOut_GoodsDetail_Extend> demodel = JsonConvert.DeserializeObject<List<RB_WarehouseOut_GoodsDetail_Extend>>(requestParm.msg.ToString());
if (requestParm.ERPEmpId <= 0)
{
return ApiResult.ParamIsNull("请传递参数");
return ApiResult.ParamIsNull("非资产绑定账户,无法操作");
}
if (demodel == null || demodel.Count() == 0) {
return ApiResult.ParamIsNull("请传递数据");
......@@ -443,13 +445,35 @@ namespace Mall.WebApi.Controllers.MallBase
if (item.MaterialId <= 0) {
return ApiResult.ParamIsNull("请传递物料id");
}
if (item.WarehouseId <= 0) {
return ApiResult.ParamIsNull("请传递仓库id");
}
if (item.InventoryNum <= 0) {
return ApiResult.ParamIsNull("请传递入库数量");
}
}
if (string.IsNullOrEmpty(item.GoodsName))
{
return ApiResult.ParamIsNull("请传递商品名称");
}
if (string.IsNullOrEmpty(item.Specification))
{
return ApiResult.ParamIsNull("请传递商品规格");
}
if (string.IsNullOrEmpty(item.OrderNo))
{
return ApiResult.ParamIsNull("请传递订单号");
}
}
return ApiResult.Success();
string msg = propertyModule.SetGoodsAgainInventory(demodel, requestParm.ERPEmpId, requestParm.ERPBranchId, requestParm.ERPGroupId, requestParm.TenantId, requestParm.MallBaseId, requestParm.EmpId);
if (msg == "")
{
return ApiResult.Success();
}
else {
return ApiResult.Failed(msg);
}
}
#endregion
......@@ -490,12 +514,40 @@ namespace Mall.WebApi.Controllers.MallBase
x.InventoryNum,
x.GoodsSpecificationList,
x.GoodsCategoryList,
//UpdateBy = CacheManager.User.UserReidsCache.GetEmployee(x.UpdateBy)?.EmName ?? "",
x.Barcode,
UpdateDate = x.UpdateDate.Value.ToString("yyyy-MM-dd")
});
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 设置物料条形码
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetMaterialBarcode() {
var requestParm = RequestParm;
if (requestParm.ERPEmpId <= 0)
{
return ApiResult.ParamIsNull("请传递参数");
}
JObject parms = JObject.Parse(requestParm.msg.ToString());
int MaterialId = parms.GetInt("MaterialId", 0);
string Barcode = parms.GetStringValue("Barcode");
if (MaterialId <= 0) {
return ApiResult.ParamIsNull();
}
bool flag = propertyModule.SetMaterialBarcode(MaterialId, Barcode);
if (flag)
{
return ApiResult.Success();
}
else {
return ApiResult.Failed();
}
}
/// <summary>
/// 同步商品信息至资产耗材
/// </summary>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment