´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9dd8ee51-5695-476a-8693-52d9616451a3.vsidxBinary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5d6e89eb-c613-4d7c-8a88-4d58462d368b.vsidxBinary files differ
´úÂë¹ÜÀí/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); ´úÂë¹ÜÀí/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() { ´úÂë¹ÜÀí/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> ´úÂë¹ÜÀí/»´°²PDA/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">è§£ç</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) { //è¾ æä»åºåºID 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); } }) } }) }, //è§£ç releasebox() { if (this.value.length == 0) {