no message
							parent
							
								
									84fa3cdc01
								
							
						
					
					
						commit
						889db214d8
					
				| 
						 | 
					@ -0,0 +1,494 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <div class="div1">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="div2" style="padding-bottom: 10px">
 | 
				
			||||||
 | 
					      <el-form ref="form" :model="param" label-width="80px">
 | 
				
			||||||
 | 
					        <el-row>
 | 
				
			||||||
 | 
					          <el-col :span="1">
 | 
				
			||||||
 | 
					            <el-form-item label="波次号:">
 | 
				
			||||||
 | 
					              <el-input type="textarea" v-model="param.wdCode" :rows="1" style="width: 280px;"></el-input>
 | 
				
			||||||
 | 
					            </el-form-item>
 | 
				
			||||||
 | 
					          </el-col>
 | 
				
			||||||
 | 
					        </el-row>
 | 
				
			||||||
 | 
					        <el-button type="success" @click="find">查找</el-button>
 | 
				
			||||||
 | 
					        <el-button type="success" @click="down">导出</el-button>
 | 
				
			||||||
 | 
					        <el-button type="success" @click="rest">重置</el-button>  
 | 
				
			||||||
 | 
					      </el-form>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div class="table-title">命中率</div>
 | 
				
			||||||
 | 
					    <el-table
 | 
				
			||||||
 | 
					        v-loading="this.tableloding"
 | 
				
			||||||
 | 
					        :data="rqMzList"
 | 
				
			||||||
 | 
					        id="educe-table"
 | 
				
			||||||
 | 
					        ref="tableData"
 | 
				
			||||||
 | 
					        border
 | 
				
			||||||
 | 
					        style="width: 100%;">
 | 
				
			||||||
 | 
					      <el-table-column prop="workstation" label="工作站" width="180"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g201.mz" label="201" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g202.mz" label="202" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g203.mz" label="203" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g204.mz" label="204" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g205.mz" label="205" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g206.mz" label="206" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g207.mz" label="207" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g208.mz" label="208" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g209.mz" label="209" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g210.mz" label="210" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g211.mz" label="211" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g212.mz" label="212" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g213.mz" label="213" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g214.mz" label="214" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g215.mz" label="215" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="total.mz" label="平均值" width="60"></el-table-column>
 | 
				
			||||||
 | 
					    </el-table>
 | 
				
			||||||
 | 
					    <div class="table-title">箱子流通数</div>
 | 
				
			||||||
 | 
					    <el-table
 | 
				
			||||||
 | 
					        v-loading="this.tableloding"
 | 
				
			||||||
 | 
					        :data="rqLtList"
 | 
				
			||||||
 | 
					        id="educe-table"
 | 
				
			||||||
 | 
					        ref="tableData"
 | 
				
			||||||
 | 
					        border
 | 
				
			||||||
 | 
					        style="width: 100%;">
 | 
				
			||||||
 | 
					      <el-table-column prop="workstation" label="工作站" width="180"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g201" label="201" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g202" label="202" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g203" label="203" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g204" label="204" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g205" label="205" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g206" label="206" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g207" label="207" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g208" label="208" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g209" label="209" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g210" label="210" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g211" label="211" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g212" label="212" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g213" label="213" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g214" label="214" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="g215" label="215" width="50"></el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column prop="total" label="汇总" width="60"></el-table-column>
 | 
				
			||||||
 | 
					    </el-table>
 | 
				
			||||||
 | 
					    <div class="table-title" v-if="false">数据详情
 | 
				
			||||||
 | 
					    <el-table
 | 
				
			||||||
 | 
					        v-loading="this.tableloding"
 | 
				
			||||||
 | 
					        :height="MaxHeight"
 | 
				
			||||||
 | 
					        :header-cell-style="{background:'#000',color:'#fff'}"
 | 
				
			||||||
 | 
					        :data="tableData"
 | 
				
			||||||
 | 
					        id="educe-table"
 | 
				
			||||||
 | 
					        ref="tableData"
 | 
				
			||||||
 | 
					        border
 | 
				
			||||||
 | 
					        style="width: 100%;">
 | 
				
			||||||
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					          fixed
 | 
				
			||||||
 | 
					          label="容器"
 | 
				
			||||||
 | 
					          v-if="true"
 | 
				
			||||||
 | 
					          width="180">
 | 
				
			||||||
 | 
					        <template slot-scope="scope">
 | 
				
			||||||
 | 
					          <span style="margin-left: 10px">{{ scope.row.rqh }}</span>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					          fixed
 | 
				
			||||||
 | 
					          label="201"
 | 
				
			||||||
 | 
					          v-if="true"
 | 
				
			||||||
 | 
					          width="50">
 | 
				
			||||||
 | 
					        <template slot-scope="scope">
 | 
				
			||||||
 | 
					          <span style="margin-left: 10px">{{ scope.row.g201 }}</span>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					          fixed
 | 
				
			||||||
 | 
					          label="202"
 | 
				
			||||||
 | 
					          v-if="true"
 | 
				
			||||||
 | 
					          width="50">
 | 
				
			||||||
 | 
					        <template slot-scope="scope">
 | 
				
			||||||
 | 
					          <span style="margin-left: 10px">{{ scope.row.g202 }}</span>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					          fixed
 | 
				
			||||||
 | 
					          label="203"
 | 
				
			||||||
 | 
					          v-if="true"
 | 
				
			||||||
 | 
					          width="50">
 | 
				
			||||||
 | 
					        <template slot-scope="scope">
 | 
				
			||||||
 | 
					          <span style="margin-left: 10px">{{ scope.row.g203 }}</span>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					          fixed
 | 
				
			||||||
 | 
					          label="204"
 | 
				
			||||||
 | 
					          v-if="true"
 | 
				
			||||||
 | 
					          width="50">
 | 
				
			||||||
 | 
					        <template slot-scope="scope">
 | 
				
			||||||
 | 
					          <span style="margin-left: 10px">{{ scope.row.g204 }}</span>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					          fixed
 | 
				
			||||||
 | 
					          label="205"
 | 
				
			||||||
 | 
					          v-if="true"
 | 
				
			||||||
 | 
					          width="50">
 | 
				
			||||||
 | 
					        <template slot-scope="scope">
 | 
				
			||||||
 | 
					          <span style="margin-left: 10px">{{ scope.row.g205 }}</span>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					          fixed
 | 
				
			||||||
 | 
					          label="206"
 | 
				
			||||||
 | 
					          v-if="true"
 | 
				
			||||||
 | 
					          width="50">
 | 
				
			||||||
 | 
					        <template slot-scope="scope">
 | 
				
			||||||
 | 
					          <span style="margin-left: 10px">{{ scope.row.g206 }}</span>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					          fixed
 | 
				
			||||||
 | 
					          label="207"
 | 
				
			||||||
 | 
					          v-if="true"
 | 
				
			||||||
 | 
					          width="50">
 | 
				
			||||||
 | 
					        <template slot-scope="scope">
 | 
				
			||||||
 | 
					          <span style="margin-left: 10px">{{ scope.row.g207 }}</span>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					          fixed
 | 
				
			||||||
 | 
					          label="208"
 | 
				
			||||||
 | 
					          v-if="true"
 | 
				
			||||||
 | 
					          width="50">
 | 
				
			||||||
 | 
					        <template slot-scope="scope">
 | 
				
			||||||
 | 
					          <span style="margin-left: 10px">{{ scope.row.g208 }}</span>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					          fixed
 | 
				
			||||||
 | 
					          label="209"
 | 
				
			||||||
 | 
					          v-if="true"
 | 
				
			||||||
 | 
					          width="50">
 | 
				
			||||||
 | 
					        <template slot-scope="scope">
 | 
				
			||||||
 | 
					          <span style="margin-left: 10px">{{ scope.row.g209 }}</span>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					          fixed
 | 
				
			||||||
 | 
					          label="210"
 | 
				
			||||||
 | 
					          v-if="true"
 | 
				
			||||||
 | 
					          width="50">
 | 
				
			||||||
 | 
					        <template slot-scope="scope">
 | 
				
			||||||
 | 
					          <span style="margin-left: 10px">{{ scope.row.g210 }}</span>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					          fixed
 | 
				
			||||||
 | 
					          label="211"
 | 
				
			||||||
 | 
					          v-if="true"
 | 
				
			||||||
 | 
					          width="50">
 | 
				
			||||||
 | 
					        <template slot-scope="scope">
 | 
				
			||||||
 | 
					          <span style="margin-left: 10px">{{ scope.row.g211 }}</span>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					          fixed
 | 
				
			||||||
 | 
					          label="212"
 | 
				
			||||||
 | 
					          v-if="true"
 | 
				
			||||||
 | 
					          width="50">
 | 
				
			||||||
 | 
					        <template slot-scope="scope">
 | 
				
			||||||
 | 
					          <span style="margin-left: 10px">{{ scope.row.g212 }}</span>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					          fixed
 | 
				
			||||||
 | 
					          label="213"
 | 
				
			||||||
 | 
					          v-if="true"
 | 
				
			||||||
 | 
					          width="50">
 | 
				
			||||||
 | 
					        <template slot-scope="scope">
 | 
				
			||||||
 | 
					          <span style="margin-left: 10px">{{ scope.row.g213 }}</span>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					          fixed
 | 
				
			||||||
 | 
					          label="214"
 | 
				
			||||||
 | 
					          v-if="true"
 | 
				
			||||||
 | 
					          width="50">
 | 
				
			||||||
 | 
					        <template slot-scope="scope">
 | 
				
			||||||
 | 
					          <span style="margin-left: 10px">{{ scope.row.g214 }}</span>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
 | 
					      <el-table-column
 | 
				
			||||||
 | 
					          fixed
 | 
				
			||||||
 | 
					          label="215"
 | 
				
			||||||
 | 
					          v-if="true"
 | 
				
			||||||
 | 
					          width="50">
 | 
				
			||||||
 | 
					        <template slot-scope="scope">
 | 
				
			||||||
 | 
					          <span style="margin-left: 10px">{{ scope.row.g215 }}</span>
 | 
				
			||||||
 | 
					        </template>
 | 
				
			||||||
 | 
					      </el-table-column>
 | 
				
			||||||
 | 
					    </el-table>
 | 
				
			||||||
 | 
					    <el-pagination
 | 
				
			||||||
 | 
					        @size-change="handleSizeChange"
 | 
				
			||||||
 | 
					        @current-change="handleCurrentChange"
 | 
				
			||||||
 | 
					        :current-page="pageNum"
 | 
				
			||||||
 | 
					        :page-sizes="[ 50, 100, 200,500]"
 | 
				
			||||||
 | 
					        :page-size="pageSize"
 | 
				
			||||||
 | 
					        layout="total, sizes, prev, pager, next, jumper"
 | 
				
			||||||
 | 
					        :total="total">
 | 
				
			||||||
 | 
					    </el-pagination>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import FileSaver from 'file-saver'
 | 
				
			||||||
 | 
					// eslint-disable-next-line no-unused-vars
 | 
				
			||||||
 | 
					import XLSX from 'xlsx'
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      rqLtList: [],
 | 
				
			||||||
 | 
					      rqMzList: [],
 | 
				
			||||||
 | 
					      pickerOptions: {
 | 
				
			||||||
 | 
					        shortcuts: [{
 | 
				
			||||||
 | 
					          text: '最近一周',
 | 
				
			||||||
 | 
					          onClick(picker) {
 | 
				
			||||||
 | 
					            const end = new Date();
 | 
				
			||||||
 | 
					            const start = new Date();
 | 
				
			||||||
 | 
					            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
 | 
				
			||||||
 | 
					            picker.$emit('pick', [start, end]);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }, {
 | 
				
			||||||
 | 
					          text: '最近一个月',
 | 
				
			||||||
 | 
					          onClick(picker) {
 | 
				
			||||||
 | 
					            const end = new Date();
 | 
				
			||||||
 | 
					            const start = new Date();
 | 
				
			||||||
 | 
					            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
 | 
				
			||||||
 | 
					            picker.$emit('pick', [start, end]);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }, {
 | 
				
			||||||
 | 
					          text: '最近三个月',
 | 
				
			||||||
 | 
					          onClick(picker) {
 | 
				
			||||||
 | 
					            const end = new Date();
 | 
				
			||||||
 | 
					            const start = new Date();
 | 
				
			||||||
 | 
					            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
 | 
				
			||||||
 | 
					            picker.$emit('pick', [start, end]);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      tableloding: false,
 | 
				
			||||||
 | 
					      isShow:false,//是否展示全部搜索条件
 | 
				
			||||||
 | 
					      tableData: [],
 | 
				
			||||||
 | 
					      pageSize: 50,
 | 
				
			||||||
 | 
					      spanArr: [], //每行合并数
 | 
				
			||||||
 | 
					      pos: 0, //角标索引
 | 
				
			||||||
 | 
					      pageNum: 1,
 | 
				
			||||||
 | 
					      total: 3,
 | 
				
			||||||
 | 
					      //查询条件
 | 
				
			||||||
 | 
					      param: {
 | 
				
			||||||
 | 
					        wdCode: ''
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      loading: false,
 | 
				
			||||||
 | 
					      checked: false,
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  computed:{
 | 
				
			||||||
 | 
					    existingLogicTotal() {
 | 
				
			||||||
 | 
					      return this.existingLogic.reduce((total, num) => total + num, 0);
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    headLogicTotal() {
 | 
				
			||||||
 | 
					      return this.headLogic.reduce((total, num) => total + num, 0);
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    MaxHeight(){
 | 
				
			||||||
 | 
					      return  window.innerHeight - 240 +"px";
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  mounted: function () {
 | 
				
			||||||
 | 
					    this.queryUser();
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  updated() {
 | 
				
			||||||
 | 
					    // 每次更新会重新对 Table 进行重新布局
 | 
				
			||||||
 | 
					    this.$nextTick(() => {
 | 
				
			||||||
 | 
					      if (this.$refs.mutipleTable !== undefined) {
 | 
				
			||||||
 | 
					        this.$refs.mutipleTable.doLayout()
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // 合并单元格样式,主要是针对要合并列的第一个单元格(有其他需要的可自行更改)
 | 
				
			||||||
 | 
					    cellStyle({ row, column }) {
 | 
				
			||||||
 | 
					      // 找到数组中列>1那一个单元格,就是需要改变的样式
 | 
				
			||||||
 | 
					      if (row['mergeData'][column.property] && row['mergeData'][column.property][1] && row['mergeData'][column.property][1] > 1) {
 | 
				
			||||||
 | 
					        return { 'text-align': 'left' }
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        return {}
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    objectSpanMethod({ row, column }) {
 | 
				
			||||||
 | 
					      // 直接返回后端给的对应字段的单元格数据
 | 
				
			||||||
 | 
					      return row['mergeData'][column.property]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    handleEdit(index, row) {
 | 
				
			||||||
 | 
					      console.log(index, row);
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    handleDelete(index, row) {
 | 
				
			||||||
 | 
					      console.log(index, row);
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    handleSizeChange(val) {
 | 
				
			||||||
 | 
					      console.log(`每页 ${val} 条`);
 | 
				
			||||||
 | 
					      this.pageNum = 1;
 | 
				
			||||||
 | 
					      this.pageSize = val;
 | 
				
			||||||
 | 
					      this.queryUser();
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    handleCurrentChange(val) {
 | 
				
			||||||
 | 
					      console.log(`当前页: ${val}`);
 | 
				
			||||||
 | 
					      this.pageNum = val;
 | 
				
			||||||
 | 
					      this.queryUser();
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    queryUser() {
 | 
				
			||||||
 | 
					      //列表数据加载
 | 
				
			||||||
 | 
					      this.$axios.post(this.$httpUrl + '/RongQi/queryList', {
 | 
				
			||||||
 | 
					        pageSize: this.pageSize,
 | 
				
			||||||
 | 
					        pageNum: this.pageNum,
 | 
				
			||||||
 | 
					        param: this.param,
 | 
				
			||||||
 | 
					      }).then(res => res.data)
 | 
				
			||||||
 | 
					          .then(res => {
 | 
				
			||||||
 | 
					            if (res.code == 200) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              this.tableData = res.data.rqList
 | 
				
			||||||
 | 
					              this.total = this.tableData.length
 | 
				
			||||||
 | 
					              this.pageSize=this.tableData.length
 | 
				
			||||||
 | 
					              this.rqLtList=res.data.rqLtList
 | 
				
			||||||
 | 
					              this.rqMzList=res.data.rqMzList
 | 
				
			||||||
 | 
					              console.log(this.rqMzList)
 | 
				
			||||||
 | 
					              /*const rqLtMap=res.data.rqLtMap
 | 
				
			||||||
 | 
					              /!* 获取新逻辑数据*!/
 | 
				
			||||||
 | 
					              const rqLtMapNew=rqLtMap.NEW
 | 
				
			||||||
 | 
					              /!* 添加汇总*!/
 | 
				
			||||||
 | 
					              rqLtMapNew.push(rqLtMapNew.reduce((acc, current) => acc + current, 0));
 | 
				
			||||||
 | 
					              /!* 添加表头*!/
 | 
				
			||||||
 | 
					              rqLtMapNew.unshift("头物料+容器逻辑");
 | 
				
			||||||
 | 
					              const propertyKeys = ['workstation', '201', '202', '203', '204', '205', '206', '207', '208', '209', '210', '211', 'total'];
 | 
				
			||||||
 | 
					              const newObj = {};
 | 
				
			||||||
 | 
					              for (let i = 0; i < propertyKeys.length; i++) {
 | 
				
			||||||
 | 
					                newObj[propertyKeys[i]] = rqLtMapNew[i];
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					              this.rqLtList[1]=newObj;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              /!* 获取旧逻辑数据*!/
 | 
				
			||||||
 | 
					              const rqLtMapOLD=rqLtMap.OLD
 | 
				
			||||||
 | 
					              /!* 添加汇总*!/
 | 
				
			||||||
 | 
					              rqLtMapOLD.push(rqLtMapOLD.reduce((acc, current) => acc + current, 0));
 | 
				
			||||||
 | 
					              /!* 添加表头*!/
 | 
				
			||||||
 | 
					              rqLtMapOLD.unshift("现有逻辑");
 | 
				
			||||||
 | 
					              const oldObj = {};
 | 
				
			||||||
 | 
					              for (let i = 0; i < propertyKeys.length; i++) {
 | 
				
			||||||
 | 
					                oldObj[propertyKeys[i]] = rqLtMapOLD[i];
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					              this.rqLtList[0]=oldObj;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              console.log(this.rqLtList)*/
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					              this.$message.error('获取数据失败');
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // eslint-disable-next-line no-unused-vars
 | 
				
			||||||
 | 
					          },err=>{
 | 
				
			||||||
 | 
					            this.tableloding=false;
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    find(){
 | 
				
			||||||
 | 
					      this.pageNum=1;
 | 
				
			||||||
 | 
					      this.queryUser();
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    down(){
 | 
				
			||||||
 | 
					      this.exportToExcel();
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    // 表格数据写入excel,并导出为Excel文件
 | 
				
			||||||
 | 
					    exportToExcel(){
 | 
				
			||||||
 | 
					      /*const worksheet = XLSX.utils.json_to_sheet(this.tableData);
 | 
				
			||||||
 | 
					      const workbook = XLSX.utils.book_new();
 | 
				
			||||||
 | 
					      XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
 | 
				
			||||||
 | 
					      XLSX.writeFile(workbook, 'table_data.xlsx');*/
 | 
				
			||||||
 | 
					      const XLSX = require('xlsx')
 | 
				
			||||||
 | 
					      console.log('XLSX',XLSX,FileSaver)
 | 
				
			||||||
 | 
					      // 使用 this.$nextTick 是在dom元素都渲染完成之后再执行
 | 
				
			||||||
 | 
					      this.$nextTick(function () {
 | 
				
			||||||
 | 
					        // 设置导出的内容是否只做解析,不进行格式转换     false:要解析, true:不解析
 | 
				
			||||||
 | 
					        const xlsxParam = { raw: true }
 | 
				
			||||||
 | 
					        const wb = XLSX.utils.table_to_book(document.querySelector('#educe-table'), xlsxParam)
 | 
				
			||||||
 | 
					        // 导出excel文件名
 | 
				
			||||||
 | 
					        let fileName = '容器流通' + new Date().getTime() + '.xlsx'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        const wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' })
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					          // 下载保存文件
 | 
				
			||||||
 | 
					          FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), fileName)
 | 
				
			||||||
 | 
					        } catch (e) {
 | 
				
			||||||
 | 
					          if (typeof console !== 'undefined') {
 | 
				
			||||||
 | 
					            console.log(e, wbout)
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return wbout
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    parseTime(time, cFormat) {
 | 
				
			||||||
 | 
					      //获取当前时间
 | 
				
			||||||
 | 
					      if (arguments.length === 0) {
 | 
				
			||||||
 | 
					        return null
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
 | 
				
			||||||
 | 
					      let date
 | 
				
			||||||
 | 
					      if (typeof time === 'undefined' || time === null || time === 'null') {
 | 
				
			||||||
 | 
					        return ''
 | 
				
			||||||
 | 
					      } else if (typeof time === 'object') {
 | 
				
			||||||
 | 
					        date = time
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
 | 
				
			||||||
 | 
					          time = parseInt(time)
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if ((typeof time === 'number') && (time.toString().length === 10)) {
 | 
				
			||||||
 | 
					          time = time * 1000
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        date = new Date(time)
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      const formatObj = {
 | 
				
			||||||
 | 
					        y: date.getFullYear(),
 | 
				
			||||||
 | 
					        m: date.getMonth() + 1,
 | 
				
			||||||
 | 
					        d: date.getDate(),
 | 
				
			||||||
 | 
					        h: date.getHours(),
 | 
				
			||||||
 | 
					        i: date.getMinutes(),
 | 
				
			||||||
 | 
					        s: date.getSeconds(),
 | 
				
			||||||
 | 
					        a: date.getDay()
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
 | 
				
			||||||
 | 
					        let value = formatObj[key]
 | 
				
			||||||
 | 
					        // Note: getDay() returns 0 on Sunday
 | 
				
			||||||
 | 
					        if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value ] }
 | 
				
			||||||
 | 
					        if (result.length > 0 && value < 10) {
 | 
				
			||||||
 | 
					          value = '0' + value
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return value || 0
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					      return time_str
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    Allquesr(){
 | 
				
			||||||
 | 
					      //查询按钮
 | 
				
			||||||
 | 
					      if(this.checked){
 | 
				
			||||||
 | 
					        this.isShow=true;
 | 
				
			||||||
 | 
					      }else {
 | 
				
			||||||
 | 
					        this.isShow=false;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    rest() {
 | 
				
			||||||
 | 
					      //条件查询重置
 | 
				
			||||||
 | 
					      this.checked=false;
 | 
				
			||||||
 | 
					      this.isShow=false;
 | 
				
			||||||
 | 
					      this.param={};
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					<style scoped>
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
| 
						 | 
					@ -128,7 +128,14 @@ const routes=[
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                component: () => import('@/components/duochaxun/Xuliehao.vue')
 | 
					                component: () => import('@/components/duochaxun/Xuliehao.vue')
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                path:'/RongQi',
 | 
				
			||||||
 | 
					                name:'RongQi',
 | 
				
			||||||
 | 
					                meta:{
 | 
				
			||||||
 | 
					                    title:'容器流通'
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                component: () => import('@/components/duochaxun/RongQi.vue')
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,24 @@
 | 
				
			||||||
 | 
					package com.yc.wms.controller;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import lombok.Data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.persistence.Entity;
 | 
				
			||||||
 | 
					import javax.persistence.Id;
 | 
				
			||||||
 | 
					import java.io.Serializable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Data
 | 
				
			||||||
 | 
					@Entity
 | 
				
			||||||
 | 
					public class RQTaskModel implements Serializable{
 | 
				
			||||||
 | 
					    @Id
 | 
				
			||||||
 | 
					    private Long id;
 | 
				
			||||||
 | 
					    private int ts;
 | 
				
			||||||
 | 
					    // 料号
 | 
				
			||||||
 | 
					    private String liaohao;
 | 
				
			||||||
 | 
					    // 工作站
 | 
				
			||||||
 | 
					    private String gzz;
 | 
				
			||||||
 | 
					    // 容器
 | 
				
			||||||
 | 
					    private String rqh;
 | 
				
			||||||
 | 
					    // 物料
 | 
				
			||||||
 | 
					    private String zrwh;
 | 
				
			||||||
 | 
					    private String agvId;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,462 @@
 | 
				
			||||||
 | 
					package com.yc.wms.controller;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import cn.hutool.json.JSONArray;
 | 
				
			||||||
 | 
					import cn.hutool.json.JSONObject;
 | 
				
			||||||
 | 
					import cn.hutool.json.JSONUtil;
 | 
				
			||||||
 | 
					import com.yc.wms.bean.Xuliehao;
 | 
				
			||||||
 | 
					import com.yc.wms.service.Xuliehaoqingdan;
 | 
				
			||||||
 | 
					import com.yc.wms.until.QueryPageUtil;
 | 
				
			||||||
 | 
					import com.yc.wms.until.Result;
 | 
				
			||||||
 | 
					import lombok.Data;
 | 
				
			||||||
 | 
					import lombok.extern.slf4j.Slf4j;
 | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.Autowired;
 | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.PostMapping;
 | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.RequestBody;
 | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.RequestMapping;
 | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.RestController;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.persistence.*;
 | 
				
			||||||
 | 
					import javax.servlet.http.HttpServletResponse;
 | 
				
			||||||
 | 
					import java.io.Serializable;
 | 
				
			||||||
 | 
					import java.text.SimpleDateFormat;
 | 
				
			||||||
 | 
					import java.util.*;
 | 
				
			||||||
 | 
					import java.util.stream.Collectors;
 | 
				
			||||||
 | 
					import java.util.stream.IntStream;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@RestController
 | 
				
			||||||
 | 
					@Slf4j
 | 
				
			||||||
 | 
					@RequestMapping("/RongQi")
 | 
				
			||||||
 | 
					public class RongQiController {
 | 
				
			||||||
 | 
					    @PersistenceContext
 | 
				
			||||||
 | 
					    private EntityManager entityManager;
 | 
				
			||||||
 | 
					    @Autowired
 | 
				
			||||||
 | 
					    private Xuliehaoqingdan xuliehaoqingdan;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping("/queryList")
 | 
				
			||||||
 | 
					    public Result queryList(@RequestBody String  json) {
 | 
				
			||||||
 | 
					        /* 返回data设置*/
 | 
				
			||||||
 | 
					        QueryPageUtil query =new QueryPageUtil();
 | 
				
			||||||
 | 
					        JSONObject jsonObject= JSONUtil.parseObj(json);
 | 
				
			||||||
 | 
					        query.setPageSize((int)jsonObject.get("pageSize"));
 | 
				
			||||||
 | 
					        query.setPageNum((int)jsonObject.get("pageNum"));
 | 
				
			||||||
 | 
					        JSONObject param= (JSONObject)jsonObject.get("param");
 | 
				
			||||||
 | 
					        String wdCode=param.getStr("wdCode");
 | 
				
			||||||
 | 
					//                "BC241225094433013372";
 | 
				
			||||||
 | 
					       /* JSONArray jsonArray=param.getJSONArray("issued_Date");
 | 
				
			||||||
 | 
					        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 | 
				
			||||||
 | 
					        String startDate="";
 | 
				
			||||||
 | 
					        String endDate="";
 | 
				
			||||||
 | 
					        if (jsonArray.size()>0){
 | 
				
			||||||
 | 
					            Date date1=jsonArray.getDate(0);
 | 
				
			||||||
 | 
					            startDate=sdf.format(date1);
 | 
				
			||||||
 | 
					            Date date2=jsonArray.getDate(1);
 | 
				
			||||||
 | 
					            endDate=sdf.format(date2);
 | 
				
			||||||
 | 
					        }else {
 | 
				
			||||||
 | 
					            startDate="2024-05-01";
 | 
				
			||||||
 | 
					            Date date = new Date();
 | 
				
			||||||
 | 
					            endDate=sdf.format(date);
 | 
				
			||||||
 | 
					        }*/
 | 
				
			||||||
 | 
					        /* 基础sql数据查询*/
 | 
				
			||||||
 | 
					        String sql=" SELECT "
 | 
				
			||||||
 | 
					                +" 	MAX(t.id) as id, "
 | 
				
			||||||
 | 
					                +" 	count(t.id) as ts, "
 | 
				
			||||||
 | 
					                +" 	MAX(t.agvTask_ID) as agv_id, "
 | 
				
			||||||
 | 
					                +" 	item.code AS liaohao, "
 | 
				
			||||||
 | 
					                +" 	MAX ( t.END_REGION ) AS gzz, "
 | 
				
			||||||
 | 
					                +" 	MAX ( s2.LP ) AS rqh, "
 | 
				
			||||||
 | 
					                +" 	t.BILLCODE AS zrwh  "
 | 
				
			||||||
 | 
					                +" FROM "
 | 
				
			||||||
 | 
					                +" 	task t "
 | 
				
			||||||
 | 
					                +" 	LEFT JOIN PICK_TICKET_DETAIL ptd ON ptd.id= t.PICK_TICKET_DETAIL_ID "
 | 
				
			||||||
 | 
					                +" 	LEFT JOIN PICK_TICKET pt ON pt.id= ptd.PICK_TICKET_ID "
 | 
				
			||||||
 | 
					                +" 	LEFT JOIN LOCATION loc ON loc.id= t.SRC_LOC_ID "
 | 
				
			||||||
 | 
					                +" 	LEFT JOIN ZONE z ON z.id= loc.ZONE_ID "
 | 
				
			||||||
 | 
					                +" 	LEFT JOIN ITEM_KEY ik ON ik.id= t.ITEM_KEY_ID "
 | 
				
			||||||
 | 
					                +" 	LEFT JOIN ITEM item ON item.id= ik.ITEM_ID "
 | 
				
			||||||
 | 
					                +" 	LEFT JOIN STOCK s2 ON s2.id= t.SRC_LP "
 | 
				
			||||||
 | 
					                +" 	LEFT JOIN STOCK s1 ON s1.id= loc.stock "
 | 
				
			||||||
 | 
					                +" 	LEFT JOIN WAVE_DOC wd ON wd.id= t.WAVE_DOC_ID  "
 | 
				
			||||||
 | 
					                +" WHERE "
 | 
				
			||||||
 | 
					                +" 	1 = 1  "
 | 
				
			||||||
 | 
					                +" 	AND pt.BILL_TYPE_ID= 1094  "
 | 
				
			||||||
 | 
					                +" 	AND wd.code= '"+wdCode+"'  "
 | 
				
			||||||
 | 
					                +" 	AND t.WAVE_DOC_ID IS NOT NULL  and z.id=1763 "
 | 
				
			||||||
 | 
					                +" GROUP BY "
 | 
				
			||||||
 | 
					                +" 	pt.code, "
 | 
				
			||||||
 | 
					                +" 	t.agvTask_ID, "
 | 
				
			||||||
 | 
					                +" 	t.BILLCODE, "
 | 
				
			||||||
 | 
					                +" 	item.id, "
 | 
				
			||||||
 | 
					                +" 	item.code, "
 | 
				
			||||||
 | 
					                +" 	item.BE_MARK_WEIGHT, "
 | 
				
			||||||
 | 
					                +" 	loc.id, "
 | 
				
			||||||
 | 
					                +" 	loc.code, "
 | 
				
			||||||
 | 
					                +" 	ik.PROP_C1, "
 | 
				
			||||||
 | 
					                +" 	ik.PROP_C2, "
 | 
				
			||||||
 | 
					                +" 	ik.PROP_C3, "
 | 
				
			||||||
 | 
					                +" 	ik.PROP_D1, "
 | 
				
			||||||
 | 
					                +" 	ik.PROP_D2, "
 | 
				
			||||||
 | 
					                +" 	item.ISBOM  "
 | 
				
			||||||
 | 
					                ;
 | 
				
			||||||
 | 
					        String sqlCount = "select count(t.id) as nums from (" + sql+") t";
 | 
				
			||||||
 | 
					        /* 总条数*/
 | 
				
			||||||
 | 
					        List<Integer> counts = entityManager.createNativeQuery(sqlCount).getResultList();
 | 
				
			||||||
 | 
					        /* 当前页数据*/
 | 
				
			||||||
 | 
					        int pageNum = query.getPageNum();//当前页
 | 
				
			||||||
 | 
					        int pageSize = counts.get(0);//条数
 | 
				
			||||||
 | 
					        String querySql="";//查询条件
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        String sqlFy = "select * from( "
 | 
				
			||||||
 | 
					                +  sql
 | 
				
			||||||
 | 
					                + ") t where 1=1 "
 | 
				
			||||||
 | 
					                + querySql
 | 
				
			||||||
 | 
					                +" ORDER BY rqh "
 | 
				
			||||||
 | 
					                + " ,id"
 | 
				
			||||||
 | 
					                +"    OFFSET "+ (pageNum-1) * pageSize +" ROWS "
 | 
				
			||||||
 | 
					                +"    FETCH NEXT "+pageSize+" ROWS ONLY; ";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* 箱子流通数*/
 | 
				
			||||||
 | 
					        List<RongQiLt> rqLtList=new ArrayList<>();
 | 
				
			||||||
 | 
					        RongQiLt rongQiOLD=new RongQiLt();
 | 
				
			||||||
 | 
					        rongQiOLD.setWorkstation("现有逻辑");
 | 
				
			||||||
 | 
					        rqLtList.add(rongQiOLD);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        RongQiLt rongQiNEW=new RongQiLt();
 | 
				
			||||||
 | 
					        rongQiNEW.setWorkstation("头物料+容器逻辑");
 | 
				
			||||||
 | 
					        rqLtList.add(rongQiNEW);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* 工作站命中率*/
 | 
				
			||||||
 | 
					        List<RongQiMz> rqMzList=new ArrayList<>();
 | 
				
			||||||
 | 
					        RongQiMz rqMzOLD=new RongQiMz();
 | 
				
			||||||
 | 
					        rqMzOLD.setWorkstation("现有逻辑");
 | 
				
			||||||
 | 
					        rqMzList.add(rqMzOLD);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        RongQiMz rqMzNEW=new RongQiMz();
 | 
				
			||||||
 | 
					        rqMzNEW.setWorkstation("新逻辑");
 | 
				
			||||||
 | 
					        rqMzList.add(rqMzNEW);
 | 
				
			||||||
 | 
					        /* 详情数据*/
 | 
				
			||||||
 | 
					        List<RongQi> rqList = new ArrayList<>();
 | 
				
			||||||
 | 
					        /* 查询所有数据*/
 | 
				
			||||||
 | 
					        List<RQTaskModel> listAll = entityManager.createNativeQuery(sqlFy, RQTaskModel.class).getResultList();
 | 
				
			||||||
 | 
					        /* 按容器分组*/
 | 
				
			||||||
 | 
					        Map<String, List<RQTaskModel>> groupedByRqh = listAll.stream()
 | 
				
			||||||
 | 
					                .collect(Collectors.groupingBy(RQTaskModel::getRqh));
 | 
				
			||||||
 | 
					        for (String rqh : groupedByRqh.keySet()) {
 | 
				
			||||||
 | 
					            RongQi rongQi=new RongQi();
 | 
				
			||||||
 | 
					            rongQi.setRqh(rqh);
 | 
				
			||||||
 | 
					            List<RQTaskModel> listRqh=groupedByRqh.get(rqh);
 | 
				
			||||||
 | 
					            rongQi.setId(listRqh.get(0).getId());
 | 
				
			||||||
 | 
					            /* 按工作站分组*/
 | 
				
			||||||
 | 
					            Map<String, List<RQTaskModel>> groupedByGzz = listRqh.stream()
 | 
				
			||||||
 | 
					                    .collect(Collectors.groupingBy(RQTaskModel::getGzz));
 | 
				
			||||||
 | 
					            for (String gzz : groupedByGzz.keySet()) {
 | 
				
			||||||
 | 
					                List<RQTaskModel> listGzz=groupedByGzz.get(gzz);
 | 
				
			||||||
 | 
					                /* 按AgvId任务分组,获取分组后的集合长度,算出当前料箱到当前工作站的次数*/
 | 
				
			||||||
 | 
					                Map<String, List<RQTaskModel>> groupedByAgvId = listGzz.stream()
 | 
				
			||||||
 | 
					                        .collect(Collectors.groupingBy(RQTaskModel::getAgvId));
 | 
				
			||||||
 | 
					                /* 工作站搬运任务数*/
 | 
				
			||||||
 | 
					                int gzzCount=groupedByAgvId.size();
 | 
				
			||||||
 | 
					                /* 工作站拣货任务总行数*/
 | 
				
			||||||
 | 
					                int taskCount=0;
 | 
				
			||||||
 | 
					                for (RQTaskModel rqTaskModel : listGzz){
 | 
				
			||||||
 | 
					                    taskCount=taskCount+rqTaskModel.getTs();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                int i=1;//1 新逻辑 0 原逻辑
 | 
				
			||||||
 | 
					                RongQiMz rongQiMz=rqMzList.get(i);
 | 
				
			||||||
 | 
					                switch (gzz){
 | 
				
			||||||
 | 
					                    case "201":
 | 
				
			||||||
 | 
					                        rongQi.setG201(taskCount);
 | 
				
			||||||
 | 
					                        rqLtList.get(i).setG201(rqLtList.get(i).getG201()+gzzCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG201().setTaskCount(rongQiMz.getG201().getTaskCount()+taskCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG201().setLxCount(rongQiMz.getG201().getLxCount()+1);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    case "202":
 | 
				
			||||||
 | 
					                        rongQi.setG202(taskCount);
 | 
				
			||||||
 | 
					                        rqLtList.get(i).setG202(rqLtList.get(i).getG202()+gzzCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG202().setTaskCount(rongQiMz.getG202().getTaskCount()+taskCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG202().setLxCount(rongQiMz.getG202().getLxCount()+1);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    case "203":
 | 
				
			||||||
 | 
					                        rongQi.setG203(taskCount);
 | 
				
			||||||
 | 
					                        rqLtList.get(i).setG203(rqLtList.get(i).getG203()+gzzCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG203().setTaskCount(rongQiMz.getG203().getTaskCount()+taskCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG203().setLxCount(rongQiMz.getG203().getLxCount()+1);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    case "204":
 | 
				
			||||||
 | 
					                        rongQi.setG204(taskCount);
 | 
				
			||||||
 | 
					                        rqLtList.get(i).setG204(rqLtList.get(i).getG204()+gzzCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG204().setTaskCount(rongQiMz.getG204().getTaskCount()+taskCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG204().setLxCount(rongQiMz.getG204().getLxCount()+1);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    case "205":
 | 
				
			||||||
 | 
					                        rongQi.setG205(taskCount);
 | 
				
			||||||
 | 
					                        rqLtList.get(i).setG205(rqLtList.get(i).getG205()+gzzCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG205().setTaskCount(rongQiMz.getG205().getTaskCount()+taskCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG205().setLxCount(rongQiMz.getG205().getLxCount()+1);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    case "206":
 | 
				
			||||||
 | 
					                        rongQi.setG206(taskCount);
 | 
				
			||||||
 | 
					                        rqLtList.get(i).setG206(rqLtList.get(i).getG206()+gzzCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG206().setTaskCount(rongQiMz.getG206().getTaskCount()+taskCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG206().setLxCount(rongQiMz.getG206().getLxCount()+1);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    case "207":
 | 
				
			||||||
 | 
					                        rongQi.setG207(taskCount);
 | 
				
			||||||
 | 
					                        rqLtList.get(i).setG207(rqLtList.get(i).getG207()+gzzCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG207().setTaskCount(rongQiMz.getG207().getTaskCount()+taskCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG207().setLxCount(rongQiMz.getG207().getLxCount()+1);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    case "208":
 | 
				
			||||||
 | 
					                        rongQi.setG208(taskCount);
 | 
				
			||||||
 | 
					                        rqLtList.get(i).setG208(rqLtList.get(i).getG208()+gzzCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG208().setTaskCount(rongQiMz.getG208().getTaskCount()+taskCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG208().setLxCount(rongQiMz.getG208().getLxCount()+1);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    case "209":
 | 
				
			||||||
 | 
					                        rongQi.setG209(taskCount);
 | 
				
			||||||
 | 
					                        rqLtList.get(i).setG209(rqLtList.get(i).getG209()+gzzCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG209().setTaskCount(rongQiMz.getG209().getTaskCount()+taskCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG209().setLxCount(rongQiMz.getG209().getLxCount()+1);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    case "210":
 | 
				
			||||||
 | 
					                        rongQi.setG210(taskCount);
 | 
				
			||||||
 | 
					                        rqLtList.get(i).setG210(rqLtList.get(i).getG210()+gzzCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG210().setTaskCount(rongQiMz.getG210().getTaskCount()+taskCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG210().setLxCount(rongQiMz.getG210().getLxCount()+1);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    case "211":
 | 
				
			||||||
 | 
					                        rongQi.setG211(taskCount);
 | 
				
			||||||
 | 
					                        rqLtList.get(i).setG211(rqLtList.get(i).getG211()+gzzCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG211().setTaskCount(rongQiMz.getG211().getTaskCount()+taskCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG211().setLxCount(rongQiMz.getG211().getLxCount()+1);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    case "212":
 | 
				
			||||||
 | 
					                        rongQi.setG212(taskCount);
 | 
				
			||||||
 | 
					                        rqLtList.get(i).setG212(rqLtList.get(i).getG212()+gzzCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG212().setTaskCount(rongQiMz.getG212().getTaskCount()+taskCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG212().setLxCount(rongQiMz.getG212().getLxCount()+1);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    case "213":
 | 
				
			||||||
 | 
					                        rongQi.setG213(taskCount);
 | 
				
			||||||
 | 
					                        rqLtList.get(i).setG213(rqLtList.get(i).getG213()+gzzCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG213().setTaskCount(rongQiMz.getG213().getTaskCount()+taskCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG213().setLxCount(rongQiMz.getG213().getLxCount()+1);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    case "214":
 | 
				
			||||||
 | 
					                        rongQi.setG214(taskCount);
 | 
				
			||||||
 | 
					                        rqLtList.get(i).setG214(rqLtList.get(i).getG214()+gzzCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG214().setTaskCount(rongQiMz.getG214().getTaskCount()+taskCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG214().setLxCount(rongQiMz.getG214().getLxCount()+1);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    case "215":
 | 
				
			||||||
 | 
					                        rongQi.setG215(taskCount);
 | 
				
			||||||
 | 
					                        rqLtList.get(i).setG215(rqLtList.get(i).getG215()+gzzCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG215().setTaskCount(rongQiMz.getG215().getTaskCount()+taskCount);
 | 
				
			||||||
 | 
					                        rongQiMz.getG215().setLxCount(rongQiMz.getG215().getLxCount()+1);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    default:
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                rqLtList.get(i).setTotal(rqLtList.get(i).getTotal()+gzzCount);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            rqList.add(rongQi);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        // 使用 Comparator 进行排序
 | 
				
			||||||
 | 
					        Collections.sort(rqList, new Comparator<RongQi>() {
 | 
				
			||||||
 | 
					            @Override
 | 
				
			||||||
 | 
					            public int compare(RongQi r1, RongQi r2) {
 | 
				
			||||||
 | 
					                return r1.getRqh().compareTo(r2.getRqh());
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					        JSONObject jsonF=new JSONObject();
 | 
				
			||||||
 | 
					        jsonF.accumulate("rqList", rqList);
 | 
				
			||||||
 | 
					        jsonF.accumulate("rqLtList", rqLtList);
 | 
				
			||||||
 | 
					        for (int i = 0; i < rqMzList.size(); i++) {
 | 
				
			||||||
 | 
					            RongQiMz rongQiMz=rqMzList.get(i);//工作站料箱数
 | 
				
			||||||
 | 
					            if (rongQiMz.getG201().getLxCount()!=0){
 | 
				
			||||||
 | 
					                rongQiMz.getG201().setMz(Math.round(rongQiMz.getG201().getTaskCount()/rongQiMz.getG201().getLxCount() * 100) / 100.0);
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setTaskCount(rongQiMz.getTotal().getTaskCount()+rongQiMz.getG201().getMz());
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setLxCount(rongQiMz.getTotal().getLxCount()+1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (rongQiMz.getG202().getLxCount()!=0) {
 | 
				
			||||||
 | 
					                rongQiMz.getG202().setMz(Math.round(rongQiMz.getG202().getTaskCount() / rongQiMz.getG202().getLxCount() * 100) / 100.0);
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setTaskCount(rongQiMz.getTotal().getTaskCount()+rongQiMz.getG202().getMz());
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setLxCount(rongQiMz.getTotal().getLxCount()+1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (rongQiMz.getG203().getLxCount()!=0) {
 | 
				
			||||||
 | 
					                rongQiMz.getG203().setMz(Math.round(rongQiMz.getG203().getTaskCount() / rongQiMz.getG203().getLxCount() * 100) / 100.0);
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setTaskCount(rongQiMz.getTotal().getTaskCount()+rongQiMz.getG201().getMz());
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setLxCount(rongQiMz.getTotal().getLxCount()+1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (rongQiMz.getG204().getLxCount()!=0) {
 | 
				
			||||||
 | 
					                rongQiMz.getG204().setMz(Math.round(rongQiMz.getG204().getTaskCount() / rongQiMz.getG204().getLxCount() * 100) / 100.0);
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setTaskCount(rongQiMz.getTotal().getTaskCount()+rongQiMz.getG201().getMz());
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setLxCount(rongQiMz.getTotal().getLxCount()+1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (rongQiMz.getG205().getLxCount()!=0) {
 | 
				
			||||||
 | 
					                rongQiMz.getG205().setMz(Math.round(rongQiMz.getG205().getTaskCount() / rongQiMz.getG205().getLxCount() * 100) / 100.0);
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setTaskCount(rongQiMz.getTotal().getTaskCount()+rongQiMz.getG205().getMz());
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setLxCount(rongQiMz.getTotal().getLxCount()+1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (rongQiMz.getG206().getLxCount()!=0) {
 | 
				
			||||||
 | 
					                rongQiMz.getG206().setMz(Math.round(rongQiMz.getG206().getTaskCount() / rongQiMz.getG206().getLxCount() * 100) / 100.0);
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setTaskCount(rongQiMz.getTotal().getTaskCount()+rongQiMz.getG206().getMz());
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setLxCount(rongQiMz.getTotal().getLxCount()+1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (rongQiMz.getG207().getLxCount()!=0) {
 | 
				
			||||||
 | 
					                rongQiMz.getG207().setMz(Math.round(rongQiMz.getG207().getTaskCount() / rongQiMz.getG207().getLxCount() * 100) / 100.0);
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setTaskCount(rongQiMz.getTotal().getTaskCount()+rongQiMz.getG207().getMz());
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setLxCount(rongQiMz.getTotal().getLxCount()+1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (rongQiMz.getG208().getLxCount()!=0) {
 | 
				
			||||||
 | 
					                rongQiMz.getG208().setMz(Math.round(rongQiMz.getG208().getTaskCount() / rongQiMz.getG208().getLxCount() * 100) / 100.0);
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setTaskCount(rongQiMz.getTotal().getTaskCount()+rongQiMz.getG208().getMz());
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setLxCount(rongQiMz.getTotal().getLxCount()+1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (rongQiMz.getG209().getLxCount()!=0) {
 | 
				
			||||||
 | 
					                rongQiMz.getG209().setMz(Math.round(rongQiMz.getG209().getTaskCount() / rongQiMz.getG209().getLxCount() * 100) / 100.0);
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setTaskCount(rongQiMz.getTotal().getTaskCount()+rongQiMz.getG209().getMz());
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setLxCount(rongQiMz.getTotal().getLxCount()+1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (rongQiMz.getG210().getLxCount()!=0) {
 | 
				
			||||||
 | 
					                rongQiMz.getG210().setMz(Math.round(rongQiMz.getG210().getTaskCount() / rongQiMz.getG210().getLxCount() * 100) / 100.0);
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setTaskCount(rongQiMz.getTotal().getTaskCount()+rongQiMz.getG210().getMz());
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setLxCount(rongQiMz.getTotal().getLxCount()+1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (rongQiMz.getG211().getLxCount()!=0) {
 | 
				
			||||||
 | 
					                rongQiMz.getG211().setMz(Math.round(rongQiMz.getG211().getTaskCount() / rongQiMz.getG211().getLxCount() * 100) / 100.0);
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setTaskCount(rongQiMz.getTotal().getTaskCount()+rongQiMz.getG211().getMz());
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setLxCount(rongQiMz.getTotal().getLxCount()+1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (rongQiMz.getG212().getLxCount()!=0) {
 | 
				
			||||||
 | 
					                rongQiMz.getG212().setMz(Math.round(rongQiMz.getG212().getTaskCount() / rongQiMz.getG212().getLxCount() * 100) / 100.0);
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setTaskCount(rongQiMz.getTotal().getTaskCount()+rongQiMz.getG212().getMz());
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setLxCount(rongQiMz.getTotal().getLxCount()+1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (rongQiMz.getG213().getLxCount()!=0) {
 | 
				
			||||||
 | 
					                rongQiMz.getG213().setMz(Math.round(rongQiMz.getG213().getTaskCount() / rongQiMz.getG213().getLxCount() * 100) / 100.0);
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setTaskCount(rongQiMz.getTotal().getTaskCount()+rongQiMz.getG213().getMz());
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setLxCount(rongQiMz.getTotal().getLxCount()+1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (rongQiMz.getG214().getLxCount()!=0) {
 | 
				
			||||||
 | 
					                rongQiMz.getG214().setMz(Math.round(rongQiMz.getG214().getTaskCount() / rongQiMz.getG214().getLxCount() * 100) / 100.0);
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setTaskCount(rongQiMz.getTotal().getTaskCount()+rongQiMz.getG214().getMz());
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setLxCount(rongQiMz.getTotal().getLxCount()+1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (rongQiMz.getG215().getLxCount()!=0) {
 | 
				
			||||||
 | 
					                rongQiMz.getG215().setMz(Math.round(rongQiMz.getG215().getTaskCount() / rongQiMz.getG215().getLxCount() * 100) / 100.0);
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setTaskCount(rongQiMz.getTotal().getTaskCount()+rongQiMz.getG215().getMz());
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setLxCount(rongQiMz.getTotal().getLxCount()+1);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (rongQiMz.getTotal().getLxCount()!=0) {
 | 
				
			||||||
 | 
					                rongQiMz.getTotal().setMz(Math.round(rongQiMz.getTotal().getTaskCount() / rongQiMz.getTotal().getLxCount() * 100) / 100.0);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        jsonF.accumulate("rqMzList", rqMzList);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Result result=Result.result(200,"操作成功",Long.parseLong(counts.get(0).toString()), jsonF);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return result;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping(value = "/download")
 | 
				
			||||||
 | 
					    public void exportCompany(HttpServletResponse response, @RequestBody String  json) throws Exception {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        QueryPageUtil query =new QueryPageUtil();
 | 
				
			||||||
 | 
					        JSONObject jsonObject= JSONUtil.parseObj(json);
 | 
				
			||||||
 | 
					        query.setPageSize((int)jsonObject.get("pageSize"));
 | 
				
			||||||
 | 
					        query.setPageNum((int)jsonObject.get("pageNum"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        JSONObject param= (JSONObject)jsonObject.get("param");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Xuliehao j = JSONUtil.toBean(param.toString(), Xuliehao.class);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        xuliehaoqingdan.download( (List<Map<String,Object>>)xuliehaoqingdan.QueryJson(query,j).getData(), response);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					@Data
 | 
				
			||||||
 | 
					@Entity
 | 
				
			||||||
 | 
					class RongQi implements Serializable{
 | 
				
			||||||
 | 
					    @Id
 | 
				
			||||||
 | 
					    private Long id;
 | 
				
			||||||
 | 
					    /* 容器号*/
 | 
				
			||||||
 | 
					    private String rqh;
 | 
				
			||||||
 | 
					    private int g201=0;
 | 
				
			||||||
 | 
					    private int g202=0;
 | 
				
			||||||
 | 
					    private int g203=0;
 | 
				
			||||||
 | 
					    private int g204=0;
 | 
				
			||||||
 | 
					    private int g205=0;
 | 
				
			||||||
 | 
					    private int g206=0;
 | 
				
			||||||
 | 
					    private int g207=0;
 | 
				
			||||||
 | 
					    private int g208=0;
 | 
				
			||||||
 | 
					    private int g209=0;
 | 
				
			||||||
 | 
					    private int g210=0;
 | 
				
			||||||
 | 
					    private int g211=0;
 | 
				
			||||||
 | 
					    private int g212=0;
 | 
				
			||||||
 | 
					    private int g213=0;
 | 
				
			||||||
 | 
					    private int g214=0;
 | 
				
			||||||
 | 
					    private int g215=0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					@Data
 | 
				
			||||||
 | 
					@Entity
 | 
				
			||||||
 | 
					class RongQiLt implements Serializable{
 | 
				
			||||||
 | 
					    @Id
 | 
				
			||||||
 | 
					    private Long id;
 | 
				
			||||||
 | 
					    /* 容器号*/
 | 
				
			||||||
 | 
					    private String workstation;
 | 
				
			||||||
 | 
					    private int g201=0;
 | 
				
			||||||
 | 
					    private int g202=0;
 | 
				
			||||||
 | 
					    private int g203=0;
 | 
				
			||||||
 | 
					    private int g204=0;
 | 
				
			||||||
 | 
					    private int g205=0;
 | 
				
			||||||
 | 
					    private int g206=0;
 | 
				
			||||||
 | 
					    private int g207=0;
 | 
				
			||||||
 | 
					    private int g208=0;
 | 
				
			||||||
 | 
					    private int g209=0;
 | 
				
			||||||
 | 
					    private int g210=0;
 | 
				
			||||||
 | 
					    private int g211=0;
 | 
				
			||||||
 | 
					    private int g212=0;
 | 
				
			||||||
 | 
					    private int g213=0;
 | 
				
			||||||
 | 
					    private int g214=0;
 | 
				
			||||||
 | 
					    private int g215=0;
 | 
				
			||||||
 | 
					    private int total=0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Data
 | 
				
			||||||
 | 
					@Entity
 | 
				
			||||||
 | 
					class RongQiMz implements Serializable {
 | 
				
			||||||
 | 
					    @Id
 | 
				
			||||||
 | 
					    private Long id;
 | 
				
			||||||
 | 
					    /* 容器号*/
 | 
				
			||||||
 | 
					    private String workstation;
 | 
				
			||||||
 | 
					    private RQMzModel g201=new RQMzModel();
 | 
				
			||||||
 | 
					    private RQMzModel g202=new RQMzModel();
 | 
				
			||||||
 | 
					    private RQMzModel g203=new RQMzModel();
 | 
				
			||||||
 | 
					    private RQMzModel g204=new RQMzModel();
 | 
				
			||||||
 | 
					    private RQMzModel g205=new RQMzModel();
 | 
				
			||||||
 | 
					    private RQMzModel g206=new RQMzModel();
 | 
				
			||||||
 | 
					    private RQMzModel g207=new RQMzModel();
 | 
				
			||||||
 | 
					    private RQMzModel g208=new RQMzModel();
 | 
				
			||||||
 | 
					    private RQMzModel g209=new RQMzModel();
 | 
				
			||||||
 | 
					    private RQMzModel g210=new RQMzModel();
 | 
				
			||||||
 | 
					    private RQMzModel g211=new RQMzModel();
 | 
				
			||||||
 | 
					    private RQMzModel g212=new RQMzModel();
 | 
				
			||||||
 | 
					    private RQMzModel g213=new RQMzModel();
 | 
				
			||||||
 | 
					    private RQMzModel g214=new RQMzModel();
 | 
				
			||||||
 | 
					    private RQMzModel g215=new RQMzModel();
 | 
				
			||||||
 | 
					    private RQMzModel total=new RQMzModel();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Data
 | 
				
			||||||
 | 
					class RQMzModel implements Serializable {
 | 
				
			||||||
 | 
					    @Id
 | 
				
			||||||
 | 
					    private Long id;
 | 
				
			||||||
 | 
					    /*任务行*/
 | 
				
			||||||
 | 
					    private double taskCount=0;
 | 
				
			||||||
 | 
					    /*料箱数*/
 | 
				
			||||||
 | 
					    private double lxCount=0;
 | 
				
			||||||
 | 
					    /*命中率*/
 | 
				
			||||||
 | 
					    private double mz=0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -34,7 +34,7 @@ public class UserController {
 | 
				
			||||||
    public Result login(@RequestBody String user) {
 | 
					    public Result login(@RequestBody String user) {
 | 
				
			||||||
        JSONArray array=new JSONArray();
 | 
					        JSONArray array=new JSONArray();
 | 
				
			||||||
        JSONObject data=new JSONObject();
 | 
					        JSONObject data=new JSONObject();
 | 
				
			||||||
        int menuCount=12;
 | 
					        int menuCount=13;
 | 
				
			||||||
        for (int i=1;i<=menuCount;i++){
 | 
					        for (int i=1;i<=menuCount;i++){
 | 
				
			||||||
            JSONObject menu=new JSONObject();
 | 
					            JSONObject menu=new JSONObject();
 | 
				
			||||||
            menu.put("id",i);
 | 
					            menu.put("id",i);
 | 
				
			||||||
| 
						 | 
					@ -87,6 +87,10 @@ public class UserController {
 | 
				
			||||||
                menu.put("menuName", "人效管理");
 | 
					                menu.put("menuName", "人效管理");
 | 
				
			||||||
                menu.put("menuComponent","/RenXiao");
 | 
					                menu.put("menuComponent","/RenXiao");
 | 
				
			||||||
                menu.put("menuClick","RenXiao");
 | 
					                menu.put("menuClick","RenXiao");
 | 
				
			||||||
 | 
					            }else if(i==13) {
 | 
				
			||||||
 | 
					                menu.put("menuName", "容器流通");
 | 
				
			||||||
 | 
					                menu.put("menuComponent","/RongQi");
 | 
				
			||||||
 | 
					                menu.put("menuClick","RongQi");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            menu.put("menuLevel",i);
 | 
					            menu.put("menuLevel",i);
 | 
				
			||||||
            menu.put("menuParentCode",i);
 | 
					            menu.put("menuParentCode",i);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,7 +13,7 @@ server:
 | 
				
			||||||
spring:
 | 
					spring:
 | 
				
			||||||
  datasource:
 | 
					  datasource:
 | 
				
			||||||
#    url: jdbc:sqlserver://10.1.96.105:1433;DatabaseName=LD_WMSDB
 | 
					#    url: jdbc:sqlserver://10.1.96.105:1433;DatabaseName=LD_WMSDB
 | 
				
			||||||
    url: jdbc:sqlserver://47.103.100.52:1433;DatabaseName=zwtest
 | 
					    url: jdbc:sqlserver://47.103.100.52:1433;DatabaseName=zwlgtest
 | 
				
			||||||
    driver-class-name:  com.microsoft.sqlserver.jdbc.SQLServerDriver
 | 
					    driver-class-name:  com.microsoft.sqlserver.jdbc.SQLServerDriver
 | 
				
			||||||
#    username: wmsdb
 | 
					#    username: wmsdb
 | 
				
			||||||
#    password: AmecDDbb32A
 | 
					#    password: AmecDDbb32A
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue