wangxinhui
2025-01-10 de5761174d24acd3cdb4ac62b128bb3e3ba91d52
合并代码,拣选更新,前端优化
已删除1个文件
已修改18个文件
已添加3个文件
251 ■■■■ 文件已修改
代码管理/WMS/WIDESEA_WMSClient/public/webconfig.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/api/http.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/SelectedStock.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/router/viewGird.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/Index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/Login.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/basic/locationInfo.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/outbound/mesOutboundOrder.vue 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSClient/src/views/stock/stockView.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0b9c1ceb-8251-465b-9731-71c408afb4eb.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/157ae1fd-6c00-4a8d-bfe7-e0b23990d57b.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/872f6857-ecdf-4715-ac7a-765ab4769441.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/StockViewDTO.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutStockLockInfoService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService_Pick.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_UserService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/MesOutboundOrderController.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutStockLockInfoController.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/public/webconfig.js
@@ -1,3 +1,4 @@
window.webConfig = {
    "webApiBaseUrl":"http://127.0.0.1:9293/" //"http://10.30.4.92:9283/"
    "webApiBaseUrl": "http://127.0.0.1:9293/",
    "webApiProduction":"http://10.30.4.92:9283/"
}
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/api/http.js
@@ -19,7 +19,7 @@
}
else if (process.env.NODE_ENV == 'production') {
    axios.defaults.baseURL = window.webConfig.webApiBaseUrl;
    axios.defaults.baseURL = window.webConfig.webApiProduction;
}
if (!axios.defaults.baseURL.endsWith('/')) {
    axios.defaults.baseURL+="/";
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/SelectedStock.vue
@@ -182,7 +182,18 @@
          "查询中"
        )
        .then((x) => {
          this.tableData = x;
          var label=[
              { label: '已分配', value: 0 },
              { label: '出库中', value: 1 },
              { label: '出库完成', value: 2 },
              { label: '拣选完成', value: 3 },
              { label: '撤销', value: 99 }
          ]
          this.tableData=x.map((i) => ({
            ...i,
            status:label.find((j) => j.value === i.status).label
          }))
        });
    },
  },
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/router/viewGird.js
@@ -176,6 +176,11 @@
    name: 'userInfo',
    component: () => import('@/views/basic/userInfo.vue')
  }
  , {
    path: '/mesOutboundOrder',
    name: 'mesOutboundOrder',
    component: () => import('@/views/outbound/mesOutboundOrder.vue')
  }
]
export default viewgird
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/Index.vue
@@ -598,13 +598,14 @@
      let _userInfo = store.getters.getUserInfo();
      if (_userInfo) {
        userName.value = _userInfo.userName;
        console.log(_userInfo);
        userName.value = _userInfo.trueNmae;
        if (_userInfo.img) {
          userImg.value = _config.base.getImgSrc(_userInfo.img, http.ipAddress);
        }
      }
      createSocket("ws://127.0.0.1:9295/" + _userInfo.userName);
      createSocket("ws://127.0.0.1:9296/" + _userInfo.userName);
      Object.assign(_config.$tabs, { open: open, close: close });
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/Login.vue
@@ -117,9 +117,9 @@
    const loading = ref(false);
    const codeImgSrc = ref("");
    const userInfo = reactive({
      userName: "admin",
      password: "123456",
      verificationCode: "1234",
      userName: "",
      password: "",
      verificationCode: "",
      UUID: undefined,
    });
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/basic/locationInfo.vue
@@ -47,7 +47,7 @@
    const searchFormOptions = ref([
      [
        { title: "货位编号", field: "locationCode", type: "like" },
        { title: "巷道编号", field: "roadwayNo" },
        { title: "巷道编号", field: "roadwayNo",type:"like" },
        { title: "货位类型", field: "locationType",type: "select",dataKey: "locationTypeEnum",data: [], },
        { title: "禁用状态", field: "enableStatus" ,type: "select",dataKey: "enableStatusEnum",data: [],},
      ],
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/outbound/mesOutboundOrder.vue
@@ -27,73 +27,21 @@
        sortName: "id",
      });
      const editFormFields = ref({
        deviceCode: "",
        deviceName: "",
        deviceType: "",
        deviceStatus: "",
        deviceIp: "",
        devicePort: "",
        devicePlcType: "",
        deviceRemark: "",
      });
      const editFormOptions = ref([
        [
          {
            title: "设备编号",
            required: true,
            field: "deviceCode",
            type: "string",
          },
          {
            title: "设备名称",
            required: true,
            field: "deviceName",
            type: "string",
          },
          {
            title: "设备类型",
            required: true,
            field: "deviceType",
            type: "string",
          },
          {
            title: "设备状态",
            required: true,
            field: "deviceStatus",
            type: "string",
          },
        ],
        [
          { title: "设备IP", required: true, field: "deviceIp", type: "string" },
          {
            title: "设备端口",
            required: true,
            field: "devicePort",
            type: "string",
          },
          {
            title: "PLC类型",
            required: true,
            field: "devicePlcType",
            type: "string",
          },
          {
            title: "备注",
            field: "deviceRemark",
            type: "string",
          },
        ],
      ]);
      const searchFormFields = ref({
        deviceCode: "",
        deviceType: "",
        deviceStatus: "",
        orderNo: "",
        materialCode: "",
        batchNo: "",
      });
      const searchFormOptions = ref([
        [
          { title: "设备编号", field: "deviceCode" },
          { title: "设备类型", field: "deviceType" },
          { title: "设备状态", field: "deviceStatus" },
          { title: "单据编号", field: "orderNo", type:"like" },
          { title: "物料编号", field: "materialCode" ,type:"like"},
          { title: "批次号", field: "batchNo" ,type:"like"},
        ],
      ]);
      const columns = ref([
@@ -107,23 +55,23 @@
          align: "left",
        },
        {
          field: "orderId",
          title: "出库单主键",
          field: "warehouseId",
          title: "所属仓库",
          type: "string",
          width: 90,
          width: 80,
          align: "left",
          hidden: true,
          bind: { key: "warehouses", data: [] },
        },
        {
          field: "materielCode",
          title: "物料编号",
          field: "orderNo",
          title: "单据编号",
          type: "string",
          width: 150,
          align: "left",
        },
        {
          field: "materielName",
          title: "物料名称",
          field: "taskNo",
          title: "任务单号",
          type: "string",
          width: 150,
          align: "left",
@@ -136,64 +84,80 @@
          align: "left",
        },
        {
          field: "orderQuantity",
          field: "OrderStatus",
          title: "单据数量",
          type: "string",
          width: 90,
          align: "left",
          bind: { key: "orderDetailStatusEnum", data: [] }
        },
        {
          field: "lockQuantity",
          title: "锁定数量",
          type: "int",
          field: "createType",
          title: "创建方式",
          type: "string",
          width: 120,
          align: "left",
          bind: { key: "createType", data: [] },
        },
        {
          field: "overOutQuantity",
          title: "已出数量",
          field: "materialCode",
          title: "物料编号",
          type: "string",
          width: 200,
          align: "left",
        },
        {
          field: "orderDetailStatus",
          title: "订单明细状态",
          field: "materialName",
          title: "物料名称",
          type: "string",
          width: 180,
          align: "left",
        },
        {
          field: "creater",
          title: "创建人",
          field: "unit",
          title: "单位",
          type: "string",
          width: 90,
          align: "left",
        },
        {
          field: "createDate",
          title: "创建时间",
          field: "orderQuantity",
          title: "单据数量",
          type: "datetime",
          width: 160,
          align: "left",
        },
        {
          field: "modifier",
          title: "修改人",
          field: "lockQuantity",
          title: "锁定数量",
          type: "string",
          width: 100,
          align: "left",
        },
        {
          field: "modifyDate",
          title: "修改时间",
          field: "overOutQuantity",
          title: "已出数量",
          type: "datetime",
          width: 160,
          align: "left",
        },
        {
          field: "remark",
          title: "备注",
          field: "line",
          title: "线体",
          type: "string",
          width: 100,
          align: "left",
        },
        {
          field: "targetAddressCode",
          title: "线边仓地址码",
          type: "string",
          width: 100,
          align: "left",
        },
        {
          field: "width",
          title: "裁切宽",
          type: "string",
          width: 100,
          align: "left",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSClient/src/views/stock/stockView.vue
@@ -50,7 +50,7 @@
      [
        { title: "物料编号", field: "materielCode",type: "like"},
        { title: "批次号", field: "batchNo",type: "like"},
        { title: "所属仓库", field: "warehouseId",type: "selectList",dataKey: "warehouse",data: [],},
        { title: "所属仓库", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],},
      ],
    ]);
    const columns = ref([
@@ -73,14 +73,6 @@
        align: "left",
      },
      {
          field: "warehouseId",
          title: "仓库",
          type: "string",
          width: 100,
          align: "left",
          bind: { key: "warehouses", data: [] },
      },
      {
        field: "locationCode",
        title: "货位编号",
        type: "string",
@@ -100,7 +92,7 @@
        type: "string",
        width: 80,
        align: "left",
        bind: { key: "warehouse", data: [] },
        bind: { key: "warehouses", data: [] },
      },
      {
        field: "roadwayNo",
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0b9c1ceb-8251-465b-9731-71c408afb4eb.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/157ae1fd-6c00-4a8d-bfe7-e0b23990d57b.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/872f6857-ecdf-4715-ac7a-765ab4769441.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/StockViewDTO.cs
@@ -45,11 +45,6 @@
        public int Layer { get; set; }
        /// <summary>
        /// åº“区主键
        /// </summary>
        public int WarehouseId {  get; set; }
        /// <summary>
        /// è´§ä½æ·±åº¦
        /// </summary>
        public int Depth { get; set; }
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutStockLockInfoService.cs
@@ -56,7 +56,7 @@
        /// <param name="orderDetailId"></param>
        /// <param name="outStockStatus"></param>
        /// <returns></returns>
        List<Dt_OutStockLockInfo> GetByOrderDetailId(int orderDetailId, OutLockStockStatusEnum outStockStatus);
        List<Dt_OutStockLockInfo> GetByOrderDetailId(int orderDetailId, OutLockStockStatusEnum? outStockStatus);
        /// <summary>
        /// 
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService.cs
@@ -110,9 +110,9 @@
            return outStockLockInfo;
        }
        public List<Dt_OutStockLockInfo> GetByOrderDetailId(int orderDetailId, OutLockStockStatusEnum outStockStatus)
        public List<Dt_OutStockLockInfo> GetByOrderDetailId(int orderDetailId, OutLockStockStatusEnum? outStockStatus)
        {
            return BaseDal.QueryData(x => x.OrderDetailId == orderDetailId && x.Status == outStockStatus.ObjToInt());
            return BaseDal.QueryData(x => x.OrderDetailId == orderDetailId && outStockStatus==null?true:x.Status == outStockStatus.ObjToInt());
        }
        public List<Dt_OutStockLockInfo> GetStockOutboundOrder(SaveModel saveModel)
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService_Pick.cs
@@ -42,7 +42,6 @@
                    outStockLockInfos[i].Status = OutLockStockStatusEnum.拣选完成.ObjToInt();
                }
                List<Dt_StockInfoDetail> beforeDetaile = stockInfo.Details.GroupBy(x => x.MaterielCode).Select(x => new Dt_StockInfoDetail { MaterielCode = x.Key, StockQuantity = x.Sum(v => v.StockQuantity) }).ToList();
                List<Dt_StockInfoDetail> updateDetailList = new List<Dt_StockInfoDetail>();
                List<Dt_StockInfoDetail> deleteDetailList = new List<Dt_StockInfoDetail>();
                for (int i = 0; i < stockInfo.Details.Count; i++)
@@ -73,7 +72,14 @@
                });
                stockInfo.StockStatus = StockStatusEmun.手动组盘入库确认.ObjToInt();
                //_stockService.StockInfoDetailService.Repository.DeleteAndMoveIntoHty(deleteDetailList, OperateTypeEnum.自动完成);
                _stockService.StockInfoService.Repository.UpdateData(stockInfo);
                if (stockInfo.Details.Sum(x=>x.StockQuantity)== stockInfo.Details.Sum(x => x.OutboundQuantity))
                {
                    _stockService.StockInfoService.Repository.DeleteData(stockInfo);
                }
                else
                {
                    _stockService.StockInfoService.Repository.UpdateData(stockInfo);
                }
                _stockService.StockInfoDetailService.Repository.UpdateData(updateDetailList);
                _stockService.StockInfoDetailService.Repository.DeleteData(deleteDetailList);
                BaseDal.UpdateData(outStockLockInfos);
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs
@@ -296,7 +296,7 @@
                        Deptno = outboundOrder.DepartmentCode,
                        Deptname = outboundOrder.DepartmentName,
                        Createtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                        Createuser = outboundOrder.Creater,
                        Createuser = outStockLockInfos.FirstOrDefault().Creater,
                        Issitem = new List<ERPIssueItemModel>() { issueItemModel },
                    };
                }
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs
@@ -89,7 +89,6 @@
                    Depth = a.Depth,
                    EnalbeStatus = a.EnableStatus,
                    Layer = a.Layer,
                    WarehouseId = b.WarehouseId,
                    LocationName = a.LocationName,
                    LocationStatus = a.LocationStatus,
                    LocationType = a.LocationType,
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_UserService.cs
@@ -75,7 +75,7 @@
                    _cacheService.AddOrUpdate(user.UserId.ToString(), token);
                    content = WebResponseContent.Instance.OK(data: new { token, userName = user.UserName, img = user.HeadImageUrl });
                    content = WebResponseContent.Instance.OK(data: new { token, userName = user.UserName, img = user.HeadImageUrl,trueNmae=user.UserTrueName });
                }
                else
                {
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -205,16 +205,13 @@
                Dt_InboundOrder? inboundOrder = _inboundRepository.InboundOrderRepository.Db.Queryable<Dt_InboundOrder>().Where(x => x.InboundOrderNo == stockInfo.Details.FirstOrDefault().OrderNo).Includes(x => x.Details).First();
                List<Dt_InboundOrderDetail> inboundOrderDetails = new List<Dt_InboundOrderDetail>();
                List<ERPInboundDetailModel> detailModels = new List<ERPInboundDetailModel>();
                if (stockInfo.StockStatus == StockStatusEmun.入库确认.ObjToInt())
                {
                    //推送入库完成给Erp
                    if (inboundOrder == null)
                    {
                        return WebResponseContent.Instance.Error($"对应入库单不存在");
                    }
                    List<ERPInboundDetailModel> detailModels = new List<ERPInboundDetailModel>();
                    foreach (var item in stockInfo.Details)
                    {
                        Dt_InboundOrderDetail? inboundOrderDetail = inboundOrder.Details.FirstOrDefault(x => x.RowNo == item.InboundOrderRowNo);
@@ -251,10 +248,7 @@
                    {
                        inboundOrder.OrderStatus = InOrderStatusEnum.入库完成.ObjToInt();
                    }
                    if (!_inboundOrderService.FeedbackInboundOrder(stockInfo, inboundOrder, detailModels).Status)//todo ä¿®æ”¹å¤„理
                    {
                        return WebResponseContent.Instance.Error($"入库同步Erp失败");
                    }
                }
                if ((stockInfo.StockStatus == StockStatusEmun.入库确认.ObjToInt() || stockInfo.StockStatus == StockStatusEmun.手动组盘入库确认.ObjToInt()) && warehouse.WarehouseCode == WarehouseEnum.HA64.ToString())
@@ -294,6 +288,10 @@
                    _inboundRepository.InboundOrderRepository.UpdateData(inboundOrder);
                }
                _unitOfWorkManage.CommitTran();
                if (stockInfo.StockStatus == StockStatusEmun.入库确认.ObjToInt())
                {
                    _inboundOrderService.FeedbackInboundOrder(stockInfo, inboundOrder, detailModels);
                }
                return WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/MesOutboundOrderController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
using Autofac.Core;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using WIDESEA_Core;
using WIDESEA_Core.BaseController;
using WIDESEA_DTO.Inbound;
using WIDESEA_DTO.Outbound;
using WIDESEA_IOutboundService;
using WIDESEA_Model.Models;
namespace WIDESEA_WMSServer.Controllers.Outbound
{
    /// <summary>
    /// MES出库单
    /// </summary>
    [Route("api/mesOutboundOrder")]
    [ApiController]
    public class MesOutboundOrderController : ApiBaseController<IMesOutboundOrderService, Dt_MesOutboundOrder>
    {
        public MesOutboundOrderController(IMesOutboundOrderService service) : base(service)
        {
        }
    }
}
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutStockLockInfoController.cs
@@ -39,5 +39,10 @@
        {
            return Service.MaterialPick(palletCode);
        }
        [HttpPost, HttpGet, Route("GetByOrderDetailId"), AllowAnonymous]
        public List<Dt_OutStockLockInfo> GetByOrderDetailId(int orderDetailId)
        {
            return Service.GetByOrderDetailId(orderDetailId,null);
        }
    }
}