11/4 上货产品是否属于本货位

dev_unify
wangwei 8 months ago
parent 0e441c3bda
commit ab7a0474d2

@ -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<SysWorkplaceQueue> page = sysWorkplaceQueueService.filterList(request);
PageInfo<SysWorkplaceQueue> pageInfo = new PageInfo<>(page);
PageSimpleResponse<SysWorkplaceQueue> pageSimpleResponse = new PageSimpleResponse<>();
List<SysWorkplaceQueueResponse> page = sysWorkplaceQueueService.filterList(request);
PageInfo<SysWorkplaceQueueResponse> pageInfo = new PageInfo<>(page);
PageSimpleResponse<SysWorkplaceQueueResponse> 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("当前工位未绑定货位!");
}
}

@ -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<IoSplitFifoCodeEntity> 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());

@ -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, "单据已提交无法删除!");
}

@ -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<SysWorkplaceQueue> {
List<SysWorkplaceQueue> filterList(SysWorkplaceQueueRequest request);
List<SysWorkplaceQueueResponse> filterList(SysWorkplaceQueueRequest request);
}

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

@ -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<SysWorkplaceQueueMappe
private SysWorkplaceQueueMapper sysWorkplaceQueueMapper;
public List<SysWorkplaceQueue> filterList(SysWorkplaceQueueRequest request) {
public List<SysWorkplaceQueueResponse> filterList(SysWorkplaceQueueRequest request) {
if (null == request) {
return Collections.emptyList();
}

@ -270,8 +270,11 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) {
// UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(collectOrderBiz.getRelId());
FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
filterUdiRelRequest.setId(collectOrderBiz.getRelId());
filterUdiRelRequest.setPackLevel("1");
//todo 后面可以 没有搜索到层级为1的
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectOneUdi(filterUdiRelRequest);
//去除掉已经手动扫码的数据,找出需要自动扫码的明细,执行上述的拆零或整取
int unTagCount = collectOrderBiz.getCount() - IntUtil.value(collectOrderBiz.getScanActCount());

@ -467,7 +467,11 @@ public class IoSplitFifoCodeService extends ServiceImpl<IoSplitFifoCodeMapper, I
}
//判断当前工位底下是否有其他产品
public IoSplitFifoCodeEntity findByRelId(Long workPlaceCode, Long relId) {
public List<IoSplitFifoCodeEntity> findByRelId(Long workPlaceCode, Long relId) {
return list(new LambdaQueryWrapper<IoSplitFifoCodeEntity>()
.eq(IoSplitFifoCodeEntity::getWorkPlaceCode, workPlaceCode)
.eq(IoSplitFifoCodeEntity::getRelId, relId)
.last("limit 1"));
}
}

@ -19,26 +19,27 @@
id, code, `name`, workPlaceIdFk, remark, createTime, updateTime, `createUser`, updateUser
</sql>
<select id="filterList" resultType="com.glxp.api.entity.basic.SysWorkplaceQueue">
select sys_workplace_queue.*
from sys_workplace_queue
<select id="filterList" resultType="com.glxp.api.res.basic.SysWorkplaceQueueResponse">
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
<where>
<if test="key != null and key != ''">
AND (
code like concat('%', #{key}, '%')
or name like concat('%', #{key}, '%')
sq.code like concat('%', #{key}, '%')
or sq.name like concat('%', #{key}, '%')
)
</if>
<if test=" workPlaceIdFk != null and workPlaceIdFk != ''">
AND workPlaceIdFk = #{workPlaceIdFk}
</if>
<!-- <if test=" code != null and code != ''">-->
<!-- AND code LIKE concat('%', #{code}, '%')-->
<!-- </if>-->
<!-- <if test=" name != null and name != ''">-->
<!-- AND name LIKE concat('%', #{name}, '%')-->
<!-- </if>-->
</where>
GROUP BY sq.code
ORDER BY sq.code
</select>
</mapper>

@ -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
<where>
@ -53,7 +54,7 @@
AND fromType LIKE concat('%', #{fromType}, '%')
</if>
<if test="busType != null and busType != ''">
AND busType = #{busType}
AND ico.busType = #{busType}
</if>
<if test="tagStatus != null">
AND tagStatus = #{tagStatus}

Loading…
Cancel
Save