Commit ed60c2a7 authored by liudong1993's avatar liudong1993

重新入库

parent 20d25d83
...@@ -42,7 +42,7 @@ namespace Mall.Model.Entity.Property ...@@ -42,7 +42,7 @@ namespace Mall.Model.Entity.Property
set; set;
} }
/// <summary> /// <summary>
/// 来源类型 1仓库操作 2商品操作 3 采购,4集团授权,5用户授权,6-出库 /// 来源类型 1仓库操作 2商品操作 3 采购,4集团授权,5用户授权,6-出库, 7重新入库
/// </summary> /// </summary>
public int? Type 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 ...@@ -38,5 +38,10 @@ namespace Mall.Model.Extend.Property
/// 흙욋鑒좆 /// 흙욋鑒좆
/// </summary> /// </summary>
public int InStockNum { get; set; } 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 ...@@ -15,6 +15,11 @@ namespace Mall.Model.Extend.Property
[DB(ConnectionName = "PropertyConnection")] [DB(ConnectionName = "PropertyConnection")]
public class RB_WarehouseOut_GoodsDetail_Extend : RB_WarehouseOut_GoodsDetail public class RB_WarehouseOut_GoodsDetail_Extend : RB_WarehouseOut_GoodsDetail
{ {
/// <summary>
/// 出库明细ids
/// </summary>
public string WarehouseOutIds { get; set; }
/// <summary> /// <summary>
/// 订单号 /// 订单号
/// </summary> /// </summary>
...@@ -40,6 +45,11 @@ namespace Mall.Model.Extend.Property ...@@ -40,6 +45,11 @@ namespace Mall.Model.Extend.Property
/// </summary> /// </summary>
public DateTime? StockOutDate { get; set; } public DateTime? StockOutDate { get; set; }
/// <summary>
/// 重新入库时间
/// </summary>
public DateTime? StockInDate { get; set; }
/// <summary> /// <summary>
/// 重新入库数量 /// 重新入库数量
/// </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; }
}
}
This diff is collapsed.
...@@ -60,7 +60,7 @@ namespace Mall.Repository.Property ...@@ -60,7 +60,7 @@ namespace Mall.Repository.Property
/// </summary> /// </summary>
/// <param name="query">查询条件</param> /// <param name="query">查询条件</param>
/// <returns></returns> /// <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(); StringBuilder builder = new StringBuilder();
builder.Append($" select * from {TableName} as a where a.Status=0 "); builder.Append($" select * from {TableName} as a where a.Status=0 ");
...@@ -82,6 +82,10 @@ namespace Mall.Repository.Property ...@@ -82,6 +82,10 @@ namespace Mall.Repository.Property
{ {
builder.Append($" AND a.{nameof(RB_WarehouseOut_GoodsDetail.ApplyId)}={query.ApplyId}"); 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(); return Get<RB_WarehouseOut_GoodsDetail>(builder.ToString()).ToList();
} }
...@@ -97,7 +101,7 @@ namespace Mall.Repository.Property ...@@ -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) public List<RB_WarehouseOut_GoodsDetail_Extend> GetPageList_V2(int pageIndex, int pageSize, out long rowCount, RB_WarehouseOut_GoodsDetail_Extend query)
{ {
StringBuilder builder = new StringBuilder(); 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 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 ,gd.Specification,gd.CostMoney,gd.ProductCode,gd.WarehouseId,s.StockOutDate,w.`Name` as WarehouseName,COUNT(0) AS Number
FROM rb_warehouseout_goodsdetail gd FROM rb_warehouseout_goodsdetail gd
...@@ -110,6 +114,10 @@ WHERE gd.`Status`=0 "); ...@@ -110,6 +114,10 @@ WHERE gd.`Status`=0 ");
{ {
builder.Append($" AND gd.{nameof(RB_WarehouseOut_GoodsDetail.ID)}={query.ID}"); 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) if (query.TenantId > 0)
{ {
builder.Append($" AND gd.{nameof(RB_WarehouseOut_GoodsDetail.TenantId)}={query.TenantId}"); 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 ...@@ -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"); builder.Append(" ORDER BY a.StockOutDate DESC");
return GetPage<RB_WarehouseOut_GoodsDetail_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList(); 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 ...@@ -125,7 +125,8 @@ namespace Mall.WebApi.Controllers.MallBase
y.MaterialModel.GoodsCategoryList, y.MaterialModel.GoodsCategoryList,
y.MaterialModel.GoodsId, y.MaterialModel.GoodsId,
y.MaterialModel.SpecificationKey, y.MaterialModel.SpecificationKey,
y.MaterialModel.ImageList y.MaterialModel.ImageList,
y.MaterialModel.Barcode
} }
}), }),
model.FinanceId model.FinanceId
...@@ -408,6 +409,7 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -408,6 +409,7 @@ namespace Mall.WebApi.Controllers.MallBase
x.WarehouseName, x.WarehouseName,
x.Number, x.Number,
StockOutDate = x.StockOutDate.HasValue ? x.StockOutDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", 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.InventoryNum
}); });
return ApiResult.Success("", pagelist); return ApiResult.Success("", pagelist);
...@@ -420,11 +422,11 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -420,11 +422,11 @@ namespace Mall.WebApi.Controllers.MallBase
[HttpPost] [HttpPost]
public ApiResult SetGoodsAgainInventory() public ApiResult SetGoodsAgainInventory()
{ {
var parms = RequestParm; var requestParm = RequestParm;
List<RB_WarehouseOut_GoodsDetail_Extend> demodel = JsonConvert.DeserializeObject<List<RB_WarehouseOut_GoodsDetail_Extend>>(parms.msg.ToString()); List<RB_WarehouseOut_GoodsDetail_Extend> demodel = JsonConvert.DeserializeObject<List<RB_WarehouseOut_GoodsDetail_Extend>>(requestParm.msg.ToString());
if (parms.ERPEmpId <= 0) if (requestParm.ERPEmpId <= 0)
{ {
return ApiResult.ParamIsNull("请传递参数"); return ApiResult.ParamIsNull("非资产绑定账户,无法操作");
} }
if (demodel == null || demodel.Count() == 0) { if (demodel == null || demodel.Count() == 0) {
return ApiResult.ParamIsNull("请传递数据"); return ApiResult.ParamIsNull("请传递数据");
...@@ -443,14 +445,36 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -443,14 +445,36 @@ namespace Mall.WebApi.Controllers.MallBase
if (item.MaterialId <= 0) { if (item.MaterialId <= 0) {
return ApiResult.ParamIsNull("请传递物料id"); return ApiResult.ParamIsNull("请传递物料id");
} }
if (item.WarehouseId <= 0) {
return ApiResult.ParamIsNull("请传递仓库id");
}
if (item.InventoryNum <= 0) { if (item.InventoryNum <= 0) {
return ApiResult.ParamIsNull("请传递入库数量"); 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("请传递订单号");
} }
}
string msg = propertyModule.SetGoodsAgainInventory(demodel, requestParm.ERPEmpId, requestParm.ERPBranchId, requestParm.ERPGroupId, requestParm.TenantId, requestParm.MallBaseId, requestParm.EmpId);
if (msg == "")
{
return ApiResult.Success(); return ApiResult.Success();
} }
else {
return ApiResult.Failed(msg);
}
}
#endregion #endregion
...@@ -490,12 +514,40 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -490,12 +514,40 @@ namespace Mall.WebApi.Controllers.MallBase
x.InventoryNum, x.InventoryNum,
x.GoodsSpecificationList, x.GoodsSpecificationList,
x.GoodsCategoryList, x.GoodsCategoryList,
//UpdateBy = CacheManager.User.UserReidsCache.GetEmployee(x.UpdateBy)?.EmName ?? "", x.Barcode,
UpdateDate = x.UpdateDate.Value.ToString("yyyy-MM-dd") UpdateDate = x.UpdateDate.Value.ToString("yyyy-MM-dd")
}); });
return ApiResult.Success("", pagelist); 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>
/// 同步商品信息至资产耗材 /// 同步商品信息至资产耗材
/// </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