dengjunjie
5 天以前 26699e9ed72a2789541fa05a1005615cbb8e25de
优化抓取ERP数据
已修改6个文件
111 ■■■■ 文件已修改
新建文件夹/WIDESEA_WMSServer/ClassLibrary2/MaterielInfoService.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/NewBusiness.cs 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Check.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
新建文件夹/WMS/src/extension/outbound/outboundOrder.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
新建文件夹/WMS/src/extension/stock/Dt_Inventory_Batch.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
н¨Îļþ¼Ð/WIDESEA_WMSServer/ClassLibrary2/MaterielInfoService.cs
@@ -44,12 +44,13 @@
                    // é»˜è®¤æŸ¥è¯¢è¿‡åŽ»24小时的数据
                    SearchDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                }
                string getDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                // è¯·æ±‚参数
                var requestData = new
                {
                    searchDate = SearchDate
                };
                SearchDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                // å‘起请求
                var result = HttpHelper.Post(url, requestData.ToJsonString());
@@ -64,6 +65,7 @@
                }
                if (response.data.Count < 1)
                {
                    SearchDate = getDate;
                    return responseContent.OK("无新药品数据");
                }
@@ -98,7 +100,7 @@
                }).ToList();
                // ä¸€æ¬¡æ€§æ‰¹é‡æ’入数据库
                BaseDal.AddData(entityList);
                SearchDate = getDate;
                //ProductSynchronous();
                return responseContent.OK("同步成功");
            }
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs
@@ -60,6 +60,11 @@
            _materielInfoService = materielInfoService;
            _locationInfoService = locationInfoService;
        }
        public override WebResponseContent UpdateData(SaveModel saveModel)
        {
            return base.UpdateData(saveModel);
        }
        #region åˆ›å»ºå‡ºåº“单
        /// <summary>
        /// åˆ›å»ºå‡ºåº“单
@@ -431,7 +436,9 @@
                            if (orderDetailLK != null)
                            {
                                #region æ·»åŠ å‡ºåº“ä»»åŠ¡ã€ä¿®æ”¹åº“å­˜ä¿¡æ¯
                                Dt_InventoryInfo inventoryInfo = dt_InventoryInfos.Where(x => x.WarehouseCode == WareCodeLK).First();
                                Dt_InventoryInfo? inventoryInfo = dt_InventoryInfos.FirstOrDefault(x => x.WarehouseCode == WareCodeLK);
                                if (inventoryInfo == null)
                                    throw new Exception($"未找到物料编号【{detail.goods_no}】在立库中的库存信息");
                                inventoryInfo.AvailableQuantity -= orderDetailLK.Order_qty;
                                inventoryInfo.OutboundQuantity += orderDetailLK.Order_qty;
                                Dt_SupplyTask supplyTask = new Dt_SupplyTask()
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/NewBusiness.cs
@@ -23,24 +23,35 @@
            try
            {
                var url = "http://121.37.118.63:80/GYZ2/95fck/inOrder";
                string GetOutOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                if (string.IsNullOrEmpty(SearchInOrderDate)) SearchInOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                var requestData = new { searchDate = SearchInOrderDate };
                SearchInOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                //SearchInOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                var result = HttpHelper.Post(url, requestData.ToJsonString());
                var response = JsonConvert.DeserializeObject<UpstreamResponse<UpstreamOrderInfo>>(result);
                if (response == null || response.resultCode != "0") return content;
                if (response.data.Count < 1) return content;
                if (response.data.Count < 1)
                {
                    SearchInOrderDate = GetOutOrderDate;
                    return content;
                }
                var ordernos = response.data.Select(x => x.order_no).ToList();
                var existingOrderNos = _cabinOrderServices.Repository.QueryData(x => ordernos.Contains(x.Order_no)).Select(x => x.Order_no).Distinct().ToList();
                var newOrders = response.data.Where(order => !existingOrderNos.Contains(order.order_no)).ToList();
                if (newOrders.Count < 1) return content;
                if (newOrders.Count < 1)
                {
                    SearchInOrderDate = GetOutOrderDate;
                    return content;
                }
                int messQty = 0;
                foreach (var order in newOrders)
                {
                    try
                    {
                        if (order.order_type == "1")
                        {
                            _cabinOrderServices.CreateInboundOrder(order);
                            content = _cabinOrderServices.CreateInboundOrder(order);
                            if (!content.Status) messQty++;
                        }
                        else if (order.order_type == "3")//入库退料
                        {
@@ -63,12 +74,14 @@
                                };
                                upstramOutOrderInfo.details.Add(detail);
                            }
                            _deliveryOrderServices.CreateOutboundOrder(upstramOutOrderInfo);
                            #endregion
                            content = _deliveryOrderServices.CreateOutboundOrder(upstramOutOrderInfo);
                            if (!content.Status) messQty++;
                        }
                        else if (order.order_type == "5")//报溢入库
                        {
                            _cabinOrderServices.CreateCheckInOrder(order);
                            content = _cabinOrderServices.CreateCheckInOrder(order);
                            if (!content.Status) messQty++;
                        }
                    }
                    catch (Exception ex)
@@ -76,6 +89,7 @@
                        continue;
                    }
                }
                if (messQty == 0) SearchInOrderDate = GetOutOrderDate;
                return content.OK();
            }
            catch (Exception ex)
@@ -94,24 +108,33 @@
            try
            {
                var url = "http://121.37.118.63:80/GYZ2/95fck/outOrder";
                string GetOutOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                if (string.IsNullOrEmpty(SearchOutOrderDate)) SearchOutOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                var requestData = new { searchDate = SearchOutOrderDate };
                SearchOutOrderDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                var result = HttpHelper.Post(url, requestData.ToJsonString());
                var response = JsonConvert.DeserializeObject<UpstreamResponse<UpstramOutOrderInfo>>(result);
                if (response == null || response.resultCode != "0") return content;
                if (response.data.Count < 1) return content;
                if (response.data.Count < 1)
                {
                    SearchOutOrderDate = GetOutOrderDate;
                    return content;
                }
                var ordernos = response.data.Select(x => x.order_no).ToList();
                var existingOutOrderNos = _deliveryOrderServices.Repository.QueryData(x => ordernos.Contains(x.Out_no)).Select(x => x.Out_no).Distinct().ToList();
                var newOutOrders = response.data.Where(outorder => !existingOutOrderNos.Contains(outorder.order_no)).ToList();
                if (newOutOrders.Count < 1) return content;
                if (newOutOrders.Count < 1)
                {
                    SearchOutOrderDate = GetOutOrderDate;
                    return content;
                }
                int messQty = 0;
                foreach (var outorder in newOutOrders)
                {
                    if (outorder.order_type == "1")// æ­£å¸¸å‡ºåº“单
                    {
                        _deliveryOrderServices.CreateOutboundOrder(outorder);
                        content = _deliveryOrderServices.CreateOutboundOrder(outorder);
                        if (!content.Status) messQty++;
                    }
                    else if (outorder.order_type == "2")//出库退货
                    {
@@ -135,13 +158,16 @@
                            order.details.Add(detail);
                        }
                        #endregion
                        _cabinOrderServices.CreateInboundOrder(order);
                        content = _cabinOrderServices.CreateInboundOrder(order);
                        if (!content.Status) messQty++;
                    }
                    else if (outorder.order_type == "6")//报损出库
                    {
                        _deliveryOrderServices.CreateCheckOutOrder(outorder);
                        content = _deliveryOrderServices.CreateCheckOutOrder(outorder);
                        if (!content.Status) messQty++;
                    }
                }
                if (messQty == 0) SearchOutOrderDate = GetOutOrderDate;
            }
            catch (Exception ex)
            {
н¨Îļþ¼Ð/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/extend/Check.cs
@@ -44,14 +44,21 @@
                    {
                        foreach (var items in inventoryInfos.GroupBy(x => x.WarehouseCode))
                        {
                            Dt_DeliveryOrder deliveryOrder = new Dt_DeliveryOrder()
                            Dt_DeliveryOrder? deliveryOrder = deliveryOrders.Where(x => x.Warehouse_no == items.Key).FirstOrDefault();
                            bool isNull = false;
                            if (deliveryOrder == null)
                            {
                                Out_no = item.MaterielCode + "_" + item.BatchNo,
                                isNull = true;
                                deliveryOrder = new Dt_DeliveryOrder()
                                {
                                    //Out_no = item.MaterielCode + "_" + item.BatchNo,
                                    Out_no = $"PD{items.Key}{DateTime.Now.ToString("yyMMddHHmmss")}",
                                Out_type = "20",
                                OutStatus = "新建",
                                Warehouse_no = items.Key,
                                Details = new List<Dt_DeliveryOrderDetail>()
                            };
                            }
                            var Status = items.Key == "001" ? 0 : 2;//判断是否为立库区域
                            Dt_DeliveryOrderDetail deliveryOrderDetail = new Dt_DeliveryOrderDetail()
                            {
@@ -66,7 +73,7 @@
                                Reservoirarea = items.Key
                            };
                            deliveryOrder.Details.Add(deliveryOrderDetail);
                            deliveryOrders.Add(deliveryOrder);
                            if (isNull) deliveryOrders.Add(deliveryOrder);
                            #region åˆ›å»ºç›˜ç‚¹ä»»åŠ¡
                            foreach (var inventory in items)
                            {
н¨Îļþ¼Ð/WMS/src/extension/outbound/outboundOrder.js
@@ -2,6 +2,7 @@
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
import gridBody from './extend/outOrderDetail.vue'
import http from '../../api/http';
import { el } from 'element-plus/es/locales.mjs';
let extension = {
    components: {
      //查询界面扩展组件
@@ -44,6 +45,11 @@
        //框架初始化配置后
        //如果要配置明细表,在此方法操作
        //this.detailOptions.columns.forEach(column=>{ });
      this.buttons.forEach(x => {//name改为要隐藏的按钮名字
        if (x.name == '编 è¾‘') {
          x.hidden = true;
        }
      })
      },
      searchBefore(param) {
        //界面查询前,可以给param.wheres添加查询参数
@@ -73,8 +79,29 @@
        //(3)this.editFormFields.字段='xxx';
        //如果需要给下拉框设置默认值,请遍历this.editFormOptions找到字段配置对应data属性的key值
        //看不懂就把输出看:console.log(this.editFormOptions)
      this.editFormOptions.forEach((editForm) => {
        editForm.forEach((x) => {
          x.readonly = true
        })
      })
      this.detailOptions.buttons.forEach((btn) => {
        if (btn.name != '添加行') {
          btn.hidden = true;
          //或者设置只读
          //btn.readonly=true;
        }
      });
      if (row.out_type == "20") {
        this.detail.columns.forEach((x) => {
          if (x.field == "order_Outqty") {
            x.title = "盘点数量",
              x.edit = true
          }
        })
      } else {
      }
      }
    }
  };
  export default extension;
н¨Îļþ¼Ð/WMS/src/extension/stock/Dt_Inventory_Batch.js
@@ -28,7 +28,7 @@
            .post("api/DeliveryOrder/CreateCheckOrder", allIds)
            .then((x) => {
              if (x.status) {
                this.$Message.success('盘点任务完成');
                this.$Message.success('创建盘点单成功');
                this.refresh();
              } else {
                return this.$error(x.message);