From c9975ff121d58b1c156f991f978afabd58ae6c00 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期五, 17 一月 2025 10:33:46 +0800
Subject: [PATCH] 入平库

---
 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9dd8ee51-5695-476a-8693-52d9616451a3.vsidx |    0 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs                                     |   85 +++++++++++++++++++++
 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5d6e89eb-c613-4d7c-8a88-4d58462d368b.vsidx |    0 
 代码管理/淮安PDA/pages/stash/boxing.vue                                                                            |  126 ++++++++++++++++++++++---------
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs                   |   11 ++
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs                                   |    1 
 6 files changed, 187 insertions(+), 36 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/16db4c6a-3f42-45b5-b9ef-df469de7deae.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9dd8ee51-5695-476a-8693-52d9616451a3.vsidx"
similarity index 100%
rename from "\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/16db4c6a-3f42-45b5-b9ef-df469de7deae.vsidx"
rename to "\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9dd8ee51-5695-476a-8693-52d9616451a3.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/abd54a07-f45e-4ca1-84da-81eadaf42b49.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5d6e89eb-c613-4d7c-8a88-4d58462d368b.vsidx"
similarity index 63%
rename from "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/abd54a07-f45e-4ca1-84da-81eadaf42b49.vsidx"
rename to "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5d6e89eb-c613-4d7c-8a88-4d58462d368b.vsidx"
index b31c7ef..4a6c086 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/abd54a07-f45e-4ca1-84da-81eadaf42b49.vsidx"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5d6e89eb-c613-4d7c-8a88-4d58462d368b.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs"
index bc3971c..70b95c6 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs"
@@ -21,6 +21,7 @@
         WebResponseContent MaterielGroup(int inboundOrderId, string palletCode, string serNum);
 
         WebResponseContent InPinKu(string inboundOrderId,int warehouseId, List<string> serNums);
+        WebResponseContent InPinKu(int warehouseId, List<string> serNums);
         WebResponseContent MaterielGroup(string palletCode, int Initiallife, int warehouseId, List<string> serNums);
 
         //WebResponseContent FeedbackInboundOrder(int id);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
index 92e8817..2f92c4b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
@@ -423,7 +423,91 @@
             }
             return content;
         }
+        /// <summary>
+        /// WMS鍏ュ钩搴撲笉鎺ㄥ崟鎹�
+        /// </summary>
+        /// <param name="warehouseId"></param>
+        /// <param name="serNums"></param>
+        /// <returns></returns>
+        public WebResponseContent InPinKu(int warehouseId, List<string> serNums)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                Dt_Warehouse warehouse = _warehouseService.Repository.QueryFirst(x => x.WarehouseId == warehouseId);
+                if (warehouse == null)
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒拌浠撳簱淇℃伅");
+                }
+                List<MatSerNumAnalysisModel> models = CodeAnalysisHelper.CodeAnalysis<MatSerNumAnalysisModel>(AnalysisCodeEnum.MatSerNumAnalysis, serNums);
+                if (models.Select(x => x.MaterielCode).Distinct().Count() > 1)
+                {
+                    return WebResponseContent.Instance.Error($"鐗╂枡涓嶅彲娣锋斁");
+                }
 
+                string materielCode = models.FirstOrDefault()?.MaterielCode ?? "";
+                Dt_MaterielInfo materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == materielCode);
+                if (materielInfo == null)
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒拌鐗╂枡鐨勪俊鎭�");
+                }
+                float beforeQuantity = 0;
+                Dt_StockInfo stockInfo = new Dt_StockInfo()
+                {
+                    PalletCode = DateTime.Now.ToString("yyyyMMddHHmmss"),
+                    StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt(),
+                    WarehouseId = warehouse.WarehouseId,
+                    PalletType = PalletTypeEnum.SmallPallet.ObjToInt(),
+                    LocationCode = "骞冲簱浣�",
+                    Details = new List<Dt_StockInfoDetail>()
+                };
+                List<Dt_StockInfoDetail> stockInfoDetails = new List<Dt_StockInfoDetail>();
+                foreach (var model in models)
+                {
+                    Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail()
+                    {
+                        BatchNo = model.LotNo,
+                        MaterielCode = materielInfo.MaterielCode,
+                        MaterielName = materielInfo.MaterielName,
+                        SerialNumber = model.SerialNumber,
+                        StockQuantity = model.Quantity,
+                        OutboundQuantity = 0,
+                        Unit = materielInfo.MaterielUnit,
+                        Status = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt(),
+                        ProductionDate = model.ProductionDate,
+                        EffectiveDate = model.EffectiveDate,
+                    };
+
+                    if (stockInfo.Id > 0)
+                    {
+                        stockInfoDetail.StockId = stockInfo.Id;
+                    }
+                    stockInfo.Details.Add(stockInfoDetail);
+
+                    stockInfoDetails.Add(stockInfoDetail);
+
+                }
+                float totalQuantity = stockInfo.Details.Sum(x => x.StockQuantity);
+                _unitOfWorkManage.BeginTran();
+                if (stockInfo.Id == 0)
+                {
+                    _stockRepository.StockInfoRepository.Db.InsertNav(stockInfo).Include(x => x.Details).ExecuteCommand();
+                }
+                else
+                {
+                    _stockRepository.StockInfoRepository.Db.UpdateNav(stockInfo).Include(x => x.Details, new UpdateNavOptions() { OneToManyInsertOrUpdate = true }).ExecuteCommand();
+                }
+                _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfoDetails, beforeQuantity, totalQuantity, StockChangeTypeEnum.Inbound);
+                _unitOfWorkManage.CommitTran();
+                content.OK();
+            }
+            catch (Exception ex)
+            {
+                _unitOfWorkManage.RollbackTran();
+                content.Error(ex.Message);
+            }
+            return content;
+        }
         /// <summary>
         /// 缁勭洏
         /// </summary>
@@ -764,6 +848,7 @@
                 {
                     foreach (var item in stockInfo.Details.GroupBy(x=>x.InboundOrderRowNo).Select(x=>x.Key))
                     {
+                        //鍖哄垎涓嶅悓鎵规
                         Dt_StockInfoDetail? dt_StockInfoDetail = stockInfo.Details.Where(x => x.InboundOrderRowNo == item).FirstOrDefault();
                         ERPInboundDetailModel detailModel = new ERPInboundDetailModel()
                         {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs"
index 8a3bbf1..aff5205 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs"
@@ -42,6 +42,17 @@
             return Service.InPinKu(orderNo, warehouseId, serNums);
         }
         /// <summary>
+        /// WMS鍏ュ钩搴�
+        /// </summary>
+        /// <param name="warehouseId"></param>
+        /// <param name="serNums"></param>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("InPinKu")]
+        public WebResponseContent InPinKu(int warehouseId, [FromBody] List<string> serNums)
+        {
+            return Service.InPinKu(warehouseId, serNums);
+        }
+        /// <summary>
         /// 鍗曚釜鐗╂枡鐮佺粍鐩�
         /// </summary>
         /// <param name="inboundOrderId"></param>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/boxing.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/boxing.vue"
index 4a56381..fbddaf8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/boxing.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/boxing.vue"
@@ -122,49 +122,29 @@
 			</view>
 			<view v-if="current === 3" class="headerstyle">
 				<view class="itemstyle">
-					<uni-forms label-width="120">
-						<uni-forms-item>
-							<uni-easyinput type="text" @input="releaseboxInput" v-model="value" placeholder="璇锋壂鐮�"
-								ref='midInput' :focus="true" />
+					<uni-forms label-width="180">
+						<uni-forms-item label="鍐呯鏍囩:">
+							<uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="pkfocus"
+								v-model="pkmaterSn" @input="pksnInput" />
 						</uni-forms-item>
 						<uni-forms-item>
-							<button @click="releasebox" type="primary" size="default">瑙g洏</button>
+							<button @click="pksubmit" type="primary" size="default" style="margin-top: 2%;">鍏ュ钩搴�</button>
 						</uni-forms-item>
 					</uni-forms>
 					<uni-list>
-						<uni-list-item direction="column" v-if="value2">
+						<uni-list-item direction="column" v-for="(item,index) in pkmatInfos" :key="index">
 							<template v-slot:body>
 								<view class="uni-list-box">
+									<uni-icons type="trash" size="22" style="position: absolute;right: 5%;"
+										@click="pkdeleteList(index)">
+									</uni-icons>
 									<view class="uni-content">
-										<view class="uni-title-sub uni-ellipsis-2">鎵樼洏鍙凤細{{value2}}</view>
-									</view>
-								</view>
-							</template>
-						</uni-list-item>
-						<uni-list-item direction="column" v-for="item in matTotal" :key="item.matCode">
-							<template v-slot:body>
-								<view class="uni-list-box">
-									<view class="uni-content">
-										<view class="uni-title-sub uni-ellipsis-2">鐗╂枡缂栫爜锛歿{item.matCode}}</view>
-										<view class="uni-title-sub uni-ellipsis-2">鏁伴噺锛歿{item.matQuantity}}</view>
-									</view>
-								</view>
-							</template>
-						</uni-list-item>
-
-						<uni-list-item direction="column" v-for="(item,index) in matInfo" :key="index">
-							<template v-slot:body>
-								<view class="uni-list-box">
-									<view class="uni-content">
-										<view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">
-											鐗╂枡缂栫爜锛歿{item.matCode}}
-										</view>
-										<view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">
-											鐗╂枡鍚嶇О锛歿{item.matName}}
-										</view>
-										<view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">
-											鏁伴噺锛歿{item.matQty}}
-										</view>
+										<view class="uni-title-sub uni-ellipsis-2">閲囪喘鍗曞彿锛歿{item.purchaseOrderNo}}</view>
+										<view class="uni-note">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+										<view class="uni-note">鎵规鍙凤細{{item.lotNo}}</view>
+										<view class="uni-note">鏁伴噺锛歿{item.quantity}}</view>
+										<view class="uni-note">鐢熶骇鏃ユ湡锛歿{item.productionDate}}</view>
+										<view class="uni-note">鏈夋晥鏈燂細{{item.effectiveDate}}</view>
 									</view>
 								</view>
 							</template>
@@ -190,6 +170,7 @@
 				label: "",
 				orderInfo: [],
 				focus: false,
+				pkfocus: false,
 				barcode: "",
 				materSn: "",
 				Initiallife: 1000,
@@ -210,7 +191,10 @@
 				Testcheck: false,
 				Summmary:0,
 				stockInfoDetail:[],
-				addressdisabled: false
+				addressdisabled: false,
+				pksns: [],
+				pkmaterSn: "",
+				pkmatInfos: []
 			}
 		},
 		onShow() {},
@@ -233,6 +217,10 @@
 			}else if (this.warehouseId == 3) { //杈呮枡浠撳簱鍖篒D
 				this.address = "1011";
 				this.addressdisabled = true;
+			}else if (this.warehouseId == 5) { //杈呮枡
+				this.items.push("鍏ュ钩搴�");
+				this.items[1] = "鍏ョ珛搴�";
+				this.address = "8005";
 			}
 			this.label = "鍗曟嵁缂栧彿锛�" + this.orderNo;
 			this.getData();
@@ -242,6 +230,72 @@
 				innerAudioContext.src = src; // '../../static/success.mp3';
 				innerAudioContext.play();
 			},
+			//wms鍏ュ钩搴�
+			pksubmit() {
+				if (this.pkmatInfos.length == 0) {
+					this.$refs.uToast.show({
+						title: "璇锋壂鎻忓唴绠辨爣绛�",
+						type: 'error'
+					})
+					return;
+				}
+				this.$u.post('/api/InboundOrder/InPinKu?warehouseId=' + this.warehouseId, this
+					.pksns).then(res => {
+					if (res.status) {
+						this.$refs.uToast.show({
+							title: "鍏ュ簱鎴愬姛",
+							type: "success"
+						})
+						this.focus = false;
+						this.pkmatInfos = [];
+						this.pksns = [];
+					} else {
+						this.$refs.uToast.show({
+							title: res.message,
+							type: "error"
+						})
+					}
+				})
+			},
+			pksnInput() {
+				this.$nextTick(() => {
+					if (this.pkmaterSn != "") {
+						this.focus = false;
+						var matSn = this.pkmaterSn;
+						setTimeout(() => {
+							this.pkmaterSn = "";
+						}, 10);
+						this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + matSn, {}).then((res) => {
+							if (res.status) {
+								this.pksns.push(res.data.serialNumber);
+								this.pkmatInfos.push(res.data);
+								if (!res.status) {
+									this.$refs.uToast.show({
+										title: res.message,
+										type: "error"
+									})
+									setTimeout(() => {
+										this.voiceSpeech('../../static/fail.mp3');
+									}, 100);
+									return;
+								}
+								setTimeout(() => {
+									this.voiceSpeech('../../static/success.mp3');
+								}, 100);
+								return;
+							} else {
+								this.$refs.uToast.show({
+									title: res.message,
+									type: "error"
+								})
+								setTimeout(() => {
+									this.voiceSpeech('../../static/fail.mp3');
+								}, 100);
+							}
+						})
+					}
+				})
+			},
 			//瑙g洏
 			releasebox() {
 				if (this.value.length == 0) {

--
Gitblit v1.9.3