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