From 3a9b5dcd5dd6ed033f80f1696b07135635b3e9f8 Mon Sep 17 00:00:00 2001
From: Demo <Demo@DESKTOP-CPA90BF>
Date: 星期三, 17 七月 2024 15:35:07 +0800
Subject: [PATCH] Merge branch 'master' into csc
---
Wms/WMS.BLL/DataServer/StockInfoServer.cs | 622 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 622 insertions(+), 0 deletions(-)
diff --git a/Wms/WMS.BLL/DataServer/StockInfoServer.cs b/Wms/WMS.BLL/DataServer/StockInfoServer.cs
new file mode 100644
index 0000000..29ce25d
--- /dev/null
+++ b/Wms/WMS.BLL/DataServer/StockInfoServer.cs
@@ -0,0 +1,622 @@
+锘縰sing Dm;
+using Microsoft.IdentityModel.Tokens;
+using Model.ModelVm.DataVm;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using WMS.DAL;
+using WMS.Entity.Context;
+using WMS.Entity.DataEntity;
+using WMS.Entity.SysEntity;
+using WMS.IBLL.IDataServer;
+
+namespace WMS.BLL.DataServer
+{
+ public class StockInfoServer : DbHelper<DataStockInfo>, IStockInfoServer
+ {
+ private static readonly SqlSugarScope Db = DataContext.Db;
+
+ public StockInfoServer() : base(Db)
+ {
+ }
+
+ /// <summary>
+ /// 姣忔棩鍑屾櫒鑷姩鎵ц褰撳墠鏂规硶
+ /// 娣诲姞搴撳瓨鎬昏〃鍒板簱瀛樹俊鎭�
+ /// </summary>
+ /// <returns></returns>
+ public string ByDayInsertStock()
+ {
+ try
+ {
+
+ string arr = "";
+ //鑾峰彇浠婃棩鏃堕棿涓庢槰鏃ユ椂闂�
+ var data1 = DateTime.Now.ToString("yyyy-MM-dd");
+ var data2 = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
+ //鑾峰彇褰撳墠搴撳瓨鎬昏〃淇℃伅
+ var stock = Db.Queryable<DataStock>().Where(a => a.IsDel == "0").ToList();
+ //浠ュ強鍓嶄竴澶╃殑搴撳瓨淇℃伅
+ var info = Db.Queryable<DataStockInfo>().Where(a => a.IsDel == "0" && a.CreateTime.Year == DateTime.Parse(data2).Year && a.CreateTime.Month == DateTime.Parse(data2).Month && a.CreateTime.Day == DateTime.Parse(data2).Day).ToList();
+ //鑾峰彇鐗╂枡淇℃伅
+ var sku = Db.Queryable<SysMaterials>().Where(a => a.IsDel == "0").ToList();
+ //鑾峰彇鍗曚綅淇℃伅
+ var unit = Db.Queryable<SysUnit>().Where(a => a.IsDel == "0").ToList();
+ Db.BeginTran();
+ List<DataStockInfo> list = new List<DataStockInfo>();
+ //楠岃瘉鏄惁瀛樺湪鍓嶄竴澶╃殑搴撳瓨淇℃伅
+ if (info.Count <= 0)
+ {
+ //鏍规嵁搴撳瓨鎬昏〃娣诲姞瀵瑰簲搴撳瓨淇℃伅
+ foreach (var item in stock)
+ {
+
+ //鑾峰彇瀵瑰簲鍗曚綅淇℃伅
+ var unitNo = sku.Where(a => a.IsDel == "0" && a.SkuNo == item.SkuNo).Select(a => a.UnitNo).ToString();
+ var unitName = unit.Where(a => a.IsDel == "0" && a.UnitNo == unitNo).Select(a => a.UnitName).ToString();
+
+ var Folded = item.Standard.Split("*");
+ int count = 0;
+ var sum = 0m;
+ //鑾峰彇瀵瑰簲鎶樹欢鏁伴噺
+ foreach (var item1 in Folded)
+ {
+ if (count == 0)
+ {
+ if (item1.Contains(unitName))
+ {
+ count = 1;
+ sum = Convert.ToDecimal(item1);
+ }
+ }
+ if (count == 1)
+ {
+ sum *= Convert.ToDecimal(item1);
+ }
+ }
+ DataStockInfo data = new DataStockInfo()
+ {
+ SkuNo = item.SkuNo,
+ SkuName = item.SkuName,
+ Standard = item.Standard,
+ Unit = unitName,
+ LastMonthQty = 0, //涓婃湀缁撳瓨-搴撳瓨鏁伴噺
+ LastMonthFoldedQty = 0, //涓婃湀缁撳瓨-鎶樹欢鏁伴噺
+ ArrDayQty = item.Qty, //鍏ュ簱鏁伴噺-褰撴棩鏁伴噺
+ ArrDayFoldedQty = item.Qty / sum, //鍏ュ簱鏁伴噺-褰撴棩鎶樹欢鏁伴噺
+ ArrMonthQty = item.Qty, //鍏ュ簱鏁伴噺-褰撴湀鏁伴噺
+ ArrMonthFoldedQty = item.Qty / sum, //鍏ュ簱鏁伴噺-褰撴湀鎶樹欢鏁伴噺
+ ArrYearQty = item.Qty, //鍏ュ簱鏁伴噺-鏈勾鏁伴噺
+ ArrYearFoldedQty = item.Qty / sum, //鍏ュ簱鏁伴噺-鏈勾鎶樹欢鏁伴噺
+ SoDayQty = 0, //鍑哄簱鏁伴噺-褰撴棩鏁伴噺
+ SoDayFoldedQty = 0, //鍑哄簱鏁伴噺-褰撴棩鎶樹欢鏁伴噺
+ SoMonthQty = 0, //鍑哄簱鏁伴噺-褰撴湀鏁伴噺
+ SoMonthFoldedQty = 0, //鍑哄簱鏁伴噺-褰撴湀鎶樹欢鏁伴噺
+ SoYearQty = 0, //鍑哄簱鏁伴噺-鏈勾鏁伴噺
+ SoYearFoldedQty = 0, //鍑哄簱鏁伴噺-鏈勾鎶樹欢鏁伴噺
+ MonthQty = item.Qty, //褰撴湀鏁伴噺-绱鏁伴噺
+ MonthFoldedQty = item.Qty / sum, //褰撴湀鏁伴噺-绱鎶樹欢鏁伴噺
+ DepositQty = 0,
+ Qty = item.Qty,
+ SecurityQty = sku[0].LowInventory, //鏆傜敤浣庡簱瀛�
+ Situation = item.Qty < sku[0].LowInventory ? "1" : "0",
+ IsDel = "0",
+ CreateTime = DateTime.Now,
+ CreateUser = 0,
+ UpdateTime = null,
+ UpdateUser = null,
+
+ };
+
+
+ list.Add(data);
+ }
+ }
+ else
+ {
+ //楠岃瘉浠婃棩鏄竴鍙疯繕鏄叾瀹�
+ if (DateTime.Parse(data2).Day == 1)
+ {
+ //楠岃瘉鏈堜唤鏄惁涓�1鏈�
+ if (DateTime.Parse(data2).Month == 1)
+ {
+ //1鏈�
+ //1鏈堥渶瑕侀噸鏂拌绠楁墍鏈�
+ foreach (var item in info)
+ {
+ var Folded = item.Standard.Split("*");
+ int count = 0;
+ var sum = 0m;
+ //鑾峰彇瀵瑰簲鎶樹欢鏁伴噺
+ foreach (var item1 in Folded)
+ {
+ if (count == 0)
+ {
+ if (item1.Contains(item.Unit))
+ {
+ count = 1;
+ sum = Convert.ToDecimal(item1);
+ }
+ }
+ if (count == 1)
+ {
+ sum *= Convert.ToDecimal(item1);
+ }
+ }
+
+ DataStockInfo data = new DataStockInfo()
+ {
+ SkuNo = item.SkuNo,
+ SkuName = item.SkuName,
+ Standard = item.Standard,
+ Unit = item.Unit,
+
+ LastMonthQty = item.Qty, //涓婃湀缁撳瓨-搴撳瓨鏁伴噺
+ LastMonthFoldedQty = item.Qty / sum, //涓婃湀缁撳瓨-鎶樹欢鏁伴噺
+ ArrDayQty = 0, //鍏ュ簱鏁伴噺-褰撴棩鏁伴噺
+ ArrDayFoldedQty = 0, //鍏ュ簱鏁伴噺-褰撴棩鎶樹欢鏁伴噺
+ ArrMonthQty = 0, //鍏ュ簱鏁伴噺-褰撴湀鏁伴噺
+ ArrMonthFoldedQty = 0, //鍏ュ簱鏁伴噺-褰撴湀鎶樹欢鏁伴噺
+ ArrYearQty = 0, //鍏ュ簱鏁伴噺-鏈勾鏁伴噺
+ ArrYearFoldedQty = 0, //鍏ュ簱鏁伴噺-鏈勾鎶樹欢鏁伴噺
+ SoDayQty = 0, //鍑哄簱鏁伴噺-褰撴棩鏁伴噺
+ SoDayFoldedQty = 0, //鍑哄簱鏁伴噺-褰撴棩鎶樹欢鏁伴噺
+ SoMonthQty = 0, //鍑哄簱鏁伴噺-褰撴湀鏁伴噺
+ SoMonthFoldedQty = 0, //鍑哄簱鏁伴噺-褰撴湀鎶樹欢鏁伴噺
+ SoYearQty = 0, //鍑哄簱鏁伴噺-鏈勾鏁伴噺
+ SoYearFoldedQty = 0, //鍑哄簱鏁伴噺-鏈勾鎶樹欢鏁伴噺
+ MonthQty = 0, //褰撴湀鏁伴噺-绱鏁伴噺
+ MonthFoldedQty = 0, //褰撴湀鏁伴噺-绱鎶樹欢鏁伴噺
+
+ DepositQty = item.DepositQty,
+ Qty = item.Qty,
+ SecurityQty = item.SecurityQty,
+ Situation = item.Qty < item.SecurityQty ? "1" : "0",
+ IsDel = "0",
+ CreateTime = DateTime.Now,
+ CreateUser = 0,
+ UpdateTime = null,
+ UpdateUser = null,
+
+ };
+
+
+ list.Add(data);
+ }
+ }
+ else if (DateTime.Parse(data2).Month != 1)
+ {
+ //1鍙�
+ //1鍙烽渶瑕侀噸鏂拌绠楀綋鏈堜笌涓婃湀銆佸綋鏃�
+ foreach (var item in info)
+ {
+ var Folded = item.Standard.Split("*");
+ int count = 0;
+ var sum = 0m;
+ //鑾峰彇瀵瑰簲鎶樹欢鏁伴噺
+ foreach (var item1 in Folded)
+ {
+ if (count == 0)
+ {
+ if (item1.Contains(item.Unit))
+ {
+ count = 1;
+ sum = Convert.ToDecimal(item1);
+ }
+ }
+ if (count == 1)
+ {
+ sum *= Convert.ToDecimal(item1);
+ }
+ }
+
+ DataStockInfo data = new DataStockInfo()
+ {
+ SkuNo = item.SkuNo,
+ SkuName = item.SkuName,
+ Standard = item.Standard,
+ Unit = item.Unit,
+
+ LastMonthQty = item.Qty, //涓婃湀缁撳瓨-搴撳瓨鏁伴噺
+ LastMonthFoldedQty = item.Qty / sum, //涓婃湀缁撳瓨-鎶樹欢鏁伴噺
+ ArrDayQty = 0, //鍏ュ簱鏁伴噺-褰撴棩鏁伴噺
+ ArrDayFoldedQty = 0, //鍏ュ簱鏁伴噺-褰撴棩鎶樹欢鏁伴噺
+ ArrMonthQty = 0, //鍏ュ簱鏁伴噺-褰撴湀鏁伴噺
+ ArrMonthFoldedQty = 0, //鍏ュ簱鏁伴噺-褰撴湀鎶樹欢鏁伴噺
+ ArrYearQty = item.ArrYearQty, //鍏ュ簱鏁伴噺-鏈勾鏁伴噺
+ ArrYearFoldedQty = item.ArrYearQty / sum, //鍏ュ簱鏁伴噺-鏈勾鎶樹欢鏁伴噺
+ SoDayQty = 0, //鍑哄簱鏁伴噺-褰撴棩鏁伴噺
+ SoDayFoldedQty = 0, //鍑哄簱鏁伴噺-褰撴棩鎶樹欢鏁伴噺
+ SoMonthQty = 0, //鍑哄簱鏁伴噺-褰撴湀鏁伴噺
+ SoMonthFoldedQty = 0, //鍑哄簱鏁伴噺-褰撴湀鎶樹欢鏁伴噺
+ SoYearQty = item.SoYearQty, //鍑哄簱鏁伴噺-鏈勾鏁伴噺
+ SoYearFoldedQty = item.SoYearQty / sum, //鍑哄簱鏁伴噺-鏈勾鎶樹欢鏁伴噺
+ MonthQty = item.Qty, //褰撴湀鏁伴噺-绱鏁伴噺
+ MonthFoldedQty = item.Qty / sum, //褰撴湀鏁伴噺-绱鎶樹欢鏁伴噺
+
+ DepositQty = item.DepositQty,
+ Qty = item.Qty,
+ SecurityQty = item.SecurityQty,
+ Situation = item.Qty < item.SecurityQty ? "1" : "0",
+ IsDel = "0",
+ CreateTime = DateTime.Now,
+ CreateUser = 0,
+ UpdateTime = null,
+ UpdateUser = null,
+
+ };
+
+
+ list.Add(data);
+ }
+ }
+ #region 娉ㄩ噴渚嬪瓙
+ ////1鍙�
+ ////1鍙烽渶瑕侀噸鏂拌绠楀綋鏈堜笌涓婃湀銆佸綋鏃�
+ //foreach (var item in info)
+ //{
+ // DataStockInfo data = new DataStockInfo()
+ // {
+ // SkuNo = item.SkuNo,
+ // SkuName = item.SkuName,
+ // Standard = item.Standard,
+ // Unit = item.Unit,
+ // LastMonthQty = item.Qty,
+ // ArrDayQty = 0,
+ // ArrMonthQty = 0,
+ // ArrYearQty = item.ArrYearQty,
+ // SoDayQty = 0,
+ // SoMonthQty = 0,
+ // SoYearQty = item.SoYearQty,
+ // MonthQty = item.Qty,
+ // DepositQty = item.DepositQty,
+ // Qty = item.Qty,
+ // SecurityQty = item.SecurityQty,
+ // Situation = item.Qty >= item.SecurityQty ? "0" : "1",
+ // IsDel = "0",
+ // CreateTime = DateTime.Now,
+ // CreateUser = 0,
+ // UpdateTime = null,
+ // UpdateUser = null,
+
+ // };
+
+
+ // list.Add(data);
+ //}
+
+ #endregion
+ }
+ else
+ {
+ //鍏跺畠
+ //闇�瑕佽绠楀綋鏃�
+ foreach (var item in info)
+ {
+ var Folded = item.Standard.Split("*");
+ int count = 0;
+ var sum = 0m;
+ //鑾峰彇瀵瑰簲鎶樹欢鏁伴噺
+ foreach (var item1 in Folded)
+ {
+ if (count == 0)
+ {
+ if (item1.Contains(item.Unit))
+ {
+ count = 1;
+ sum = Convert.ToDecimal(item1);
+ }
+ }
+ if (count == 1)
+ {
+ sum *= Convert.ToDecimal(item1);
+ }
+ }
+
+ DataStockInfo data = new DataStockInfo()
+ {
+ SkuNo = item.SkuNo,
+ SkuName = item.SkuName,
+ Standard = item.Standard,
+ Unit = item.Unit,
+
+ LastMonthQty = item.LastMonthQty, //涓婃湀缁撳瓨-搴撳瓨鏁伴噺
+ LastMonthFoldedQty = item.LastMonthQty / sum, //涓婃湀缁撳瓨-鎶樹欢鏁伴噺
+ ArrDayQty = 0, //鍏ュ簱鏁伴噺-褰撴棩鏁伴噺
+ ArrDayFoldedQty = 0, //鍏ュ簱鏁伴噺-褰撴棩鎶樹欢鏁伴噺
+ ArrMonthQty = item.ArrMonthQty, //鍏ュ簱鏁伴噺-褰撴湀鏁伴噺
+ ArrMonthFoldedQty = item.ArrMonthQty / sum, //鍏ュ簱鏁伴噺-褰撴湀鎶樹欢鏁伴噺
+ ArrYearQty = item.ArrYearQty, //鍏ュ簱鏁伴噺-鏈勾鏁伴噺
+ ArrYearFoldedQty = item.ArrYearQty / sum, //鍏ュ簱鏁伴噺-鏈勾鎶樹欢鏁伴噺
+ SoDayQty = 0, //鍑哄簱鏁伴噺-褰撴棩鏁伴噺
+ SoDayFoldedQty = 0, //鍑哄簱鏁伴噺-褰撴棩鎶樹欢鏁伴噺
+ SoMonthQty = item.SoMonthQty, //鍑哄簱鏁伴噺-褰撴湀鏁伴噺
+ SoMonthFoldedQty = item.SoMonthQty / sum, //鍑哄簱鏁伴噺-褰撴湀鎶樹欢鏁伴噺
+ SoYearQty = item.SoYearQty, //鍑哄簱鏁伴噺-鏈勾鏁伴噺
+ SoYearFoldedQty = item.SoYearQty / sum, //鍑哄簱鏁伴噺-鏈勾鎶樹欢鏁伴噺
+ MonthQty = item.MonthQty, //褰撴湀鏁伴噺-绱鏁伴噺
+ MonthFoldedQty = item.MonthQty / sum, //褰撴湀鏁伴噺-绱鎶樹欢鏁伴噺
+
+ DepositQty = item.DepositQty,
+ Qty = item.Qty,
+ SecurityQty = item.SecurityQty,
+ Situation = item.Qty < item.SecurityQty ? "1" : "0",
+ IsDel = "0",
+ CreateTime = DateTime.Now,
+ CreateUser = 0,
+ UpdateTime = null,
+ UpdateUser = null,
+
+ };
+
+
+ list.Add(data);
+ }
+ }
+ }
+
+
+ //娣诲姞搴撳瓨淇℃伅
+ Db.Insertable<DataStockInfo>(list).ExecuteCommand();
+
+ Db.CommitTran();
+ return arr;
+ }
+ catch (Exception ex)
+ {
+ Db.RollbackTran();
+ throw ex;
+ }
+ }
+
+ /// <summary>
+ /// 鑾峰彇瀵瑰簲澶╂暟淇℃伅
+ /// </summary>
+ /// <param name="StartDate"></param>
+ /// <returns></returns>
+ public List<DataStockInfoVM> GetDataStockInfo(string StartDate)
+ {
+ try
+ {
+ var list = Db.Queryable<DataStockInfo>().Where(a => a.IsDel == "0").ToList();
+
+ //楠岃瘉鏄惁瀛樺湪閫変腑鏃堕棿 涓嶅瓨鍦ㄥ垯璧嬪�间粖鏃ユ椂闂�
+ if (string.IsNullOrEmpty(StartDate))
+ {
+ StartDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ff");
+ }
+
+ //鏍规嵁鏃堕棿鑾峰彇瀵瑰簲鏃ユ湡鐨勫簱瀛樹俊鎭�
+ if (!string.IsNullOrEmpty(StartDate))
+ {
+ list = list.Where(a => a.CreateTime.Year == DateTime.Parse(StartDate).Year && a.CreateTime.Month == DateTime.Parse(StartDate).Month && a.CreateTime.Day == DateTime.Parse(StartDate).Day).ToList();
+ }
+
+ List<DataStockInfoVM> list1 = new List<DataStockInfoVM>();
+
+ foreach (var item in list)
+ {
+ DataStockInfoVM info = new DataStockInfoVM()
+ {
+ SkuNo = item.SkuNo, //鐗╂枡缂栫爜
+ SkuName = item.SkuName, //鐗╂枡鍚嶇О
+ Standard = item.Standard, //瑙勬牸
+ Unit = item.Unit, //鍗曚綅
+ LastMonthQty = item.LastMonthQty, //涓婃湀缁撳瓨-搴撳瓨鏁伴噺
+ LastMonthFoldedQty = item.LastMonthFoldedQty, //涓婃湀缁撳瓨-鎶樹欢鏁伴噺
+ ArrDayQty = item.ArrDayQty, //鍏ュ簱鏁伴噺-褰撴棩鏁伴噺
+ ArrDayFoldedQty = item.ArrDayFoldedQty, //鍏ュ簱鏁伴噺-褰撴棩鎶樹欢鏁伴噺
+ ArrMonthQty = item.ArrMonthQty, //鍏ュ簱鏁伴噺-褰撴湀鏁伴噺
+ ArrMonthFoldedQty = item.ArrMonthFoldedQty, //鍏ュ簱鏁伴噺-褰撴湀鎶樹欢鏁伴噺
+ ArrYearQty = item.ArrYearQty, //鍏ュ簱鏁伴噺-鏈勾鏁伴噺
+ ArrYearFoldedQty = item.ArrYearFoldedQty, //鍏ュ簱鏁伴噺-鏈勾鎶樹欢鏁伴噺
+ SoDayQty = item.SoDayQty, //鍑哄簱鏁伴噺-褰撴棩鏁伴噺
+ SoDayFoldedQty = item.SoDayFoldedQty, //鍑哄簱鏁伴噺-褰撴棩鎶樹欢鏁伴噺
+ SoMonthQty = item.SoMonthQty, //鍑哄簱鏁伴噺-褰撴湀鏁伴噺
+ SoMonthFoldedQty = item.SoMonthFoldedQty, //鍑哄簱鏁伴噺-褰撴湀鎶樹欢鏁伴噺
+ SoYearQty = item.SoYearQty, //鍑哄簱鏁伴噺-鏈勾鏁伴噺
+ SoYearFoldedQty = item.SoYearFoldedQty, //鍑哄簱鏁伴噺-鏈勾鎶樹欢鏁伴噺
+ MonthQty = item.MonthQty, //褰撴湀鏁伴噺-绱鏁伴噺
+ MonthFoldedQty = item.MonthFoldedQty, //褰撴湀鏁伴噺-绱鎶樹欢鏁伴噺
+ DepositQty = item.DepositQty, //瀵勫瓨鏁伴噺
+ Qty = item.Qty, //鏈湀搴撳瓨鏁伴噺
+ SecurityQty = item.SecurityQty, //瀹夊叏搴撳瓨
+ Situation = item.Situation, //瀹夊叏搴撳瓨鎯呭喌
+ IsDel = item.IsDel, //鏄惁鍒犻櫎
+ CreateTime = item.CreateTime, //鍒涘缓鏃堕棿
+ CreateUser = item.CreateUser, //鍒涘缓浜�
+ UpdateTime = item.UpdateTime, //鏇存柊鏃堕棿
+ UpdateUser = item.UpdateUser, //鏇存柊浜�
+ };
+ list1.Add(info);
+ }
+
+ return list1;
+ }
+ catch (Exception ex)
+ {
+
+ throw ex;
+ }
+ }
+
+
+ /// <summary>
+ /// 鏍规嵁鍑哄叆搴撴柊澧炴垨淇敼淇℃伅
+ /// </summary>
+ /// <param name="type">绫诲瀷 0锛氬叆搴� 1锛氬嚭搴�</param>
+ /// <param name="qty">鍏ュ簱鎴栧嚭搴撴暟閲�</param>
+ /// <param name="isDeposit">鏄惁瀵勫瓨 0锛氭槸 1锛氬惁</param>
+ /// <param name="skuNo">鐗╂枡缂栫爜</param>
+ /// <returns></returns>
+ public bool AddOrUptStockInfo(string type, decimal qty, string isDeposit, string skuNo)
+ {
+ try
+ {
+ int a = 0;
+ bool isTrue = false;
+ //鑾峰彇浠婃棩鏃堕棿
+ string date = DateTime.Now.ToString("yyyy-MM-dd");
+ //鏍规嵁鐗╂枡淇℃伅鑾峰彇浠婃棩搴撳瓨淇℃伅
+ var list = Db.Queryable<DataStockInfo>().First(a => a.IsDel == "0" && a.SkuNo == skuNo && a.CreateTime.Year == DateTime.Parse(date).Year && a.CreateTime.Month == DateTime.Parse(date).Month && a.CreateTime.Day == DateTime.Parse(date).Day);
+ Db.BeginTran();
+ //楠岃瘉鏄惁瀛樺湪搴撳瓨淇℃伅
+ if (list == null)
+ {
+ //鏍规嵁鐗╂枡缂栫爜鑾峰彇鐗╂枡淇℃伅
+ var sku = Db.Queryable<SysMaterials>().First(a => a.IsDel == "0" && a.SkuNo == skuNo);
+ //鏍规嵁鐗╂枡淇℃伅鑾峰彇鍗曚綅淇℃伅
+ var unit = Db.Queryable<SysUnit>().First(a => a.IsDel == "0" && a.UnitNo == sku.UnitNo);
+ //鑾峰彇瀵瑰簲鎶樹欢鏁伴噺
+ var Folded = sku.Standard.Split("*");
+ int count = 0;
+ var sum = 0m;
+ foreach (var item1 in Folded)
+ {
+ if (count == 0)
+ {
+ if (item1.Contains(unit.UnitName))
+ {
+ count = 1;
+ sum = Convert.ToDecimal(item1);
+ }
+ }
+ if (count == 1)
+ {
+ sum *= Convert.ToDecimal(item1);
+ }
+ }
+ DataStockInfo info = new DataStockInfo()
+ {
+ SkuNo = sku.SkuNo,
+ SkuName = sku.SkuName,
+ Standard = sku.Standard,
+ Unit = unit.UnitName,
+ LastMonthQty = 0,
+ ArrDayQty = 0,
+ ArrMonthQty = 0,
+ ArrYearQty = 0,
+ SoDayQty = 0,
+ SoMonthQty = 0,
+ SoYearQty = 0,
+ MonthQty = 0,
+ DepositQty = 0,
+ Qty = 0,
+ SecurityQty = sku.LowInventory,
+ Situation = qty < sku.LowInventory ? "1" : "0",
+ IsDel = "0",
+ CreateTime = DateTime.Now,
+ CreateUser = 0,
+ UpdateTime = null,
+ UpdateUser = null,
+
+ };
+
+ if (type == "0") //鍏ュ簱
+ {
+ //缂栬緫瀵瑰簲搴撳瓨淇℃伅
+ info.ArrDayQty += qty; //褰撴棩鍏ュ簱鏁伴噺
+ info.ArrDayFoldedQty += qty; //褰撴棩鍏ュ簱鏁伴噺-鎶樹欢
+ info.ArrMonthQty += qty; //褰撴湀鍏ュ簱鏁伴噺
+ info.ArrMonthFoldedQty += qty; //褰撴湀鍏ュ簱鏁伴噺-鎶樹欢
+ info.ArrYearQty += qty; //浠婂勾鍏ュ簱鏁伴噺
+ info.ArrYearFoldedQty += qty; //浠婂勾鍏ュ簱鏁伴噺-鎶樹欢
+ info.MonthQty += qty; //褰撴湀缁撳瓨
+ info.MonthFoldedQty += qty; //褰撴湀缁撳瓨-鎶樹欢
+
+ if (isDeposit == "0")
+ {
+ //楠岃瘉鏄惁涓哄瘎瀛樻暟閲�
+ info.DepositQty += qty; //瀵勫瓨鏁伴噺
+ }
+ info.Qty = info.MonthQty + info.DepositQty; //鏈湀搴撳瓨鏁伴噺
+ }
+ else if (type == "1") //鍑哄簱
+ {
+ //缂栬緫瀵瑰簲搴撳瓨淇℃伅
+ info.SoDayQty += qty; //褰撴棩鍑哄簱鏁伴噺
+ info.ArrDayFoldedQty += qty; //褰撴棩鍏ュ簱鏁伴噺-鎶樹欢
+ info.ArrMonthQty += qty; //褰撴湀鍏ュ簱鏁伴噺
+ info.ArrMonthFoldedQty += qty; //褰撴湀鍏ュ簱鏁伴噺-鎶樹欢
+ info.ArrYearQty += qty; //浠婂勾鍏ュ簱鏁伴噺
+ info.ArrYearFoldedQty += qty; //浠婂勾鍏ュ簱鏁伴噺-鎶樹欢
+ info.MonthQty += qty; //褰撴湀缁撳瓨
+ info.MonthFoldedQty += qty; //褰撴湀缁撳瓨-鎶樹欢
+
+ if (isDeposit == "0")
+ {
+ //楠岃瘉鏄惁涓哄瘎瀛樻暟閲�
+ info.DepositQty -= qty; //瀵勫瓨鏁伴噺
+ }
+ info.Qty = info.MonthQty + info.DepositQty; //鏈湀搴撳瓨鏁伴噺
+ }
+ //鏂板搴撳瓨淇℃伅
+ a = Db.Insertable(info).ExecuteCommand();
+ }
+ else
+ {
+ if (type == "0") //鍏ュ簱
+ {
+ //缂栬緫瀵瑰簲搴撳瓨淇℃伅
+ list.ArrDayQty += qty; //褰撴棩鍑哄簱鏁伴噺
+ list.ArrDayFoldedQty += qty; //褰撴棩鍏ュ簱鏁伴噺-鎶樹欢
+ list.ArrMonthQty += qty; //褰撴湀鍏ュ簱鏁伴噺
+ list.ArrMonthFoldedQty += qty; //褰撴湀鍏ュ簱鏁伴噺-鎶樹欢
+ list.ArrYearQty += qty; //浠婂勾鍏ュ簱鏁伴噺
+ list.ArrYearFoldedQty += qty; //浠婂勾鍏ュ簱鏁伴噺-鎶樹欢
+ list.MonthQty += qty; //褰撴湀缁撳瓨
+ list.MonthFoldedQty += qty; //褰撴湀缁撳瓨-鎶樹欢
+
+ if (isDeposit == "0")
+ {
+ //楠岃瘉鏄惁涓哄瘎瀛樻暟閲�
+ list.DepositQty += qty; //瀵勫瓨鏁伴噺
+ }
+ list.Qty = list.MonthQty + list.DepositQty; //鏈湀搴撳瓨鏁伴噺
+ list.Situation = list.Qty < list.SecurityQty ? "1" : "0"; //瀹夊叏搴撳瓨鎯呭喌
+
+
+ }
+ else if (type == "1") //鍑哄簱
+ {
+ //缂栬緫瀵瑰簲搴撳瓨淇℃伅
+ list.SoDayQty += qty; //褰撴棩鍑哄簱鏁伴噺
+ list.ArrDayFoldedQty += qty; //褰撴棩鍏ュ簱鏁伴噺-鎶樹欢
+ list.ArrMonthQty += qty; //褰撴湀鍏ュ簱鏁伴噺
+ list.ArrMonthFoldedQty += qty; //褰撴湀鍏ュ簱鏁伴噺-鎶樹欢
+ list.ArrYearQty += qty; //浠婂勾鍏ュ簱鏁伴噺
+ list.ArrYearFoldedQty += qty; //浠婂勾鍏ュ簱鏁伴噺-鎶樹欢
+ list.MonthQty += qty; //褰撴湀缁撳瓨
+ list.MonthFoldedQty += qty; //褰撴湀缁撳瓨-鎶樹欢
+
+ if (isDeposit == "0")
+ {
+ //楠岃瘉鏄惁涓哄瘎瀛樻暟閲�
+ list.DepositQty -= qty; //瀵勫瓨鏁伴噺
+ }
+ list.Qty = list.MonthQty + list.DepositQty; //鏈湀搴撳瓨鏁伴噺
+ list.Situation = list.Qty < list.SecurityQty ? "1" : "0"; //瀹夊叏搴撳瓨鎯呭喌
+ }
+ a = Db.Updateable(list).ExecuteCommand();
+ }
+
+ Db.CommitTran();
+ if (a == 1)
+ {
+ isTrue = true;
+ }
+
+ return isTrue;
+
+ }
+ catch (Exception ex)
+ {
+ Db.RollbackTran();
+ throw ex;
+ }
+ }
+
+ }
+}
--
Gitblit v1.8.0