From 9885a8a2f98104f5ee63dd5ab8023095a1d8b9f6 Mon Sep 17 00:00:00 2001
From: bklLiudl <673013083@qq.com>
Date: 星期一, 02 九月 2024 08:23:44 +0800
Subject: [PATCH] 功能测试
---
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs | 641 ++++++++++++++++++++++++++++++++++------------------------
1 files changed, 375 insertions(+), 266 deletions(-)
diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
index 86fe9e7..a5376b2 100644
--- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -8,17 +8,15 @@
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
-using Model.ModelVm.BllAsnVm;
-using Newtonsoft.Json;
-using Utility.Tools;
+using System.Threading.Tasks;
using WMS.BLL.LogServer;
using WMS.DAL;
using WMS.Entity.BllAsnEntity;
+using WMS.Entity.BllSoEntity;
using WMS.Entity.Context;
+using WMS.Entity.DataEntity;
using WMS.Entity.SysEntity;
using WMS.IBLL.IBllAsnServer;
-using WMS.Entity.BllSoEntity;
-using WMS.Entity.DataEntity;
namespace WMS.BLL.BllAsnServer
{
@@ -34,114 +32,108 @@
#endregion
#region 浜嬩欢鏂规硶
- public List<ArrivalNoticeDto> GetArrivalNoticeList(ArrivalNoticeVm model, out int count)
+ public async Task<List<ArrivalNoticeDto>> GetArrivalNoticeList(ArrivalNoticeVm model, RefAsync<int> count)
{
- string sqlString = string.Empty;
- string sqlCount = string.Empty;
- string sqlPub = string.Empty;
- try
- {
- sqlCount += "SELECT DISTINCT COUNT(tb1.ID) FROM BllArrivalNotice AS tb1 ";
- sqlString += "SELECT DISTINCT tb1.*,tb3.RealName as CreateUserName,tb4.RealName as UpdateUserName,tb5.RealName as CheckUserName FROM BllArrivalNotice AS tb1 ";
- sqlPub += "LEFT JOIN BllArrivalNoticeDetail AS tb2 ON tb1.ASNNo = tb2.ASNNo ";
- sqlPub += "LEFT JOIN SysUserInfor AS tb3 ON tb1.CreateUser = tb3.Id ";
- sqlPub += "LEFT JOIN SysUserInfor AS tb4 ON tb1.UpdateUser = tb4.Id ";
- sqlPub += "LEFT JOIN SysUserInfor AS tb5 ON tb1.CheckUser = tb5.Id ";
- sqlPub += $"WHERE tb1.ASNNo LIKE '%{model.ASNNo}%' AND tb2.LotNo LIKE '%{model.LotNo}%' ";
- sqlPub += $"AND tb2.SkuNo LIKE '%{model.SkuNo}%' AND tb2.SkuName LIKE '%{model.SkuName}%' ";
- sqlPub += $"AND tb1.CustomerName LIKE '%{model.CustomerName}%' ";
- if (!string.IsNullOrEmpty(model.OrderCode))
+ var modelList = await Db.Queryable<BllArrivalNotice,BllArrivalNoticeDetail, SysUserInfor, SysUserInfor,
+ SysUserInfor>((tb1, tb2, tb3, tb4,tb5) => new JoinQueryInfos(
+ JoinType.Left, tb1.ASNNo == tb2.ASNNo,
+ JoinType.Left, tb1.CreateUser == tb3.Id,
+ JoinType.Left, tb1.UpdateUser == tb4.Id,
+ JoinType.Left, tb1.CheckUser == tb5.Id))
+ .WhereIF(!string.IsNullOrWhiteSpace(model.ASNNo), tb1 => tb1.ASNNo.Contains(model.ASNNo))
+ .WhereIF(!string.IsNullOrWhiteSpace(model.LotNo), (tb1,tb2) => tb2.LotNo.Contains(model.LotNo))
+ .WhereIF(!string.IsNullOrWhiteSpace(model.SkuNo), (tb1,tb2) => tb2.SkuNo.Contains(model.SkuNo))
+ .WhereIF(!string.IsNullOrWhiteSpace(model.SkuName), (tb1,tb2) => tb2.SkuName.Contains(model.SkuName))
+ .WhereIF(!string.IsNullOrWhiteSpace(model.CustomerName), tb1 => tb1.CustomerName.Contains(model.CustomerName))
+ .WhereIF(!string.IsNullOrWhiteSpace(model.OrderCode), tb1 => tb1.OrderCode.Contains(model.OrderCode))
+ .WhereIF(!string.IsNullOrWhiteSpace(model.Status), tb1 => tb1.Status == model.Status)
+ .WhereIF(!string.IsNullOrWhiteSpace(model.Type), tb1 => tb1.Type == model.Type)
+ .WhereIF(!string.IsNullOrWhiteSpace(model.StartTime), tb1 => tb1.CreateTime >= Convert.ToDateTime(model.StartTime))
+ .WhereIF(!string.IsNullOrWhiteSpace(model.EndTime), tb1 => tb1.CreateTime <= Convert.ToDateTime(model.EndTime).AddDays(1))
+ .WhereIF(!string.IsNullOrWhiteSpace(model.CustomerName), tb1 => tb1.CustomerName.Contains(model.CustomerName))
+ .Where(tb1 => tb1.IsDel == "0")
+ .OrderByDescending(tb1 => tb1.ASNNo)
+ .Distinct()
+ .Select((tb1, tb2, tb3, tb4, tb5) => new ArrivalNoticeDto()
{
- sqlPub += $"AND tb1.OrderCode LIKE '%{model.OrderCode}%' ";
- }
- if (!string.IsNullOrEmpty(model.Status))
- {
- sqlPub += $"AND tb1.Status = '{model.Status}' ";
- }
- if (!string.IsNullOrEmpty(model.Type))
- {
- if (model.Type == "3")
- {
- sqlPub += $"AND tb1.Type = '{model.Type}' ";
- }
- else
- {
- sqlPub += $"AND tb1.Type = '{model.Type}' AND tb1.Type != '3' ";
- }
- }
- else
- {
- sqlPub += " AND tb1.Type != '3'";
+ Id = tb1.Id,
+ ASNNo = tb1.ASNNo,
+ Type = tb1.Type,
+ Status = tb1.Status,
+ Origin = tb1.Origin,
+ CustomerNo = tb1.CustomerNo,
+ CustomerName = tb1.CustomerName,
+ LotNo = tb1.LotNo,
+ LotText = tb1.LotText,
+ CheckTime = ((DateTime)tb1.CheckTime).ToString("yyyy-MM-dd HH:mm:ss"),
+ CheckUserName = tb5.RealName,
+ SupplierLot = tb1.SupplierLot,
+ Demo = tb1.Demo,
+ OrderCode = tb1.OrderCode,
+ CompleteTime = tb1.CompleteTime,
+ CreateTime = tb1.CreateTime,
+ CreateUserName = tb3.RealName,
+ UserName=tb1.UserName,
+ UpdateTime = ((DateTime)tb1.UpdateTime).ToString("yyyy-MM-dd HH:mm:ss"),
+ UpdateUserName = tb4.RealName
- }
- if (!string.IsNullOrEmpty(model.StartTime))
- {
- sqlPub += $"AND tb1.CreateTime >= '{model.StartTime}' ";
- }
- if (!string.IsNullOrEmpty(model.EndTime))
- {
- sqlPub += $"AND tb1.CreateTime <= '{model.EndTime}' ";
- }
- sqlCount += sqlPub + "AND tb1.IsDel = '0' ";
- sqlPub += "AND tb1.IsDel = '0' order by tb1.ASNNo desc ";
- if (model.Page == 0)
- {
- model.Page = 1;
- }
- sqlString += sqlPub + $" offset {((model.Page - 1) * model.Limit)} rows fetch next {model.Limit} rows only;";
+ }).ToPageListAsync(model.Page, model.Limit, count);
- var com = new Common();
- count = com.GetRowCount(sqlCount);
-
- var modelList = Db.Ado.SqlQuery<ArrivalNoticeDto>(sqlString);
-
- return modelList;
- }
- catch (Exception ex)
- {
- throw ex;
- }
+ return modelList;
}
- public List<ArrivalNoticeDetailDto> GetArrivalNoticeDetailList(ArrivalNoticeDetailVm model, out int count)
+ public async Task<List<ArrivalNoticeDetailDto>> GetArrivalNoticeDetailList(ArrivalNoticeDetailVm model, RefAsync<int> count)
{
- string sqlString = string.Empty;
- string sqlCount = string.Empty;
- int rowCount = 1;
- try
- {
- if (model.Page == 0)
- {
- model.Page = 1;
- }
- sqlCount += $"SELECT COUNT(ID) FROM BllArrivalNoticeDetail where ASNNo = '{model.ASNNo}' and isdel = '0';";
- var com = new Common();
- count = com.GetRowCount(sqlCount);
- if (count != 0)
- {
- rowCount = count;
- }
+ var item = Expressionable.Create<BllArrivalNoticeDetail>()
+ .AndIF(!string.IsNullOrWhiteSpace(model.ASNNo), it => it.ASNNo == model.ASNNo)
+ .AndIF(true, it => it.IsDel == "0")
+ .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
- sqlString += "SELECT DISTINCT tb1.*,tb2.Type as AsnType,tb2.Status as AsnStatus,tb3.RealName as CreateUserName, ";
- sqlString += "tb4.RealName as UpdateUserName,isnull(tb6.UnitName,tb5.UnitNo) as UnitName,tb7.PackagName,tb5.IsPasteCode ";
- sqlString += "FROM BllArrivalNoticeDetail AS tb1 ";
- sqlString += "LEFT JOIN BllArrivalNotice AS tb2 ON tb1.ASNNo = tb2.ASNNo ";
- sqlString += "LEFT JOIN SysUserInfor AS tb3 ON tb1.CreateUser = tb3.Id ";
- sqlString += "LEFT JOIN SysUserInfor AS tb4 ON tb1.UpdateUser = tb4.Id ";
- sqlString += "LEFT JOIN SysMaterials AS tb5 on tb1.SkuNo = tb5.SkuNo ";
- sqlString += "LEFT JOIN SysUnit AS tb6 on tb5.UnitNo = tb6.UnitNo ";
- sqlString += "LEFT JOIN SysPackag AS tb7 on tb1.PackagNo = tb7.PackagNo ";
- sqlString += $"WHERE tb1.ASNNo = '{model.ASNNo}' AND tb1.IsDel = '0' order by tb1.SkuNo desc ";
- sqlString += $"offset {((model.Page - 1) * model.Limit)} rows fetch next {rowCount} rows only;";
+ var modelList = await Db.Queryable<BllArrivalNoticeDetail>().Where(item)
+ .LeftJoin<BllArrivalNotice>((tb1, tb2) => tb1.ASNNo == tb2.ASNNo)
+ .LeftJoin<SysUserInfor>((tb1, tb2,tb3) => tb1.CreateUser == tb3.Id)
+ .LeftJoin<SysUserInfor>((tb1,tb2,tb3,tb4) => tb1.UpdateUser == tb4.Id)
+ .LeftJoin<SysMaterials>((tb1, tb2, tb3, tb4,tb5) => tb1.SkuNo == tb5.SkuNo && tb5.IsDel == "0")
+ .LeftJoin<SysUnit>((tb1, tb2, tb3, tb4, tb5,tb6) => tb5.UnitNo == tb6.UnitNo && tb6.IsDel == "0")
+ .LeftJoin<SysPackag>((tb1, tb2, tb3, tb4, tb5, tb6,tb7) => tb1.PackagNo == tb7.PackagNo && tb7.IsDel == "0")
+ .Select((tb1, tb2, tb3, tb4, tb5,tb6, tb7) => new ArrivalNoticeDetailDto()
+ {
+ Id = tb1.Id,
+ ASNNo = tb1.ASNNo,
+ SkuNo = tb1.SkuNo,
+ SkuName = tb1.SkuName,
+ Standard = tb1.Standard,
+ LotNo = tb1.LotNo,
+ LotText = tb1.LotText,
+ Qty = tb1.Qty,
+ FactQty = tb1.FactQty,
+ CompleteQty = tb1.CompleteQty,
+ IsSampling = tb1.IsSampling,
+ InspectStatus = tb1.InspectStatus,
+ PackagNo = tb1.PackagNo,
+ PackagName = tb7.PackagName,
+ UnitName = tb6.UnitName,
+ IsBale = tb1.IsBale,
+ IsBelt = tb1.IsBelt,
+ SupplierLot = tb1.SupplierLot,
+ Status = tb1.Status,
+ AsnType = tb2.Type,
+ AsnStatus = tb2.Status,
+ Lot1 = tb1.Lot1,
+ Lot2 = tb1.Lot2,
+ UDF1 = tb1.UDF1,
+ UDF2 = tb1.UDF2,
+ UDF3 = tb1.UDF3,
+ UDF4 = tb1.UDF4,
+ UDF5 = tb1.UDF5,
+ CompleteTime = tb1.CompleteTime,
+ CreateTime = tb1.CreateTime,
+ CreateUserName = tb3.RealName,
+ UpdateTime = ((DateTime)tb1.UpdateTime).ToString("yyyy-MM-dd HH:mm:ss"),
+ UpdateUserName = tb4.RealName
+ }).ToPageListAsync(model.Page, model.Limit, count);
- var modelList = Db.Ado.SqlQuery<ArrivalNoticeDetailDto>(sqlString);
-
- return modelList;
- }
- catch (Exception ex)
- {
- throw ex;
- }
+ return modelList;
}
//鑾峰彇鍏ュ簱鍗曟槑缁嗗墿浣欐墦鍗版暟閲�
@@ -173,49 +165,32 @@
{
string skuType = string.Empty;
int IsPack = 2; // 0锛氫笉璐� 1锛氳创 2锛氫笉绠�
- /**
- * 鎴愬搧璐� 0
- * 閲囪喘鍙创鍙笉璐� 1
+ /** model.type 锛堝崟鎹被鍨�)
+ * 鎴愬搧鍏ュ簱 0
+ * 閲囪喘鍏ュ簱 1
* 涓棿鍝佷笉璐� 2
- * 閫�璐ц创 3
- * 浣欐枡閫�鍥炲彲璐村彲涓嶈创 4
- * 鍏跺畠鍙创鍙笉璐� 5
- * 浠e偍涓嶈创 6
- * 瀵勫瓨涓嶈创 7
+ * 閫�璐у叆搴� 3
+ * 浣欐枡閫�鍥炲叆搴� 4
*/
switch (model.Type)//0锛氬師鏂� 1锛氬寘鏉� 2锛氭垚鍝� 3锛氳�楁潗 4锛氬崐鎴愬搧
{
case "0"://鎴愬搧鍏ュ簱
skuType = "(2)";
- IsPack = 1; //璐�
break;
case "1"://閲囪喘鍏ュ簱
skuType = "(0,1,3)";
break;
case "2"://涓棿鍝佸叆搴�
skuType = "(4)";
- IsPack = 0; //涓嶈创
break;
case "3"://閫�璐у叆搴�
- skuType = "(0,2)";
- IsPack = 1; //璐�
+ skuType = "(2)";
break;
case "4"://杞﹂棿浣欐枡閫�鍥炲叆搴�
- skuType = "(0,1,3)";
- break;
- case "5"://鍏跺畠鍏ュ簱
- skuType = "(0,1,2,3,4)";
- break;
- case "6"://浠e偍鍏ュ簱
- skuType = "(2)";
- IsPack = 0; //涓嶈创
- break;
- case "7"://瀵勫瓨鍏ュ簱
- //skuType = "(3)";
- IsPack = 0; //涓嶈创
+ skuType = "(0,1,2,3)";
break;
default: //鍏跺畠
- //skuType = "(0,1,2,3,4)";
+ skuType = "(0,1,2,3,4)";
break;
}
@@ -237,8 +212,6 @@
.Includes(x => x.UnitInfo)
.Includes(x => x.PackagInfo)
.ToList();
-
-
return data.Select(m => new MaterialsDto()
{
@@ -274,10 +247,15 @@
public string AddArrivalNotice(ArrivalNoticeVm model)
{
string strMessage = "";
- string sqlString = string.Empty;
- string sqlDetailStr = string.Empty;
- //0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 2锛氫腑闂村搧鍏ュ簱 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欏叆搴� 5锛氬叾瀹冨叆搴� 6锛氫唬鍌ㄥ叆搴� 7锛氬瘎瀛樺叆搴�
- var TypeLot = "1, 5, 6, 7"; //鎵规鍙负绌哄崟鎹被鍨�
+
+ /** model.type 锛堝崟鎹被鍨�)
+ * 鎴愬搧鍏ュ簱 0
+ * 閲囪喘鍏ュ簱 1
+ * 涓棿鍝佷笉璐� 2
+ * 閫�璐у叆搴� 3
+ * 浣欐枡閫�鍥炲叆搴� 4
+ */
+ var TypeLot = "1, 5, 6, 7"; //鎵规鍙负绌哄崟鎹被鍨�
try
{
@@ -299,14 +277,23 @@
lock (AsnLock)
{
- sqlString += "Insert into BllArrivalNotice (ASNNo,Type,Origin,CustomerNo,";
- sqlString += "CustomerName,LotNo,LotText,SupplierLot,CreateUser) values ( ";
- sqlString += $"'{model.ASNNo}','{model.Type}','{model.Origin}','{model.CustomerNo}', ";
- sqlString += $"'{model.CustomerName}','{model.LotNo}','{model.LotText}','{model.SupplierLot}','{model.CreateUser}');";
+ // 鎬昏〃瀹炰綋璧嬪��
+ BllArrivalNotice ASNModel = new BllArrivalNotice()
+ {
+ ASNNo = model.ASNNo,
+ Type = model.Type,
+ Origin = model.Origin,
+ CustomerNo = model.CustomerNo,
+ CustomerName = model.CustomerName,
+ Status = "0",
+ LotNo = model.LotNo,
+ LotText = model.LotText,
+ SupplierLot = model.SupplierLot,
+ CreateUser = (int)model.CreateUser
+ };
- var detailModels = model.AsnDetail;
-
- foreach (ArrivalNoticeDetailVm detailModel in detailModels)
+ List<BllArrivalNoticeDetail> details = new List<BllArrivalNoticeDetail>();
+ foreach (ArrivalNoticeDetailVm detailModel in model.AsnDetail)
{
if (string.IsNullOrEmpty(detailModel.SkuNo))
{
@@ -323,8 +310,7 @@
strMessage = "-1:鏁伴噺蹇呴』澶т簬0;";
continue;
}
- //鍒ゆ柇鏄惁涓洪噰璐叆搴撳崟鎹垨杞﹂棿浣欐枡閫�鍥炲叆搴�
- // 0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 2锛氫腑闂村搧鍏ュ簱 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欓��鍥炲叆搴� 5锛氬叾瀹冨叆搴� 6锛氫唬鍌ㄥ叆搴� 7锛氬瘎瀛樺叆搴�
+
if (model.Type == "1" || model.Type == "5" || model.Type == "6" || model.Type == "7")
{
if (!string.IsNullOrWhiteSpace(detailModel.LotNo))
@@ -364,10 +350,14 @@
throw new Exception("褰撳墠鍗曟嵁绫诲瀷鎵规涓嶅彲涓虹┖!");
}
}
+
// 鍒ゆ柇鏄惁宸插瓨鍦ㄥ綋鍓嶆槑缁�
- string sqlCount = $"SELECT COUNT(ID) FROM BllArrivalNoticeDetail where ASNNo = '{model.ASNNo}' ";
- sqlCount += $"and SkuNo ='{detailModel.SkuNo}' and LotNo = '{detailModel.LotNo}' and id != '{detailModel.Id}' and isdel = '0';";
- var com = new Common().GetRowCount(sqlCount);
+ int com = Db.Queryable<BllArrivalNoticeDetail>()
+ .Where(m => m.ASNNo == model.ASNNo
+ && m.SkuNo == detailModel.SkuNo
+ && m.LotNo == detailModel.LotNo
+ && m.Id != (int)detailModel.Id
+ && m.IsDel == "0").ToList().Count();
if (com > 0)
{
strMessage = "-1:鐗╂枡鍜屾壒娆″彿閲嶅;";
@@ -379,26 +369,54 @@
}
// 璁$畻鍑烘�婚噾棰�
detailModel.Money = detailModel.Price * detailModel.Qty;
- sqlDetailStr += "Insert into BllArrivalNoticeDetail (ASNNo,SkuNo,SkuName,Standard,";
- sqlDetailStr += "LotNo,LotText,Qty,PackagNo,Price,Money,IsBale,IsBelt,SupplierLot,Status,IsSampling,InspectStatus,UDF1,UDF2,UDF3,UDF4,UDF5,CreateUser) values ( ";
- sqlDetailStr += $"'{model.ASNNo}','{detailModel.SkuNo}','{detailModel.SkuName}','{detailModel.Standard}', ";
- sqlDetailStr += $"'{detailModel.LotNo.Trim()}','{detailModel.LotText}','{detailModel.Qty}','{detailModel.PackagNo}','{detailModel.Price}', ";
- sqlDetailStr += $"{detailModel.Money},'{detailModel.IsBale}','{detailModel.IsBelt}','{detailModel.SupplierLot}','0','0','0','{detailModel.UDF1}','{detailModel.UDF2}','{detailModel.UDF3}','{detailModel.UDF4}','{detailModel.UDF5}','{model.CreateUser}');";
- }
+ BllArrivalNoticeDetail detail = new BllArrivalNoticeDetail()
+ {
+ ASNNo = model.ASNNo,
+ SkuNo = detailModel.SkuNo,
+ SkuName = detailModel.SkuName,
+ Standard = detailModel.Standard,
+ LotNo = detailModel.LotNo.Trim(),
+ LotText = detailModel.LotText,
+ Qty = (decimal)detailModel.Qty,
+ PackagNo = detailModel.PackagNo,
+ FactQty = 0, // 宸茬粍鏁伴噺
+ CompleteQty = 0, // 瀹屾垚鏁伴噺
+ Price = detailModel.Price,
+ Money = detailModel.Money,
+ IsBale = detailModel.IsBale,
+ IsBelt = detailModel.IsBelt,
+ SupplierLot = detailModel.SupplierLot,
+ Status = "0",
+ IsSampling = "0",
+ InspectStatus = "0",
+ UDF1 = detailModel.UDF1,
+ UDF2 = detailModel.UDF2,
+ UDF3 = detailModel.UDF3,
+ UDF4 = detailModel.UDF4,
+ UDF5 = detailModel.UDF5,
+ CreateUser = (int)model.CreateUser,
+ };
- if (sqlDetailStr == string.Empty)
+ details.Add(detail);
+ }
+
+ // 鍒ゆ柇鏄惁瀛樺湪琚繃婊ゆ帀鐨勬槑缁�
+ if (details.Count <= 0)
{
return strMessage;
}
+
Db.Ado.BeginTran();
- int rowCount = Db.Ado.ExecuteCommand(sqlString);
- var rowDetailCount = 1;
- if (sqlDetailStr.Length > 0)
+ var rowCount = Db.Insertable(ASNModel).ExecuteCommand();
+
+ var rowDetailCount = 0;
+ if (details.Count > 0)
{
- rowDetailCount = Db.Ado.ExecuteCommand(sqlDetailStr);
+ rowDetailCount = Db.Insertable(details).ExecuteCommand();
}
Db.Ado.CommitTran();
+
if (rowCount > 0 && rowDetailCount > 0)
{
new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鍗曟嵁", model.ASNNo, "娣诲姞", $"娣诲姞浜嗗崟鎹彿涓簕model.ASNNo}鐨勫崟鎹俊鎭�", Convert.ToInt32(model.CreateUser));
@@ -435,29 +453,31 @@
//7 蹇呴』涓虹┖
var TypeLot = "1, 5, 6, 7"; //鎵规涓虹敓鎴愭壒娆″崟鎹被鍨�
- //if (model.Origin != "褰曞叆")
- //{
- // strMessage = "-1:涓婃父绯荤粺涓嬪彂鐨勫崟鎹紝涓嶅彲缂栬緫;";
- // return strMessage;
- //}
-
- sqlString += $"select * from BllArrivalNotice where ASNNo = '{model.ASNNo}' and isDel = '0';";
- var asnInfo = Db.Ado.SqlQuery<BllArrivalNotice>(sqlString).FirstOrDefault();
+ var asnInfo = Db.Queryable<BllArrivalNotice>().First(m => m.ASNNo == model.ASNNo && m.IsDel == "0");
+ if (asnInfo == null)
+ {
+ strMessage = "-1:鍗曞彿涓嶅瓨鍦紝鎴栧凡鍒犻櫎!;";
+ return strMessage;
+ }
if (asnInfo.Status != "0")
{
strMessage = "-1:鍗曟嵁鐘舵�佸彉鏇达紝涓嶅彲缂栬緫;";
return strMessage;
}
- sqlString = "UPDATE BllArrivalNotice SET ";
- sqlString += $"CustomerNo = '{model.CustomerNo}',CustomerName = '{model.CustomerName}',";
- sqlString += $"LotNo = '{model.LotNo}',LotText = '{model.LotText}',";
- sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
- sqlString += $"WHERE ASNNo = '{model.ASNNo}'";
+ var dateTime = DateTime.Now;
+ // 缂栬緫鎬诲崟
+ asnInfo.CustomerNo = model.CustomerNo;
+ asnInfo.CustomerName = model.CustomerName;
+ asnInfo.LotNo = model.LotNo;
+ asnInfo.LotText = model.LotText;
+ asnInfo.UpdateTime = dateTime;
+ asnInfo.UpdateUser = model.CreateUser;
var detailModels = model.AsnDetail;
sqlDetailStr += $"SELECT * FROM BllArrivalNoticeDetail WHERE ASNNo = '{model.ASNNo}' and isDel = '0';";
- var dbDetailModels = DataContext.Db.Ado.SqlQuery<BllArrivalNoticeDetail>(sqlDetailStr);
+ //var dbDetailModels = DataContext.Db.Ado.SqlQuery<BllArrivalNoticeDetail>(sqlDetailStr);
+ var dbDetailModels = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.ASNNo == model.ASNNo && m.IsDel == "0").ToList();
sqlDetailStr = string.Empty;
// 澶勭悊宸插垹闄ょ殑鏄庣粏
@@ -465,13 +485,17 @@
{
if (detailModels.Count(it => it.Id == dbDetailModel.Id) == 0)
{
- sqlDetailStr += $"UPDATE BllArrivalNoticeDetail SET IsDel = '1',";
- sqlDetailStr += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
- sqlDetailStr += $"WHERE Id = {dbDetailModel.Id};";
+ dbDetailModel.IsDel = "1";
+ dbDetailModel.UpdateTime = dateTime;
+ dbDetailModel.UpdateUser = model.CreateUser;
}
}
- string toDayTime = DateTime.Now.ToString("yyyyMMdd");
+
// 澶勭悊淇敼鍜屾坊鍔犵殑鏄庣粏
+ string toDayTime = dateTime.ToString("yyyymmdd");
+ List<BllArrivalNoticeDetail> addDetails = new List<BllArrivalNoticeDetail>();
+ List<BllArrivalNoticeDetail> editDetails = new List<BllArrivalNoticeDetail>();
+ var maxLotNo = "";
foreach (ArrivalNoticeDetailVm detailModel in detailModels)
{
if (string.IsNullOrEmpty(detailModel.SkuNo))
@@ -498,10 +522,21 @@
}
}
+ if (TypeLot.Contains(model.Type))
+ {
+ if (string.IsNullOrWhiteSpace(detailModel.Lot1))
+ {
+ throw new Exception("鐢熶骇鏃ユ湡涓嶅彲涓虹┖!");
+ }
+ if (string.IsNullOrWhiteSpace(detailModel.Lot2))
+ {
+ throw new Exception("杩囨湡鏃ユ湡涓嶅彲涓虹┖!");
+ }
+ }
+
// 鍒ゆ柇鏄惁宸插瓨鍦ㄥ綋鍓嶆槑缁�
- string sqlCount = $"SELECT COUNT(ID) FROM BllArrivalNoticeDetail where ASNNo = '{model.ASNNo}' ";
- sqlCount += $"and SkuNo ='{detailModel.SkuNo}' and LotNo = '{detailModel.LotNo}' and id != '{detailModel.Id}' and isdel = '0';";
- var com = new Common().GetRowCount(sqlCount);
+ var com = dbDetailModels.Where(m => m.SkuNo == detailModel.SkuNo
+ && m.LotNo == detailModel.LotNo && m.Id != detailModel.Id && m.IsDel == "0").Count();
if (com > 0)
{
strMessage = "-1:鐗╂枡鍜屾壒娆″彿閲嶅;";
@@ -516,7 +551,10 @@
if (detailModel.Id == 0 || detailModel.Id == null || string.IsNullOrWhiteSpace(detailModel.LotNo))
{
var notice = Db.Queryable<BllArrivalNotice>().Where(m => m.IsDel == "0" && TypeLot.Contains(m.Type)).Select(m => m.ASNNo).ToList();
- var maxLotNo = Db.Queryable<BllArrivalNoticeDetail>().Where(m=>m.IsDel == "0" && !string.IsNullOrWhiteSpace(m.LotNo) && notice.Contains(m.ASNNo)).Max(m=>m.LotNo);
+ if (string.IsNullOrWhiteSpace(maxLotNo))
+ {
+ maxLotNo = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && !string.IsNullOrWhiteSpace(m.LotNo) && notice.Contains(m.ASNNo)).Max(m => m.LotNo);
+ }
if (string.IsNullOrWhiteSpace(maxLotNo))
{
maxLotNo = toDayTime.Substring(2, 6) + "0001";
@@ -546,13 +584,35 @@
}
// 璁$畻鍑烘�婚噾棰�
detailModel.Money = detailModel.Price * detailModel.Qty;
- sqlDetailStr += "Insert into BllArrivalNoticeDetail (ASNNo,SkuNo,SkuName,Standard,";
- sqlDetailStr += "LotNo,LotText,Qty,PackagNo,Price,Money,IsBale,IsBelt,SupplierLot,Status,UDF1,UDF2,UDF3,UDF4,UDF5,CreateUser) values ( ";
- sqlDetailStr += $"'{model.ASNNo}','{detailModel.SkuNo}','{detailModel.SkuName}','{detailModel.Standard}', ";
- sqlDetailStr += $"'{detailModel.LotNo.Trim()}','{detailModel.LotText}','{detailModel.Qty}','{detailModel.PackagNo}','{detailModel.Price}', ";
- sqlDetailStr += $"{detailModel.Money},'{detailModel.IsBale}','{detailModel.IsBelt}','{detailModel.SupplierLot}','0','{detailModel.UDF1}','{detailModel.UDF2}','{detailModel.UDF3}','{detailModel.UDF4}','{detailModel.UDF5}','{model.CreateUser}');";
-
-
+
+ BllArrivalNoticeDetail addModel = new BllArrivalNoticeDetail()
+ {
+ ASNNo = model.ASNNo,
+ SkuNo = detailModel.SkuNo,
+ SkuName = detailModel.SkuName,
+ Standard = detailModel.Standard,
+ LotNo = detailModel.LotNo.Trim(),
+ LotText = detailModel.LotText,
+ Qty = (decimal)detailModel.Qty,
+ PackagNo = detailModel.PackagNo,
+ Price = detailModel.Price,
+ Money = detailModel.Money,
+ FactQty = 0, // 宸茬粍鏁伴噺
+ CompleteQty = 0, // 瀹屾垚鏁伴噺
+ IsBale = detailModel.IsBale,
+ IsBelt = detailModel.IsBelt,
+ SupplierLot = detailModel.SupplierLot,
+ Status = "0",
+ Lot1 = detailModel.Lot1,
+ Lot2 = detailModel.Lot2,
+ UDF1 = detailModel.UDF1,
+ UDF2 = detailModel.UDF2,
+ UDF3 = detailModel.UDF3,
+ UDF4 = detailModel.UDF4,
+ UDF5 = detailModel.UDF5,
+ CreateUser=(int)model.CreateUser
+ };
+ addDetails.Add(addModel);
}
else
{
@@ -565,6 +625,8 @@
&& it.SupplierLot == detailModel.SupplierLot
&& it.IsBale == detailModel.IsBale
&& it.IsBelt == detailModel.IsBelt
+ && it.Lot1 == detailModel.Lot1 // 鐢熶骇鏃ユ湡
+ && it.Lot2 == detailModel.Lot2 // 杩囨湡鏃ユ湡
&& it.UDF1 == detailModel.UDF1
&& it.UDF2 == detailModel.UDF2
&& it.UDF3 == detailModel.UDF3
@@ -574,14 +636,15 @@
{
continue;
}
+
+ var dbDetail = dbDetailModels.First(m => m.Id == detailModel.Id);
if (TypeLot.Contains(model.Type))
{
- var dbDetail = dbDetailModels.First(m=>m.Id == detailModel.Id);
if (!string.IsNullOrWhiteSpace(dbDetail.LotNo))
{
if (dbDetail.LotNo != detailModel.LotNo)
{
- strMessage = "-1:褰撳墠鍗曟嵁绫诲瀷涓嶅彲鏇存敼鎵规锛屽彧鍙紪杈戞暟閲�;";
+ strMessage = "-1:褰撳墠鍗曟嵁绫诲瀷涓嶅彲鏇存敼鎵规;";
continue;
}
}
@@ -589,24 +652,41 @@
}
// 璁$畻鍑烘�婚噾棰�
detailModel.Money = detailModel.Price * detailModel.Qty;
- sqlDetailStr += $"UPDATE BllArrivalNoticeDetail SET ";
- sqlDetailStr += $"Qty = '{detailModel.Qty}',LotNo = '{detailModel.LotNo.Trim()}',Money='{detailModel.Money}', ";
- sqlDetailStr += $"LotText = '{detailModel.LotText}',SupplierLot = '{detailModel.SupplierLot}', ";
- sqlDetailStr += $"IsBale = '{detailModel.IsBale}',IsBelt = '{detailModel.IsBelt}', ";
- sqlDetailStr += $"UDF1 = '{detailModel.UDF1}',UDF2 = '{detailModel.UDF2}',UDF3 = '{detailModel.UDF3}',UDF4 = '{detailModel.UDF4}',UDF5 = '{detailModel.UDF5}',";
- sqlDetailStr += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
- sqlDetailStr += $"WHERE Id = {detailModel.Id};";
+
+ dbDetail.Qty = (decimal)detailModel.Qty;
+ dbDetail.LotNo = detailModel.LotNo;
+ dbDetail.Money = detailModel.Money;
+ dbDetail.LotText = detailModel.LotText;
+ dbDetail.SupplierLot = detailModel.SupplierLot;
+ dbDetail.IsBale = detailModel.IsBale;
+ dbDetail.Lot1 = detailModel.Lot1;
+ dbDetail.Lot2 = detailModel.Lot2;
+ dbDetail.UDF1 = detailModel.UDF1;
+ dbDetail.UDF2 = detailModel.UDF2;
+ dbDetail.UDF3 = detailModel.UDF3;
+ dbDetail.UDF4 = detailModel.UDF4;
+ dbDetail.UDF5 = detailModel.UDF5;
+ dbDetail.UpdateTime = dateTime;
+ dbDetail.UpdateUser = model.CreateUser;
+
+ editDetails.Add(dbDetail);
}
}
Db.Ado.BeginTran();
- int rowCount = Db.Ado.ExecuteCommand(sqlString);
+ Db.Updateable(dbDetailModels).ExecuteCommand();
+ int rowCount = Db.Updateable(asnInfo).ExecuteCommand();
var rowDetailCount = 1;
- if (sqlDetailStr.Length > 0)
+ if (addDetails.Count > 0)
{
- rowDetailCount = Db.Ado.ExecuteCommand(sqlDetailStr);
+ rowDetailCount = Db.Insertable(addDetails).ExecuteCommand();
}
+ if (editDetails.Count > 0)
+ {
+ rowDetailCount += Db.Updateable(editDetails).ExecuteCommand();
+ }
+
Db.Ado.CommitTran();
if (rowCount > 0 && rowDetailCount > 0)
{
@@ -630,9 +710,7 @@
{
try
{
- var sqlString = $"SELECT * FROM BllArrivalNotice WHERE ASNNo = '{model.ASNNo}' AND IsDel = 0 AND Status = '0';";
- var asnModel = Db.Ado.SqlQuery<BllArrivalNotice>(sqlString).FirstOrDefault();
-
+ var asnModel = Db.Queryable<BllArrivalNotice>().First(m => m.ASNNo == model.ASNNo && m.IsDel == "0" && m.Status == "0");
if (asnModel == null)
{
return "-1:鍏ュ簱鍗曠姸鎬佸凡鍙樻洿锛屼笉鍙垹闄�!";
@@ -644,42 +722,48 @@
}
// 鍒犻櫎鎬诲崟
- sqlString = $"UPDATE BllArrivalNotice SET IsDel = '1',";
- sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
- sqlString += $"WHERE ASNNo = '{model.ASNNo}';";
+ var editDateTime = DateTime.Now;
+ asnModel.IsDel = "1";
+ asnModel.UpdateTime = editDateTime;
+ asnModel.UpdateUser = model.CreateUser;
// 鍒犻櫎鏄庣粏鍗�
- sqlString += $"UPDATE BllArrivalNoticeDetail SET IsDel = '1',";
- sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
- sqlString += $"WHERE ASNNo = '{model.ASNNo}';";
+ var asnDetails = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.ASNNo == model.ASNNo && m.IsDel =="0").ToList();
+ foreach (BllArrivalNoticeDetail asnDetail in asnDetails)
+ {
+ asnDetail.IsDel = "1";
+ asnDetail.UpdateTime = editDateTime;
+ asnDetail.UpdateUser = model.CreateUser;
+ }
+ #region liudl Edit JC26鐗╂枡涓嶈创鍚楁棤闇�鍒犻櫎
//鍒ゆ柇鏄惁涓洪噰璐叆搴撳崟鎹垨杞﹂棿浣欐枡閫�鍥炲叆搴�
// 0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 2锛氫腑闂村搧鍏ュ簱 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欓��鍥炲叆搴� 5锛氬叾瀹冨叆搴� 6锛氫唬鍌ㄥ叆搴� 7锛氬瘎瀛樺叆搴�
- int notdel = 0;
- if (model.Type == "1" || model.Type == "4")
- {
- //鑾峰彇鍗曟嵁鐢熸垚瀵瑰簲鏍囩
- var list = Db.Queryable<BllBoxInfo>().Where(a => a.IsDel == "0" && a.Status == "0" && a.BindNo == null);
+ //int notdel = 0;
+ //if (model.Type == "1" || model.Type == "4")
+ //{
+ // //鑾峰彇鍗曟嵁鐢熸垚瀵瑰簲鏍囩
+ // var list = Db.Queryable<BllBoxInfo>().Where(a => a.IsDel == "0" && a.Status == "0" && a.BindNo == null);
- //楠岃瘉瀵瑰簲绠辨敮淇℃伅鏄惁瀛樺湪
- if (list == null)
- {
- return "-1:宸叉湁绠辩爜宸茬粦瀹氭墭鐩樻垨宸插叆搴擄紝涓嶅彲鍒犻櫎!";
- }
+ // //楠岃瘉瀵瑰簲绠辨敮淇℃伅鏄惁瀛樺湪
+ // if (list == null)
+ // {
+ // return "-1:宸叉湁绠辩爜宸茬粦瀹氭墭鐩樻垨宸插叆搴擄紝涓嶅彲鍒犻櫎!";
+ // }
- // 鍒犻櫎瀵瑰簲绠辨敮淇℃伅
- sqlString += $"UPDATE BllBoxInfo SET IsDel = '1',";
- sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
- sqlString += $"WHERE ASNNo = '{model.ASNNo}';";
- notdel = 1;
- }
+ // // 鍒犻櫎瀵瑰簲绠辨敮淇℃伅
+ // sqlString += $"UPDATE BllBoxInfo SET IsDel = '1',";
+ // sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
+ // sqlString += $"WHERE ASNNo = '{model.ASNNo}';";
+ // notdel = 1;
+ //}
+ #endregion
+
Db.Ado.BeginTran();
- int rowCount = Db.Ado.ExecuteCommand(sqlString);
- if (rowCount < 2 + notdel)
- {
- Db.RollbackTran();
- return "-1:鍒犻櫎澶辫触锛�";
- }
+ //int rowCount = Db.Ado.ExecuteCommand(sqlString);
+ int rowCount = Db.Updateable(asnModel).ExecuteCommand();
+ rowCount += Db.Updateable(asnDetails).ExecuteCommand();
+
Db.Ado.CommitTran();
new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鍗曟嵁", model.ASNNo, "鍒犻櫎", $"鍒犻櫎浜嗗崟鎹彿涓簕model.ASNNo}鐨勫崟鎹俊鎭�", Convert.ToInt32(model.CreateUser));
return "";
@@ -696,8 +780,7 @@
string sqlString = string.Empty;
try
{
- sqlString = $"SELECT * FROM BllArrivalNotice WHERE ASNNo = '{model.ASNNo}' AND IsDel = 0 AND Status = '0';";
- var asnModel = Db.Ado.SqlQuery<BllArrivalNotice>(sqlString).FirstOrDefault();
+ var asnModel = Db.Queryable<BllArrivalNotice>().First(m => m.ASNNo == model.ASNNo && m.IsDel == "0" && m.Status == "0");
if (asnModel == null)
{
@@ -710,28 +793,34 @@
}
- sqlString = $"SELECT * FROM BllArrivalNoticeDetail WHERE ASNNo = '{model.ASNNo}' and Id <> {model.Id};";
- var detailModel = Db.Ado.SqlQuery<ArrivalNoticeDetailVm>(sqlString);
+ var asnDetail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.ASNNo == model.ASNNo && m.IsDel == "0" && m.Id == model.Id);
+ if (asnDetail == null)
+ {
+ return "-1:鏄庣粏鐘舵�佸凡鍙樻洿锛屼笉鍙垹闄�!";
+ }
+ var detailModel = Db.Queryable<BllArrivalNoticeDetail>()
+ .Where(m => m.ASNNo == model.ASNNo && m.IsDel == "0" && m.Id != model.Id).ToList();
+ var editDateTime = DateTime.Now;
if (detailModel.Count <= 0)
{
- sqlString = $"UPDATE BllArrivalNotice SET IsDel = '1',";
- sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
- sqlString += $"WHERE ASNNo = '{model.ASNNo}';";
+ asnModel.IsDel = "1";
+ asnModel.UpdateTime = editDateTime;
+ asnModel.UpdateUser = model.CreateUser;
}
else
{
- sqlString = $"UPDATE BllArrivalNotice SET ";
- sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
- sqlString += $"WHERE ASNNo = '{model.ASNNo}';";
+ asnModel.UpdateTime = editDateTime;
+ asnModel.UpdateUser = model.CreateUser;
}
- sqlString += $"UPDATE BllArrivalNoticeDetail SET IsDel = '1',";
- sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
- sqlString += $"WHERE Id = '{model.Id}';";
+ asnDetail.IsDel = "1";
+ asnDetail.UpdateTime = editDateTime;
+ asnDetail.UpdateUser = model.CreateUser;
Db.Ado.BeginTran();
- int rowCount = Db.Ado.ExecuteCommand(sqlString);
+ int rowCount = Db.Updateable(asnModel).ExecuteCommand();
+ rowCount += Db.Updateable(asnDetail).ExecuteCommand();
if (rowCount < 2)
{
@@ -739,8 +828,12 @@
return "-1:鍒犻櫎澶辫触锛�";
}
Db.Ado.CommitTran();
+
var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.Id == model.Id);
- new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鍗曟嵁", model.ASNNo, "鍒犻櫎", $"鍒犻櫎浜嗗崟鎹彿涓簕model.ASNNo}銆佺墿鏂欎负{detail.SkuNo}銆佹壒娆″彿涓簕detail.LotNo}鐨勫崟鎹俊鎭�", Convert.ToInt32(model.CreateUser));
+ new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鍗曟嵁", model.ASNNo, "鍒犻櫎",
+ $"鍒犻櫎浜嗗崟鎹彿涓簕model.ASNNo}銆佺墿鏂欎负{detail.SkuNo}銆佹壒娆″彿涓簕detail.LotNo}鐨勫崟鎹俊鎭�",
+ Convert.ToInt32(model.CreateUser));
+
return "";
}
catch (Exception ex)
@@ -749,6 +842,7 @@
throw new Exception(ex.Message);
}
}
+
//鍏抽棴鍏ュ簱鍗�
public string CloseArrivalNotice(int id, int userId)
{
@@ -759,29 +853,39 @@
{
throw new Exception("鏈煡璇㈠埌鍏ュ簱鍗曟嵁淇℃伅");
}
- //if (notice.Status != "2")
- //{
- // throw new Exception("鍙傛暟寮傚父,璇锋鏌ョ姸鎬佹槸鍚︿负鎵ц瀹屾垚");
- //}
- var palletBind = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo && m.Status != "2" && m.Status != "3").ToList();
+
+ var palletBind = Db.Queryable<BllPalletBind>()
+ .Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo
+ && m.Status != "2" && m.Status != "3").ToList();
+
if (palletBind != null && palletBind.Count > 0)
{
throw new Exception("瀛樺湪鏈叆搴撳畬鎴愭墭鐩樹俊鎭紝涓嶅厑璁稿叧鍗�");
}
var comTime = DateTime.Now;
- var sqlString = "";
// 鎬诲崟鍏冲崟
- sqlString = $"UPDATE BllArrivalNotice SET Status = '3',";
- sqlString += $"CompleteTime = GETDATE(),UpdateTime = GETDATE(),UpdateUser = '{userId}' ";
- sqlString += $"WHERE Id = '{id}';";
-
+ var asnModel = Db.Queryable<BllArrivalNotice>().First(m => m.Id == id);
+ if (asnModel != null)
+ {
+ asnModel.Status = "3";
+ asnModel.CompleteTime = comTime;
+ asnModel.UpdateTime = comTime;
+ asnModel.UpdateUser = userId;
+ }
// 灏嗘湭瀹屾垚鐨勬槑缁嗘敼涓哄凡瀹屾垚
- sqlString += $"UPDATE BllArrivalNoticeDetail SET Status = '2',";
- sqlString += $"CompleteTime = GETDATE(),UpdateTime = GETDATE(),UpdateUser = '{userId}' ";
- sqlString += $"WHERE Id = '{id}' and Status <> '2';";
+ var asnDetails = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.Id == id && m.Status == "2").ToList();
+ foreach (BllArrivalNoticeDetail asnDetail in asnDetails)
+ {
+ asnDetail.Status = "2";
+ asnDetail.CompleteTime = comTime;
+ asnDetail.UpdateTime = comTime;
+ asnDetail.UpdateUser = userId;
+ }
+
Db.Ado.BeginTran();
- int rowCount = Db.Ado.ExecuteCommand(sqlString);
+ int rowCount = Db.Updateable(asnModel).ExecuteCommand();
+ rowCount += Db.Updateable(asnDetails).ExecuteCommand();
if (rowCount <= 0)
{
@@ -791,12 +895,16 @@
#region 閲囪喘璁″垝锛岃嫢鏄噰璐鍗曟牴鎹噰璐鍒掑崟鑷姩鐢熸垚鍏ュ簱鍗曚俊鎭�
if (notice.Type == "1" && !string.IsNullOrEmpty(notice.OrderCode))
{
+ // 鑾峰彇閲囪喘鎬诲崟淇℃伅
+ var planOrd = Db.Queryable<BllProcurePlanNotice>().First(it => it.OrderCode == notice.OrderCode && it.IsDel == "0");
//鍏ュ簱鍗曟槑缁�
- var noticeDetailList = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo).ToList();
+ var noticeDetailList = Db.Queryable<BllArrivalNoticeDetail>()
+ .Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo).ToList();
foreach (var item in noticeDetailList)
{
//閲囪喘鍗曟槑缁�
- var planDetail = Db.Queryable<BllProcurePlanNoticeDetail>().First(it => it.OrderDetailCode == item.OrderDetailCode && it.IsDel == "0");
+ var planDetail = Db.Queryable<BllProcurePlanNoticeDetail>()
+ .First(it => it.ParentId == planOrd.Id && it.SkuNo == item.SkuNo && it.IsDel == "0");
planDetail.CompleteQty += item.CompleteQty;
if (planDetail.CompleteQty >= planDetail.Qty)
{
@@ -809,8 +917,7 @@
}
Db.Updateable(planDetail).ExecuteCommand();
}
- //閲囪喘鎬诲崟淇℃伅
- var planOrd = Db.Queryable<BllProcurePlanNotice>().First(it => it.OrderCode == notice.OrderCode && it.IsDel == "0");
+ // 缁存姢閲囪喘鎬诲崟淇℃伅
var planDetailNum = Db.Queryable<BllProcurePlanNoticeDetail>().Count(m => m.IsDel == "0" && m.ParentId == planOrd.Id && m.Status != "2");
if (planDetailNum == 0)
{
@@ -827,7 +934,8 @@
}
}
//閲囪喘鍗曟槑缁�
- var planDetailList = Db.Queryable<BllProcurePlanNoticeDetail>().Where(it => it.ParentId == planOrd.Id && it.IsDel == "0" && it.CompleteQty < it.Qty).ToList();
+ var planDetailList = Db.Queryable<BllProcurePlanNoticeDetail>()
+ .Where(it => it.ParentId == planOrd.Id && it.IsDel == "0" && it.CompleteQty < it.Qty).ToList();
foreach (var item in planDetailList)
{
//鍒ゆ柇鏈夋棤姝e湪鎵ц鐨�
@@ -850,7 +958,7 @@
}
// 鍏ュ簱鎬昏〃淇℃伅
string asnNo = new Common().GetMaxNo("ASN");
- var asnModel = new BllArrivalNotice()
+ var asnModel1 = new BllArrivalNotice()
{
ASNNo = asnNo,
Status = "0",//鎵ц鐘舵�侊紝0锛氱瓑寰呮墽琛�
@@ -862,7 +970,7 @@
CreateUser = 0
};
// 鎻掑叆鍏ュ簱鎬昏〃淇℃伅
- Db.Insertable(asnModel).ExecuteCommand();
+ Db.Insertable(asnModel1).ExecuteCommand();
//鍏ュ簱鍗曟槑缁�
var arrDetailModel = new BllArrivalNoticeDetail()
{
@@ -1106,6 +1214,7 @@
CustomerNo = model.Customer,
CustomerName = CustomerModel.CustomerName,
OrderCode = model.OrderCode,
+ UserName = model.Username
};
// 鍏ュ簱鏄庣粏琛ㄤ俊鎭�
--
Gitblit v1.8.0