diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java index 1cc1988..3d5618d 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java @@ -88,4 +88,11 @@ public class GroupController { iMdPbGroupplateService.create(dto); return new ResponseEntity<>(HttpStatus.OK); } + + @PostMapping("/printDelete") + @Log("打印物料标签后删除") + public ResponseEntity printDelete(@RequestBody GroupPlate dto) { + iMdPbGroupplateService.printDelete(dto); + return new ResponseEntity<>(HttpStatus.OK); + } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/dao/PdmBomCallMaterial.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/dao/PdmBomCallMaterial.java index c86d312..cac3833 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/dao/PdmBomCallMaterial.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/dao/PdmBomCallMaterial.java @@ -34,6 +34,12 @@ public class PdmBomCallMaterial implements Serializable { */ private String material_id; + /** + * 工单类型 + * 1-生产领料,2-烘干领料 + */ + private String bom_type; + /** * 叫料单号 */ diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/dao/mapper/PdmBomCallMaterialDtlMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/dao/mapper/PdmBomCallMaterialDtlMapper.xml index 46e104a..fe87a4e 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/dao/mapper/PdmBomCallMaterialDtlMapper.xml +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/dao/mapper/PdmBomCallMaterialDtlMapper.xml @@ -6,6 +6,7 @@ SELECT dtl.*, mst.bom_code, + mst.bom_type, mst.device_code, mater.material_code, mater.material_name, @@ -35,6 +36,11 @@ mst.bom_code LIKE #{param.bom_code} + + AND + mst.bom_type = #{param.bom_type} + + AND dtl.bom_status = #{param.bom_status} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/dao/mapper/PdmBomCallMaterialMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/dao/mapper/PdmBomCallMaterialMapper.xml index 143e22b..2774add 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/dao/mapper/PdmBomCallMaterialMapper.xml +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/dao/mapper/PdmBomCallMaterialMapper.xml @@ -34,6 +34,11 @@ bom.bom_status = #{param.bom_status} + + AND + bom.bom_type = #{param.bom_type} + + ORDER BY bom.create_time Desc diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/dto/PdmBomCallMaterialDtlDto.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/dto/PdmBomCallMaterialDtlDto.java index 55b9ca7..800e90b 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/dto/PdmBomCallMaterialDtlDto.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/dto/PdmBomCallMaterialDtlDto.java @@ -34,6 +34,11 @@ public class PdmBomCallMaterialDtlDto extends PdmBomCallMaterialDtl { */ private String bom_code; + /** + * 工单类型 + */ + private String bom_type; + /** * 库区名称 */ diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/impl/PdmBomCallMaterialServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/impl/PdmBomCallMaterialServiceImpl.java index d368fca..10ccf65 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/impl/PdmBomCallMaterialServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/impl/PdmBomCallMaterialServiceImpl.java @@ -1,8 +1,8 @@ package org.nl.wms.pdm_manage.service.impl; import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -18,6 +18,7 @@ import org.nl.wms.pdm_manage.service.IPdmBomCallMaterialService; import org.nl.wms.pdm_manage.service.dao.PdmBomCallMaterial; import org.nl.wms.pdm_manage.service.dao.PdmBomCallMaterialDtl; import org.nl.wms.pdm_manage.service.dao.mapper.PdmBomCallMaterialMapper; +import org.nl.wms.pdm_manage.service.dto.PdmBomCallMaterialDtlDto; import org.nl.wms.pdm_manage.service.dto.PdmBomCallMaterialDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -26,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.stream.Collectors; /** *

@@ -125,16 +127,16 @@ public class PdmBomCallMaterialServiceImpl extends ServiceImpl dtlDtoList = iPdmBomCallMaterialDtlService.list( + new QueryWrapper().lambda() + .eq(PdmBomCallMaterialDtl::getBom_id, dao.getBom_id()) + .ne(PdmBomCallMaterialDtl::getBom_status, BomEnum.CALL_BOM_DTL_STATUS.code("完成")) + ).stream() + .map(row -> JSONObject.parseObject(JSONObject.toJSONString(row), PdmBomCallMaterialDtlDto.class)) + .collect(Collectors.toList()); // 更新明细为完成 - iPdmBomCallMaterialDtlService.update( - new UpdateWrapper().lambda() - .set(PdmBomCallMaterialDtl::getBom_status, BomEnum.CALL_BOM_DTL_STATUS.code("完成")) - .eq(PdmBomCallMaterialDtl::getBom_id, dao.getBom_id()) - ); + for (PdmBomCallMaterialDtlDto dtlDto : dtlDtoList) { + iPdmBomCallMaterialDtlService.confirm(dtlDto); + } } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HotOutTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HotOutTask.java index 5d59a0b..8ca0e67 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HotOutTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HotOutTask.java @@ -3,12 +3,16 @@ package org.nl.wms.sch_manage.service.util.tasks; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.SecurityUtils; import org.nl.config.IdUtil; import org.nl.wms.basedata_manage.enums.BaseDataEnum; +import org.nl.wms.pdm_manage.enums.BomEnum; +import org.nl.wms.pdm_manage.service.IPdmBomCallMaterialDtlService; +import org.nl.wms.pdm_manage.service.dao.PdmBomCallMaterialDtl; import org.nl.wms.sch_manage.enums.TaskEnum; import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.service.ISchBasePointService; @@ -23,7 +27,9 @@ import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.IOutBillService; import org.nl.wms.warehouse_management.service.dao.IOStorInvDis; +import org.nl.wms.warehouse_management.service.dao.IOStorInvDtl; import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper; +import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDtlMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -66,6 +72,18 @@ public class HotOutTask extends AbstractTask { @Resource private ISchBasePointService iSchBasePointService; + /** + * 明细mapper + */ + @Resource + private IOStorInvDtlMapper ioStorInvDtlMapper; + + /** + * 退料单服务 + */ + @Resource + private IPdmBomCallMaterialDtlService iPdmBomCallMaterialDtlService; + @Override public String create(JSONObject json) { SchBaseTask task = new SchBaseTask(); @@ -211,6 +229,28 @@ public class HotOutTask extends AbstractTask { @Override public void taskConfirm(String task_code) { + SchBaseTask taskObj = taskService.getByCode(task_code); + IOStorInvDis disDao = ioStorInvDisMapper.selectOne( + new QueryWrapper().lambda() + .eq(IOStorInvDis::getTask_id, taskObj.getTask_id()) + ); + IOStorInvDtl stDtlDao = ioStorInvDtlMapper.selectById(disDao.getIostorinvdtl_id()); + + // 创建退料明细 + PdmBomCallMaterialDtl materDtlDao = new PdmBomCallMaterialDtl(); + materDtlDao.setBomdtl_id(IdUtil.getStringId()); + materDtlDao.setBom_id(stDtlDao.getSource_billdtl_id()); + materDtlDao.setMaterial_id(disDao.getMaterial_id()); + materDtlDao.setPcsn(disDao.getPcsn()); + materDtlDao.setVehicle_code(disDao.getStoragevehicle_code()); + materDtlDao.setStruct_code(disDao.getStruct_code()); + materDtlDao.setBom_status(BomEnum.CALL_BOM_DTL_STATUS.code("生成")); + materDtlDao.setOut_dis_id(disDao.getIostorinvdis_id()); + materDtlDao.setOut_qty(disDao.getReal_qty()); + materDtlDao.setCreate_id(SecurityUtils.getCurrentUserId()); + materDtlDao.setCreate_name(SecurityUtils.getCurrentNickName()); + materDtlDao.setCreate_time(DateUtil.now()); + iPdmBomCallMaterialDtlService.save(materDtlDao); } @Override diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/IMdPbGroupplateService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/IMdPbGroupplateService.java index e266228..950b608 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/IMdPbGroupplateService.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/IMdPbGroupplateService.java @@ -80,4 +80,10 @@ public interface IMdPbGroupplateService extends IService { * @param ids 标识集合 */ void delete(Set ids); + + /** + * 打印物料标签后删除 + * @param dto 实体类 + */ + void printDelete(GroupPlate dto); } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/GroupPlate.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/GroupPlate.java index 57f9aac..2334f12 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/GroupPlate.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/GroupPlate.java @@ -119,4 +119,14 @@ public class GroupPlate implements Serializable { * 组盘时间 */ private String create_time; + + /** + * 出库业务类型 + */ + private String out_type; + + /** + * 打印标签后是否删除 + */ + private String is_need_delete; } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/MdPbGroupplateServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/MdPbGroupplateServiceImpl.java index d87c235..72472ff 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/MdPbGroupplateServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/MdPbGroupplateServiceImpl.java @@ -31,6 +31,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -151,4 +152,12 @@ public class MdPbGroupplateServiceImpl extends ServiceImpl ids) { this.baseMapper.deleteBatchIds(ids); } + + @Override + @Transactional + public void printDelete(GroupPlate dto) { + Set set = new HashSet<>(); + set.add(dto.getGroup_id()); + delete(set); + } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java index 1bcf524..c8b7fa8 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java @@ -19,7 +19,6 @@ import org.nl.common.exception.BadRequestException; import org.nl.common.utils.CodeUtil; import org.nl.common.utils.SecurityUtils; import org.nl.config.IdUtil; -import org.nl.config.SpringContextHolder; import org.nl.wms.basedata_manage.enums.BaseDataEnum; import org.nl.wms.basedata_manage.service.IBsrealStorattrService; import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleextService; @@ -33,7 +32,6 @@ import org.nl.wms.pdm_manage.service.IPdmBomCallMaterialService; import org.nl.wms.pdm_manage.service.dao.PdmBomCallMaterial; import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.service.ISchBaseTaskService; -import org.nl.wms.sch_manage.service.dao.SchBasePoint; import org.nl.wms.sch_manage.service.dao.SchBaseTask; import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper; import org.nl.wms.sch_manage.service.util.AbstractTask; @@ -462,12 +460,12 @@ public class OutBillServiceImpl extends ServiceImpl if (!dtl.getMaterial_id().equals(IOSConstant.MATERIAL_HS_PZ)) { ioStorInvDis.setIs_check(IOSConstant.ONE); ioStorInvDis.setCheck_qty(outAllocation.getCanuse_qty()); - play_qty = NumberUtil.add(play_qty,unassign_qty); + play_qty = NumberUtil.add(play_qty, unassign_qty); } } else { ioStorInvDis.setIs_check(IOSConstant.ONE); ioStorInvDis.setCheck_qty(outAllocation.getCanuse_qty()); - play_qty = NumberUtil.add(play_qty,unassign_qty); + play_qty = NumberUtil.add(play_qty, unassign_qty); } unassign_qty = 0; } @@ -703,12 +701,12 @@ public class OutBillServiceImpl extends ServiceImpl if (!dtl.getMaterial_id().equals(IOSConstant.MATERIAL_HS_PZ)) { ioStorInvDis.setIs_check(IOSConstant.ONE); ioStorInvDis.setCheck_qty(outAllocation.getCanuse_qty()); - play_qty = NumberUtil.add(play_qty,unassign_qty); + play_qty = NumberUtil.add(play_qty, unassign_qty); } } else { ioStorInvDis.setIs_check(IOSConstant.ONE); ioStorInvDis.setCheck_qty(outAllocation.getCanuse_qty()); - play_qty = NumberUtil.add(play_qty,unassign_qty); + play_qty = NumberUtil.add(play_qty, unassign_qty); } unassign_qty = 0; } @@ -936,12 +934,12 @@ public class OutBillServiceImpl extends ServiceImpl if (!dtl.getMaterial_id().equals(IOSConstant.MATERIAL_HS_PZ)) { ioStorInvDis.setIs_check(IOSConstant.ONE); ioStorInvDis.setCheck_qty(ivt.getBigDecimal("canuse_qty")); - play_qty = NumberUtil.add(play_qty,unassign_qty); + play_qty = NumberUtil.add(play_qty, unassign_qty); } } else { ioStorInvDis.setIs_check(IOSConstant.ONE); ioStorInvDis.setCheck_qty(ivt.getBigDecimal("canuse_qty")); - play_qty = NumberUtil.add(play_qty,unassign_qty); + play_qty = NumberUtil.add(play_qty, unassign_qty); } unassign_qty = 0; } @@ -1139,7 +1137,7 @@ public class OutBillServiceImpl extends ServiceImpl for (IOStorInvDis ioStorInvDis : ioStorInvDisList) { // 创建任务 - iOutBillService.createTask(ioStorInvDis,point_code,ioStorInv); + iOutBillService.createTask(ioStorInvDis, point_code, ioStorInv); } } @@ -1205,7 +1203,7 @@ public class OutBillServiceImpl extends ServiceImpl .eq(Structattr::getPlacement_type, IOSEnum.PLACEMENT_TYPE.code("浅货位")) ); if (ObjectUtil.isEmpty(shallowAttr)) { - throw new BadRequestException("仓位【"+ioStorInvDis.getStruct_code()+"】对应的浅货位不存在,请检查数据!"); + throw new BadRequestException("仓位【" + ioStorInvDis.getStruct_code() + "】对应的浅货位不存在,请检查数据!"); } // 判断浅货位是否有货 @@ -1224,14 +1222,14 @@ public class OutBillServiceImpl extends ServiceImpl // 更新起点锁类型 iStructattrService.update( new UpdateWrapper().lambda() - .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("移出锁")) - .eq(Structattr::getStruct_code, jsonMoveTask.getString("point_code1")) + .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("移出锁")) + .eq(Structattr::getStruct_code, jsonMoveTask.getString("point_code1")) ); // 更新终点锁类型 iStructattrService.update( new UpdateWrapper().lambda() - .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("移入锁")) - .eq(Structattr::getStruct_code, jsonMoveTask.getString("point_code2")) + .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("移入锁")) + .eq(Structattr::getStruct_code, jsonMoveTask.getString("point_code2")) ); // 更新分配明细新仓位 ioStorInvDis.setStruct_id(shallowAttr.getStruct_id()); @@ -1246,7 +1244,7 @@ public class OutBillServiceImpl extends ServiceImpl // 相同单据出库任务:直接生成出库任务 return ioStorInvDis.getStruct_code(); } else { - throw new BadRequestException("当前仓位【"+shallowAttr.getStruct_code()+"】被其他出库单据锁定或人工锁定,无法下发移库任务!"); + throw new BadRequestException("当前仓位【" + shallowAttr.getStruct_code() + "】被其他出库单据锁定或人工锁定,无法下发移库任务!"); } } } else { @@ -1255,7 +1253,7 @@ public class OutBillServiceImpl extends ServiceImpl // 直接生成出库任务 return ioStorInvDis.getStruct_code(); } else { - throw new BadRequestException("当前仓位【"+shallowAttr.getStruct_code()+"】有其他入库任务或人工锁定,无法下发出库任务,请等待任务完成或人工解锁!"); + throw new BadRequestException("当前仓位【" + shallowAttr.getStruct_code() + "】有其他入库任务或人工锁定,无法下发出库任务,请等待任务完成或人工解锁!"); } } @@ -1289,12 +1287,12 @@ public class OutBillServiceImpl extends ServiceImpl // 判断此单据下的所有任务有没有完成的 boolean is_finish = iSchBaseTaskService.list( - new QueryWrapper().lambda() - .in(SchBaseTask::getTask_id, storInvDisList.stream() - .map(IOStorInvDis::getTask_id) - .collect(Collectors.toList()) - ) - ).stream() + new QueryWrapper().lambda() + .in(SchBaseTask::getTask_id, storInvDisList.stream() + .map(IOStorInvDis::getTask_id) + .collect(Collectors.toList()) + ) + ).stream() .allMatch(row -> row.getTask_status().equals(TaskStatus.FINISHED.getCode())); if (!is_finish) { throw new BadRequestException("当前有未完成的任务不能强制确认!"); @@ -1344,18 +1342,6 @@ public class OutBillServiceImpl extends ServiceImpl //添加需要更新的明细标识 dtlSet.add(ioStorInvDis.getIostorinvdtl_id()); - //查询明细信息 - IOStorInvDtl ioStorInvDtl = ioStorInvDtlMapper.selectById(ioStorInvDis.getIostorinvdtl_id()); - - // 更新组盘信息为出库 - /* groupPlateMapper.update(new GroupPlate(), new LambdaUpdateWrapper<>(GroupPlate.class) - .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) - .eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn()) - .eq(GroupPlate::getStoragevehicle_code, ioStorInvDis.getStoragevehicle_code()) - .eq(GroupPlate::getMaterial_id, ioStorInvDis.getMaterial_id()) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) - );*/ - GroupPlate groupPlate = groupPlateMapper.selectOne( new QueryWrapper().lambda() .eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn()) @@ -1369,6 +1355,10 @@ public class OutBillServiceImpl extends ServiceImpl groupPlate.setQty(BigDecimal.valueOf(sub_qty)); } groupPlate.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("出库")); + groupPlate.setOut_type(ioStorInv.getBill_type()); + if (ioStorInvDis.getIs_check().equals(IOSConstant.ZERO)) { + groupPlate.setIs_need_delete(IOSConstant.ONE); + } groupPlateMapper.updateById(groupPlate); } @@ -1411,6 +1401,8 @@ public class OutBillServiceImpl extends ServiceImpl if (ObjectUtil.isEmpty(ioStorInvDis)) { throw new BadRequestException("未找到任务对应的分配明细"); } + //查询主表信息 + IOStorInv ioStorInv = ioStorInvMapper.selectById(ioStorInvDis.getIostorinv_id()); //查询明细信息 IOStorInvDtl ioStorInvDtl = ioStorInvDtlMapper.selectById(ioStorInvDis.getIostorinvdtl_id()); @@ -1446,14 +1438,6 @@ public class OutBillServiceImpl extends ServiceImpl updateIvtList.add(jsonIvt); iMdPbStoragevehicleextService.updateIvt(updateIvtList); - // 更新组盘信息为出库 - /* groupPlateMapper.update(new GroupPlate(), new LambdaUpdateWrapper<>(GroupPlate.class) - .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) - .eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn()) - .eq(GroupPlate::getStoragevehicle_code, ioStorInvDis.getStoragevehicle_code()) - .eq(GroupPlate::getMaterial_id, ioStorInvDis.getMaterial_id()) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) - );*/ GroupPlate groupPlate = groupPlateMapper.selectOne( new QueryWrapper().lambda() .eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn()) @@ -1467,6 +1451,10 @@ public class OutBillServiceImpl extends ServiceImpl groupPlate.setQty(BigDecimal.valueOf(sub_qty)); } groupPlate.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("出库")); + groupPlate.setOut_type(ioStorInv.getBill_type()); + if (ioStorInvDis.getIs_check().equals(IOSConstant.ZERO)) { + groupPlate.setIs_need_delete(IOSConstant.ONE); + } groupPlateMapper.updateById(groupPlate); // 查询该明细下是否还有未完成的分配明细 @@ -1523,13 +1511,13 @@ public class OutBillServiceImpl extends ServiceImpl */ private void updateBomStatus(IOStorInv ios, String bom_status) { List sourceList = ioStorInvDtlMapper.selectList( - new QueryWrapper().lambda() - .eq(IOStorInvDtl::getIostorinv_id, ios.getIostorinv_id()) - .in(bom_status.equals(IOSConstant.TWO), IOStorInvDtl::getBill_status, IOSEnum.BILL_STATUS.code("分配中") - , IOSEnum.BILL_STATUS.code("分配完") - ) - .in(bom_status.equals(IOSConstant.IS_DELETE_YES), IOStorInvDtl::getBill_status, IOSEnum.BILL_STATUS.code("生成")) - ).stream().map(IOStorInvDtl::getSource_bill_code) + new QueryWrapper().lambda() + .eq(IOStorInvDtl::getIostorinv_id, ios.getIostorinv_id()) + .in(bom_status.equals(IOSConstant.TWO), IOStorInvDtl::getBill_status, IOSEnum.BILL_STATUS.code("分配中") + , IOSEnum.BILL_STATUS.code("分配完") + ) + .in(bom_status.equals(IOSConstant.IS_DELETE_YES), IOStorInvDtl::getBill_status, IOSEnum.BILL_STATUS.code("生成")) + ).stream().map(IOStorInvDtl::getSource_bill_code) .collect(Collectors.toList()); if (ObjectUtil.isEmpty(sourceList)) { diff --git a/wms/nladmin-ui/src/views/wms/basedata/group/group.js b/wms/nladmin-ui/src/views/wms/basedata/group/group.js index eff6b9a..5e7d9a7 100644 --- a/wms/nladmin-ui/src/views/wms/basedata/group/group.js +++ b/wms/nladmin-ui/src/views/wms/basedata/group/group.js @@ -56,4 +56,12 @@ export function copySave(data) { }) } -export default { add, edit, del, queryMater, checkVehicle, querySupp, copySave } +export function printDelete(data) { + return request({ + url: 'api/group/printDelete', + method: 'post', + data + }) +} + +export default { add, edit, del, queryMater, checkVehicle, querySupp, copySave, printDelete } diff --git a/wms/nladmin-ui/src/views/wms/basedata/group/index.vue b/wms/nladmin-ui/src/views/wms/basedata/group/index.vue index c4b81de..fadd7c1 100644 --- a/wms/nladmin-ui/src/views/wms/basedata/group/index.vue +++ b/wms/nladmin-ui/src/views/wms/basedata/group/index.vue @@ -399,6 +399,10 @@ export default { }, printTable() { let row = this.$refs.table.selection[0] + var bake_num = row.bake_num + if (row.out_type === '1004') { + bake_num += 1 + } const LODOP = getLodop() LODOP.SET_SHOW_MODE('HIDE_DISBUTTIN_SETUP', 1)// 隐藏那些无效按钮 // 打印纸张大小设置https://www.it610.com/article/2094844.html @@ -419,13 +423,21 @@ export default { LODOP.ADD_PRINT_TEXT('52mm', '48mm', '80mm', '15mm', '生产日期:' + row.produce_time + '') LODOP.ADD_PRINT_TEXT('61mm', '48mm', '80mm', '15mm', '供应商名称:' + row.supp_name + '') - LODOP.ADD_PRINT_TEXT('43mm', '5mm', '80mm', '15mm', '烘干次数:' + row.bake_num + '') + LODOP.ADD_PRINT_TEXT('43mm', '5mm', '80mm', '15mm', '烘干次数:' + bake_num + '') LODOP.ADD_PRINT_TEXT('52mm', '5mm', '80mm', '15mm', '供应商编码:' + row.supp_code + '') LODOP.ADD_PRINT_TEXT('61mm', '5mm', '80mm', '15mm', '批号:' + row.pcsn + '') LODOP.ADD_PRINT_TEXT('69mm', '5mm', '80mm', '15mm', '执行标准:' + row.execution_stand + '') // LODOP.PRINT()// 打印 LODOP.PREVIEW()// 预览 + + // 调用删除 + if (row.out_type === '1004' && row.is_need_delete === '1') { + crudGroup.printDelete(row).then(res => { + }) + } + this.crud.notify('操作成功!', CRUD.NOTIFICATION_TYPE.SUCCESS) + this.crud.toQuery() } } } diff --git a/wms/nladmin-ui/src/views/wms/pdm/callmaterial/index.vue b/wms/nladmin-ui/src/views/wms/pdm/callmaterial/index.vue index 4a72b0d..bb6195c 100644 --- a/wms/nladmin-ui/src/views/wms/pdm/callmaterial/index.vue +++ b/wms/nladmin-ui/src/views/wms/pdm/callmaterial/index.vue @@ -54,6 +54,23 @@ /> + + + + + @@ -127,7 +144,27 @@ + + + + + + + + + @@ -152,6 +189,7 @@ {{ scope.row.bom_code }} + @@ -222,7 +260,7 @@ export default { components: { pagination, crudOperation, rrOperation, udOperation, ViewDialog }, mixins: [presenter(), header(), form(defaultForm), crud()], // 数据字典 - dicts: ['BOM_STATUS'], + dicts: ['BOM_STATUS', 'BOM_TYPE'], cruds() { return CRUD({ title: '产线叫料', @@ -251,6 +289,9 @@ export default { device_code: [ { required: true, message: '设备编码不能为空', trigger: 'blur' } ], + bom_type: [ + { required: true, message: '工单类型不能为空', trigger: 'blur' } + ], call_qty: [ { required: true, message: '叫料重量不能为空', trigger: 'blur' } ] @@ -279,6 +320,9 @@ export default { formattStatus(row) { return this.dict.label.BOM_STATUS[row.bom_status] }, + formattType(row) { + return this.dict.label.BOM_TYPE[row.bom_type] + }, toView(index, row) { this.openParam = row this.ViewDialog = true diff --git a/wms/nladmin-ui/src/views/wms/pdm/callmaterialdtl/index.vue b/wms/nladmin-ui/src/views/wms/pdm/callmaterialdtl/index.vue index e5994df..fbf2798 100644 --- a/wms/nladmin-ui/src/views/wms/pdm/callmaterialdtl/index.vue +++ b/wms/nladmin-ui/src/views/wms/pdm/callmaterialdtl/index.vue @@ -122,7 +122,8 @@ @selection-change="crud.selectionChangeHandler" > - + + @@ -174,7 +175,7 @@ export default { components: { pagination, crudOperation, rrOperation, udOperation, WeighDialog }, mixins: [presenter(), header(), form(defaultForm), crud()], // 数据字典 - dicts: ['BOM_DTL_STATUS'], + dicts: ['BOM_DTL_STATUS', 'BOM_TYPE'], cruds() { return CRUD({ title: '产线叫料', @@ -212,6 +213,9 @@ export default { formattStatus(row) { return this.dict.label.BOM_DTL_STATUS[row.bom_status] }, + formattType(row) { + return this.dict.label.BOM_TYPE[row.bom_type] + }, openWeigh() { this.openParamWeigh = this.$refs.table.selection[0] this.openWeighDialog = true diff --git a/wms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue b/wms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue index 1c59f36..cccba91 100644 --- a/wms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue +++ b/wms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue @@ -128,7 +128,7 @@ size="mini" @click="queryDtlIos()" > - 添加叫料单据 + 添加生产工单 @@ -178,7 +178,7 @@ - + @@ -228,6 +228,7 @@ export default { storlist: [], invtypelist: [], storId: null, + bom_type: null, rules: { stor_id: [ { required: true, message: '仓库不能为空', trigger: 'blur' } @@ -331,6 +332,11 @@ export default { this.crud.notify('请选择仓库!', CRUD.NOTIFICATION_TYPE.INFO) return } + if (this.form.bill_type === '1001') { + this.bom_type = '1' + } else if (this.form.bill_type === '1004') { + this.bom_type = '2' + } this.dtlIosShow = true }, tableChanged(rows) { diff --git a/wms/nladmin-ui/src/views/wms/st/outbill/AddDtlIos.vue b/wms/nladmin-ui/src/views/wms/st/outbill/AddDtlIos.vue index a1aaf96..68d1682 100644 --- a/wms/nladmin-ui/src/views/wms/st/outbill/AddDtlIos.vue +++ b/wms/nladmin-ui/src/views/wms/st/outbill/AddDtlIos.vue @@ -56,6 +56,7 @@ > + @@ -101,11 +102,15 @@ export default { }) }, mixins: [presenter(), header()], - dicts: ['BOM_STATUS'], + dicts: ['BOM_STATUS', 'BOM_TYPE'], props: { dialogShow: { type: Boolean, default: false + }, + bomType: { + type: String, + default: null } }, data() { @@ -125,9 +130,16 @@ export default { formattStatus(row) { return this.dict.label.BOM_STATUS[row.bom_status] }, + formattType(row) { + return this.dict.label.BOM_TYPE[row.bom_type] + }, close() { this.$emit('update:dialogShow', false) }, + open() { + this.query.bom_type = this.bomType + this.crud.toQuery() + }, submit() { this.rows = this.$refs.table.selection if (this.rows.length <= 0) {