chenyong
2025-05-15 0cce10d0db3ea3786edf4b322925057ad87814cf
三楼大屏

三楼大屏
已修改21个文件
777 ■■■■ 文件已修改
CodeManagement/BigScreenVue/src/views/home.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/BigScreenVue/src/views/indexs/center-bottom.vue 176 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/BigScreenVue/src/views/indexs/center-map.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/BigScreenVue/src/views/indexs/index.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/BigScreenVue/src/views/indexs/left-bottom.vue 98 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/BigScreenVue/src/views/indexs/pass-two.vue 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/BigScreenVue/src/views/indexs/plan.vue 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/BigScreenVue/src/views/indexs/right-center.vue 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/BigScreenVue/src/views/indexs/station-one.vue 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/BigScreenVue/src/views/indexs/station-three.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/BigScreenVue/src/views/indexs/station-two.vue 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationRepository/obj/Debug/net6.0/WIDESEA_IStoragIntegrationRepository.AssemblyInfo.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationRepository/obj/Debug/net6.0/WIDESEA_IStoragIntegrationRepository.GeneratedMSBuildEditorConfig.editorconfig 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationRepository/obj/WIDESEA_IStoragIntegrationRepository.csproj.nuget.g.props 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationRepository/obj/Debug/net6.0/WIDESEA_StoragIntegrationRepository.AssemblyInfo.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationRepository/obj/Debug/net6.0/WIDESEA_StoragIntegrationRepository.GeneratedMSBuildEditorConfig.editorconfig 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationRepository/obj/WIDESEA_StoragIntegrationRepository.csproj.nuget.g.props 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/BigScreenVue/src/views/home.vue
@@ -23,7 +23,7 @@
          <div class="guang"></div>
          <div class="d-flex jc-center">
            <div class="title">
              <span class="title-text">淮安特创成品数据展示平台</span>
              <span class="title-text">浙江冠宇数据展示平台</span>
            </div>
          </div>
          <div class="timers">
CodeManagement/BigScreenVue/src/views/indexs/center-bottom.vue
@@ -11,7 +11,7 @@
<script>
// import { currentGET } from "api/modules";
import { graphic } from "echarts";
import {Productions} from "@/api/http.js"
import {Getproductionvolume} from "@/api/http.js"
import axios from 'axios'
export default {
  data() {
@@ -35,7 +35,7 @@
                    "产量" +
                    " : " +
                    item.value +
                    "PCS</br>";
                    "托</br>";
              } else {
                result += item.marker + " " + item.seriesName + " :  - </br>";
              }
@@ -44,7 +44,7 @@
          },
        },
        legend: {
          data: ["单位:PCS"],
          data: ["单位:托"],
          textStyle: {
            color: "#B4B4B4",
          },
@@ -57,14 +57,14 @@
          top: "20px",
        },
        xAxis: {
          data: ['8/12','8/13','8/14','8/15','8/16','8/17','8/18'],
          data: [],
          axisLine: {
            lineStyle: {
              color: "#B4B4B4",
            },
          },
          axisTick: {
            show: false,
            show: true,
          },
        },
        yAxis: [
@@ -82,7 +82,7 @@
        ],
        series: [
          {
            name: "单位:PCS",
            name: "单位:托",
            type: "bar",
            barWidth: 20,
            itemStyle: {
@@ -106,8 +106,8 @@
          },
        ],
      },
    };
  },
      xAxisDates: [],
    };},
  props: {},
  mounted() {
    this.getData();
@@ -129,21 +129,29 @@
      }, 3000);
    },
    async getData() {
      // this.numberData.forEach((item, index) => {
      //   item.number.number[0] += ++index
      //   item.number = { ...item.number }
      // })
      var rep = await Productions();
      console.log(rep);
      //获取rep中对象的的today值整合成数组
      var todays= rep.map((item) => {
        return item.today;
      });
      //获取rep中对象的的pcsCounts值整合成数组
      var pcsCounts= rep.map((item) => {
        return item.pcsCounts;
      });
      console.log(todays);
      const rep = await Getproductionvolume();
        var rep1=rep.filter(it=>it.taskType==200&&it.roadway.includes("JZ"))
    // 分组并排序
    const groupedData = rep1.reduce((acc, item) => {
      const dateKey = item.createDate.split(' ')[0];
      acc[dateKey] = acc[dateKey] || { date: dateKey, tasks: [] };
      acc[dateKey].tasks.push(item);
      return acc;
    }, {});
    const sortedGroups = Object.values(groupedData).sort(
      (a, b) => new Date(b.date) - new Date(a.date)
    );
    // 提取日期(7/2 格式)
    this.xAxisDates= sortedGroups.map(group => {
      const date = new Date(group.date);
      return `${date.getMonth() + 1}/${date.getDate()}`;
    });
    console.log(sortedGroups)
    const pcsCounts = sortedGroups.map(group => group.tasks.length);
      this.options = {
        tooltip: {
          trigger: "axis",
@@ -163,7 +171,7 @@
                    "产量" +
                    " : " +
                    item.value +
                    "PCS</br>";
                    "托</br>";
              } else {
                result += item.marker + " " + item.seriesName + " :  - </br>";
              }
@@ -172,7 +180,7 @@
          },
        },
        legend: {
          data: ["单位:PCS"],
          data: ["单位:托"],
          textStyle: {
            color: "#B4B4B4",
          },
@@ -185,14 +193,14 @@
          top: "20px",
        },
        xAxis: {
          data: todays.reverse(),
          data:this.xAxisDates.reverse(),
          axisLine: {
            lineStyle: {
              color: "#B4B4B4",
            },
          },
          axisTick: {
            show: false,
            show: true,
          },
        },
        yAxis: [
@@ -210,7 +218,7 @@
        ],
        series: [
          {
            name: "单位:PCS",
            name: "单位:托",
            type: "bar",
            barWidth: 20,
            itemStyle: {
@@ -239,115 +247,9 @@
        this.$store.state.setting.echartsAutoTime
      );
    },
    // async getData() {
    //   this.pageflag = true;
    //   let rep = await Timefault((a)=>{
    //       console.log(a);
    //     });
    //    this.init(rep);
    //   currentGET("big6", { companyName: this.companyName }).then((res) => {
    //     console.log("故障时长统计", res);
    //     // if (res.success) {
    //     //   this.init(res.data);
    //     //   console.log("测试2",res.data);
    //     // } else {
    //     //   this.pageflag = false;
    //     //   this.$Message({
    //     //     text: res.msg,
    //     //     type: "warning",
    //     //   });
    //     // }
    //   });
    // },
    // init(val) {
    //   console.log(val);
    //   this.options = {
    //     tooltip: {
    //       trigger: "axis",
    //       backgroundColor: "rgba(0,0,0,.6)",
    //       borderColor: "rgba(147, 235, 248, .8)",
    //       textStyle: {
    //         color: "#FFF",
    //       },
    //       formatter: function (params) {
    //         // 添加单位
    //         var result = params[0].name + "<br>";
    //         params.forEach(function (item) {
    //           if (item.value) {
    //               result +=
    //                 item.marker +
    //                 " " +
    //                 "合格产量" +
    //                 " : " +
    //                 item.value +
    //                 "箱</br>";
    //           } else {
    //             result += item.marker + " " + item.seriesName + " :  - </br>";
    //           }
    //         });
    //         return result;
    //       },
    //     },
    //     legend: {
    //       data: ["单位:箱"],
    //       textStyle: {
    //         color: "#B4B4B4",
    //       },
    //       top: "-5",
    //     },
    //     grid: {
    //       left: "50px",
    //       right: "40px",
    //       bottom: "30px",
    //       top: "20px",
    //     },
    //     xAxis: {
    //       data: [val[6].datetime,val[5].datetime,val[4].datetime,val[3].datetime,
    //             val[2].datetime,val[1].datetime,val[0].datetime],
    //       axisLine: {
    //         lineStyle: {
    //           color: "#B4B4B4",
    //         },
    //       },
    //       axisTick: {
    //         show: false,
    //       },
    //     },
    //     yAxis: [
    //       {
    //         splitLine: { show: true },
    //         axisLine: {
    //           lineStyle: {
    //             color: "#B4B4B4",
    //           },
    //         },
    //         axisLabel: {
    //           formatter: "{value}",
    //         },
    //       }
    //     ],
    //     series: [
    //       {
    //         name: "单位:箱",
    //         type: "bar",
    //         barWidth: 20,
    //         itemStyle: {
    //           borderRadius: 5,
    //           color: new graphic.LinearGradient(0, 0, 0, 1, [
    //             { offset: 0, color: "#956FD4" },
    //             { offset: 1, color: "#3EACE5" },
    //           ]),
    //         },
    //         data: [val[6].qty,val[5].qty,val[4].qty,val[3].qty,
    //               val[2].qty,val[1].qty,val[0].qty],
    //       },
    //     ],
    //   };
    // },
  },
  }
};
</script>
<style lang="scss" scoped>
CodeManagement/BigScreenVue/src/views/indexs/center-map.vue
@@ -30,6 +30,7 @@
import { currentGET } from "api/modules";
import * as echarts from "echarts";
import { GETNOBASE } from "api";
import {Getproductionvolume} from "@/api/http.js"
export default {
  data() {
    return {
@@ -44,19 +45,12 @@
  mounted() {
    // console.log(xzqCode);
    this.getData("china");
    this.getData();
  },
  methods: {
    getData(code) {
      // currentGET("big8", { regionCode: code }).then((res) => {
      //   console.log("设备分布", res);
      //   if (res.success) {
      //     this.getGeojson(res.data.regionCode, res.data.dataList);
      //     this.mapclick();
      //   } else {
      //     this.$Message.warning(res.msg);
      //   }
      // });
    async getData(code) {
    },
    /**
     * @description: 获取geojson
CodeManagement/BigScreenVue/src/views/indexs/index.vue
@@ -17,21 +17,21 @@
      <ItemWrap
        class="contetn_left-bottom contetn_lr-item"
        title="成品执行任务统计"
        title="当前出入库任务"
      >
      <stationone/>
      </ItemWrap>
      <ItemWrap
        class="contetn_left-bottom contetn_lr-item"
        title="成品库存属性分布"
        title="今日待出库实盘"
      >
      <stationtwo/>
      </ItemWrap>
      <ItemWrap
        class="contetn_left-bottom contetn_lr-item"
        title="成品货位状态信息"
        title="货位状态信息"
      >
      <stationthree/>
      </ItemWrap>
@@ -43,7 +43,7 @@
      </div>
      <ItemWrap
        class="contetn_left-bottom contetn_lr-item"
        title="成品库存展示信息"
        title="产量展示信息"
        style="padding: 0 10px 16px 10px"
      >
        <RightCenter />
@@ -52,7 +52,7 @@
    <div class="contetn_right">
      <ItemWrap
        class="contetn_left-bottom contetn_lr-item"
        title="成品产品信息排行"
        title="各线当前任务数量"
        style="padding: 0 10px 16px 10px"
      >
      <passtwo />
@@ -60,7 +60,7 @@
      <ItemWrap
        class="contetn_left-bottom contetn_lr-item"
        title="成品入库产量统计"
        title="实盘入库产量统计"
        style="padding: 0 10px 16px 10px"
      >
      <CenterBottom />
@@ -68,7 +68,7 @@
      <ItemWrap
        class="contetn_left-bottom contetn_lr-item"
        title="成品出库产量统计"
        title="实盘出库产量统计"
      >
        <plan />
      </ItemWrap> 
CodeManagement/BigScreenVue/src/views/indexs/left-bottom.vue
@@ -13,11 +13,12 @@
<script>
import { currentGET } from "api/modules";
import { ProLocationStatistics } from "@/api/http.js";
import { Getproductionvolume } from "@/api/http.js";
import * as echarts from 'echarts';
let style = {
  fontSize: 24,
};
export default {
  data() {
    return {
@@ -201,7 +202,7 @@
         itemStyle: {
             color: '#feb01e'
         },
         data: [43, 50, 41, 18, 28, 25, 26, 40],
         data: [99, 50, 41, 18, 28, 25, 26, 0],
     }, {
         name: 'CO2',
         type: 'line',
@@ -300,40 +301,35 @@
    clearData() {
      if (this.timer) {
        clearInterval(this.timer);
        this.timer = null;
        this.timer = 3000;
      }
    },
    async getData() {
      this.pageflag = true;
      // currentGET("big2").then((res) => {
      //     if (!this.timer) {
      //         console.log("设备总览2", res);
      //     }
      //     if (res.success) {
      //         this.userOverview = res.data;
      //            this.onlineconfig = {
      //             ...this.onlineconfig,
      //             number: [1]
      //         }
      //         this.config = {
      //             ...this.config,
      //             number: [7]
      //         }
      //         this.offlineconfig = {
      //             ...this.offlineconfig,
      //             number: [4]
      //         }
      //         this.laramnumconfig = {
      //             ...this.laramnumconfig,
      //             number: [10]
      //         }
      //         this.switper();
      //     } else {
      //         this.pageflag = false;
      //         this.$Message.warning(res.msg);
      //     }
      // });
      var rep = await ProLocationStatistics();
        var rep1=await Getproductionvolume()
        var rep=rep1.filter(it=>it.roadway.includes("JZ"))
        // (1) 按日期分组核心算法
const groupedData = rep.reduce((acc, item) => {
  // 提取日期部分(格式:YYYY-MM-DD)
  const dateKey = item.createDate.split(' ')[0]; // 或 item.createDate.substring(0,10)
  // 创建日期分组容器(如果不存在)
  if (!acc[dateKey]) {
    acc[dateKey] = {
      date: dateKey,
      tasks: []
    };
  }
  // 将当前项加入对应分组
  acc[dateKey].tasks.push(item);
  return acc;
}, {});
// (2) 转换为排序后的数组
const sortedGroups = Object.values(groupedData)
  .sort((a, b) => new Date(b.date) - new Date(a.date)); // 降序排列
      this.options = {
     backgroundColor: '#0a1256',
     //浮动框
@@ -350,7 +346,7 @@
         itemWidth: 10,
         itemHeight: 10,
         icon: 'circle',
         data: ['成品入库', '成品出库', '成品回框']
         data: ['实框入库', '实框出库', '空框入库']
     },
     grid: {
         left: '8%',
@@ -369,7 +365,7 @@
             gte: 60,
             color: '#e5421b'
         }],
         seriesName: '成品入库',
         seriesName: '实框入库',
         seriesIndex: 2
     }, {
         type: 'piecewise',
@@ -382,7 +378,7 @@
             gte: 60,
             color: '#e5421b'
         }],
         seriesName: '成品出库',
         seriesName: '实框出库',
         seriesIndex: 1
     }, {
         type: 'piecewise',
@@ -395,7 +391,7 @@
             gte: 60,
             color: '#e5421b'
         }],
         seriesName: '成品回框',
         seriesName: '空框入库',
         seriesIndex: 0
     }],
     //x轴
@@ -416,7 +412,7 @@
             show: false
         },
         //坐标轴显示值
         data: ["04/19", "04/20", "04/21", "04/22", "04/23", "04/24", "04/25"]
         data: [sortedGroups[6].date, sortedGroups[5].date, sortedGroups[4].date, sortedGroups[3].date,sortedGroups[2].date,sortedGroups[1].date,sortedGroups[0].date ]
     },
     //y轴
     yAxis: {
@@ -446,31 +442,31 @@
     //
     series: [{
         name: '成品入库',
         name: '实框入库',
         type: 'line',
         symbolSize: [0, 0],
         itemStyle: {
             color: '#feb01e'
         },
         data: [160, 156, 150, 180, 170, 200, 20],
         data: [sortedGroups[6].tasks.filter(it=>it.taskType==200).length, sortedGroups[5].tasks.filter(it=>it.taskType==200).length, sortedGroups[4].tasks.filter(it=>it.taskType==200).length, sortedGroups[3].tasks.filter(it=>it.taskType==200).length, sortedGroups[2].tasks.filter(it=>it.taskType==200).length, sortedGroups[1].tasks.filter(it=>it.taskType==200).length, sortedGroups[0].tasks.filter(it=>it.taskType==200).length],
     }, {
         name: '成品出库',
         name: '实框出库',
         type: 'line',
         symbolSize: [0, 0],
         itemStyle: {
             color: '#1be57a'
         },
         data: [80, 115, 120, 130, 91, 99,  20]
         data: [sortedGroups[6].tasks.filter(it=>it.taskType==100).length, sortedGroups[5].tasks.filter(it=>it.taskType==100).length, sortedGroups[4].tasks.filter(it=>it.taskType==100).length, sortedGroups[3].tasks.filter(it=>it.taskType==100).length, sortedGroups[2].tasks.filter(it=>it.taskType==100).length, sortedGroups[1].tasks.filter(it=>it.taskType==100).length, sortedGroups[0].tasks.filter(it=>it.taskType==100).length]
     }, {
         name: '成品回框',
         name: '空框入库',
         type: 'line',
         symbolSize: [0, 0],
         itemStyle: {
             color: '#69dbf7'
         },
         data: [70, 113, 118, 111, 89, 99,  32]
         data: [sortedGroups[6].tasks.filter(it=>it.taskType==204).length, sortedGroups[5].tasks.filter(it=>it.taskType==204).length, sortedGroups[4].tasks.filter(it=>it.taskType==204).length, sortedGroups[3].tasks.filter(it=>it.taskType==204).length, sortedGroups[2].tasks.filter(it=>it.taskType==204).length, sortedGroups[1].tasks.filter(it=>it.taskType==204).length, sortedGroups[0].tasks.filter(it=>it.taskType==204).length]
     }, { //水波纹点
         name: '成品入库',
         name: '实框入库',
         type: 'effectScatter',
         symbolSize: [5, 5],
         rippleEffect: {
@@ -487,10 +483,9 @@
                 color: 'rgba(254,176,30,.3)'
             }])
         },
         data: [160, 156, 150, 180, 170, 200,  20]
         data: [sortedGroups[6].tasks.filter(it=>it.taskType==200).length, sortedGroups[5].tasks.filter(it=>it.taskType==200).length, sortedGroups[4].tasks.filter(it=>it.taskType==200).length, sortedGroups[3].tasks.filter(it=>it.taskType==200).length, sortedGroups[2].tasks.filter(it=>it.taskType==200).length, sortedGroups[1].tasks.filter(it=>it.taskType==200).length, sortedGroups[0].tasks.filter(it=>it.taskType==200).length],
     }, { //水波纹点
         name: '成品出库',
         name: '实框出库',
         type: 'effectScatter',
         symbolSize: [5, 5],
         rippleEffect: {
@@ -507,10 +502,10 @@
                 color: 'rgba(27,229,122,.3)'
             }])
         },
         data: [80, 115, 120, 130, 91, 99,  20]
         data:[sortedGroups[6].tasks.filter(it=>it.taskType==100).length, sortedGroups[5].tasks.filter(it=>it.taskType==100).length, sortedGroups[4].tasks.filter(it=>it.taskType==100).length, sortedGroups[3].tasks.filter(it=>it.taskType==100).length, sortedGroups[2].tasks.filter(it=>it.taskType==100).length, sortedGroups[1].tasks.filter(it=>it.taskType==100).length, sortedGroups[0].tasks.filter(it=>it.taskType==100).length]
     }, { //水波纹点
         name: '成品回框',
         name: '空框入库',
         type: 'effectScatter',
         symbolSize: [5, 5],
         rippleEffect: {
@@ -543,7 +538,7 @@
                 yAxis: 60
             }]
         },
         data: [70, 113, 118, 111, 89, 99, 32]
         data: [sortedGroups[6].tasks.filter(it=>it.taskType==204).length, sortedGroups[5].tasks.filter(it=>it.taskType==204).length, sortedGroups[4].tasks.filter(it=>it.taskType==204).length, sortedGroups[3].tasks.filter(it=>it.taskType==204).length, sortedGroups[2].tasks.filter(it=>it.taskType==204).length, sortedGroups[1].tasks.filter(it=>it.taskType==204).length, sortedGroups[0].tasks.filter(it=>it.taskType==204).length]
     }]
 };
@@ -551,6 +546,7 @@
    },
    //轮询
    switper() {
      if (this.timer) {
        return;
      }
CodeManagement/BigScreenVue/src/views/indexs/pass-two.vue
@@ -13,7 +13,7 @@
<script>
import { currentGET } from "api/modules";
import { ProductionRanking } from "@/api/http.js";
import { Floorfault } from "@/api/http.js";
import * as echarts from 'echarts';
let style = {
  fontSize: 24,
@@ -44,7 +44,7 @@
    init() {
      // import echarts from 'echarts'
var charts = { // 按顺序排列从大到小
  cityList: ['38号点(1)', '38号点(2)', '15号点', '16号点', '24号点'],
  cityList: ['8线)', '6线', '5线','7线'],
  cityData: [7500, 6200, 5700, 4200, 3500]
}
var top10CityList = charts.cityList
@@ -216,13 +216,31 @@
      //         this.$Message.warning(res.msg);
      //     }
      // });
      var rep = await ProductionRanking();
      var cityLists= rep.map((item,index) => {
        return '#'+(index+1)+' 产品'+item.pCode;
      });
      var cityDatas= rep.map((item,index) => {
        return item.qtys;
      });
      var rep1 = await Floorfault();
      const rep = rep1.filter(it => it.roadway.includes("JZ"));
// 按 productionLine 字段分组,并转换为对象数组
const groupedArray = Object.entries(
  rep.reduce((acc, item) => {
    const key = item.productionLine;
    if (!acc[key]) {
      acc[key] = [];
    }
    acc[key].push(item);
    return acc;
  }, {})
).map(([productionLine, items]) => ({
  productionLine,
  items
}));
// 从 groupedArray 中提取所有 productionLine 的值
const cityLists = groupedArray.map(item => item.productionLine);
// 获取每组的长度数组
const cityDatas = groupedArray.map(group => group.items.length);
// 输出对象数组格式的分组结果
      var charts = { // 按顺序排列从大到小
  cityList: cityLists,
  cityData: cityDatas
@@ -310,7 +328,7 @@
        fontFamily: 'PingFangSC-Regular'
      },
      formatter: function (val) {
        return `${val}PCS`
        return `${val}托`
      }
    },
    splitArea: {
CodeManagement/BigScreenVue/src/views/indexs/plan.vue
@@ -11,7 +11,7 @@
<script>
// import { currentGET } from "api/modules";
import { graphic } from "echarts";
import {ProductionsOut} from "@/api/http.js"
import {Getproductionvolume} from "@/api/http.js"
import axios from 'axios'
export default {
  data() {
@@ -35,7 +35,7 @@
                    "产量" +
                    " : " +
                    item.value +
                    "PCS</br>";
                    "托</br>";
              } else {
                result += item.marker + " " + item.seriesName + " :  - </br>";
              }
@@ -44,7 +44,7 @@
          },
        },
        legend: {
          data: ["单位:PCS"],
          data: ["单位:托"],
          textStyle: {
            color: "#B4B4B4",
          },
@@ -82,7 +82,7 @@
        ],
        series: [
          {
            name: "单位:PCS",
            name: "单位:托",
            type: "bar",
            barWidth: 20,
            itemStyle: {
@@ -106,6 +106,7 @@
          },
        ],
      },
      xAxisDates: [],
    };
  },
  props: {},
@@ -129,21 +130,27 @@
      }, 3000);
    },
    async getData() {
      // this.numberData.forEach((item, index) => {
      //   item.number.number[0] += ++index
      //   item.number = { ...item.number }
      // })
      var rep = await ProductionsOut();
      console.log(rep);
      //获取rep中对象的的today值整合成数组
      var todays= rep.map((item) => {
        return item.today;
      });
      //获取rep中对象的的pcsCounts值整合成数组
      var pcsCounts= rep.map((item) => {
        return item.pcsCounts;
      });
      console.log(todays);
      const rep = await Getproductionvolume();
var rep1=rep.filter(it=>it.taskType==100&&it.roadway.includes("JZ"))
// 分组并排序
const groupedData = rep1.reduce((acc, item) => {
const dateKey = item.createDate.split(' ')[0];
acc[dateKey] = acc[dateKey] || { date: dateKey, tasks: [] };
acc[dateKey].tasks.push(item);
return acc;
}, {});
const sortedGroups = Object.values(groupedData).sort(
(a, b) => new Date(b.date) - new Date(a.date)
);
this.xAxisDates= sortedGroups.map(group => {
const date = new Date(group.date);
return `${date.getMonth() + 1}/${date.getDate()}`;
});
const pcsCounts = sortedGroups.map(group => group.tasks.length);
      this.options = {
        tooltip: {
          trigger: "axis",
@@ -163,7 +170,7 @@
                    "产量" +
                    " : " +
                    item.value +
                    "PCS</br>";
                    "托</br>";
              } else {
                result += item.marker + " " + item.seriesName + " :  - </br>";
              }
@@ -172,7 +179,7 @@
          },
        },
        legend: {
          data: ["单位:PCS"],
          data: ["单位:托"],
          textStyle: {
            color: "#B4B4B4",
          },
@@ -185,7 +192,7 @@
          top: "20px",
        },
        xAxis: {
          data: todays.reverse(),
          data:this.xAxisDates.reverse(),
          axisLine: {
            lineStyle: {
              color: "#B4B4B4",
@@ -210,7 +217,7 @@
        ],
        series: [
          {
            name: "单位:PCS",
            name: "单位:托",
            type: "bar",
            barWidth: 20,
            itemStyle: {
CodeManagement/BigScreenVue/src/views/indexs/right-center.vue
@@ -13,7 +13,7 @@
<script>
import { currentGET } from "api/modules";
import { ProductionStock } from "@/api/http.js";
import { Getoutput } from "@/api/http.js";
import * as echarts from 'echarts';
let style = {
  fontSize: 24,
@@ -226,18 +226,61 @@
      //         this.$Message.warning(res.msg);
      //     }
      // });
      var rep = await ProductionStock();
      var rep1=await Getoutput();
     var rep=rep1.filter(it=>it.roadway.includes("JZ"))
// 获取今天零点的时间戳
const now = Date.now(); // 当前时间戳(毫秒)
const todayStart = new Date(now);
todayStart.setHours(0, 0, 0, 0); // 设置为本地时间的 00:00:00
const todayStartTimestamp = todayStart.getTime();
// 减去当天已过去的毫秒数
const timestamp = todayStartTimestamp;
const date = new Date(timestamp);
// 补零函数
const padZero = (num) => num.toString().padStart(2, '0');
// 格式化日期
const formattedDate = `${date.getFullYear()}-${
 padZero(date.getMonth() + 1)}-${
 padZero(date.getDate())} ${
 padZero(date.getHours())}:${
 padZero(date.getMinutes())}:${
 padZero(date.getSeconds())}`;
// 本地时区当月第一天的 00:00:00
const firstDayOfMonth = new Date(
 new Date().getFullYear(),
 new Date().getMonth(), // 月份从 0 开始(0=1月)
 1 // 日期设为 1 号
);
const date1 = new Date(firstDayOfMonth.getTime());
// 补零函数
const padZero1 = (num) => num.toString().padStart(2, '0');
// 格式化日期
const formattedDate1 = `${date.getFullYear()}-${
 padZero1(date1.getMonth() + 1)}-${
 padZero1(date1.getDate())} ${
 padZero1(date1.getHours())}:${
 padZero1(date1.getMinutes())}:${
 padZero1(date1.getSeconds())}`;
      var data1 = [{
          text: '成品库存(PCS)',
          value: rep.cpCount,
          text: '日产量',
          value:rep.filter(it => it.createDate>formattedDate ).length,
          color: '#5dd054'
      }, {
          text: '研发库存(PCS)',
          value: rep.yfCount,
          text: '月产量',
          value: rep.filter(it => it.createDate>formattedDate1).length,
          color: '#097ff9'
      }, {
          text: '尾数库存(PCS)',
          value: rep.wsCount,
          text: '年产量',
          value:rep.length,
          color: '#ff6804'
      }];
CodeManagement/BigScreenVue/src/views/indexs/station-one.vue
@@ -11,7 +11,7 @@
            <div class="user_Overview_nums allnum ">
                <dv-digital-flop :config="inboundConfig" style="width:100%;height:100%;" />
            </div>
            <p>成品入库</p>
            <p>实框入库</p>
            <br>
            <!-- <p>{{stationstate[0].station_state}}</p> -->
            <!-- <p v-if="stationstate[0].station_state == '检修中'">{{stationstate[0].station_checkName}}</p> -->
@@ -20,7 +20,7 @@
            <div class="user_Overview_nums online">
                <dv-digital-flop :config="outboundConfig" style="width:100%;height:100%;" />
            </div>
            <p>成品出库</p>
            <p>实框出库</p>
            <br>
            <!-- <p>{{stationstate[1].station_state}}</p> -->
            <!-- <p v-if="stationstate[1].station_state == '检修中'">{{stationstate[1].station_checkName}}</p> -->
@@ -29,7 +29,7 @@
            <div class="user_Overview_nums offline">
                <dv-digital-flop :config="backConfig" style="width:100%;height:100%;" />
            </div>
            <p>成品回框</p>
            <p>空框入库</p>
            <br>
            <!-- <p>{{stationstate[1].station_state}}</p> -->
            <!-- <p v-if="stationstate[1].station_state == '检修中'">{{stationstate[1].station_checkName}}</p> -->
@@ -38,7 +38,7 @@
            <div class="user_Overview_nums laramnum">
                <dv-digital-flop :config="surplusConfig" style="width:100%;height:100%;" />
            </div>
            <p>成品退库</p>
            <p>空框出库</p>
            <br>
            <!-- <p>{{stationstate[1].station_state}}</p> -->
            <!-- <p v-if="stationstate[1].station_state == '检修中'">{{stationstate[1].station_checkName}}</p> -->
@@ -70,6 +70,7 @@
<script>
import { currentGET } from 'api/modules'
import {Floorfault} from "@/api/http.js"
let style = {
    fontSize: 24
}
@@ -86,8 +87,8 @@
            stationstate:[],
            pageflag: true,
            timer: null,
            backConfig: { //成品回框
                number: [9999],
            backConfig: { //空框入库
                number: [50],
                content: '{nt}',
                style: {
                    ...style,
@@ -147,51 +148,22 @@
        },
        async getData() {
            this.pageflag = true;
            // currentGET("big2").then((res) => {
            //     if (!this.timer) {
            //         console.log("设备总览2", res);
            //     }
            //     if (res.success) {
            //         this.userOverview = res.data;
            //            this.onlineconfig = {
            //             ...this.onlineconfig,
            //             number: [1]
            //         }
            //         this.config = {
            //             ...this.config,
            //             number: [7]
            //         }
            //         this.offlineconfig = {
            //             ...this.offlineconfig,
            //             number: [4]
            //         }
            //         this.laramnumconfig = {
            //             ...this.laramnumconfig,
            //             number: [10]
            //         }
            //         this.switper();
            //     } else {
            //         this.pageflag = false;
            //         this.$Message.warning(res.msg);
            //     }
            // });
                    var rep = await Floorfault();
                    var rep1 = await Floorfault();
                    var rep=rep1.filter(task=>task.roadway.includes("JZ"))
                    this.inboundConfig={
                        ...this.inboundConfig,
                        number: [rep.inboundCount]
                        number: [rep.filter(task => task.taskType === "入库").length]
                    }
                    this.outboundConfig={
                        ...this.outboundConfig,
                        number: [rep.outboundCount]
                        number: [rep.filter(task => task.taskType === "出库").length]
                    }
                    this.backConfig={
                        ...this.backConfig,
                        number: [rep.backboundCount]
                        number: [rep.filter(task => task.taskType === "空托盘入库").length]
                    }
                    this.surplusConfig={
                        ...this.surplusConfig,
                        number: [rep.surplusCount]
                        number: [rep.filter(task => task.taskType === "空托盘出库").length]
                    }
                    // this.onlineconfig = {
                    //     ...this.onlineconfig,
@@ -213,7 +185,9 @@
        },
        //轮询
        switper() {
            if (this.timer) {
         if (this.timer) {
                return
            }
            let looper = (a) => {
CodeManagement/BigScreenVue/src/views/indexs/station-three.vue
@@ -217,22 +217,22 @@
      //         this.$Message.warning(res.msg);
      //     }
      // });
      var rep = await ProLocationStatistics();
      var rep1 = await ProLocationStatistics();
      var rep=rep1.filter(rep=>rep.roadwayNo.includes("JZ"))
      var img =
        "data:image/png;base64,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";
      var trafficWay = [
        {
          name: "锁定",
          value: rep.lockCount,
          value: rep.filter(rep=>rep.locationStatus==1).length,
        },
        {
          name: "空闲",
          value: rep.freeCount,
          value:rep.filter(rep=>rep.locationStatus==0).length,
        },
        {
          name: "有货",
          value: rep.inStockCount,
          value:rep.filter(rep=>rep.locationStatus==2).length,
        },
      ];
      var data = [];
@@ -311,7 +311,7 @@
      this.options = {
        color: color,
        title: {
          text: `总量\n${rep.lockCount+rep.freeCount+rep.inStockCount}`,
          text: `总量\n${rep.length}`,
          top: "40%",
          textAlign: "center",
          left: "49%",
CodeManagement/BigScreenVue/src/views/indexs/station-two.vue
@@ -7,7 +7,7 @@
-->
<template>
    <div id="name" style="width: 100%; height: 100%">
      <Echart :options="options" style="width: 100%; height: 100%"></Echart>
      <Echart :options="options2" style="width: 100%; height: 100%"></Echart>
    </div>
  </template>
  
@@ -23,7 +23,7 @@
      return {
        pageflag: true,
        myChart: {},
        options: {},
        options2: {},
      };
    },
    filters: {
@@ -101,7 +101,8 @@
}
this.options = {
this.options1 = {
    backgroundColor: '#021228',
    title: {
        text: '报警总数',
@@ -206,39 +207,13 @@
      },
      async getData() {
        this.pageflag = true;
        // currentGET("big2").then((res) => {
        //     if (!this.timer) {
        //         console.log("设备总览2", res);
        //     }
        //     if (res.success) {
        //         this.userOverview = res.data;
        //            this.onlineconfig = {
        //             ...this.onlineconfig,
        //             number: [1]
        //         }
        //         this.config = {
        //             ...this.config,
        //             number: [7]
        //         }
        //         this.offlineconfig = {
        //             ...this.offlineconfig,
        //             number: [4]
        //         }
        //         this.laramnumconfig = {
        //             ...this.laramnumconfig,
        //             number: [10]
        //         }
        //         this.switper();
        //     } else {
        //         this.pageflag = false;
        //         this.$Message.warning(res.msg);
        //     }
        // });
        // var rep = await ProductionStock();
            var rep=await ProductionStock();
           console.log(rep.filter(it=>it.))
        let dataPie = [
    {
        value: 430,
        name: '库存产品'
        value: rep[0].items.length,
        name: '今日待出实盘总数'
    },
];
let colorPie = ['#173852'];
@@ -252,7 +227,6 @@
        itemStyle: {
            normal: {
                borderWidth: 50,
                borderColor: colorPie[i],
            }
@@ -285,10 +259,10 @@
}
this.options = {
this.options2 = {
    title: {
        text: '产品总数',
        subtext: '430',
        text: '今日待出实盘总数',
        subtext:  rep[0].items.length,
        textStyle: {
            color: '#00b5f3',
            fontSize: 12,
@@ -309,7 +283,7 @@
        formatter: "{a}:{b} <br/>占比:{d}%"
    },
    legend: {
        data: ['库存产品'],
        data: ['今日待出实盘总数'],
        icon: 'vertical',
        right: '1%',
        top: 'center',
@@ -346,16 +320,16 @@
        {
            name: '',
            type: 'pie',
            clockWise: false, //顺时加载
            hoverAnimation: false, //鼠标移入变大
            clockWise: true, //顺时加载
            hoverAnimation: true, //鼠标移入变大
            center: ['40%', '50%'],
            radius: ['80%', '81%'],
            tooltip: {
                show: false
                show: true
            },
            label: {
                normal: {
                    show: false
                    show: true
                }
            },
            data: baseDataWrap
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationRepository/obj/Debug/net6.0/WIDESEA_IStoragIntegrationRepository.AssemblyInfo.cs
@@ -14,7 +14,7 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("WIDESEA_IStoragIntegrationRepository")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2759089d07788d9f4c70e2fd9a18d205cb583b88")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+c467a598f23fd81cf624e0abc5f012fb5c9c6ada")]
[assembly: System.Reflection.AssemblyProductAttribute("WIDESEA_IStoragIntegrationRepository")]
[assembly: System.Reflection.AssemblyTitleAttribute("WIDESEA_IStoragIntegrationRepository")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationRepository/obj/Debug/net6.0/WIDESEA_IStoragIntegrationRepository.GeneratedMSBuildEditorConfig.editorconfig
@@ -8,7 +8,7 @@
build_property.EnforceExtendedAnalyzerRules = 
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = WIDESEA_IStoragIntegrationRepository
build_property.ProjectDir = E:\GET\BaiBuSanLouNew\CodeManagement\WMS\WIDESEA_WMSServer\WIDESEA_IStoragIntegrationRepository\
build_property.ProjectDir = D:\baibu\BaiBuSanLouNew\CodeManagement\WMS\WIDESEA_WMSServer\WIDESEA_IStoragIntegrationRepository\
build_property.EnableComHosting = 
build_property.EnableGeneratedComInterfaceComImportInterop = 
build_property.EffectiveAnalysisLevelStyle = 6.0
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationRepository/obj/WIDESEA_IStoragIntegrationRepository.csproj.nuget.g.props
@@ -5,18 +5,18 @@
    <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
    <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
    <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
    <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Administrator\.nuget\packages\;D:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
    <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\admin\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
    <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.13.2</NuGetToolVersion>
    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.1</NuGetToolVersion>
  </PropertyGroup>
  <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
    <SourceRoot Include="C:\Users\Administrator\.nuget\packages\" />
    <SourceRoot Include="D:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
    <SourceRoot Include="C:\Users\admin\.nuget\packages\" />
    <SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
  </ItemGroup>
  <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
    <Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore\6.0.31\buildTransitive\net6.0\Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore\6.0.31\buildTransitive\net6.0\Microsoft.EntityFrameworkCore.props')" />
  </ImportGroup>
  <PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
    <PkgMicrosoft_Extensions_ApiDescription_Server Condition=" '$(PkgMicrosoft_Extensions_ApiDescription_Server)' == '' ">C:\Users\Administrator\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5</PkgMicrosoft_Extensions_ApiDescription_Server>
    <PkgMicrosoft_Extensions_ApiDescription_Server Condition=" '$(PkgMicrosoft_Extensions_ApiDescription_Server)' == '' ">C:\Users\admin\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5</PkgMicrosoft_Extensions_ApiDescription_Server>
  </PropertyGroup>
</Project>
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs
@@ -244,5 +244,15 @@
    /// <returns></returns>
    WebResponseContent GetStockInfo();
    #endregion
    /// <summary>
    /// 获取货位状态
    /// </summary>
    /// <returns></returns>
    WebResponseContent GetStockQuantity();
    /// <summary>
    /// 获取七日内的产量
    /// </summary>
    /// <returns></returns>
    WebResponseContent Getproductionvolume();
}
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationRepository/obj/Debug/net6.0/WIDESEA_StoragIntegrationRepository.AssemblyInfo.cs
@@ -14,7 +14,7 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("WIDESEA_StoragIntegrationRepository")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2759089d07788d9f4c70e2fd9a18d205cb583b88")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+c467a598f23fd81cf624e0abc5f012fb5c9c6ada")]
[assembly: System.Reflection.AssemblyProductAttribute("WIDESEA_StoragIntegrationRepository")]
[assembly: System.Reflection.AssemblyTitleAttribute("WIDESEA_StoragIntegrationRepository")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationRepository/obj/Debug/net6.0/WIDESEA_StoragIntegrationRepository.GeneratedMSBuildEditorConfig.editorconfig
@@ -8,7 +8,7 @@
build_property.EnforceExtendedAnalyzerRules = 
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = WIDESEA_StoragIntegrationRepository
build_property.ProjectDir = E:\GET\BaiBuSanLouNew\CodeManagement\WMS\WIDESEA_WMSServer\WIDESEA_StoragIntegrationRepository\
build_property.ProjectDir = D:\baibu\BaiBuSanLouNew\CodeManagement\WMS\WIDESEA_WMSServer\WIDESEA_StoragIntegrationRepository\
build_property.EnableComHosting = 
build_property.EnableGeneratedComInterfaceComImportInterop = 
build_property.EffectiveAnalysisLevelStyle = 6.0
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationRepository/obj/WIDESEA_StoragIntegrationRepository.csproj.nuget.g.props
@@ -5,18 +5,18 @@
    <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
    <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
    <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
    <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Administrator\.nuget\packages\;D:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
    <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\admin\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
    <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.13.2</NuGetToolVersion>
    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.1</NuGetToolVersion>
  </PropertyGroup>
  <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
    <SourceRoot Include="C:\Users\Administrator\.nuget\packages\" />
    <SourceRoot Include="D:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
    <SourceRoot Include="C:\Users\admin\.nuget\packages\" />
    <SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
  </ItemGroup>
  <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
    <Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore\6.0.31\buildTransitive\net6.0\Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore\6.0.31\buildTransitive\net6.0\Microsoft.EntityFrameworkCore.props')" />
  </ImportGroup>
  <PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
    <PkgMicrosoft_Extensions_ApiDescription_Server Condition=" '$(PkgMicrosoft_Extensions_ApiDescription_Server)' == '' ">C:\Users\Administrator\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5</PkgMicrosoft_Extensions_ApiDescription_Server>
    <PkgMicrosoft_Extensions_ApiDescription_Server Condition=" '$(PkgMicrosoft_Extensions_ApiDescription_Server)' == '' ">C:\Users\admin\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5</PkgMicrosoft_Extensions_ApiDescription_Server>
  </PropertyGroup>
</Project>
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -1652,6 +1652,7 @@
    /// 获取任务信息
    /// </summary>
    /// <returns></returns>
    ///
    public WebResponseContent GetTaskInfo()
    {
        WebResponseContent content = new WebResponseContent();
@@ -1709,20 +1710,50 @@
            return content.Error(ex.Message);
        }
    }
    /// <summary>
    /// 获取货位状态
    /// </summary>
    /// <returns></returns>
    public WebResponseContent GetStockQuantity() {
        WebResponseContent content = new WebResponseContent();
        try {
            var location= _locationRepository.Db.Queryable<DtLocationInfo>().ToList();
            return content.OK(data: location);
        }
        catch (Exception ex)
        {
            return content.Error(ex.Message);
        }
    }
    public WebResponseContent Getproductionvolume()
    {
        WebResponseContent content = new WebResponseContent();
        try {
            var now = DateTime.Now;
            var startOfDay = new DateTime(now.Year, now.Month, now.Day);
            var endOfDay1 = startOfDay.AddDays(-7);
            var taskHty= _task_HtyRepository.Db.Queryable<Dt_Task_Hty>().Where(it=>it.CreateDate> endOfDay1).ToList();
            return content.OK(data: taskHty);
        }
        catch (Exception ex)
        {
            return content.Error(ex.Message);
        }
    }
    #endregion
    #endregion 外部接口方法
        #endregion 外部接口方法
    #region 内部调用方法
        #region 内部调用方法
    /// <summary>
    /// 创建一个新的任务
    /// </summary>
    /// <param name="model">任务模型</param>
    /// <returns>创建的任务</returns>
        /// <summary>
        /// 创建一个新的任务
        /// </summary>
        /// <param name="model">任务模型</param>
        /// <returns>创建的任务</returns>
    public async Task<Dt_Task> Create(Dt_Task model)
    {
        return await BaseDal.Create(model);
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs
@@ -227,15 +227,35 @@
        return await Service.QueryStockInfoForRealTrayJZAsync(ProductLine,PalletCode);
    }
    /// <summary>
    /// 获取任务信息
    /// </summary>
    /// <returns></returns>
    [HttpPost, AllowAnonymous, Route("GetTaskInfo")]
    public WebResponseContent GetTaskInfo()
    {
        return Service.GetTaskInfo();
    }
    /// <summary>
    /// 获取当日出库库存信息
    /// </summary>
    /// <returns></returns>
    [HttpPost, AllowAnonymous, Route("GetStockInfo")]
    public WebResponseContent GetStockInfo()
    {
        return Service.GetStockInfo();
    }
    /// <summary>
    /// 获取库存信息
    /// </summary>
    /// <returns></returns>
    [HttpPost, AllowAnonymous, Route("GetStockQuantity")]
    public WebResponseContent GetStockQuantity() {
        return Service.GetStockQuantity();
    }
    [HttpPost, AllowAnonymous, Route("Getproductionvolume")]
    public WebResponseContent Getproductionvolume()
    {
        return Service.Getproductionvolume();
    }
}
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
@@ -1,48 +1,48 @@
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "urls": "http://*:5000",
  "MainDB": "DB_WIDESEA", //当前项目的主库,所对应的连接字符串的Enabled必须为true
  //连接字符串
  "ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WMSDB3F;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  "ConnectionStringWCS": "Data Source=.;Initial Catalog=WIDESEA_WCSDB3F;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  //跨域
  "Cors": {
    "PolicyName": "CorsIpAccess", //策略名称
    "EnableAllIPs": true, //当为true时,开放所有IP均可访问。
    // 支持多个域名端口,注意端口号后不要带/斜杆:比如localhost:8000/,是错的
    // 注意,http://127.0.0.1:1818 和 http://localhost:1818 是不一样的
    "IPs": "http://127.0.0.1:8080,http://localhost:8080,http://127.0.0.1:8081,http://localhost:8081"
  },
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    },
    "AllowedHosts": "*",
    "urls": "http://*:5000",
    "MainDB": "DB_WIDESEA", //当前项目的主库,所对应的连接字符串的Enabled必须为true
    //连接字符串
    "ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WMSDB_BBMain;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
    "ConnectionStringWCS": "Data Source=.;Initial Catalog=WIDESEAWCS_BaiBu;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
    //跨域
    "Cors": {
        "PolicyName": "CorsIpAccess", //策略名称
        "EnableAllIPs": true, //当为true时,开放所有IP均可访问。
        // 支持多个域名端口,注意端口号后不要带/斜杆:比如localhost:8000/,是错的
        // 注意,http://127.0.0.1:1818 和 http://localhost:1818 是不一样的
        "IPs": "http://127.0.0.1:8080,http://localhost:8080,http://127.0.0.1:8081,http://localhost:8081"
    },
  //缓存设置
  "CacheSettings": {
    "UseRedis": false, //启用redis
    "RedisSettings": {
      "Address": "127.0.0.1:6379", //地址
      "Password": "123456", //Redis服务密码
      "Db": 9, //默认库
      "ClearRedis": true //是否每次启动都清除Redis缓存
    }
  },
    //缓存设置
    "CacheSettings": {
        "UseRedis": false, //启用redis
        "RedisSettings": {
            "Address": "127.0.0.1:6379", //地址
            "Password": "123456", //Redis服务密码
            "Db": 9, //默认库
            "ClearRedis": true //是否每次启动都清除Redis缓存
        }
    },
  "ApiName": "WIDESEA",
  "ExpMinutes": 120,
    "ApiName": "WIDESEA",
    "ExpMinutes": 120,
  // 需要移库的行
  "TransfertRows": "1,4,5,8",
    // 需要移库的行
    "TransfertRows": "1,4,5,8",
  // 允许出库的编码
  "OutBoundMateriel": [
    //{
    //  "MaterielCode": "CC01050001348",
    //  "ProductionLine": "ZJ-8",
    //  "ProcessCode": "CH001"
    //}
  ]
    // 允许出库的编码
    "OutBoundMateriel": [
        //{
        //  "MaterielCode": "CC01050001348",
        //  "ProductionLine": "ZJ-8",
        //  "ProcessCode": "CH001"
        //}
    ]
}