新增功率档位 统计报表

This commit is contained in:
caixiang
2023-03-06 11:24:16 +08:00
parent 9ccc971a38
commit 05684b5d2a
14 changed files with 522 additions and 300 deletions

View File

@@ -1,5 +1,6 @@
package com.cnbm.packing.controller;
import com.cnbm.admin.annotation.LogOperation;
import com.cnbm.dispatch.enums.kuka.step1.Step1Mes2PlcVar;
import com.cnbm.dispatch.enums.kuka.step1.Step1Plc2MesVar;
import com.cnbm.dispatch.enums.kuka.step2.Step2Mes2PlcVar;
@@ -8,15 +9,20 @@ import com.cnbm.dispatch.enums.kuka.step3.Step3Mes2PlcVar;
import com.cnbm.dispatch.enums.kuka.step3.Step3Plc2MesVar;
import com.cnbm.packing.dto.CamlineSubIdDTO;
import com.cnbm.packing.dto.CamlineSubIdForImportDTO;
import com.cnbm.packing.dto.PowerReportDTO;
import com.cnbm.packing.entity.WoPackagingBoxSubstrate;
import com.cnbm.packing.param.PowerReportQueryParam;
import com.cnbm.packing.service.DynamicDataSourceService;
import com.cnbm.packing.service.WoPackagingBoxServiceBiz;
import com.cnbm.packing.service.WoPackagingBoxSubstrateServiceBiz;
import com.cnbm.packing.vo.PowerReportVo;
import com.cnbm.s7.entity.R;
import com.cnbm.s7.s7connector.enmuc.S7Client;
import com.cnbm.s7.s7connector.type.PlcVar;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -26,6 +32,7 @@ import springfox.documentation.annotations.ApiIgnore;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.util.Arrays;
import java.util.List;
@@ -47,6 +54,10 @@ public class TestController {
DynamicDataSourceService service;
@Autowired
WoPackagingBoxSubstrateServiceBiz substrateServiceBiz;
@Autowired
WoPackagingBoxServiceBiz boxServiceBiz;
private Object read(S7Client s7Client,Step1Plc2MesVar var) throws UnsupportedEncodingException, ParseException {
try {
return s7Client.read(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getLength(), var.getStrSize(), var.getType());
@@ -124,6 +135,8 @@ public class TestController {
return R.ok();
}
@PostMapping("/testReadAll")
public R testReadAll() throws UnsupportedEncodingException, ParseException {
for(Step1Plc2MesVar actual:Step1Plc2MesVar.values()){

View File

@@ -13,24 +13,30 @@ import com.cnbm.common.validator.group.AddGroup;
import com.cnbm.common.validator.group.DefaultGroup;
import com.cnbm.common.validator.group.UpdateGroup;
import com.cnbm.packing.dto.ChangePackingBoxDTO;
import com.cnbm.packing.dto.PowerReportDTO;
import com.cnbm.packing.dto.WoPackagingBoxSubstrateDTO;
import com.cnbm.packing.entity.WoPackagingBox;
import com.cnbm.packing.entity.WoPackagingBoxSubstrate;
import com.cnbm.packing.excel.WoPackagingBoxSubstrateExcel;
import com.cnbm.packing.mapper.WoPackagingBoxMapper;
import com.cnbm.packing.mapper.WoPackagingBoxSubstrateMapper;
import com.cnbm.packing.param.PowerReportQueryParam;
import com.cnbm.packing.service.WoPackagingBoxServiceBiz;
import com.cnbm.packing.service.WoPackagingBoxSubstrateServiceBiz;
import com.cnbm.packing.vo.PowerReportVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.omg.CORBA.PRIVATE_MEMBER;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import java.text.DecimalFormat;
import java.util.List;
import java.util.Map;
@@ -48,6 +54,9 @@ public class WoPackagingBoxSubstrateController {
@Autowired
private WoPackagingBoxSubstrateServiceBiz woPackagingBoxSubstrateService;
@Autowired
private WoPackagingBoxServiceBiz boxServiceBiz;
@Autowired
private WoPackagingBoxSubstrateMapper woPackagingBoxSubstrateMapper;
@@ -93,6 +102,16 @@ public class WoPackagingBoxSubstrateController {
return new Result<Long>().ok(dto.getId());
}
// @PostMapping
// @ApiOperation("功率报表")
// @LogOperation("功率报表查询")
// public Result<List<PowerReportDTO>> powerReport(@RequestBody PowerReportQueryParam queryParam){
//
//
// List<PowerReportDTO> powerReportDTOS = boxServiceBiz.powerReport(queryParam.getOrderName(), queryParam.getBegin(), queryParam.getEnd());
// return new Result<List<PowerReportDTO>>().ok(powerReportDTOS);
// }
@PutMapping
@ApiOperation("修改")
@LogOperation("修改")
@@ -106,6 +125,48 @@ public class WoPackagingBoxSubstrateController {
return new Result<Long>().ok(dto.getId());
}
@ApiOperation("查询模组档位统计分布图")
@LogOperation("查询模组档位统计分布图")
@PostMapping("/powerReport")
public Result<PowerReportVo> powerReport(@RequestBody PowerReportQueryParam queryParam){
List<PowerReportDTO> powerReportDTOS = boxServiceBiz.powerReport(queryParam);
PowerReportVo powerReportVo = new PowerReportVo();
Float totalLevelPower = new Float(0);
Float totalCompensatePower = new Float(0);
Float diversePower = new Float(0);
Integer totalSubNum = 0;
for(PowerReportDTO power : powerReportDTOS){
Integer subLevel = Integer.valueOf(power.getSubLevel());
Integer subNum = power.getSubNum();
Float sumPMPP = power.getSumPMPP();
totalLevelPower += subLevel*subNum;
totalCompensatePower += sumPMPP*subNum;
totalSubNum+= subNum;
}
for(PowerReportDTO power : powerReportDTOS){
Float prop = Float.valueOf(power.getSubNum())/Float.valueOf(totalSubNum);
DecimalFormat df = new DecimalFormat("0.00");
String propS = df.format(prop)+"%";
power.setProportion(propS);
}
diversePower = totalLevelPower - totalCompensatePower;
powerReportVo.setPowerReports(powerReportDTOS);
powerReportVo.setDiversePower(diversePower);
powerReportVo.setTotalCompensatePower(totalCompensatePower);
powerReportVo.setTotalLevelPower(totalLevelPower);
return new Result<PowerReportVo>().ok(powerReportVo);
}
@ApiOperation("查询模组档位统计分布图-获取ordername列表")
@LogOperation("查询模组档位统计分布图-获取ordername列表")
@PostMapping("/orderNameList")
public Result<List<String>> orderNameList(){
List<String> powerReportDTOS = boxServiceBiz.orderNameList();
return new Result<List<String>>().ok(powerReportDTOS);
}
@DeleteMapping
@ApiOperation("删除")
@LogOperation("删除")

View File

@@ -0,0 +1,34 @@
package com.cnbm.packing.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 包装箱基板关联表 ( 基板表 )
*
* @author codeGenerator
* @since 2023-02-21
*/
@Data
@ApiModel(value = "包装箱基板关联表 ( 基板表 )DTO对象")
public class PowerReportDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "subNum")
private Integer subNum;
@ApiModelProperty(value = "subLevel")
private String subLevel;
@ApiModelProperty(value = "sumPMPP")
private Float sumPMPP;
@ApiModelProperty(value = "占比(百分比)")
private String proportion;
}

View File

@@ -1,10 +1,15 @@
package com.cnbm.packing.mapper;
import com.cnbm.packing.dto.PowerReportDTO;
import com.cnbm.packing.param.PowerReportQueryParam;
import org.apache.ibatis.annotations.Param;
import com.cnbm.common.dao.BaseDao;
import com.cnbm.packing.entity.WoPackagingBoxSubstrate;
import org.apache.ibatis.annotations.Mapper;
import java.time.LocalDateTime;
import java.util.List;
/**
* 包装箱基板关联表
*
@@ -17,4 +22,7 @@ public interface WoPackagingBoxSubstrateMapper extends BaseDao<WoPackagingBoxSub
int updatePackagingBoxIdAndSlotByWoSubstrateId(@Param("packagingBoxId") String packagingBoxId, @Param("slot") Integer slot, @Param("woSubstrateId") String woSubstrateId);
List<PowerReportDTO> powerReport(@Param("queryParam") PowerReportQueryParam queryParam);
List<String> orderNameList();
}

View File

@@ -0,0 +1,20 @@
package com.cnbm.packing.param;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @Desc: ""
* @Author: caixiang
* @DATE: 2023/2/15 19:05
*/
@Data
public class PowerReportQueryParam {
private LocalDateTime begin;
private LocalDateTime end;
private String orderName;
private Integer model;
}

View File

@@ -3,9 +3,13 @@ package com.cnbm.packing.service;
import com.cnbm.common.page.PageData;
import com.cnbm.common.service.CrudService;
import com.cnbm.packing.dto.IdVo;
import com.cnbm.packing.dto.PowerReportDTO;
import com.cnbm.packing.dto.WoPackagingBoxDTO;
import com.cnbm.packing.entity.WoPackagingBox;
import com.cnbm.packing.param.PowerReportQueryParam;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
@@ -33,4 +37,7 @@ public interface WoPackagingBoxServiceBiz extends CrudService<WoPackagingBox, Wo
int updateIsArrivedByBoxNo(Integer isArrived, String boxNo);
List<PowerReportDTO> powerReport(PowerReportQueryParam queryParam);
List<String> orderNameList();
}

View File

@@ -8,11 +8,13 @@ import com.cnbm.common.page.PageData;
import com.cnbm.common.service.impl.CrudServiceImpl;
import com.cnbm.common.utils.ConvertUtils;
import com.cnbm.packing.dto.IdVo;
import com.cnbm.packing.dto.PowerReportDTO;
import com.cnbm.packing.dto.WoPackagingBoxDTO;
import com.cnbm.packing.entity.WoPackagingBox;
import com.cnbm.packing.entity.WoPackagingBoxSubstrate;
import com.cnbm.packing.mapper.WoPackagingBoxMapper;
import com.cnbm.packing.mapper.WoPackagingBoxSubstrateMapper;
import com.cnbm.packing.param.PowerReportQueryParam;
import com.cnbm.packing.service.WoPackagingBoxServiceBiz;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -38,6 +40,7 @@ public class WoPackagingBoxServiceBizImpl extends CrudServiceImpl<WoPackagingBox
@Autowired
private WoPackagingBoxSubstrateMapper substrateMapper;
@Override
public QueryWrapper<WoPackagingBox> getWrapper(Map<String, Object> params){
@@ -127,4 +130,14 @@ public class WoPackagingBoxServiceBizImpl extends CrudServiceImpl<WoPackagingBox
public int updateIsArrivedByBoxNo(Integer isArrived, String boxNo) {
return mapper.updateIsArrivedByBoxNo(isArrived,boxNo);
}
@Override
public List<PowerReportDTO> powerReport(PowerReportQueryParam queryParam) {
return substrateMapper.powerReport(queryParam);
}
@Override
public List<String> orderNameList() {
return substrateMapper.orderNameList();
}
}

View File

@@ -0,0 +1,22 @@
package com.cnbm.packing.vo;
import com.cnbm.packing.dto.PowerReportDTO;
import lombok.Data;
import java.util.List;
/**
* @Desc: ""
* @Author: caixiang
* @DATE: 2023/3/6 9:34
*/
@Data
public class PowerReportVo {
private Float totalLevelPower;
private Float totalCompensatePower;
private Float diversePower;
private List<PowerReportDTO> powerReports;
}