Merge branch 'master' of git.picaiba.com:CaiXiang/cigs4 into yanyang

 Conflicts:
	ym-packing/src/main/java/com/cnbm/packing/service/WoPackagingBoxServiceBiz.java
This commit is contained in:
2023-03-06 11:55:29 +08:00
26 changed files with 769 additions and 219 deletions

View File

@@ -1,18 +1,28 @@
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;
import com.cnbm.dispatch.enums.kuka.step2.Step2Plc2MesVar;
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;
@@ -22,7 +32,10 @@ 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;
import java.util.Map;
@@ -39,6 +52,12 @@ public class TestController {
private static final Logger logger = LoggerFactory.getLogger(TestController.class);
@Autowired
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());
@@ -95,6 +114,28 @@ public class TestController {
return null;
}
}
@PostMapping("/forString")
public R forString() throws UnsupportedEncodingException, ParseException {
String[] s = (String[])read(S7Client.S7_KUKA,Step2Plc2MesVar.SubIdList);
System.out.println(Step2Plc2MesVar.SubIdList.getName()+" : "+Arrays.toString(s));
return R.ok();
}
@PostMapping("/forImport")
public R forImport() throws UnsupportedEncodingException, ParseException {
List<CamlineSubIdForImportDTO> alllCamlineSubForImp = service.getAlllCamlineSubForImp();
for(CamlineSubIdForImportDTO cam:alllCamlineSubForImp){
WoPackagingBoxSubstrate woPackagingBoxSubstrate = new WoPackagingBoxSubstrate();
woPackagingBoxSubstrate.setWoSubstrateId(cam.getSubId());
woPackagingBoxSubstrate.setLineBody(2);
woPackagingBoxSubstrate.setPowerLevel(cam.getPowerLevel());
woPackagingBoxSubstrate.setOrderName(cam.getOrderName());
woPackagingBoxSubstrate.setSapMaterial(cam.getSapMaterial());
substrateServiceBiz.insert(woPackagingBoxSubstrate);
}
return R.ok();
}
@PostMapping("/testReadAll")
public R testReadAll() throws UnsupportedEncodingException, ParseException {
@@ -139,17 +180,32 @@ public class TestController {
BigDecimal vmpp = new BigDecimal(46.799);
BigDecimal impp = new BigDecimal(3.0799);
write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Pnom,new Integer(1));
System.out.println(Step1Mes2PlcVar.dLable_Pnom.getName()+" : "+1);
write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Voc,voc);
System.out.println(Step1Mes2PlcVar.dLable_Voc.getName()+" : "+voc.toPlainString());
write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Isc,isc);
System.out.println(Step1Mes2PlcVar.dLable_Isc.getName()+" : "+isc.toPlainString());
write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Vmpp,vmpp);
System.out.println(Step1Mes2PlcVar.dLable_Vmpp.getName()+" : "+vmpp.toPlainString());
write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Impp,impp);
System.out.println(Step1Mes2PlcVar.dLable_Impp.getName()+" : "+impp.toPlainString());
write(S7Client.S7_KUKA,Step2Mes2PlcVar.BoxId,"12345678901111111111");
System.out.println(Step2Mes2PlcVar.BoxId.getName()+" : "+"12345678901111111111");
write(S7Client.S7_KUKA,Step1Mes2PlcVar.SubArrivedFinish,true);
System.out.println(Step1Mes2PlcVar.SubArrivedFinish.getName()+" : "+"true");
write(S7Client.S7_KUKA,Step2Mes2PlcVar.ShelfIsFullFinish,false);
System.out.println(Step2Mes2PlcVar.ShelfIsFullFinish.getName()+" : "+"false");
write(S7Client.S7_KUKA,Step3Mes2PlcVar.ShelfIsFullArrivedFinish,true);
System.out.println(Step3Mes2PlcVar.ShelfIsFullArrivedFinish.getName()+" : "+"true");
return R.ok();
@@ -158,10 +214,28 @@ public class TestController {
public R testlogger() {
logger.info("test logger");
System.out.println("test logger");
// CamlineSubIdDTO subIdByCamline = service.getSubIdByCamline("30110012302220591");
// CamlineSubIdDTO subIdByCamline2 = service.getSubIdByCamline("30110012302220591 ");
// System.out.println("subIdByCamline: "+subIdByCamline.toString());
// System.out.println("subIdByCamline2: "+subIdByCamline2.toString());
// WoPackagingBoxSubstrate bySubId = substrateServiceBiz.getBySubId("30110012302220591 ");
// System.out.println("bySubId: "+bySubId.toString());
WoPackagingBoxSubstrate bySubId = substrateServiceBiz.getBySubId("30110012302210707 ");
if(bySubId == null){
//todo
CamlineSubIdDTO subIdByCamline = service.getSubIdByCamline("30110012302220591 ");
bySubId = new WoPackagingBoxSubstrate();
bySubId.setPowerLevel(subIdByCamline.getPowerLevel());
bySubId.setSapMaterial(subIdByCamline.getSapMaterial());
System.out.println("bySubId2 : "+bySubId.toString());
}
return R.ok();
}
@PostMapping("getPMPPBySubId")
@ApiImplicitParams({
@ApiImplicitParam(name = "subId", value = "基板ID", paramType = "query", required = true, dataTypeClass=Integer.class) ,

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,30 @@
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-20
*/
@Data
@ApiModel(value = "camline 查询对象")
public class CamlineSubIdDTO implements Serializable {
private static final long serialVersionUID = 1L;
private String powerLevel;
private String sapMaterial;
}

View File

@@ -0,0 +1,28 @@
package com.cnbm.packing.dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.io.Serializable;
/**
* 打印标签模板表
*
* @author codeGenerator
* @since 2023-02-20
*/
@Data
@ApiModel(value = "camline 查询对象")
public class CamlineSubIdForImportDTO implements Serializable {
private static final long serialVersionUID = 1L;
private String subId;
private String powerLevel;
private String sapMaterial;
private String orderName;
}

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,6 +1,8 @@
package com.cnbm.packing.mapper;
import com.cnbm.packing.dto.CamlineExtendArgDTO;
import com.cnbm.packing.dto.CamlineSubIdDTO;
import com.cnbm.packing.dto.CamlineSubIdForImportDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -26,4 +28,8 @@ public interface CamlineMapper {
CamlineExtendArgDTO getExtendArgFromCamline(@Param("subId") String subId);
Integer getTodayBoxNum();
CamlineSubIdDTO getSubIdByCamline(@Param("subId") String subId);
List<CamlineSubIdForImportDTO> getSubIdByCamlineForImpoet();
}

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;
/**
* 包装箱基板关联表
*
@@ -15,5 +20,9 @@ import org.apache.ibatis.annotations.Mapper;
public interface WoPackagingBoxSubstrateMapper extends BaseDao<WoPackagingBoxSubstrate> {
WoPackagingBoxSubstrate getOneByWoSubstrateId(@Param("woSubstrateId") String woSubstrateId);
int updatePackagingBoxIdByWoSubstrateId(@Param("packagingBoxId") String packagingBoxId, @Param("woSubstrateId") String woSubstrateId);
}
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

@@ -2,6 +2,8 @@ package com.cnbm.packing.service;
import com.cnbm.dynamic.datasource.annotation.DataSource;
import com.cnbm.packing.dto.CamlineExtendArgDTO;
import com.cnbm.packing.dto.CamlineSubIdDTO;
import com.cnbm.packing.dto.CamlineSubIdForImportDTO;
import com.cnbm.packing.dto.WoPowerLevelDTO;
import com.cnbm.packing.mapper.CamlineMapper;
@@ -41,10 +43,22 @@ public class DynamicDataSourceService {
return mapper.getOrderNameBySubId(subId);
}
@DataSource("camline")
@Transactional
public CamlineSubIdDTO getSubIdByCamline(String subId){
return mapper.getSubIdByCamline(subId);
}
@DataSource("camline")
@Transactional
public CamlineExtendArgDTO getExtendArgFromCamline(String subId){
return mapper.getExtendArgFromCamline(subId);
}
@DataSource("camline")
@Transactional
public List<CamlineSubIdForImportDTO> getAlllCamlineSubForImp(){
return mapper.getSubIdByCamlineForImpoet();
}
}

View File

@@ -3,10 +3,14 @@ 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.entity.WoPackagingBoxSubstrate;
import com.cnbm.packing.param.PowerReportQueryParam;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
@@ -36,4 +40,7 @@ public interface WoPackagingBoxServiceBiz extends CrudService<WoPackagingBox, Wo
int updateIsArrivedByBoxNo(Integer isArrived, String boxNo);
List<PowerReportDTO> powerReport(PowerReportQueryParam queryParam);
List<String> orderNameList();
}

View File

@@ -35,5 +35,7 @@ public interface WoPackagingBoxSubstrateServiceBiz extends CrudService<WoPackagi
void insertSubstrateManual(ChangePackingBoxDTO[] dtos);
WoPackagingBoxSubstrate getBySubId(String subId);
int updatePackagingBoxIdByWoSubstrateId(String packagingBoxId,String woSubstrateId);
int updatePackagingBoxIdAndSlotByWoSubstrateId(String packagingBoxId,Integer slot,String woSubstrateId);
}

View File

@@ -98,8 +98,11 @@ public class WoCompensationPowerServiceBizImpl extends CrudServiceImpl<WoCompens
CompensationPowerXSDTO conffBySubIdAndLineBody = mapper.getConffBySubIdAndLineBody(compensationQueryParam);
float res = pmpp*conffBySubIdAndLineBody.getA()+conffBySubIdAndLineBody.getB();
return res;
if(conffBySubIdAndLineBody!=null){
return pmpp*conffBySubIdAndLineBody.getA()+conffBySubIdAndLineBody.getB();
}else {
return pmpp;
}
}

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;
@@ -39,6 +41,7 @@ public class WoPackagingBoxServiceBizImpl extends CrudServiceImpl<WoPackagingBox
@Autowired
private WoPackagingBoxSubstrateMapper substrateMapper;
@Override
public QueryWrapper<WoPackagingBox> getWrapper(Map<String, Object> params){
@@ -142,4 +145,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

@@ -190,7 +190,7 @@ public class WoPackagingBoxSubstrateServiceBizImpl extends CrudServiceImpl<WoPac
}
@Override
public int updatePackagingBoxIdByWoSubstrateId(String packagingBoxId, String woSubstrateId) {
return mapper.updatePackagingBoxIdByWoSubstrateId(packagingBoxId,woSubstrateId);
public int updatePackagingBoxIdAndSlotByWoSubstrateId(String packagingBoxId, Integer slot , String woSubstrateId) {
return mapper.updatePackagingBoxIdAndSlotByWoSubstrateId(packagingBoxId,slot,woSubstrateId);
}
}

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;
}