From 2045b7d31aa63e97d820c72c21cf145adb58960c Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期四, 16 一月 2025 13:11:29 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/liudongl/jc24-wms
---
Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs | 152 ++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 128 insertions(+), 24 deletions(-)
diff --git a/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs b/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs
index b1e8968..386cd35 100644
--- a/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs
+++ b/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs
@@ -1,10 +1,12 @@
锘縰sing System;
using System.Collections.Generic;
using System.Data;
+using System.Linq;
using System.Text;
using Model.ModelDto.BllQualityDto;
using Model.ModelVm;
using SqlSugar;
+using Utility.Tools;
using WMS.DAL;
using WMS.Entity.BllAsnEntity;
using WMS.Entity.BllQualityEntity;
@@ -31,7 +33,7 @@
/// <returns></returns>
public List<BllQualityInspectDto> GetBllQualityList(BllQualityInspect model)
{
- string str = "select q.Id Id,q.InspectNo InspectNo,q.ASNNo ASNNo,q.LotNo LotNo,q.SupplierLot SupplierLot,q.SkuNo SkuNo,q.SkuName SkuName,q.Standard Standard,q.PassQty PassQty,q.FailQty FailQty,q.Origin Origin,q.InspectTime InspectTime,q.IsOut IsOut,q.IsQualified IsQualified,q.IsDel IsDel,q.CreateTime CreateTime,u.RealName CreateUserName,q.UpdateTime UpdateTime,q.UpdateUser UpdateUserName from BllQualityInspect q left join SysUserInfor u on q.CreateUser = u.id where q.IsDel = @isdel";
+ string str = "select q.Id Id,q.InspectNo InspectNo,q.ASNNo ASNNo,q.Status Status,q.LotNo LotNo,q.SupplierLot SupplierLot,q.SkuNo SkuNo,q.SkuName SkuName,q.Standard Standard,q.PassQty PassQty,q.FailQty FailQty,q.Origin Origin,q.InspectTime InspectTime,q.IsOut IsOut,q.IsQualified IsQualified,q.IsDel IsDel,q.CreateTime CreateTime,u.RealName CreateUserName,q.UpdateTime UpdateTime,q.UpdateUser UpdateUserName from BllQualityInspect q left join SysUserInfor u on q.CreateUser = u.id where q.IsDel = @isdel";
////鍒ゆ柇鍏ュ簱鍗曞彿鏄惁涓虹┖
//if (!string.IsNullOrEmpty(model.ASNNo))
@@ -110,10 +112,10 @@
if (!string.IsNullOrEmpty(model.ASNNo))
{
//鏌ヨ鏄惁涓洪��璐у叆搴撳崟鎹�
- var Arrival = Db.Queryable<BllArrivalNotice>().First(a => a.IsDel == "0" && a.ASNNo == model.ASNNo && a.Type == "3");
+ var Arrival = Db.Queryable<BllArrivalNotice>().First(a => a.IsDel == "0" && a.ASNNo == model.ASNNo && (a.Type == "3" || a.Type == "4"));
if (Arrival == null)
{
- throw new Exception("鍙湁鍏ュ簱鍗曟嵁涓洪��璐у叆搴撳崟鍙緭鍏� 鍏ュ簱鍗曞彿锛岃鏍告煡锛�");
+ throw new Exception("鍙湁鍏ュ簱鍗曟嵁涓洪��璐у叆搴撳崟鍙緭鍏ュ叆搴撳崟鍙凤紝璇锋牳鏌ワ紒");
}
//鑾峰彇鍏ュ簱鍗曟槑缁�
@@ -126,38 +128,140 @@
}
//鏌ユ壘璐ㄦ淇℃伅涓槸鍚﹀瓨鍦ㄥ悓鎵规璐ㄦ褰曞叆璁板綍
- BllQualityInspect quality = Db.Queryable<BllQualityInspect>().First(m => m.IsDel == "0" && m.SkuNo == model.SkuNo && m.LotNo == model.LotNo);
+ //BllQualityInspect quality = Db.Queryable<BllQualityInspect>().First(m => m.IsDel == "0" && m.SkuNo == model.SkuNo && m.LotNo == model.LotNo);
- if (quality != null)
- {
- //鍒ゆ柇鏄惁涓洪��璐у叆搴撳崟
- if (isTui == 1)
- {
- if (quality.ASNNo == model.ASNNo)
- {
- throw new Exception("褰撳墠閫�璐у叆搴撳崟宸插垱寤鸿川妫�淇℃伅锛岃鍕块噸澶嶅垱寤猴紒");
- }
- }
- throw new Exception("褰撳墠鎵规宸茶繘琛岃川妫�锛岃鏍告煡锛�");
- }
+ //if (quality != null)
+ //{
+ ////鍒ゆ柇鏄惁涓洪��璐у叆搴撳崟
+ //if (isTui == 1)
+ //{
+ // if (quality.ASNNo == model.ASNNo)
+ // {
+ // throw new Exception("褰撳墠閫�璐у叆搴撳崟宸插垱寤鸿川妫�淇℃伅锛岃鍕块噸澶嶅垱寤猴紒");
+ // }
+ //}
+ // throw new Exception("褰撳墠鐗╂枡鍜屾壒娆″凡杩涜璐ㄦ锛岃鏍告煡锛�");
+ //}
////鏌ユ壘鍚屾壒娆� 鍚屽崟鎹� 鍏ュ簱鍗曚俊鎭��
//BllArrivalNoticeDetail arrivalDetail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.ASNNo == model.ASNNo && m.LotNo == model.LotNo);
-
+ model.Status = "0";//瀹℃牳鐘舵��
model.Origin = "WMS"; //鏉ユ簮
model.CreateTime = Db.GetDate(); //鍒涘缓鏃ユ湡
model.SkuNo = sku.SkuNo; //鐗╂枡鍙�
model.SkuName = sku.SkuName; //鐗╂枡鍚嶇О
- model.PassQty = 0; //鍚堟牸鏁伴噺
- model.FailQty = 0; //涓嶅悎鏍兼暟閲�
+ //model.PassQty = 0; //鍚堟牸鏁伴噺
+ //model.FailQty = 0; //涓嶅悎鏍兼暟閲�
model.Standard = sku.Standard; //瑙勬牸
//model.SupplierLot = arrivalDetail.SupplierLot; //渚涜揣鎵规
//鏌ユ壘搴撳瓨鏄庣粏淇℃伅
- List<DataStockDetail> detail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.ASNNo == model.ASNNo && m.SkuNo == model.SkuNo && m.LotNo == model.LotNo).ToList();
+ //List<DataStockDetail> detail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.SkuNo == model.SkuNo && m.LotNo == model.LotNo).ToList();
+ //if (isTui == 1)
+ //{
+ // detail = detail.Where(m=> m.ASNNo == model.ASNNo).ToList();
+ //}
+ //foreach (var item in detail)
+ //{
+ // List<DataBoxInfo> box = Db.Queryable<DataBoxInfo>().Where(a => a.IsDel == "0" && a.StockDetailId == item.Id && a.SkuNo == model.SkuNo && a.LotNo == model.LotNo).ToList();
+ // //鍒ゆ柇鍚堟牸鐘舵�佹槸鍚﹀悎鏍�
+ // if (model.IsQualified == "1")
+ // {
+ // //鍚堟牸 鐩稿悓鎵规搴撳瓨淇℃伅鍏ㄩ儴鏀逛负鍚堟牸鐘舵�� 涓斿悎鏍兼暟閲忓鍔犱负鍚屾壒娆″悓鍗曞彿璇ョ墿鏂欏叏閮ㄦ暟閲忎箣鍜�
+ // model.PassQty += item.Qty;
+ // //淇敼搴撳瓨鏄庣粏鍚堟牸鐘舵��
+ // item.InspectStatus = "1"; //1鍚堟牸
+ // foreach (var b1 in box)
+ // {
+ // b1.InspectStatus = "1"; //1鍚堟牸
+ // }
+ // }
+ // else //涓嶅悎鏍�
+ // {
+ // //涓嶅悎鏍� 鐩稿悓鎵规銆佸叆搴撳崟搴撳瓨淇℃伅鍏ㄩ儴鏀逛负涓嶅悎鏍肩墿鏂� 涓斾笉鍚堟牸鏁伴噺澧炲姞涓哄悓鎵规鍚屽崟鍙疯鐗╂枡鍏ㄩ儴鏁伴噺涔嬪拰
+ // model.FailQty += item.Qty;
+ // item.InspectStatus = "2"; //2涓嶅悎鏍�
+ // foreach (var b1 in box)
+ // {
+ // b1.InspectStatus = "2"; //2涓嶅悎鏍�
+ // }
+ // }
+ // Db.Updateable(box).ExecuteCommand();
+ // Db.Updateable(item).ExecuteCommand();
+ //}
+ var isquality = Db.Insertable(model).ExecuteCommand();
+
+ return isquality;
+ }
+
+ /// <summary>
+ /// 璐ㄦ澶嶆牳淇℃伅
+ /// </summary>
+ /// <param name="id"></param>
+ /// <param name="userNo"></param>
+ /// <param name="password"></param>
+ /// <param name="userId"></param>
+ /// <returns></returns>
+ /// <exception cref="Exception"></exception>
+ public int FinshQuality(int id,string userNo, string password, int userId)
+ {
+ var loginPwd = Md5Tools.CalcMd5(password);
+ var date = Db.Queryable<SysUserInfor>().First(m => m.IsDel == "0" && m.UserName == userNo && m.PassWord == loginPwd);
+
+ if (date == null) //璐﹀彿瀵嗙爜鏄惁姝g‘
+ {
+ throw new Exception("璐﹀彿瀵嗙爜涓嶆纭垨娌℃湁姝よ处鍙�");
+ }
+ if (date.Status != "0") //褰撳墠璐﹀彿鏄惁姝e父鍚敤
+ {
+ throw new Exception("褰撳墠璐﹀彿闈炲惎鐢ㄧ姸鎬�");
+ }
+
+ var model = Db.Queryable<BllQualityInspect>().First(m=>m.IsDel == "0" && m.Id == id);
+ if (model == null)
+ {
+ throw new Exception("鏈煡璇㈠埌璐ㄦ淇℃伅");
+ }
+ if (date.Id == model.CreateUser)
+ {
+ throw new Exception("澶嶆牳澶辫触锛屽鏍镐汉鍛樺拰鍏抽棴璁㈠崟浜哄憳涓嶈兘鐩稿悓锛�");
+ }
+ int isTui = 0;
+ //楠岃瘉鍏ュ簱鍗曞彿鏄惁涓虹┖
+ if (!string.IsNullOrEmpty(model.ASNNo))
+ {
+ //鏌ヨ鏄惁涓洪��璐у叆搴撳崟鎹�
+ var Arrival = Db.Queryable<BllArrivalNotice>().First(a => a.IsDel == "0" && a.ASNNo == model.ASNNo && (a.Type == "3" || a.Type == "4"));
+ if (Arrival == null)
+ {
+ throw new Exception("鍙湁鍏ュ簱鍗曟嵁涓洪��璐у叆搴撳崟鍙緭鍏ュ叆搴撳崟鍙凤紝璇锋牳鏌ワ紒");
+ }
+
+ //鑾峰彇鍏ュ簱鍗曟槑缁�
+ var ArrivalDetail = Db.Queryable<BllArrivalNoticeDetail>().First(a => a.IsDel == "0" && a.ASNNo == model.ASNNo && a.LotNo.Contains(model.LotNo) && a.SkuNo == model.SkuNo);
+ if (ArrivalDetail == null)
+ {
+ throw new Exception("杈撳叆鐨勬壒娆℃垨鐗╂枡淇℃伅涓庡叆搴撳崟鎹笉绗︼紝璇锋牳鏌ワ紒");
+ }
+ isTui = 1;
+ }
+
+
+
+ model.Status = "1"; //瑙勬牸
+ model.UpdateTime = DateTime.Now;
+ model.UpdateUser = userId;
+ //model.SupplierLot = arrivalDetail.SupplierLot; //渚涜揣鎵规
+
+ //鏌ユ壘搴撳瓨鏄庣粏淇℃伅
+ List<DataStockDetail> detail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.SkuNo == model.SkuNo && m.LotNo == model.LotNo).ToList();
+ if (isTui == 1)
+ {
+ detail = detail.Where(m => m.ASNNo == model.ASNNo).ToList();
+ }
foreach (var item in detail)
{
- List<BllBoxInfo> box = Db.Queryable<BllBoxInfo>().Where(a => a.IsDel == "0" && a.ASNNo == model.ASNNo && a.SkuNo == model.SkuNo && a.LotNo == model.LotNo).ToList();
+ List<DataBoxInfo> box = Db.Queryable<DataBoxInfo>().Where(a => a.IsDel == "0" && a.StockDetailId == item.Id && a.SkuNo == model.SkuNo && a.LotNo == model.LotNo).ToList();
//鍒ゆ柇鍚堟牸鐘舵�佹槸鍚﹀悎鏍�
if (model.IsQualified == "1")
{
@@ -167,7 +271,7 @@
item.InspectStatus = "1"; //1鍚堟牸
foreach (var b1 in box)
{
- b1.InspectMark = "1"; //1鍚堟牸
+ b1.InspectStatus = "1"; //1鍚堟牸
}
}
else //涓嶅悎鏍�
@@ -177,13 +281,13 @@
item.InspectStatus = "2"; //2涓嶅悎鏍�
foreach (var b1 in box)
{
- b1.InspectMark = "2"; //2涓嶅悎鏍�
+ b1.InspectStatus = "2"; //2涓嶅悎鏍�
}
}
Db.Updateable(box).ExecuteCommand();
Db.Updateable(item).ExecuteCommand();
}
- var isquality = Db.Insertable(model).ExecuteCommand();
+ var isquality = Db.Updateable(model).ExecuteCommand();
return isquality;
}
--
Gitblit v1.8.0