| | |
| | | { title: "å建æ¶é´", field: "createDate", type: "datetime" }, |
| | | ], |
| | | [ |
| | | { title: "æå±ä»åº", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],} |
| | | { title: "æå±ä»åº", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],}, |
| | | { title: "ç©æç¼å·", field: "materielCode",type: "like",} |
| | | ], |
| | | ]); |
| | | const columns = ref([ |
| | |
| | | { title: "å建æ¶é´", field: "createDate", type: "datetime" }, |
| | | ], |
| | | [ |
| | | { title: "æå±ä»åº", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],} |
| | | { title: "æå±ä»åº", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],}, |
| | | { title: "ç©æç¼å·", field: "materielCode",type: "like",} |
| | | ], |
| | | ]); |
| | | const columns = ref([ |
| | |
| | | List<Dt_StockInfoDetail> stockInfoDetails = new List<Dt_StockInfoDetail>(); |
| | | foreach (var item in stockInfos) |
| | | { |
| | | foreach (var detail in item.Details) |
| | | { |
| | | // è¿è¡å®å
¨è½¬æ¢ |
| | | if (detail.OutboundQuantity != null && decimal.TryParse(detail.OutboundQuantity.ToString(), out decimal outboundDecimal)) |
| | | { |
| | | decimal outboundDecimal1 = Convert.ToDecimal(detail.OutboundQuantity); |
| | | } |
| | | else |
| | | { |
| | | detail.OutboundQuantity = 0; // é»è®¤å¼æè®°å½é误 |
| | | } |
| | | } |
| | | stockInfoDetails.AddRange(item.Details); |
| | | |
| | | } |
| | | _stockService.StockInfoDetailService.Repository.UpdateData(stockInfoDetails); |
| | | BaseDal.UpdateData(outboundOrderDetails); |
| | |
| | | using WIDESEA_DTO.Stock; |
| | | using SqlSugar; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Math; |
| | | |
| | | namespace WIDESEA_TaskInfoService |
| | | { |
| | |
| | | PalletType = stockInfo.PalletType, |
| | | WarehouseId = stockInfo.WarehouseId, |
| | | }; |
| | | string MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode; |
| | | float Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity); |
| | | if (MaterielCode != null && Quantity != null) |
| | | { |
| | | taskOut.MaterielCode = MaterielCode; |
| | | taskOut.Quantity = Quantity; |
| | | } |
| | | stockInfo.StockStatus = (int)StockStatusEmun.åºåºéå®; |
| | | LocationStatusEnum locationStatus = (LocationStatusEnum)locationInfo.LocationStatus; |
| | | locationInfo.LocationStatus = (int)LocationStatusEnum.Lock; |
| | |
| | | PalletType = stockInfo.PalletType, |
| | | WarehouseId = stockInfo.WarehouseId, |
| | | }; |
| | | string MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode; |
| | | float Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity); |
| | | if (MaterielCode != null && Quantity != null) |
| | | { |
| | | taskOut.MaterielCode = MaterielCode; |
| | | taskOut.Quantity = Quantity; |
| | | } |
| | | stockInfo.StockStatus = (int)StockStatusEmun.åºåºéå®; |
| | | LocationStatusEnum locationStatus = (LocationStatusEnum)locationInfo.LocationStatus; |
| | | locationInfo.LocationStatus = (int)LocationStatusEnum.Lock; |
| | |
| | | PalletType = stockInfo.PalletType, |
| | | WarehouseId = stockInfo.WarehouseId, |
| | | }; |
| | | string MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode; |
| | | float Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity); |
| | | if (MaterielCode != null && Quantity != null) |
| | | { |
| | | taskOut.MaterielCode = MaterielCode; |
| | | taskOut.Quantity = Quantity; |
| | | } |
| | | stockInfo.StockStatus = (int)StockStatusEmun.åºåºéå®; |
| | | LocationStatusEnum locationStatus = (LocationStatusEnum)locationInfo.LocationStatus; |
| | | locationInfo.LocationStatus = (int)LocationStatusEnum.Lock; |
| | |
| | | PalletType = stockInfo.PalletType, |
| | | WarehouseId = stockInfo.WarehouseId, |
| | | }; |
| | | string MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode; |
| | | float Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity); |
| | | if (MaterielCode != null && Quantity != null) |
| | | { |
| | | taskIn.MaterielCode = MaterielCode; |
| | | taskIn.Quantity = Quantity; |
| | | } |
| | | //æ´æ¹åºåç¶æ |
| | | stockInfo.StockStatus = StockStatusEmun.éåº.ObjToInt(); |
| | | BaseDal.AddData(taskIn); |
| | |
| | | TaskStatus = TaskStatusEnum.New.ObjToInt(), |
| | | WarehouseId = stockInfo.WarehouseId, |
| | | PalletType = stockInfo.PalletType, |
| | | MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode, |
| | | Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.StockQuantity, |
| | | }; |
| | | string MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode; |
| | | float Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity); |
| | | if (MaterielCode != null && Quantity != null) |
| | | { |
| | | newTask.MaterielCode = MaterielCode; |
| | | newTask.Quantity = Quantity; |
| | | } |
| | | LocationStatusEnum lastStatus = (LocationStatusEnum)locationInfo.LocationStatus; |
| | | _unitOfWorkManage.BeginTran(); |
| | | _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, lastStatus, LocationStatusEnum.Lock, LocationChangeType.InboundAssignLocation); |
| | |
| | | TaskStatus = TaskStatusEnum.New.ObjToInt(), |
| | | WarehouseId = stockInfo.WarehouseId, |
| | | PalletType = stockInfo.PalletType, |
| | | MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode, |
| | | Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.StockQuantity, |
| | | MaterielCode = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode, |
| | | Quantity = (float)stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity), |
| | | }; |
| | | //è·åæ¯å¦åå¨å
¥åºå |
| | | Dt_InboundOrder? inboundOrder = null; |
| | |
| | | TaskStatus = TaskStatusEnum.New.ObjToInt(), |
| | | WarehouseId = stockInfoPPorGM.WarehouseId, |
| | | PalletType = stockInfoPPorGM.PalletType, |
| | | TaskLength= stockInfoPPorGM.StockLength |
| | | TaskLength= stockInfoPPorGM.StockLength, |
| | | |
| | | }; |
| | | string MaterielCodeGMPP = stockInfoPPorGM.Details?.Where(x => x.StockId == stockInfoPPorGM.Id).FirstOrDefault()?.MaterielCode; |
| | | float QuantityGMPP = (float)stockInfoPPorGM.Details?.Where(x => x.StockId == stockInfoPPorGM.Id).Sum(x => x.StockQuantity); |
| | | if (MaterielCodeGMPP != null && QuantityGMPP != null) |
| | | { |
| | | newTaskPPorGM.MaterielCode = MaterielCodeGMPP; |
| | | newTaskPPorGM.Quantity = QuantityGMPP; |
| | | } |
| | | |
| | | //è·åæ¯å¦åå¨å
¥åºå |
| | | Dt_InboundOrder? inboundOrderPPorGM = null; |
| | |
| | | WarehouseId = stockInfo.WarehouseId, |
| | | PalletType = stockInfo.PalletType, |
| | | }; |
| | | string MaterielCode = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode; |
| | | float Quantity = (float)stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity); |
| | | if (MaterielCode != null && Quantity != null) |
| | | { |
| | | newTask.MaterielCode = MaterielCode; |
| | | newTask.Quantity = Quantity; |
| | | } |
| | | |
| | | //è·åæ¯å¦åå¨å
¥åºå |
| | | Dt_InboundOrder? inboundOrder = null; |
| | |
| | | } |
| | | else if (stockInfo.StockStatus == StockStatusEmun.æ£é宿.ObjToInt()) |
| | | { |
| | | stockInfo.StockStatus = StockStatusEmun.å
¥åºç¡®è®¤.ObjToInt(); |
| | | newTask.TaskType = TaskTypeEnum.InPick.ObjToInt(); |
| | | } |
| | | else |
| | |
| | | { |
| | | return WebResponseContent.Instance.Error($"该ç«ç¹å·²ææªæ§è¡çä»»å¡"); |
| | | } |
| | | |
| | | Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.QueryFirst(x => x.PalletCode == palletCode); |
| | | Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First(); |
| | | if (stockInfo == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°ç»çä¿¡æ¯"); |
| | |
| | | WarehouseId = stockInfo.WarehouseId, |
| | | PalletType = stockInfo.PalletType, |
| | | }; |
| | | |
| | | string MaterielCode = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode; |
| | | float Quantity = (float)stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity); |
| | | if (MaterielCode != null && Quantity != null) |
| | | { |
| | | newTask.MaterielCode = MaterielCode; |
| | | newTask.Quantity = (float)Quantity; |
| | | } |
| | | |
| | | if (stockInfo.StockStatus == StockStatusEmun.æå¨ç»çæå.ObjToInt()) |
| | | { |
| | |
| | | |
| | | string roadwayNo = AssignRoadwayNo(staions, palletCode, heightType); |
| | | |
| | | Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.QueryFirst(x => x.PalletCode == palletCode); |
| | | Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First(); |
| | | if (stockInfo == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°ç»çä¿¡æ¯"); |
| | |
| | | WarehouseId = stockInfo.WarehouseId, |
| | | PalletType = stockInfo.PalletType, |
| | | }; |
| | | |
| | | string MaterielCode = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode; |
| | | float Quantity = (float)stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity); |
| | | if (MaterielCode != null && Quantity != null) |
| | | { |
| | | newTask.MaterielCode = MaterielCode; |
| | | newTask.Quantity = Quantity; |
| | | } |
| | | if (stockInfo.StockStatus == StockStatusEmun.æå¨ç»çæå.ObjToInt()) |
| | | { |
| | | stockInfo.StockStatus = StockStatusEmun.æå¨ç»çå
¥åºç¡®è®¤.ObjToInt(); |
| | |
| | | TaskType = palletTypeInfo.LocaitonCount==2? (int)TaskTypeEnum.InZHProductLarge : (int)TaskTypeEnum.InZHProductSmall, |
| | | TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)), |
| | | PalletType = palletTypeInfo.PalletType, |
| | | WarehouseId = warehouse.WarehouseId |
| | | WarehouseId = warehouse.WarehouseId, |
| | | MaterielCode = mesLotInfo.Product, |
| | | Quantity = (float)mesLotInfo.Qty, |
| | | }; |
| | | _unitOfWorkManage.BeginTran(); |
| | | Db.InsertNav(stockInfo).Include(x => x.Details).ExecuteCommand(); |
| | |
| | | TaskStatus = TaskStatusEnum.New.ObjToInt(), |
| | | WarehouseId = warePoint.WarehouseId, |
| | | PalletType = proStockInfo.PalletType, |
| | | MaterielCode = proStockInfo.proStockInfoDetails.Where(x => x.ProStockId == proStockInfo.Id).FirstOrDefault()?.ProductCode, |
| | | Quantity = (float)proStockInfo.proStockInfoDetails.Where(x => x.ProStockId == proStockInfo.Id).Sum(x => x.StockPcsQty) |
| | | MaterielCode = proStockInfo.proStockInfoDetails?.Where(x => x.ProStockId == proStockInfo.Id).FirstOrDefault()?.ProductCode, |
| | | Quantity = (float)proStockInfo.proStockInfoDetails?.Where(x => x.ProStockId == proStockInfo.Id).Sum(x => x.StockPcsQty) |
| | | }; |
| | | _unitOfWorkManage.BeginTran(); |
| | | int taskId = BaseDal.AddData(newTask); |
| | |
| | | }; |
| | | if (taskType != TaskTypeEnum.OutEmpty) |
| | | { |
| | | task.MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode; |
| | | task.Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.StockQuantity; |
| | | task.MaterielCode = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode; |
| | | task.Quantity = (float)stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity); |
| | | } |
| | | if (stockInfo.StockLength>0) |
| | | { |
| | |
| | | import { |
| | | config |
| | | } from '../../common/config'; |
| | | import message from '../../tuniao-ui/libs/function/message'; |
| | | const innerAudioContext = uni.createInnerAudioContext(); |
| | | export default { |
| | | data() { |
| | |
| | | endTypeRange: [], |
| | | sns: "", |
| | | receiveOrderId: 0, |
| | | warehouseId:"" |
| | | warehouseId:"", |
| | | toastQueue: [], // æç¤ºéå |
| | | isShowingToast: false |
| | | } |
| | | }, |
| | | |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | showToast(options) { |
| | | this.toastQueue.push(options); |
| | | this.processToastQueue(); |
| | | }, |
| | | |
| | | // å¤çæç¤ºéå |
| | | processToastQueue() { |
| | | // 妿æ£å¨æ¾ç¤ºæç¤ºæéå为空ï¼å䏿§è¡ |
| | | if (this.isShowingToast || this.toastQueue.length === 0) return; |
| | | |
| | | this.isShowingToast = true; |
| | | const toastOptions = this.toastQueue.shift(); |
| | | |
| | | // æ¾ç¤ºæç¤º |
| | | this.$refs.uToast.show({ |
| | | ...toastOptions, |
| | | complete: () => { |
| | | // æç¤ºå
³éåå¤çä¸ä¸ä¸ª |
| | | this.isShowingToast = false; |
| | | this.processToastQueue(); |
| | | } |
| | | }); |
| | | }, |
| | | inputDialogToggle(itemCode) { |
| | | this.itemCode = itemCode; |
| | | this.$refs.inputDialog.open() |
| | |
| | | }); |
| | | }, |
| | | submit() { |
| | | if (this.sns == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·æ«æå
ç®±æ ç¾", |
| | | type: 'error' |
| | | // æåçäº§æ¥æï¼æ ¼å¼ä¸º"çäº§æ¥æï¼YYYY-MM"ï¼ |
| | | const productionDateStr = this.ProductionDate.replace('çäº§æ¥æï¼', ''); |
| | | if (!productionDateStr) { |
| | | this.showToast({ |
| | | title: "æªè·åå°çäº§æ¥æ", |
| | | type: 'error' |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | // è§£æçäº§æ¥æçå¹´æ |
| | | const [prodYear, prodMonth] = productionDateStr.split('-').map(Number); |
| | | |
| | | // è·åå½åæ¥æçå¹´æ |
| | | const currentDate = new Date(); |
| | | const currentYear = currentDate.getFullYear(); |
| | | const currentMonth = currentDate.getMonth() + 1; |
| | | |
| | | // æ¯è¾å¹´ææ¯å¦ä¸è´ |
| | | const isDateMismatch = prodYear !== currentYear || prodMonth !== currentMonth; |
| | | if (isDateMismatch) { |
| | | this.showToast({ |
| | | title: "è¯¥ç©æçäº§æ¥æçå¹´æä¸å½åå¹´æä¸ä¸è´", |
| | | type: 'warning', |
| | | duration: 1500 |
| | | }); |
| | | } |
| | | |
| | | // åæç确认æ¶è´§é»è¾ |
| | | if (this.sns == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "è¯·æ«æå
ç®±æ ç¾", |
| | | type: 'error' |
| | | }) |
| | | return; |
| | | } |
| | | if (this.Quantity == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "请è¾å
¥å®é
æ°é", |
| | | type: 'error' |
| | | }) |
| | | return; |
| | | } |
| | | if(this.warehouseId==2){ |
| | | //æ¿æ¢æå®ä¸¤ä¸ªå符é´çå符 |
| | | this.sns = this.sns.replace(/(Q:)([^,PO]+)(,PO)/, (match, p1, p2, p3) => { |
| | | return p1 + this.Quantity + p3; |
| | | }); |
| | | } |
| | | const sendRequest = () => { |
| | | this.$u.post('/api/ReceiveOrderDetail/AddReceiveOrderDetail?serNum=' + this.sns + '&orderNo=' + this |
| | | .orderNo, {}).then(res => { |
| | | if (res.status) { |
| | | this.PurchaseOrderNo="éè´åå·ï¼"; |
| | | this.matCode="ç©æç¼ç ï¼"; |
| | | this.LotNo="ç©ææ¹æ¬¡ï¼"; |
| | | this.orderQty="è®¢åæ°éï¼"; |
| | | this.ProductionDate="çäº§æ¥æï¼"; |
| | | this.EffectiveDate="æææ¥æï¼"; |
| | | this.Quantity=""; |
| | | setTimeout(() => { |
| | | this.innerCode=""; |
| | | this.focus=false; |
| | | }, 100); |
| | | this.orderInfo=[]; |
| | | this.sns = ""; |
| | | this.$refs.uToast.show({ |
| | | title:"确认æ¶è´§æå", |
| | | type: "success" |
| | | }) |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }) |
| | | return; |
| | | |
| | | }; |
| | | // å¦æææ¥æä¸å¹é
æç¤ºï¼çå¾
æç¤ºå®æååéè¯·æ± |
| | | if (isDateMismatch) { |
| | | setTimeout(sendRequest, 1500); // çå¾
1.5ç§ï¼ä¸æç¤ºæ¶é¿ä¸è´ï¼ |
| | | } else { |
| | | sendRequest(); // æ²¡ææ¥ææç¤ºï¼ç«å³åéè¯·æ± |
| | | } |
| | | if (this.Quantity == "") { |
| | | this.$refs.uToast.show({ |
| | | title: "请è¾å
¥å®é
æ°é", |
| | | type: 'error' |
| | | }) |
| | | return; |
| | | } |
| | | if(this.warehouseId==2){ |
| | | //æ¿æ¢æå®ä¸¤ä¸ªå符é´çå符 |
| | | this.sns = this.sns.replace(/(Q:)([^,PO]+)(,PO)/, (match, p1, p2, p3) => { |
| | | return p1 + this.Quantity + p3; |
| | | }); |
| | | } |
| | | this.$u.post('/api/ReceiveOrderDetail/AddReceiveOrderDetail?serNum=' + this.sns + '&orderNo=' + this |
| | | .orderNo, {}).then(res => { |
| | | if (res.status) { |
| | | this.PurchaseOrderNo="éè´åå·ï¼"; |
| | | this.matCode="ç©æç¼ç ï¼"; |
| | | this.LotNo="ç©ææ¹æ¬¡ï¼"; |
| | | this.orderQty="è®¢åæ°éï¼"; |
| | | this.ProductionDate="çäº§æ¥æï¼"; |
| | | this.EffectiveDate="æææ¥æï¼"; |
| | | this.Quantity=""; |
| | | setTimeout(() => { |
| | | this.innerCode=""; |
| | | this.focus=false; |
| | | }, 100); |
| | | this.orderInfo=[]; |
| | | this.sns = ""; |
| | | this.$refs.uToast.show({ |
| | | title: "确认æ¶è´§æå", |
| | | type: "success" |
| | | }) |
| | | } else { |
| | | this.$refs.uToast.show({ |
| | | title: res.message, |
| | | type: "error" |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | submit1() { |
| | | this.$u.post('/api/ReceiveOrder/FeedbackReceiveOrder?orderId=' + this |