diff --git a/src/main/java/com/glxp/api/controller/auth/SysWorkplaceQueueController.java b/src/main/java/com/glxp/api/controller/auth/SysWorkplaceQueueController.java index 58051ec4f..539accf08 100644 --- a/src/main/java/com/glxp/api/controller/auth/SysWorkplaceQueueController.java +++ b/src/main/java/com/glxp/api/controller/auth/SysWorkplaceQueueController.java @@ -14,6 +14,7 @@ import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity; import com.glxp.api.entity.system.SystemPDFTemplateEntity; import com.glxp.api.req.basic.SysWorkplaceQueueRequest; import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.basic.SysWorkplaceQueueResponse; import com.glxp.api.res.basic.SysWorkplaceResponse; import com.glxp.api.service.auth.SysWorkplaceService; import com.glxp.api.service.basic.SysWorkplaceQueueService; @@ -61,9 +62,9 @@ public class SysWorkplaceQueueController extends BaseController { @GetMapping("/udiwms/sysWorkplaceQueue/page") public BaseResponse page(SysWorkplaceQueueRequest request) { - List page = sysWorkplaceQueueService.filterList(request); - PageInfo pageInfo = new PageInfo<>(page); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + List page = sysWorkplaceQueueService.filterList(request); + PageInfo pageInfo = new PageInfo<>(page); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(page); return ResultVOUtils.success(pageSimpleResponse); @@ -79,8 +80,6 @@ public class SysWorkplaceQueueController extends BaseController { } else { return ResultVOUtils.error("当前工位未绑定货位!"); } - - } diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index 3822777bb..42a313697 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -1566,40 +1566,6 @@ public class IoCodeTempController extends BaseController { //产品是否禁用 udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(codeEnttity.getNameCode(), false); - if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) { - //todo 判断货位里面是否有相同产品 - if (StrUtil.isNotEmpty(orderEntity.getWorkPlaceQueueCode())) { - - - - - IoSplitFifoCodeEntity splitFifoCodeEntity = splitFifoCodeService.findByQueueCode(orderEntity.getWorkPlaceQueueCode()); - if (splitFifoCodeEntity != null) { - if (!udiRelevanceResponse.getId().equals(splitFifoCodeEntity.getRelId())) { - return ResultVOUtils.error(507, "上货产品不符!"); - } - }else { - //todo - - - } - - if (orderEntity != null && CollUtil.isNotEmpty(codeEnttitys)) { - boolean isSame = false; - for (IoCodeTempEntity ioOrderDetailCodeEntity : codeEnttitys) { - if (ioOrderDetailCodeEntity.getRelId().equals(udiRelevanceResponse.getId())) { - isSame = true; - } - } - if (!isSame) - return ResultVOUtils.error(507, "上货产品不符!"); - } - - - } - - - } if (udiRelevanceResponses.size() >= 1) { if (udiRelevanceResponse == null) { @@ -1682,6 +1648,40 @@ public class IoCodeTempController extends BaseController { orderService.insertOrder(orderEntity); } + if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) { + // 判断货位里面是否有相同产品 + if (StrUtil.isNotEmpty(orderEntity.getWorkPlaceQueueCode())) { + IoSplitFifoCodeEntity splitFifoCodeEntity = splitFifoCodeService.findByQueueCode(orderEntity.getWorkPlaceQueueCode()); + if (splitFifoCodeEntity != null) { + if (!udiRelevanceResponse.getId().equals(splitFifoCodeEntity.getRelId())) { + orderService.deleteByBillNo(orderId); + return ResultVOUtils.error(507, "上货产品不符!"); + } + }else { + //todo 判断货位里面是否有相同产品 + UdiRelevanceResponse udiRelevanceResponse1 = udiRelevanceResponses.get(0); + List byRelId = fifoCodeService.findByRelId(addOrderRequest.getWorkPlaceCode(), udiRelevanceResponse1.getId()); + if (byRelId != null && byRelId.size() > 0){ + orderService.deleteByBillNo(orderId); + return ResultVOUtils.error(507,"当前产品已绑定货位"); + } + } + if (orderEntity != null && CollUtil.isNotEmpty(codeEnttitys)) { + boolean isSame = false; + for (IoCodeTempEntity ioOrderDetailCodeEntity : codeEnttitys) { + if (ioOrderDetailCodeEntity.getRelId().equals(udiRelevanceResponse.getId())) { + isSame = true; + } + } + if (!isSame) +// orderService.deleteByBillNo(orderId); + return ResultVOUtils.error(507, "上货产品不符!"); + } + + } + + + } if (IntUtil.value(addOrderRequest.getOrderType()) == ConstantStatus.ORDER_TYPE_NORMAL && bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.getCheckWebNew() != 0) { boolean isBillExit = orderDetailBizService.isExit(orderEntity.getBillNo()); diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index 7283e0e4a..850a97140 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -787,6 +787,9 @@ public class IoOrderController extends BaseController { @Log(title = "单据管理", businessType = BusinessType.DELETE) public BaseResponse deletById(@RequestBody DeleteRequest deleteRequest) { IoOrderEntity orderEntity = orderService.findByBillNo(deleteRequest.getBillNo()); + if (orderEntity == null){ + return ResultVOUtils.error(500,"单据不存在,刷新重新上货"); + } if (orderEntity.getStatus() != 1 && orderEntity.getStatus() != 3 && orderEntity.getStatus() != 4 && orderEntity.getStatus() != 6 && orderEntity.getStatus() != 10) { return ResultVOUtils.error(500, "单据已提交无法删除!"); } diff --git a/src/main/java/com/glxp/api/dao/basic/SysWorkplaceQueueMapper.java b/src/main/java/com/glxp/api/dao/basic/SysWorkplaceQueueMapper.java index 9687d3297..d5d99ff68 100644 --- a/src/main/java/com/glxp/api/dao/basic/SysWorkplaceQueueMapper.java +++ b/src/main/java/com/glxp/api/dao/basic/SysWorkplaceQueueMapper.java @@ -3,6 +3,7 @@ package com.glxp.api.dao.basic; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.entity.basic.SysWorkplaceQueue; import com.glxp.api.req.basic.SysWorkplaceQueueRequest; +import com.glxp.api.res.basic.SysWorkplaceQueueResponse; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -10,5 +11,5 @@ import java.util.List; @Mapper public interface SysWorkplaceQueueMapper extends BaseMapper { - List filterList(SysWorkplaceQueueRequest request); + List filterList(SysWorkplaceQueueRequest request); } diff --git a/src/main/java/com/glxp/api/res/basic/SysWorkplaceQueueResponse.java b/src/main/java/com/glxp/api/res/basic/SysWorkplaceQueueResponse.java new file mode 100644 index 000000000..00b16ffa1 --- /dev/null +++ b/src/main/java/com/glxp/api/res/basic/SysWorkplaceQueueResponse.java @@ -0,0 +1,69 @@ +package com.glxp.api.res.basic; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @author : zhuzhu + * @date : 2024/11/4 11:08 + * @modyified By : + */ + +@Data +public class SysWorkplaceQueueResponse { + private Integer id; + + /** + * 货架编码 + */ + @TableField(value = "code") + @ApiModelProperty(value = "货架编码") + private String code; + + /** + * 货架名称 + */ + @TableField(value = "`name`") + @ApiModelProperty(value = "货架名称") + private String name; + + /** + * 工位ID + */ + @TableField(value = "workPlaceIdFk") + @ApiModelProperty(value = "工位ID") + private Long workPlaceIdFk; + + /** + * 备注 + */ + @TableField(value = "remark") + @ApiModelProperty(value = "备注") + private String remark; + + @TableField(value = "createTime") + @ApiModelProperty(value = "") + private Date createTime; + + @TableField(value = "updateTime") + @ApiModelProperty(value = "") + private Date updateTime; + + @TableField(value = "`createUser`") + @ApiModelProperty(value = "") + private String createUser; + + @TableField(value = "updateUser") + @ApiModelProperty(value = "") + private String updateUser; + + @TableField(exist = false) + private String labelId; + + private String productName; + private String productSpec; + +} diff --git a/src/main/java/com/glxp/api/service/basic/SysWorkplaceQueueService.java b/src/main/java/com/glxp/api/service/basic/SysWorkplaceQueueService.java index b0254df61..4926360c4 100644 --- a/src/main/java/com/glxp/api/service/basic/SysWorkplaceQueueService.java +++ b/src/main/java/com/glxp/api/service/basic/SysWorkplaceQueueService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.exception.JsonException; import com.glxp.api.req.basic.SysWorkplaceQueueRequest; +import com.glxp.api.res.basic.SysWorkplaceQueueResponse; import com.glxp.api.res.basic.SysWorkplaceResponse; import org.springframework.data.annotation.Reference; import org.springframework.stereotype.Service; @@ -23,7 +24,7 @@ public class SysWorkplaceQueueService extends ServiceImpl filterList(SysWorkplaceQueueRequest request) { + public List filterList(SysWorkplaceQueueRequest request) { if (null == request) { return Collections.emptyList(); } diff --git a/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java b/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java index 9e4af1160..68be11e34 100644 --- a/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java @@ -270,8 +270,11 @@ public class IoSplitCodeService extends ServiceImpl findByRelId(Long workPlaceCode, Long relId) { + return list(new LambdaQueryWrapper() + .eq(IoSplitFifoCodeEntity::getWorkPlaceCode, workPlaceCode) + .eq(IoSplitFifoCodeEntity::getRelId, relId) + .last("limit 1")); } } diff --git a/src/main/resources/mybatis/mapper/basic/SysWorkplaceQueueMapper.xml b/src/main/resources/mybatis/mapper/basic/SysWorkplaceQueueMapper.xml index 2ca160d2b..c83e3a649 100644 --- a/src/main/resources/mybatis/mapper/basic/SysWorkplaceQueueMapper.xml +++ b/src/main/resources/mybatis/mapper/basic/SysWorkplaceQueueMapper.xml @@ -19,26 +19,27 @@ id, code, `name`, workPlaceIdFk, remark, createTime, updateTime, `createUser`, updateUser - + select sq.*, + basic_products.cpmctymc productName, + COALESCE(basic_products.bzgg, basic_products.ggxh) as productSpec + from sys_workplace_queue sq + left join io_split_fifo_code isfc on isfc.workPlaceQueueCode = sq.code + left join basic_udirel bu on isfc.relId = bu.id + left join basic_products ON basic_products.uuid = bu.uuid AND ( - code like concat('%', #{key}, '%') - or name like concat('%', #{key}, '%') + sq.code like concat('%', #{key}, '%') + or sq.name like concat('%', #{key}, '%') ) AND workPlaceIdFk = #{workPlaceIdFk} - - - - - - + GROUP BY sq.code + ORDER BY sq.code diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml index 650b1a62a..ba039dc43 100644 --- a/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml @@ -24,7 +24,7 @@ ico.fromCorpName, ico.tagMsg, sys_workplace_document.busName busTypeName, - thr_bustype_origin.name actionName, + COALESCE(thr_bustype_origin.name, basic_bussiness_type.name) as actionName, sw.workplaceName, ico.id, ico.orderTime, @@ -36,7 +36,8 @@ else ico.orderTime end desc ) as orderSequence FROM io_collect_order ico left join sys_workplace_document on ico.busType = sys_workplace_document.documentTypeCode - left join thr_bustype_origin on sys_workplace_document.documentTypeCode = thr_bustype_origin.action + left join thr_bustype_origin on ico.busType = thr_bustype_origin.action + left join basic_bussiness_type on ico.busType = basic_bussiness_type.action left join basic_corp bc on ico.fromCorp = bc.erpId left join sys_workplace sw on ico.workPlaceCode = sw.workplaceId @@ -53,7 +54,7 @@ AND fromType LIKE concat('%', #{fromType}, '%') - AND busType = #{busType} + AND ico.busType = #{busType} AND tagStatus = #{tagStatus}