| | |
| | | using DocumentFormat.OpenXml.Presentation; |
| | | using Dm.filter; |
| | | using DocumentFormat.OpenXml.Presentation; |
| | | using Elastic.Clients.Elasticsearch; |
| | | using Furion.Logging; |
| | | using Newtonsoft.Json; |
| | |
| | | Qty = item.Qty, |
| | | TaskType = (TaskTypeEnum)item.TaskType, |
| | | CreateTime = DateTime.Now, |
| | | Status = TaskStatusEnum.Wait, |
| | | }; |
| | | _db.Insertable(orderAdd).ExecuteCommand(); |
| | | //} |
| | |
| | | /// <summary> |
| | | /// WCS接受赋码系统推送的结批总数量 |
| | | /// </summary> |
| | | /// <param name="models">箱码信息</param> |
| | | /// <param name="models">结批数量信息</param> |
| | | /// <returns>反馈信息</returns> |
| | | [HttpPost] |
| | | [AllowAnonymous] |
| | | public ResponseFuMaModel HttpTotalNum(FumaBoxInfoInput models) |
| | | public ResponseFuMaModel HttpTotalNum(FumaJiepiModel models) |
| | | { |
| | | |
| | | try |
| | | { |
| | | string str = JsonConvert.SerializeObject(models); |
| | | Log.Information("接收赋码推送的结批总数量:" + str); |
| | | var num = _db.Queryable<WcsBoxInfo>().Where(m => m.BoxNo == models.BoxNo && m.IsDelete == false).ToList(); |
| | | if (num.Count > 0) |
| | | Log.Information("接收赋码推送的完工结批总数量:" + str); |
| | | //查看赋码下发的任务信息是否正在分拣 |
| | | var num = _db.Queryable<WcsCheckTask>().Where(m => m.SkuNo == models.SkuNo &&m.LotNo == models.LotNo && m.Status == "1").ToList(); |
| | | if (num.Count < 1) |
| | | { |
| | | //WCS存在箱码信息,更新箱码信息(需判断箱码是否已组盘入库) |
| | | var num2 = num.Count(m => m.Status != "0" || !string.IsNullOrWhiteSpace(m.PalletNo)); |
| | | if (num2 > 0) |
| | | { |
| | | throw new Exception("该箱已盘入库,不可更新信息"); |
| | | } |
| | | } |
| | | if (num.Count == 0) |
| | | { |
| | | throw new Exception("未找到该箱码,箱码移除失败!"); |
| | | return new ResponseFuMaModel() { Success = "-1", Message = "该批次未进行分拣或已结批" }; |
| | | } |
| | | |
| | | _db.Deleteable(num).ExecuteCommand(); |
| | | return new ResponseFuMaModel() { Success = "0", Message = "移除箱码成功" }; |
| | | //获取包装数量 |
| | | int Fqty = int.Parse(models.FinishQty); |
| | | var boxinfolog = _db.Queryable<WcsBoxInfoLog>().Where(m => m.SkuNo == models.SkuNo && m.LotNo == models.LotNo && m.BitBoxMark == "0").First(); |
| | | if (boxinfolog == null) |
| | | { |
| | | var boxinfo = _db.Queryable<WcsBoxInfo>().Where(m => m.SkuNo == models.SkuNo && m.LotNo == models.LotNo && m.BitBoxMark == "0").First(); |
| | | Fqty = (int)(Fqty /boxinfo.QtyCount); |
| | | } |
| | | else |
| | | { |
| | | Fqty = (int)(Fqty / boxinfolog.QtyCount); |
| | | } |
| | | |
| | | //写入该任务完成数量 |
| | | foreach (var item in num) |
| | | { |
| | | item.FinishQty = Fqty; |
| | | } |
| | | _db.Updateable(num).ExecuteCommand(); |
| | | |
| | | return new ResponseFuMaModel() { Success = "0", Message = "接受完工结批数量成功" }; |
| | | } |
| | | catch (Exception ex) |
| | | { |