fix:槽位关联关系

dev_unify
chenhc 8 months ago
parent 59818217ce
commit 5d7506360b

@ -1,5 +1,7 @@
package com.glxp.api.controller.auth;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo;
@ -11,10 +13,13 @@ import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.auth.SysWorkplace;
import com.glxp.api.entity.basic.SysWorkplaceLayer;
import com.glxp.api.entity.basic.SysWorkplaceQueue;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity;
import com.glxp.api.entity.system.SystemPDFTemplateEntity;
import com.glxp.api.req.basic.SysWorkplaceFreightRequest;
import com.glxp.api.req.basic.SysWorkplaceLayerRequest;
import com.glxp.api.req.basic.SysWorkplaceQueueBindRequest;
import com.glxp.api.req.basic.SysWorkplaceQueueRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.SysWorkplaceFreightResponse;
@ -22,9 +27,11 @@ 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;
import com.glxp.api.service.basic.UdiProductService;
import com.glxp.api.service.system.SystemPDFModuleService;
import com.glxp.api.service.system.SystemPDFTemplateService;
import com.glxp.api.util.JasperUtils;
import com.glxp.api.util.udi.FilterUdiUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
@ -67,6 +74,15 @@ public class SysWorkplaceQueueController extends BaseController {
@GetMapping("/udiwms/sysWorkplaceQueue/getQueueList")
public BaseResponse getQueueList(SysWorkplaceQueueRequest request) {
String scanCode = request.getScanCode();
if (StrUtil.isNotEmpty(scanCode)){
UdiEntity udi = FilterUdiUtils.getUdi(scanCode);
if (udi != null ) request.setNameCode(udi.getUdi());
}
request.setScanCode(null);
List<SysWorkplaceQueueResponse> page = sysWorkplaceQueueService.filterList(request);
PageInfo<SysWorkplaceQueueResponse> pageInfo = new PageInfo<>(page);
PageSimpleResponse<SysWorkplaceQueueResponse> pageSimpleResponse = new PageSimpleResponse<>();
@ -170,19 +186,73 @@ public class SysWorkplaceQueueController extends BaseController {
}
@PostMapping("/udiwms/WorkplaceQueue/update")
public BaseResponse update(@RequestBody SysWorkplaceQueue sysWorkplaceQueue){
@PostMapping("/udiwms/WorkplaceQueue/bind")
public BaseResponse bind(@RequestBody SysWorkplaceQueueBindRequest sysWorkplaceQueueBindRequest){
// TODO: 2024/11/9 做一个relId重复的判断
String relId = sysWorkplaceQueueBindRequest.getRelId();
List<SysWorkplaceQueue> list = sysWorkplaceQueueService.list(new LambdaQueryWrapper<SysWorkplaceQueue>().eq(SysWorkplaceQueue::getRelId, relId));
if (CollUtil.isNotEmpty(list)){
return ResultVOUtils.error("产品已绑定到货位槽码的信息,请先解绑");
}
Long id = sysWorkplaceQueueBindRequest.getId();
SysWorkplaceQueue sysWorkplaceQueue = sysWorkplaceQueueService.getById(id);
sysWorkplaceQueue.setRelId(relId);
sysWorkplaceQueue.setUpdateTime(new Date());
sysWorkplaceQueue.setUpdateUser(getUserId() + "");
boolean falg = sysWorkplaceQueueService.updateById(sysWorkplaceQueue);
if (!falg) {
return ResultVOUtils.error(999, "更新失败");
return ResultVOUtils.error(999, "绑定失败");
}
return ResultVOUtils.success();
}
/**
*
*/
@PostMapping("/udiwms/sysWorkplaceQueue/getInfoByCode")
public BaseResponse getInfoByCode(@RequestBody SysWorkplaceQueueRequest request){
String code = request.getCode();
if (StrUtil.isEmpty(code)){
return ResultVOUtils.error("货位槽码不能为空");
}
List<SysWorkplaceQueueResponse> list = sysWorkplaceQueueService.filterList(request);
if (CollUtil.isEmpty(list)){
return ResultVOUtils.error("未找到该货位槽码的信息");
}
SysWorkplaceQueueResponse sysWorkplaceQueue = list.get(0);
return ResultVOUtils.success(sysWorkplaceQueue);
}
@Resource
UdiProductService udiProductService;
/**
*
*/
@PostMapping("/udiwms/sysWorkplaceQueue/getProductByCode")
public BaseResponse getProductByCode(@RequestBody SysWorkplaceQueueRequest request){
String udiCode = request.getUdiCode();
if (StrUtil.isEmpty(udiCode)){
return ResultVOUtils.error("UDI码不能为空");
}
UdiProductEntity byNameCode = udiProductService.findByNameCode(udiCode);
if (byNameCode == null){
return ResultVOUtils.error("UDI码未能识别出对应产品");
}
String relId = byNameCode.getRelId();
List<SysWorkplaceQueue> list = sysWorkplaceQueueService.list(new LambdaQueryWrapper<SysWorkplaceQueue>().eq(SysWorkplaceQueue::getRelId, relId));
if (CollUtil.isNotEmpty(list)){
return ResultVOUtils.error("产品已绑定到货位槽码的信息,请先解绑");
}
return ResultVOUtils.success(byNameCode);
}
}

@ -117,7 +117,7 @@ public class SysWorkplaceQueue implements Serializable {
*/
@TableField(value = "relId")
@ApiModelProperty(value = "")
private Long relId;
private String relId;

@ -0,0 +1,21 @@
package com.glxp.api.req.basic;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import java.util.List;
/**
* @author : zhangsan
* @date : 2024/10/30 10:42
* @modyified By :
*/
@Data
public class SysWorkplaceQueueBindRequest{
private Long id;
private String relId;
private String code;
}

@ -14,6 +14,9 @@ import java.util.List;
@Data
public class SysWorkplaceQueueRequest extends ListPageRequest {
private String key;
private String scanCode;
private String udiCode;
private String nameCode;
private String code;
private String name;
private Long workPlaceIdFk;

@ -80,6 +80,9 @@ public class SysWorkplaceQueueResponse {
* code
*/
private String freightCode;
private String nameCode;
private String ggxh;
private String cpmctymc;
private String relId;
}

@ -28,8 +28,13 @@
</select>
<select id="filterList" resultType="com.glxp.api.res.basic.SysWorkplaceQueueResponse">
select swq.*
select swq.*,bp.nameCode,bp.ggxh,bp.cpmctymc
from sys_workplace_queue swq
left join
(select bu.id,bp.nameCode,bp.ggxh,bp.cpmctymc
from basic_udirel bu
left join basic_products bp ON bu.uuid = bp.uuid
group by bu.id,bp.nameCode,bp.ggxh,bp.cpmctymc) as bp ON bp.id = swq.relId
<where>
<if test="key != null and key != ''">
AND (
@ -37,6 +42,18 @@
or swq.name like concat('%', #{key}, '%')
)
</if>
<if test="scanCode != null and scanCode != ''">
AND (
swq.code like concat('%', #{scanCode}, '%')
or swq.freightCode like concat('%', #{scanCode}, '%')
or swq.layerCode like concat('%', #{scanCode}, '%')
)
</if>
<if test="nameCode != null and nameCode != ''">
AND (
bp.nameCode like concat('%', #{nameCode}, '%')
)
</if>
<if test=" layerCode != null and layerCode != ''">
AND layerCode = #{layerCode}
</if>

@ -167,7 +167,7 @@
<select id="findByNameCode" parameterType="java.lang.String"
resultType="com.glxp.api.entity.basic.UdiProductEntity">
SELECT basic_products.*,basic_udirel.purType,basic_udirel.hcType
SELECT basic_products.*,basic_udirel.purType,basic_udirel.hcType,basic_udirel.id as relId
FROM basic_products
LEFT JOIN basic_udirel ON basic_udirel.uuid = basic_products.uuid
WHERE (basic_products.nameCode = #{nameCode})

Loading…
Cancel
Save