fix #5

Merged
yanyang merged 1 commits from yanyang into master 2023-02-24 08:20:15 +08:00
12 changed files with 141 additions and 45 deletions

View File

@ -126,4 +126,13 @@ public class WoPackagingBoxController {
// @LogOperation("获取列表")
public List<WoPackagingBoxDTO> list() { return woPackagingBoxService.list(); }
@PostMapping(value = "printList/{id}")
@ApiOperation(value = "包装箱打印列表")
public Result<WoPackagingBoxDTO> printList(@PathVariable("id") Long id) {
WoPackagingBoxDTO data = woPackagingBoxService.printList(id);
return new Result<WoPackagingBoxDTO>().ok(data);
}
}

View File

@ -12,6 +12,7 @@ import com.cnbm.common.validator.ValidatorUtils;
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.WoPackagingBoxSubstrateDTO;
import com.cnbm.packing.entity.WoPackagingBox;
import com.cnbm.packing.entity.WoPackagingBoxSubstrate;
@ -141,12 +142,12 @@ public class WoPackagingBoxSubstrateController {
@PostMapping("insertSubstrate")
@ApiOperation("合箱")
// @LogOperation("合箱")
public Result insertSubstrate(@RequestBody WoPackagingBoxSubstrateDTO dto){
public Result insertSubstrate(@RequestBody ChangePackingBoxDTO dto){
String woSubstrateId = dto.getWoSubstrateId();
//验证模组是否存在
QueryWrapper<WoPackagingBoxSubstrate> substrateQueryWrapper1 = new QueryWrapper<>();
substrateQueryWrapper1.eq(StringUtils.isNotBlank(woSubstrateId), "woSubstrateId", woSubstrateId);
substrateQueryWrapper1.eq(StringUtils.isNotBlank(woSubstrateId), WoPackagingBoxSubstrate.WO_SUBSTRATE_ID, woSubstrateId);
if(woPackagingBoxSubstrateMapper.selectCount(substrateQueryWrapper1 )== 0){
return new Result().error(1,"该模组不存在,请重新输入");
}
@ -158,8 +159,8 @@ public class WoPackagingBoxSubstrateController {
//验证slot是否被占用
QueryWrapper<WoPackagingBoxSubstrate> substrateQueryWrapper2 = new QueryWrapper<>();
substrateQueryWrapper2.eq(StringUtils.isNotBlank(dto.getPackagingBoxId()), "packagingBoxId", dto.getPackagingBoxId());
substrateQueryWrapper2.eq(ObjectUtils.isNotNull(dto.getSlot()), "slot", dto.getSlot());
substrateQueryWrapper2.eq(StringUtils.isNotBlank(dto.getPackagingBoxId()), WoPackagingBoxSubstrate.PACKAGING_BOX_ID, dto.getPackagingBoxId());
substrateQueryWrapper2.eq(ObjectUtils.isNotNull(dto.getSlot()), WoPackagingBoxSubstrate.SLOT, dto.getSlot());
if(woPackagingBoxSubstrateMapper.selectCount(substrateQueryWrapper2) != 0){
return new Result().error(1,"该slot已被占用");
}
@ -167,7 +168,7 @@ public class WoPackagingBoxSubstrateController {
//验证该模组的线体功率等级是否BoxID的线体功率等级一致一致保存成功数据发生更新不一致则显示保存失败数据不发生更新
String packagingBoxId = dto.getPackagingBoxId();
QueryWrapper<WoPackagingBox> boxQueryWrapper = new QueryWrapper<>();
boxQueryWrapper.eq(StringUtils.isNotBlank(packagingBoxId), "boxNo", packagingBoxId);
boxQueryWrapper.eq(StringUtils.isNotBlank(packagingBoxId), WoPackagingBox.BOX_NO, packagingBoxId);
WoPackagingBox box = woPackagingBoxMapper.selectList(boxQueryWrapper).get(0);
if((substrate.getLineBody()==box.getLineBody()) && (substrate.getPowerLevel()==box.getPowerLevel()) )
@ -184,7 +185,7 @@ public class WoPackagingBoxSubstrateController {
@PostMapping("replaceSubstrate")
@ApiOperation("换箱")
// @LogOperation("换箱")
public Result replaceSubstrate(@RequestBody WoPackagingBoxSubstrateDTO[] dtos){
public Result replaceSubstrate(@RequestBody ChangePackingBoxDTO[] dtos){
woPackagingBoxSubstrateService.replaceSubstrate(dtos);
@ -194,11 +195,11 @@ public class WoPackagingBoxSubstrateController {
@PostMapping("slotValidation")
@ApiOperation("slot是否占用验证")
// @LogOperation("slot是否占用验证")
public boolean slotValidation(@RequestBody WoPackagingBoxSubstrateDTO dto){
public boolean slotValidation(@RequestBody ChangePackingBoxDTO dto){
QueryWrapper<WoPackagingBoxSubstrate> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(dto.getPackagingBoxId()), "packagingBoxId", dto.getPackagingBoxId());
wrapper.eq(ObjectUtils.isNotNull(dto.getSlot()), "slot", dto.getSlot());
wrapper.eq(StringUtils.isNotBlank(dto.getPackagingBoxId()), WoPackagingBoxSubstrate.PACKAGING_BOX_ID, dto.getPackagingBoxId());
wrapper.eq(ObjectUtils.isNotNull(dto.getSlot()), WoPackagingBoxSubstrate.SLOT, dto.getSlot());
if(woPackagingBoxSubstrateMapper.selectCount(wrapper) == 0){
return true;
}
@ -207,12 +208,12 @@ public class WoPackagingBoxSubstrateController {
}
}
@PostMapping("batchInsert")
@PostMapping("insertSubstrateManual")
@ApiOperation("手动装箱")
// @LogOperation("手动装箱")
public Result batchInsert(@RequestBody WoPackagingBoxSubstrateDTO[] lists){
public Result insertSubstrateManual(@RequestBody ChangePackingBoxDTO dto){
woPackagingBoxSubstrateService.batchInsert(lists);
woPackagingBoxSubstrateService.insertSubstrateManual(dto);
return new Result();
}

View File

@ -127,30 +127,13 @@ public class WoPackagingPrintHistoryController {
}
@PostMapping("print/{id}")
@ApiOperation("打印")
@ApiOperation("打印记录")
// @LogOperation("打印")
public Result<Long> print(@PathVariable("id") Long id) {
WoPackagingBoxDTO woPackagingBox = woPackagingBoxServiceBiz.get(id);
woPackagingPrintHistoryService.print(id);
WoPackagingPrintHistoryDTO woPackagingPrintHistory = new WoPackagingPrintHistoryDTO();
BeanUtils.copyProperties(woPackagingBox, woPackagingPrintHistory);
woPackagingPrintHistory.setId(null);
woPackagingPrintHistory.setPrintTime(LocalDateTime.now());
//效验数据
ValidatorUtils.validateEntity(woPackagingPrintHistory, AddGroup.class, DefaultGroup.class);
woPackagingPrintHistoryService.save(woPackagingPrintHistory);
//更新包装箱表中打印状态和时间
woPackagingBox.setPrintTime(woPackagingPrintHistory.getPrintTime());
if(woPackagingBox.getPrintStatus()==0){
woPackagingBox.setPrintCount(1);
woPackagingBox.setPrintStatus(WhetherEnum.YES.getValue());
}
else{
woPackagingBox.setPrintCount(woPackagingBox.getPrintCount()+1);
}
return new Result<Long>().ok(woPackagingPrintHistory.getId());
return new Result();
}
}

View File

@ -0,0 +1,25 @@
package com.cnbm.packing.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
@ApiModel(value = "包装箱与基板关联变化对象")
public class ChangePackingBoxDTO implements Serializable {
@ApiModelProperty(value = "WoPackagingBoxSubstrate.id")
private Long id;
@ApiModelProperty(value = "包装箱IDBoxId")
private String packagingBoxId;
@ApiModelProperty(value = "基板ID")
private String woSubstrateId;
@ApiModelProperty(value = "箱中位置")
private Integer slot;
}

View File

@ -1,5 +1,6 @@
package com.cnbm.packing.dto;
import com.cnbm.packing.entity.WoPackagingBoxSubstrate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -8,6 +9,7 @@ import java.io.Serializable;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.List;
/**
@ -113,4 +115,7 @@ public class WoPackagingBoxDTO implements Serializable {
@ApiModelProperty(value = "订单号")
private String orderNum;
@ApiModelProperty(value = "基板列表")
private List<WoPackagingBoxSubstrate> substrateList;;
}

View File

@ -4,6 +4,7 @@ import com.cnbm.common.page.PageData;
import com.cnbm.common.service.CrudService;
import com.cnbm.packing.dto.WoPackagingBoxDTO;
import com.cnbm.packing.dto.WoPackagingBoxDTO;
import com.cnbm.packing.dto.WoPackagingBoxSubstrateDTO;
import com.cnbm.packing.entity.WoPackagingBox;
import java.util.List;
@ -28,5 +29,7 @@ public interface WoPackagingBoxServiceBiz extends CrudService<WoPackagingBox, Wo
void delete(Long[] ids);
List<WoPackagingBoxDTO> list();
WoPackagingBoxDTO printList(Long id);
}

View File

@ -2,6 +2,7 @@ package com.cnbm.packing.service;
import com.cnbm.common.page.PageData;
import com.cnbm.common.service.CrudService;
import com.cnbm.packing.dto.ChangePackingBoxDTO;
import com.cnbm.packing.dto.WoPackagingBoxSubstrateDTO;
import com.cnbm.packing.entity.WoPackagingBoxSubstrate;
@ -27,10 +28,10 @@ public interface WoPackagingBoxSubstrateServiceBiz extends CrudService<WoPackagi
void removeSubstrate(Long id);
void insertSubstrate(WoPackagingBoxSubstrateDTO dto);
void insertSubstrate(ChangePackingBoxDTO dto);
void replaceSubstrate(WoPackagingBoxSubstrateDTO[] dtos);
void replaceSubstrate(ChangePackingBoxDTO[] dtos);
void batchInsert(WoPackagingBoxSubstrateDTO[] lists);
void insertSubstrateManual(ChangePackingBoxDTO dto);
}

View File

@ -27,5 +27,7 @@ public interface WoPackagingPrintHistoryServiceBiz extends CrudService<WoPackagi
void delete(Long[] ids);
List<WoPackagingPrintHistoryDTO> list();
void print(Long id);
}

View File

@ -12,9 +12,11 @@ import com.cnbm.packing.dto.WoPackagingBoxDTO;
import com.cnbm.packing.dto.WoPowerLevelDTO;
import com.cnbm.packing.entity.WoPackagingBox;
import com.cnbm.packing.entity.WoPackagingBox;
import com.cnbm.packing.entity.WoPackagingBoxSubstrate;
import com.cnbm.packing.entity.WoPowerLevel;
import com.cnbm.packing.mapper.WoPackagingBoxMapper;
import com.cnbm.packing.mapper.WoPackagingBoxMapper;
import com.cnbm.packing.mapper.WoPackagingBoxSubstrateMapper;
import com.cnbm.packing.service.WoPackagingBoxServiceBiz;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -37,6 +39,9 @@ public class WoPackagingBoxServiceBizImpl extends CrudServiceImpl<WoPackagingBox
@Autowired
private WoPackagingBoxMapper mapper;
@Autowired
private WoPackagingBoxSubstrateMapper substrateMapper;
@Override
public QueryWrapper<WoPackagingBox> getWrapper(Map<String, Object> params){
@ -109,5 +114,15 @@ public class WoPackagingBoxServiceBizImpl extends CrudServiceImpl<WoPackagingBox
return list;
}
@Override
public WoPackagingBoxDTO printList(Long id) {
WoPackagingBox entity = baseDao.selectById(id);
WoPackagingBoxDTO dto = ConvertUtils.sourceToTarget(entity, WoPackagingBoxDTO.class);
QueryWrapper<WoPackagingBoxSubstrate> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(entity.getBoxNo()), WoPackagingBoxSubstrate.PACKAGING_BOX_ID, entity.getBoxNo());
List<WoPackagingBoxSubstrate> woPackagingBoxSubstrateList = substrateMapper.selectList(wrapper);
dto.setSubstrateList(woPackagingBoxSubstrateList);
return dto;
}
}

View File

@ -9,6 +9,7 @@ import com.cnbm.common.utils.ConvertUtils;
import com.cnbm.common.validator.ValidatorUtils;
import com.cnbm.common.validator.group.AddGroup;
import com.cnbm.common.validator.group.DefaultGroup;
import com.cnbm.packing.dto.ChangePackingBoxDTO;
import com.cnbm.packing.dto.WoPackagingBoxSubstrateDTO;
import com.cnbm.packing.entity.ChangePackagingBoxHistory;
import com.cnbm.packing.entity.WoPackagingBoxSubstrate;
@ -38,6 +39,9 @@ public class WoPackagingBoxSubstrateServiceBizImpl extends CrudServiceImpl<WoPac
@Autowired
private ChangePackagingBoxHistoryServiceBiz changePackagingBoxHistoryService;
@Autowired
private WoPackagingBoxSubstrateMapper mapper;
@Override
public QueryWrapper<WoPackagingBoxSubstrate> getWrapper(Map<String, Object> params){
String packagingBoxId = (String) params.get("packagingBoxId");
@ -111,7 +115,7 @@ public class WoPackagingBoxSubstrateServiceBizImpl extends CrudServiceImpl<WoPac
@Override
@Transactional(rollbackFor = Exception.class)
public void insertSubstrate(WoPackagingBoxSubstrateDTO dto) {
public void insertSubstrate(ChangePackingBoxDTO dto) {
WoPackagingBoxSubstrate entity = baseDao.selectById(dto.getId());
//合箱写入包装箱拆合箱历史表
ChangePackagingBoxHistory changePackagingBoxHistory = new ChangePackagingBoxHistory();
@ -129,14 +133,14 @@ public class WoPackagingBoxSubstrateServiceBizImpl extends CrudServiceImpl<WoPac
@Override
@Transactional(rollbackFor = Exception.class)
public void replaceSubstrate(WoPackagingBoxSubstrateDTO[] dtos) {
for(WoPackagingBoxSubstrateDTO dto : dtos){
public void replaceSubstrate(ChangePackingBoxDTO[] dtos) {
for(ChangePackingBoxDTO dto : dtos){
WoPackagingBoxSubstrate entity = baseDao.selectById(dto.getId());
//换箱写入包装箱拆合箱历史表
ChangePackagingBoxHistory changePackagingBoxHistory = new ChangePackagingBoxHistory();
changePackagingBoxHistory.setSubstrateId(dto.getWoSubstrateId());
changePackagingBoxHistory.setTargetBoxNo(entity.getPackagingBoxId());
changePackagingBoxHistory.setTargetSlot(entity.getSlot());
changePackagingBoxHistory.setSubstrateId(entity.getWoSubstrateId());
changePackagingBoxHistory.setSourceBoxNo(entity.getPackagingBoxId());
changePackagingBoxHistory.setSourceSlot(entity.getSlot());
changePackagingBoxHistory.setTargetBoxNo(dto.getPackagingBoxId());
changePackagingBoxHistory.setTargetSlot(dto.getSlot());
changePackagingBoxHistory.setType(3);
@ -150,9 +154,18 @@ public class WoPackagingBoxSubstrateServiceBizImpl extends CrudServiceImpl<WoPac
@Override
@Transactional(rollbackFor = Exception.class)
public void batchInsert(WoPackagingBoxSubstrateDTO[] lists) {
for(WoPackagingBoxSubstrateDTO dto:lists){
if(dto.getWoSubstrateId()==null){
public void insertSubstrateManual(ChangePackingBoxDTO dto) {
QueryWrapper<WoPackagingBoxSubstrate> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(dto.getWoSubstrateId()),WoPackagingBoxSubstrate.WO_SUBSTRATE_ID,dto.getWoSubstrateId());
if(mapper.selectCount(wrapper)>0 && StringUtils.isNotBlank(dto.getWoSubstrateId())) {
WoPackagingBoxSubstrate substrate = mapper.selectList(wrapper).get(0);
substrate.setPackagingBoxId(dto.getPackagingBoxId());
updateById(substrate);
}
else{
//模组ID有时为空用户会输入无码
if(dto.getWoSubstrateId()==null) {
dto.setWoSubstrateId("无码");
}
//效验数据

View File

@ -3,9 +3,14 @@ package com.cnbm.packing.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.cnbm.admin.enums.WhetherEnum;
import com.cnbm.common.page.PageData;
import com.cnbm.common.service.impl.CrudServiceImpl;
import com.cnbm.common.utils.ConvertUtils;
import com.cnbm.common.validator.ValidatorUtils;
import com.cnbm.common.validator.group.AddGroup;
import com.cnbm.common.validator.group.DefaultGroup;
import com.cnbm.packing.dto.WoPackagingBoxDTO;
import com.cnbm.packing.dto.WoPackagingPrintHistoryDTO;
import com.cnbm.packing.dto.WoPackagingPrintHistoryDTO;
import com.cnbm.packing.entity.WoPackagingBox;
@ -13,8 +18,10 @@ import com.cnbm.packing.entity.WoPackagingPrintHistory;
import com.cnbm.packing.entity.WoPackagingPrintHistory;
import com.cnbm.packing.mapper.WoPackagingPrintHistoryMapper;
import com.cnbm.packing.mapper.WoPackagingPrintHistoryMapper;
import com.cnbm.packing.service.WoPackagingBoxServiceBiz;
import com.cnbm.packing.service.WoPackagingPrintHistoryServiceBiz;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -36,6 +43,9 @@ public class WoPackagingPrintHistoryServiceBizImpl extends CrudServiceImpl<WoPac
@Autowired
private WoPackagingPrintHistoryMapper mapper;
@Autowired
private WoPackagingBoxServiceBiz woPackagingBoxServiceBiz;
@Override
public QueryWrapper<WoPackagingPrintHistory> getWrapper(Map<String, Object> params){
LocalDateTime startTime = (LocalDateTime) params.get("startTime");
@ -92,5 +102,28 @@ public class WoPackagingPrintHistoryServiceBizImpl extends CrudServiceImpl<WoPac
return list;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void print(Long id) {
WoPackagingBoxDTO woPackagingBox = woPackagingBoxServiceBiz.get(id);
WoPackagingPrintHistory woPackagingPrintHistory = new WoPackagingPrintHistory();
BeanUtils.copyProperties(woPackagingBox, woPackagingPrintHistory);
woPackagingPrintHistory.setId(null);
woPackagingPrintHistory.setPrintTime(LocalDateTime.now());
insert(woPackagingPrintHistory);
//更新包装箱表中打印状态和时间
woPackagingBox.setPrintTime(woPackagingPrintHistory.getPrintTime());
if(woPackagingBox.getPrintStatus()==0){
woPackagingBox.setPrintCount(1);
woPackagingBox.setPrintStatus(1);
}
else{
woPackagingBox.setPrintCount(woPackagingBox.getPrintCount()+1);
}
woPackagingBoxServiceBiz.update(woPackagingBox);
}
}

View File

@ -55,7 +55,13 @@
<select id="list" resultType="com.cnbm.packing.dto.WoPackagingBoxSubstrateDTO">
select * from t_wo_packaging_box_substrate
order by id asc
<where>
valid = 1
<if test="packagingBoxId != null">
and PACKAGING_BOX_ID = #{packagingBoxId}
</if>
</where>
order by slot asc
</select>