yanjinhui
2025-12-01 2b49f7643d15b74889d190f216630559006ed93a
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Check.cs
@@ -1,10 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Common;
using WIDESEA_Common.OrderEnum;
using WIDESEA_Common;
using WIDESEA_Common.StockEnum;
using WIDESEA_Common.TaskEnum;
using WIDESEA_Common.WareHouseEnum;
@@ -12,7 +6,6 @@
using WIDESEA_Core.Enums;
using WIDESEA_Core.Helper;
using WIDESEA_Model.Models;
using static WIDESEA_DTO.SquareCabin.OrderDto;
namespace WIDESEA_SquareCabinServices
{
@@ -102,6 +95,7 @@
                                    LocationCode = inventory.LocationCode,
                                    OrderNo = deliveryOrder.Out_no,
                                    StockQuantity = inventory.StockQuantity,
                                    Modifier= inventory.ValidityPeriod,//效期
                                    SupplyQuantity = 0,
                                    Remark = "盘点"
                                };
@@ -176,6 +170,35 @@
        /// </summary>
        /// <param name="saveModel"></param>
        /// <returns></returns>
        //public WebResponseContent CheckOutTasks(SaveModel saveModel)
        //{
        //    WebResponseContent content = new WebResponseContent();
        //    try
        //    {
        //        int pageNo = saveModel.MainData["pageNo"].ObjToInt();
        //        string LocationCode = saveModel.MainData["locationCode"].ToString();
        //        string warehouseCode = saveModel.MainData["warehouseId"].ToString();
        //        string orderNo = saveModel.MainData["orderNo"].ToString();
        //        bool isCheck = saveModel.MainData["isCheck"].ObjToBool();
        //        var TaskStatus = isCheck ? SupplyStatusEnum.NewCheck.ObjToInt() : SupplyStatusEnum.NewOut.ObjToInt();
        //        List<Dt_SupplyTask> supplyTasks = new List<Dt_SupplyTask>();
        //        if (string.IsNullOrEmpty(LocationCode))
        //        {
        //            supplyTasks = Db.Queryable<Dt_SupplyTask>().Where(x => x.TaskStatus == TaskStatus && x.OrderNo == orderNo && x.WarehouseCode == warehouseCode).ToPageList(pageNo, 5);
        //        }
        //        else
        //        {
        //            supplyTasks = Db.Queryable<Dt_SupplyTask>().Where(x => x.TaskStatus == TaskStatus && x.OrderNo == orderNo && x.WarehouseCode == warehouseCode && x.LocationCode.Contains(LocationCode)).ToPageList(pageNo, 5);
        //        }
        //        content.OK(data: supplyTasks);
        //    }
        //    catch (Exception ex)
        //    {
        //        content.Error(ex.Message);
        //    }
        //    return content;
        //}
        public WebResponseContent CheckOutTasks(SaveModel saveModel)
        {
            WebResponseContent content = new WebResponseContent();
@@ -187,15 +210,47 @@
                string orderNo = saveModel.MainData["orderNo"].ToString();
                bool isCheck = saveModel.MainData["isCheck"].ObjToBool();
                var TaskStatus = isCheck ? SupplyStatusEnum.NewCheck.ObjToInt() : SupplyStatusEnum.NewOut.ObjToInt();
                List<Dt_SupplyTask> supplyTasks = new List<Dt_SupplyTask>();
                if (string.IsNullOrEmpty(LocationCode))
                // ä½¿ç”¨è”表查询获取物料详细信息
                var query = Db.Queryable<Dt_SupplyTask>()
                    .LeftJoin<Dt_MaterielInfo>((task, materiel) => task.MaterielCode == materiel.MaterielCode)
                    .Where((task, materiel) => task.TaskStatus == TaskStatus && task.OrderNo == orderNo && task.WarehouseCode == warehouseCode);
                if (!string.IsNullOrEmpty(LocationCode))
                {
                    supplyTasks = Db.Queryable<Dt_SupplyTask>().Where(x => x.TaskStatus == TaskStatus && x.OrderNo == orderNo && x.WarehouseCode == warehouseCode).ToPageList(pageNo, 5);
                    query = query.Where((task, materiel) => task.LocationCode.Contains(LocationCode));
                }
                else
                // é€‰æ‹©éœ€è¦çš„字段
                var supplyTasks = query.Select((task, materiel) => new
                {
                    supplyTasks = Db.Queryable<Dt_SupplyTask>().Where(x => x.TaskStatus == TaskStatus && x.OrderNo == orderNo && x.WarehouseCode == warehouseCode && x.LocationCode.Contains(LocationCode)).ToPageList(pageNo, 5);
                }
                    // ä»»åŠ¡è¡¨å­—æ®µ
                    task.TaskId,
                    task.TaskNum,
                    task.PalletCode,
                    task.BatchNo,
                    task.MaterielCode,
                    task.MaterielName,
                    task.MaterielSpec,//物料规格
                    task.TaskType,
                    task.TaskStatus,
                    task.WarehouseCode,
                    task.LocationCode,
                    task.StockQuantity,
                    task.SupplyQuantity,
                    task.OrderNo,
                    task.Dispatchertime,
                    task.Remark,
                    task.Modifier,//效期
                    // ç‰©æ–™è¡¨å­—段
                    item = materiel.item, // å“å/通用名
                    Factory = materiel.Factory, // ç”Ÿäº§åނ家
                    MaterielUnit = materiel.MaterielUnit, // åŸºæœ¬å•位
                    MaterielModel = materiel.MaterielModel, // ç‰©æ–™åž‹å·
                    MaterielStoragecondition = materiel.MaterielStoragecondition, // å­˜å‚¨æ¡ä»¶ï¼ˆå¯ç”¨äºŽæ•ˆæœŸç›¸å…³ï¼‰
                })
                .ToPageList(pageNo, 5);
                content.OK(data: supplyTasks);
            }
            catch (Exception ex)