陈勇
2024-11-19 36343b85b0c883ebfdf3c17b173f263fd2bfcb93
合并
已删除1个文件
已修改17个文件
10532 ■■■■■ 文件已修改
.gitignore 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WCS/WIDESEAWCS_Client/yarn.lock 10268 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine_After.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceProtocolService.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_After/CommonConveyorLine_AfterJob.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_After/ConveyorLineTaskCommand_After.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSClient/src/views/Home.vue 166 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_LocationInfo.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseModels/WebResponseContent.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/MCS/IMCSService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MCS/Partial/NotifyFinishTest.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MCS/Partial/RequsetCellInfo.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Location/LocationInfoService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MCS/MCSController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -1352,4 +1352,7 @@
/Code Management/WMS/WIDESEA_WMSServer/LogLibrary/obj/Debug/net6.0/LogLibrary.csproj.CoreCompileInputs.cache
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/obj/Debug/net6.0/WIDESEA_IStoragIntegrationServices.csproj.FileListAbsolute.txt
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/WIDESEA_StoragIntegrationServices.csproj
*.tmp
*.txt
/Code Management/WCS/WIDESEAWCS_Client/package-lock.json
/Code Management/WMS/WIDESEA_WMSClient/src/api/http.js
/Code Management/WCS/WIDESEAWCS_Client/yarn.lock
Code Management/WCS/WIDESEAWCS_Client/yarn.lock
ÎļþÒÑɾ³ý
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine_After.cs
@@ -220,7 +220,7 @@
        public T ReadCustomer<T>(string deviceChildCode) where T : IDataTransfer, new()
        {
            if (!IsConnected) throw new Exception($"通讯连接错误,请检查网络");
            DeviceProDTO? devicePro = _deviceProDTOs.Where(x => x.DeviceProParamType == "ReadDeviceCommand" && x.DeviceChildCode == deviceChildCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
            DeviceProDTO? devicePro = _deviceProDTOs.Where(x => x.DeviceProParamType == "DeviceCommand" && x.DeviceChildCode == deviceChildCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
            if (devicePro == null)
            {
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceProtocolService.cs
@@ -79,5 +79,10 @@
            //saveModel.MainData[""]
            return base.AddData(saveModel);
        }
        //public WebResponseContent InsertProtocol_Line(int PLCid,string ChildCode,)
        //{
        //}
    }
}
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_After/CommonConveyorLine_AfterJob.cs
@@ -142,8 +142,6 @@
                _taskService.UpdateTaskStatusToNext(inTask);
            }
        }
        /// <summary>
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_After/ConveyorLineTaskCommand_After.cs
@@ -52,9 +52,9 @@
        public short Reserved3 { get; set; }
        public byte InteractiveSignal { get; set; }
        public short HasPallet { get; set; }
        public short ConveyorLineAlarm { get; set; }
        public short Reserved4 { get; set; }
        public short Reserved5 { get; set; }
        //public ushort ConveyorLineAlarm { get; set; }
        //public short Reserved4 { get; set; }
        //public short Reserved5 { get; set; }
    }
    //public class ConveyorLineTaskCommandWrite : DeviceCommand
Code Management/WMS/WIDESEA_WMSClient/src/views/Home.vue
@@ -1,59 +1,6 @@
<template>
  <div class="home-contianer">
    <div class="h-top">
      <div class="h-top-left" id="h-chart1">left</div>
      <div class="h-top-center">
        <div class="n-item">
          <div
            @click="open(item)"
            class="item"
            :class="'item' + (index + 1)"
            v-for="(item, index) in center"
            :key="index"
          >
            <i
              style="font-size: 30px; padding-bottom: 10px"
              :class="item.icon"
              :size="20"
            ></i>
            <br />
            {{ item.title }}
          </div>
        </div>
      </div>
      <div class="h-top-right task-table">
        <h3 class="h3">#框架Vue3.x版本变更说明</h3>
        <table border="0" cellspacing="0" cellpadding="0">
          <tr v-for="(row, index) in list" :key="index">
            <td>{{ index + 1 }}</td>
            <td>{{ row.desc }}</td>
          </tr>
        </table>
      </div>
    </div>
    <div class="h-chart">
      <div class="h-left-grid">
        <div class="item" v-for="(item, index) in grid" :key="index">
          <div class="icon-text">
            <i :class="item.icon"></i>
            <span class="name">{{ item.name }}</span>
          </div>
          <div class="desc">{{ item.desc }}</div>
        </div>
      </div>
      <div id="h-chart2"></div>
      <div id="h-chart3"></div>
    </div>
    <div style="display: flex;">
      <div
        id="h-chart4"
        style="height: 350px; background: white; flex: 1;padding-top:15px;"
      ></div>
      <div
        id="h-chart5"
        style="height: 350px; background: white; flex: 1;padding-top:15px;"
      ></div>
    </div>
  </div>
</template>
<script>
@@ -65,98 +12,9 @@
  components: {},
  data() {
    return {
      center: [
        {
          title: 'GitHub',
          icon: 'el-icon-set-up',
          url: 'https://github.com/cq-panda/Vue.NetCore'
        },
        {
          title: 'Gitee',
          icon: 'el-icon-turn-off',
          url: 'https://gitee.com/x_discoverer/Vue.NetCore'
        },
        {
          title: '框架Vue2版本',
          icon: 'el-icon-reading',
          url: 'http://v2.volcore.xyz'
        },
        {
          title: '框架视频',
          icon: 'el-icon-document',
          url: 'https://www.cctalk.com/m/group/90268531'
        },
        {
          title: '小程序/app/h5',
          icon: 'el-icon-chat-line-round',
          url: 'http://v2.volcore.xyz/app/guide'
        },
        {
          title: 'QQ4群:959924606',
          icon: 'el-icon-chat-dot-round',
          url: 'https://qm.qq.com/cgi-bin/qm/qr?k=YRZBbf64qsUeEmh24I65u2aIZFn2C-Ha&jump_from=webapi&qr=1'
        }
      ],
      n: 90,
      value1: '1',
      applicants: {
        //报名信息
        day: 20, //本日
        week: 150, //本周
        month: 1200, //本月
        totalBoy: 800,
        totalGirl: 890,
        taotal: 1690
      }, //报名信息
      list: [
        { desc: '框架2.x版本不支持直接升级Vue3版本(代码生成器已修改)' },
        { desc: '框架使用的Element Plus组件,移除了Iview组件的依赖' },
        { desc: '框架内部组件全部重新优化,相比2.x版本首屏大小减少60%' },
        { desc: '框架Vue2版本会继续维护,并与Vue3版本同步更新,请放心使用' },
        { desc: '框架Vue2、Vue3版本开发文档一致(差异部分文档会备注说明)' },
        //{ desc: "若正在使用Vue2框架版本继续使用即可;其他建议使用Vue3版本" },
        {
          desc: 'vue2、vue3文档相同,开文档大部分文档仍然使用的vue2语法'
        },
        {
          desc: '自定义部分既可以使用vue3语法与可以使用vue3语法'
        }
        //(框架内部组件vue2/3语法都在使用),你也可以使用vue3语法
      ],
      grid: [
        {
          name: '用户管理',
          desc: '系统用户管理,注册用户3000000人。',
          icon: 'el-icon-user'
        },
        {
          name: '站内消息',
          desc: '您有一条新的消息,请及时处理。',
          icon: 'el-icon-chat-dot-round'
        },
        {
          name: '系统管理',
          desc: '这里放点什么,还没想好。',
          icon: 'el-icon-setting'
        },
        {
          name: '还没想好',
          desc: '这里不知道应该放点什么或者写点什么。',
          icon: 'el-icon-document'
        },
        {
          name: '语音导航',
          desc: '高德地图林志玲为您语音导航。',
          icon: 'el-icon-microphone'
        },
        {
          name: '垃圾回收',
          desc: '删除过的数据在此处找回。。。。',
          icon: 'el-icon-delete'
        }
      ]
    };
  },
  setup() {
@@ -165,10 +23,6 @@
    };
    let interval;
    onMounted(() => {
      $chart = echarts.init(document.getElementById('h-chart1'));
      $chart.setOption(chart1);
      $chart2 = echarts.init(document.getElementById('h-chart2'));
      $chart2.setOption(chart2);
      // interval = setInterval(() => {
      //   chart2.xAxis[0].data.splice(0, 1);
@@ -183,29 +37,15 @@
      //   chart2.series[1].data.push(~~(Math.random() * 1000));
      //   $chart2.setOption(chart2);
      // }, 2000);
      $chart3 = echarts.init(document.getElementById('h-chart3'));
      $chart3.setOption(chart3);
      let $chart4 = echarts.init(document.getElementById('h-chart4'));
      $chart4.setOption(chart4);
      let $chart5 = echarts.init(document.getElementById('h-chart5'));
      $chart5.setOption(chart2);
    });
    onUnmounted(() => {
      interval && clearInterval(interval);
      if ($chart) {
        $chart.dispose();
        $chart2.dispose();
        $chart3.dispose();
      }
    });
    return { open };
  },
  destroyed() {
    $chart2 = null;
  }
};
var $chart, $chart2, $chart3;
// window.addEventListener("resize", function () {
//   $chart2.setOption(chart2);
// });
Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_LocationInfo.vue
@@ -45,11 +45,11 @@
        { field: 'row', title: '行', type: 'string', width: 70, align: 'left' },
        { field: 'column', title: '列', type: 'string', width: 70, align: 'left' },
        { field: 'layer', title: '层', type: 'string', width: 110, align: 'left' },
        { field: 'depth', title: '深度', type: 'string', width: 110, align: 'left' },
        { field: 'depth', title: '深度', type: 'string', width: 110, align: 'left', hidden: true  },
        { field: 'scNo', title: '对应堆垛机号', type: 'string', width: 110, align: 'left', hidden: true },
        { field: 'locationType', title: '货位类型', type: 'int', width: 110, align: 'left', bind: { key: "locationType", data: [] } },
        { field: 'locationType', title: '货位类型', type: 'int', width: 110, align: 'left',bind: { key: "LocationType", data: [] } },
        { field: 'locationStatus', title: '货位状态', type: 'int', width: 110, align: 'left', bind: { key: "LocationState", data: [] } },
        { field: 'isLocked', title: '是否锁定', type: 'bool', width: 110, align: 'left', hidden: true, bind: { key: "IsLocked", data: [] } },
        { field: 'isLocked', title: '是否锁定', type: 'bool', width: 110, align: 'left', bind: { key: "IsLocked", data: [] } },
        { field: 'locationDesc', title: '货位描述', type: 'string', width: 110, align: 'left', hidden: true },
        { field: 'remark', title: '备注', type: 'string', width: 110, align: 'left' },
        { field: 'wareAreaCode', title: '库区编号', type: 'string', width: 110, align: 'left', hidden: true },
Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue
@@ -51,6 +51,8 @@
        { field: 'palletCode', title: '托盘条码', type: 'string', width: 110, align: 'left', sort: true },
        { field: 'isFull', title: '是否满盘', type: 'bool', width: 110, align: 'left' },
        // { field: 'state', title: '库存状态', type: 'int', width: 110, align: 'left', bind: { key: "StockState", data: [] } },
        { field: 'LinedProcessFeedbackTime', title: '工艺开始时间', type: 'string', width: 110, align: 'left', sort: true },
        { field: 'SpecialParameterDuration', title: '工艺时长', type: 'string', width: 110, align: 'left', sort: true },
        { field: 'remark', title: '备注', type: 'string', width: 120, hidden: true, align: 'left' },
        { field: 'createID', title: '创建ID', type: 'int', sort: true, width: 100, hidden: true, align: 'left' },
        { field: 'creater', title: '创建人', type: 'string', sort: true, width: 110, align: 'left' },
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseModels/WebResponseContent.cs
@@ -27,6 +27,7 @@
        public WebResponseContent OK()
        {
            Code = 1;
            Status = true;
            return this;
        }
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs
@@ -87,9 +87,11 @@
                    using HttpClient httpClient = new HttpClient();
                    httpClient.Timeout = new TimeSpan(0, 0, 60);
                    foreach (var header in headers)
                        httpClient.DefaultRequestHeaders.Add(header.Key, header.Value);
                    if (headers != null)
                    {
                        foreach (var header in headers)
                            httpClient.DefaultRequestHeaders.Add(header.Key, header.Value);
                    }
                    result = httpClient.PostAsync(serviceAddress, httpContent).Result.Content.ReadAsStringAsync().Result;
                }
                return result;
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/MCS/IMCSService.cs
@@ -15,6 +15,6 @@
        WebResponseContent ModifyAccessStatus(object json);
        WebResponseContent RequsetCellInfo(object json);
        object RequsetCellInfo(object json);
    }
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs
@@ -58,6 +58,12 @@
        public string AreaCode { get; set; }
        /// <summary>
        /// åº”出库时间
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "应出库时间")]
        public DateTime? OutboundTime { get; set; }
        /// <summary>
        /// åº“存明细
        /// </summary>
        [SugarColumn(ColumnName = "StockInfoDetails")]
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MCS/Partial/NotifyFinishTest.cs
@@ -59,18 +59,21 @@
                    PalletCode = result.PalletBarcode,
                    RoadWay = location.RoadwayNo,
                    SourceAddress = result.LocationID,
                    TargetAddress = result.LocationID,
                    TargetAddress = "",
                    TaskNum = taskNum,  //_taskRepository.GetTaskNo().Result,
                    TaskState = (int)TaskOutStatusEnum.OutNew,
                    TaskType = result.IsNG == 1 ? (int)TaskOutboundTypeEnum.OutNG : (int)TaskOutboundTypeEnum.Outbound,
                };
                var sysConfig = _configService.GetByConfigKey(CateGoryConst.CONFIG_SYS_IPAddress, SysConfigConst.WCSIPAddress);
                var respon = HttpHelper.Post(sysConfig.ConfigValue, JsonConvert.SerializeObject(taskDTO));
                if (respon != null)
                {
                }
                //var respon = HttpHelper.Post("http://localhost:9291/api/Task/ReceiveTask", JsonConvert.SerializeObject(taskDTO));
                //if (respon != null)
                //{
                //}
                //else
                //{
                //    throw new Exception("WCS处理失败");
                //}
                return content.OK();
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MCS/Partial/RequsetCellInfo.cs
@@ -16,7 +16,7 @@
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public WebResponseContent RequsetCellInfo(object json)
        public object RequsetCellInfo(object json)
        {
            WebResponseContent content = new WebResponseContent();
            try
@@ -25,14 +25,21 @@
                var result = JsonConvert.DeserializeObject<RequsetCellInfo>(json.ToString());
                //_stockInfoRepository.QueryFirst(x=>x.LocationCode == result.LocationID && x)
                var info = _stockInfoRepository.QueryFirst(x => x.LocationCode == result.LocationID);
                //todo
                if (info != null)
                {
                    return new { code = 1, palletBarcode = info.PalletCode };
                }
                else
                {
                    return new { code = 0, palletBarcode = "",message="库位无库存记录" };
                }
                return content.OK();
            }
            catch (Exception ex)
            {
                return content.Error(ex.Message);
                return new { code = 0, palletBarcode = "", message = ex.Message };
            }
        }
    }
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Location/LocationInfoService.cs
@@ -135,7 +135,7 @@
                        LocationType = locType,
                        Remark = "",
                        Depth = locType > 1 ? (((line - 1) % 4) + 1) == 2 || (((line - 1) % 4) + 1) == 3 ? 1 : 2 : 1,
                        RoadwayNo = locType > 1 ? $"CHSC{((line - 1) / 4) + 1}" : $"CHSC{((line - 1) / 2) + 1}",
                        RoadwayNo = locType > 1 ? $"FRSC{((line - 1) / 4) + 1}" : $"FRSC{((line - 1) / 2) + 1}",
                        LocationStatus = LocationEnum.Free.ObjToInt(),
                        AreaId = areaId,
                        Creater = "systeam",
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -436,6 +436,8 @@
        var respone = JsonConvert.DeserializeObject<ResponeAgingInputDto>(result.Data.ToString());
        stock.LinedProcessFeedbackTime = respone.LinedProcessFeedbackTime;
        stock.SpecialParameterDuration = respone.SpecialParameterDuration;
        //2024å¹´11月16日:新增字段计算应出库时间
        stock.OutboundTime = Convert.ToDateTime(respone.LinedProcessFeedbackTime).AddHours(Convert.ToDouble(respone.SpecialParameterDuration));
        // è®°å½•日志
        LogFactory.GetLog("任务完成").InfoFormat(true, "入库任务完成", $"货位地址:{task.TargetAddress},修改后货位数据:{locationInf}");
@@ -1384,13 +1386,22 @@
    /// <param name="areaId">区域主键</param>
    /// <param name="roadWay">巷道</param>
    /// <returns></returns>
    public async Task<DtLocationInfo> GetLocationDistributeAsync(string roadWay)
    public async Task<DtLocationInfo> GetLocationDistributeAsync(string roadWay, bool IsFull = true)
    {
        #region èŽ·å–è´§ä½
        try
        {
            var locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == roadWay);
            List<DtLocationInfo> locations;
            if (IsFull)
            {
                locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == roadWay);
            }
            else
            {
                locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == roadWay);
            }
            if (locations == null)
            {
                return null;
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MCS/MCSController.cs
@@ -31,8 +31,8 @@
        return _MCSService.ModifyAccessStatus(input);
    }
    [HttpPost("RequsetCellInfo")]
    public WebResponseContent RequsetCellInfo([FromBody] object input)
    [HttpPost("RequestCellInfo")]
    public object RequsetCellInfo([FromBody] object input)
    {
        return _MCSService.RequsetCellInfo(input);
    }