Commit 457134a8 authored by liudong1993's avatar liudong1993

电商库存调整

parent 10048f70
......@@ -142,5 +142,10 @@ namespace Property.Model.Entity.Mall
/// 成本价
/// </summary>
public decimal? CostMoney { get; set; }
/// <summary>
/// 商品有效期id
/// </summary>
public int ValidityId { get; set; }
}
}
using REBORN.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
namespace Property.Model.Entity.Mall
{
/// <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>
/// 出库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; }
}
}
using System;
using REBORN.Common.AOP;
using REBORN.Common.Plugin;
namespace Property.Model.Entity
{
/// <summary>
/// 耗材有效期实体
/// </summary>
[Serializable]
[DB(ConnectionName = "PropertyConnection")]
public class RB_Supplies_StockInValidity
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 入库单id
/// </summary>
public int StockinId { get; set; }
/// <summary>
/// 入库单明细id
/// </summary>
public int StockinDetailId { get; set; }
/// <summary>
/// 有效日期
/// </summary>
public DateTime ExpirationDate { get; set; }
/// <summary>
/// 是否出库 1是 2否
/// </summary>
public int IsOut { get; set; }
/// <summary>
/// 出库单id
/// </summary>
public int StockoutId { get; set; }
/// <summary>
/// 状态 0正常 1删除
/// </summary>
public int Status { 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; }
}
}
\ No newline at end of file
......@@ -22,5 +22,35 @@ namespace Property.Model.Extend.Mall
/// 财务单据id
/// </summary>
public int FinanceId { get; set; }
/// <summary>
/// 入库单号
/// </summary>
public string StockInNum { get; set; }
/// <summary>
/// 仓库名称
/// </summary>
public string WarehouseName { get; set; }
/// <summary>
/// 出库数量
/// </summary>
public int Number { get; set; }
/// <summary>
/// 出库时间
/// </summary>
public DateTime? StockOutDate { get; set; }
/// <summary>
/// 重新入库时间
/// </summary>
public DateTime? StockInDate { get; set; }
/// <summary>
/// 重新入库数量
/// </summary>
public int InventoryNum { get; set; }
}
}
using Property.Model.Entity.Mall;
using REBORN.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
namespace Property.Model.Extend.Mall
{
/// <summary>
/// 商品出库重新入库扩展实体
/// </summary>
[Serializable]
[DB(ConnectionName = "PropertyConnection")]
public class RB_Warehouseout_Inventory_Extend : RB_Warehouseout_Inventory
{
/// <summary>
/// 订单号
/// </summary>
public string OrderNo { get; set; }
/// <summary>
/// 仓库名称
/// </summary>
public string WarehouseName { get; set; }
}
}
......@@ -21,6 +21,16 @@ namespace Property.Model.Extend
/// </summary>
public string SuppliesIdStr { get; set; }
/// <summary>
/// 过期天数
/// </summary>
public int ExpiresDay { get; set; }
/// <summary>
/// 近期到期数量
/// </summary>
public int RecentExpiresNum { get; set; }
/// <summary>
/// 仓库
/// </summary>
......
......@@ -27,6 +27,26 @@ namespace Property.Model.Extend
/// </summary>
public string CategoryName { get; set; }
/// <summary>
/// 仓库名称
/// </summary>
public string WarehouseName { get; set; }
/// <summary>
/// 入库编号
/// </summary>
public string StockInNum { get; set; }
/// <summary>
/// 入库时间
/// </summary>
public string StockInDate { get; set; }
/// <summary>
/// 过期时间
/// </summary>
public string ExpirationDate { get; set; }
/// <summary>
/// 品牌
/// </summary>
......
using System;
using System.Collections.Generic;
using Property.Model.Entity;
using REBORN.Common.AOP;
namespace Property.Model.Extend
{
/// <summary>
/// 物料有效期扩展实体
/// </summary>
[Serializable]
[DB(ConnectionName = "PropertyConnection")]
public class RB_Supplies_StockInValidity_Extend : RB_Supplies_StockInValidity
{
/// <summary>
/// 入库ids
/// </summary>
public string StockInIdStr { get; set; }
}
}
\ No newline at end of file
......@@ -967,7 +967,12 @@ namespace Property.Module.FixedAssets
var wlist = supplies_WareHouseRepository.GetList(new RB_Supplies_WareHouse_Extend() { RB_Group_Id = demodel.RB_Group_Id, WareHouseIdStr = wstr });
//查询耗材
var mlist = supplies_MaterialRepository.GetList(new RB_Supplies_Material_Extend() { RB_Group_Id = demodel.RB_Group_Id, SuppliesIdStr = sstr }, true);
List<RB_Supplies_StockInDetail_Extend> expList = new List<RB_Supplies_StockInDetail_Extend>();
if (demodel.ExpiresDay > 0) {
string expirationDate = DateTime.Now.AddDays(demodel.ExpiresDay).ToString("yyyy-MM-dd");
//查询即将过期的商品 统计其数量
expList = supplies_StockInDetailRepository.GetRecentExpiresSuppliesNumList(demodel.RB_Group_Id ?? 0, sstr, expirationDate);
}
foreach (var item in list)
{
item.WModel = wlist.Where(x => x.Id == item.WarehouseId).FirstOrDefault();
......@@ -990,6 +995,8 @@ namespace Property.Module.FixedAssets
{
item.SModel.GoodsCategoryList = JsonConvert.DeserializeObject<List<string>>(item.SModel.GoodsCategoryName);
}
//近期到期数量
item.RecentExpiresNum = expList.Where(x => x.SuppliesId == item.SuppliesId).FirstOrDefault()?.Number ?? 0;
}
}
return list;
......@@ -1976,7 +1983,7 @@ namespace Property.Module.FixedAssets
{
code = code.Replace("A", "-");
string[] codeArr = code.Split('-');
if (codeArr.Length != 5)
if (codeArr.Length != 5 && codeArr.Length != 6)
{
return new
{
......@@ -1996,6 +2003,10 @@ namespace Property.Module.FixedAssets
int ProcurementId = Convert.ToInt32(codeArr[2]);
int SuppliesId = Convert.ToInt32(codeArr[3]);
int StockInId = Convert.ToInt32(codeArr[4]);
int ValidityId = 0;//单个商品id
if (codeArr.Length == 6) {
ValidityId = Convert.ToInt32(codeArr[5]);
}
if (WarehouseId != wareHouseId)
{
return new
......@@ -2081,7 +2092,8 @@ namespace Property.Module.FixedAssets
StockInId,
stockInModel.StockInNum,
StockInDate = stockInModel.StockInDate.HasValue ? stockInModel.StockInDate.Value.ToString("yyyy-MM-dd") : "",
detModel.UnitPrice
detModel.UnitPrice,
ValidityId
}
};
}
......@@ -3082,6 +3094,22 @@ namespace Property.Module.FixedAssets
#endregion
#region 物料有效期
/// <summary>
/// 获取物料有效期分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="demodel"></param>
/// <param name="count"></param>
/// <returns></returns>
public List<RB_Supplies_StockInDetail_Extend> GetSuppliesValidityPageList(int pageIndex, int pageSize, RB_Supplies_StockIn_Extend demodel, out long count)
{
return supplies_StockInDetailRepository.GetSuppliesValidityPageList(pageIndex, pageSize, out count, demodel);
}
#endregion
#region 库存操作记录
/// <summary>
......
......@@ -76,6 +76,11 @@ namespace Property.Module.Mall
/// 出库单明细
/// </summary>
private readonly RB_Supplies_StockOutDetailRepository supplies_StockOutDetailRepository = new RB_Supplies_StockOutDetailRepository();
/// <summary>
/// 物料有效期
/// </summary>
private readonly RB_Supplies_StockInValidityRepository supplies_StockInValidityRepository = new RB_Supplies_StockInValidityRepository();
/// <summary>
/// 出库申请列表
......@@ -440,6 +445,24 @@ namespace Property.Module.Mall
//新增申请单的财务单据
warehouseOutFinanceRepository.Insert(applyModel.WarehouseOutFinanceModel, trans);
warehouseOutGoodsDetailRepository.InsertBatch(applyModel.WarehouseOutGoodsDetailList, trans);
#region 设置商品有效期
foreach (var qitem in applyModel.WarehouseOutGoodsDetailList.Where(x => x.ValidityId > 0))
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Supplies_StockInValidity_Extend.IsOut),1},
{ nameof(RB_Supplies_StockInValidity_Extend.StockoutId),Id}
};
List<WhereHelper> whereHelpers = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Supplies_StockInValidity_Extend.Id),
FiledValue= qitem.ValidityId,
OperatorEnum=OperatorEnum.Equal
}
};
supplies_StockInValidityRepository.Update(keyValues, whereHelpers);
}
#endregion
//写入电商财务记录
record.FinanceId = frid;
......@@ -621,5 +644,23 @@ namespace Property.Module.Mall
IMService.PushMessage(account.RefMapperToList<Property.Common.Models.EmAccoutIdModel>(), empId, content, title, type, SystemPushLogTypeEnum.Web, webExtras);
}
#region 重新入库
/// <summary>
/// 获取出库明细分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_WarehouseOut_GoodsDetail_Extend> GetGoodsOutDetailPageList(int pageIndex, int pageSize, out long count, RB_WarehouseOut_GoodsDetail_Extend demodel)
{
var list = warehouseOutGoodsDetailRepository.GetWarehouseOutAgainStockInPageList(pageIndex, pageSize, out count, demodel);
return list;
}
#endregion
}
}
......@@ -123,5 +123,56 @@ LEFT JOIN rb_warehouseout_finance as c on gd.ApplyId=c.ApplyId
WHERE gd.TenantId =1 and gd.MallBaseId =1 AND gd.`Status` =0 AND g.`Status`=0 AND g.IsOut =1 AND gd.StockOutId in ({stockOutIds})";
return Get<RB_WarehouseOut_GoodsDetail_Extend>(sql).ToList();
}
/// <summary>
/// 获取出库记录分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_WarehouseOut_GoodsDetail_Extend> GetWarehouseOutAgainStockInPageList(int pageIndex, int pageSize, out long rowCount, RB_WarehouseOut_GoodsDetail_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($@"SELECT i.Id as ID,i.InventoryNum,i.CreateDate as StockInDate,i.OrderNo,i.FinanceId,st.StockInNum,a.* FROM
rb_warehouseout_inventory i
left join rb_supplies_stockin st on i.StockInId = st.Id
left join (
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 (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
on a.StockOutId = i.StockOutId and a.MaterialId = i.MaterialId and a.OrderId = i.OrderId and a.OrderGoodsId = i.OrderGoodsId");
builder.Append(" ORDER BY i.CreateDate DESC");
return GetPage<RB_WarehouseOut_GoodsDetail_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
}
}
using Property.Model.Entity.Mall;
using Property.Model.Extend.Mall;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Property.Repository.Mall
{
public partial class RB_Warehouseout_InventoryRepository : RepositoryBase<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();
}
}
}
using Property.Model.Entity;
using Property.Model.Extend;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
......@@ -38,6 +39,65 @@ left join rb_supplies_material sm on ssd.SuppliesId=sm.Id
left join rb_property_category pc on pc.Id=sm.CategoryId
{where} order by ssd.Id desc";
return Get<RB_Supplies_StockInDetail_Extend>(sql).ToList();
}
}
/// <summary>
/// 获取近期过期的物料列表+数量
/// </summary>
/// <param name="rB_Group_Id"></param>
/// <param name="suppliesIds"></param>
/// <returns></returns>
public List<RB_Supplies_StockInDetail_Extend> GetRecentExpiresSuppliesNumList(int rB_Group_Id, string suppliesIds, string expirationDate)
{
string sql = $@"SELECT sd.SuppliesId,COUNT(0) as Number FROM rb_supplies_stockinvalidity v
INNER JOIN rb_supplies_stockindetail sd on v.StockinDetailId = sd.Id
INNER JOIN rb_supplies_stockin s on sd.StockInId = s.Id
WHERE v.`Status`=0 and v.RB_Group_Id ={rB_Group_Id} AND s.`Status`=0 and s.StockInState =1 and sd.SuppliesId in({suppliesIds}) and v.IsOut =2 and v.ExpirationDate <='{expirationDate} 23:59:59'
GROUP BY sd.SuppliesId";
return Get<RB_Supplies_StockInDetail_Extend>(sql).ToList();
}
/// <summary>
/// 获取耗材有效期分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Supplies_StockInDetail_Extend> GetSuppliesValidityPageList(int pageIndex, int pageSize, out long count, RB_Supplies_StockIn_Extend demodel)
{
string where = "";
if (demodel.RB_Group_Id > 0) {
where += $" and v.RB_Group_Id ={demodel.RB_Group_Id}";
}
if (demodel.WarehouseId > 0) {
where += $" and s.WarehouseId ={demodel.WarehouseId}";
}
if (!string.IsNullOrEmpty(demodel.StockInNum)) {
where += $" and s.StockInNum like '%{demodel.StockInNum}%'";
}
if (!string.IsNullOrEmpty(demodel.SuppliesName)) {
where += $" and w.`Name` like '%{demodel.SuppliesName}%'";
}
if (!string.IsNullOrEmpty(demodel.SuppliesNum)) {
where += $" and m.SuppliesNum like '%{demodel.SuppliesNum}%'";
}
if (!string.IsNullOrEmpty(demodel.StartTime)) {
where += $" and v.ExpirationDate >='{demodel.StartTime}'";
}
if (!string.IsNullOrEmpty(demodel.EndTime)){
where += $" and v.ExpirationDate <='{demodel.EndTime}'";
}
string sql = $@"SELECT v.Id,DATE_FORMAT(v.ExpirationDate,'%Y-%m-%d') as ExpirationDate,sd.StockInId,s.StockInNum,DATE_FORMAT(s.StockInDate,'%Y-%m-%d') as StockInDate,w.`Name` as WarehouseName,sd.SuppliesId,m.SuppliesNum,m.`Name` as SuppliesName,m.SpecificationName,sd.UnitPrice FROM rb_supplies_stockinvalidity v
INNER JOIN rb_supplies_stockindetail sd on v.StockinDetailId = sd.Id
INNER JOIN rb_supplies_stockin s on sd.StockInId = s.Id
INNER JOIN rb_supplies_material m on sd.SuppliesId = m.Id
LEFT JOIN rb_supplies_warehouse w on s.WarehouseId = w.Id
WHERE v.`Status`=0 AND s.`Status`=0 and s.StockInState =1 and v.IsOut =2 {where}
";
return GetPage<RB_Supplies_StockInDetail_Extend>(pageIndex, pageSize, out count, sql).ToList();
}
}
}
using Property.Model.Entity;
using Property.Model.Extend;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Property.Repository
{
/// <summary>
/// 物料有效期仓储类
/// </summary>
public partial class RB_Supplies_StockInValidityRepository : RepositoryBase<RB_Supplies_StockInValidity>
{
/// <summary>
/// 获取分页数据
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="dmodel"></param>
/// <param name="count"></param>
/// <returns></returns>
public List<RB_Supplies_StockInValidity_Extend> GetPageList(int pageIndex, int pageSize, RB_Supplies_StockInValidity_Extend dmodel, out long count)
{
string where = " where 1=1 ";
where += string.Format(" AND {0}={1}", nameof(RB_Supplies_StockInValidity_Extend.Status), 0);
where += $@" and RB_Group_Id={dmodel.RB_Group_Id}";
if (dmodel.StockinId > 0)
{
where += " and " + nameof(RB_Supplies_StockInValidity_Extend.StockinId) + $" ={dmodel.StockinId}";
}
if (dmodel.StockinDetailId > 0)
{
where += " and " + nameof(RB_Supplies_StockInValidity_Extend.StockinDetailId) + $" ={dmodel.StockinDetailId}";
}
if (dmodel.IsOut > 0)
{
where += " and " + nameof(RB_Supplies_StockInValidity_Extend.IsOut) + $" ={dmodel.IsOut}";
}
if (dmodel.StockoutId > 0)
{
where += " and " + nameof(RB_Supplies_StockInValidity_Extend.StockoutId) + $" ={dmodel.StockoutId}";
}
string sql = $@" select * from RB_Supplies_StockInValidity {where} order by Id desc";
return GetPage<RB_Supplies_StockInValidity_Extend>(pageIndex, pageSize, out count, sql).ToList();
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Supplies_StockInValidity_Extend> GetList(RB_Supplies_StockInValidity_Extend dmodel)
{
string where = " where 1=1 ";
where += string.Format(" AND {0}={1}", nameof(RB_Supplies_StockInValidity_Extend.Status), 0);
where += $@" and RB_Group_Id={dmodel.RB_Group_Id}";
if (dmodel.StockinId > 0)
{
where += " and " + nameof(RB_Supplies_StockInValidity_Extend.StockinId) + $" ={dmodel.StockinId}";
}
if (!string.IsNullOrEmpty(dmodel.StockInIdStr))
{
where += " and " + nameof(RB_Supplies_StockInValidity_Extend.StockinId) + $" in({dmodel.StockInIdStr})";
}
if (dmodel.StockinDetailId > 0)
{
where += " and " + nameof(RB_Supplies_StockInValidity_Extend.StockinDetailId) + $" ={dmodel.StockinDetailId}";
}
if (dmodel.IsOut > 0)
{
where += " and " + nameof(RB_Supplies_StockInValidity_Extend.IsOut) + $" ={dmodel.IsOut}";
}
if (dmodel.StockoutId > 0)
{
where += " and " + nameof(RB_Supplies_StockInValidity_Extend.StockoutId) + $" ={dmodel.StockoutId}";
}
string sql = $@" select * from RB_Supplies_StockInValidity {where} order by Id desc";
return Get<RB_Supplies_StockInValidity_Extend>(sql).ToList();
}
}
}
......@@ -545,5 +545,49 @@ namespace Property.WebApi.Controllers.Mall
}
#endregion
#region 重新入库
/// <summary>
/// 获取出库记录表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetGoodsOutDetailPageList()
{
var parms = GetRequestParm();
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(parms.msg.ToString());
RB_WarehouseOut_GoodsDetail_Extend demodel = JsonConvert.DeserializeObject<RB_WarehouseOut_GoodsDetail_Extend>(parms.msg.ToString());
demodel.TenantId = parms.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = warehouseOutModule.GetGoodsOutDetailPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.ID,
x.OrderId,
x.OrderGoodsId,
x.GoodsId,
x.StockOutId,
x.MaterialId,
x.GoodsName,
x.Specification,
x.OrderNo,
x.CostMoney,
x.ProductCode,
x.WarehouseId,
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,
x.FinanceId,
x.StockInNum
});
return ApiResult.Success("", pagelist);
}
#endregion
}
}
\ No newline at end of file
......@@ -991,7 +991,8 @@ namespace Property.WebApi.Controllers.User
x.SModel.ReservedStock,
x.SModel.GoodsSpecificationList,
x.SModel.GoodsCategoryList,
WareHouseName = x.WModel.Name
WareHouseName = x.WModel.Name,
x.RecentExpiresNum
});
return ApiResult.Success("", pagelist);
}
......@@ -1021,6 +1022,7 @@ namespace Property.WebApi.Controllers.User
new ExcelColumn(value:"预留库存"){CellWidth=15,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"单价"){CellWidth=15,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"库存数量"){CellWidth=15,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"近期到期"){CellWidth=15,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
},
};
slist.Add(header);
......@@ -1048,6 +1050,7 @@ namespace Property.WebApi.Controllers.User
new ExcelColumn(value:(item.SModel.ReservedStock??0).ToString()){ },
new ExcelColumn(value:(item.Number == 0 ? 0 : Math.Round((item.Money ?? 0) / (item.Number ?? 1), 2, MidpointRounding.AwayFromZero)).ToString()){ },
new ExcelColumn(value:(item.Number??0).ToString()){ },
new ExcelColumn(value:(item.RecentExpiresNum.ToString()).ToString()){ },
}
};
slist.Add(datarow);
......@@ -1226,6 +1229,38 @@ namespace Property.WebApi.Controllers.User
}
}
/// <summary>
/// 获取物料有效期查询
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetSuppliesValidityPageList() {
var requestParm = GetRequestParm();
UserInfo userInfo = CacheManager.User.UserReidsCache.GetUserLoginInfo(requestParm.uid);
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(requestParm.msg.ToString());
RB_Supplies_StockIn_Extend demodel = JsonConvert.DeserializeObject<RB_Supplies_StockIn_Extend>(requestParm.msg.ToString());
demodel.RB_Group_Id = userInfo.RB_Group_id;
var list = suppliesModule.GetSuppliesValidityPageList(pagelist.pageIndex, pagelist.pageSize, demodel, out long count);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.Id,
x.ExpirationDate,
x.StockInId,
x.StockInNum,
x.StockInDate,
x.UnitPrice,
x.SuppliesName,
x.SuppliesId,
x.SuppliesNum,
x.SpecificationName,
x.WarehouseName,
IsExpire = Convert.ToDateTime(x.ExpirationDate + " 23:59:59") < DateTime.Now ? 1 : 0
});
return ApiResult.Success("", pagelist);
}
#endregion
#region 耗材申请日期
......
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