|  |  | @ -1,5 +1,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | package com.glxp.api.controller.auth; |  |  |  | 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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.alibaba.fastjson.JSON; |  |  |  | import com.alibaba.fastjson.JSON; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.github.pagehelper.PageInfo; |  |  |  | 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.auth.SysWorkplace; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.basic.SysWorkplaceLayer; |  |  |  | import com.glxp.api.entity.basic.SysWorkplaceLayer; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.basic.SysWorkplaceQueue; |  |  |  | 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.SysPdfTemplateRelevanceLabelEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.entity.system.SystemPDFTemplateEntity; |  |  |  | import com.glxp.api.entity.system.SystemPDFTemplateEntity; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.req.basic.SysWorkplaceFreightRequest; |  |  |  | import com.glxp.api.req.basic.SysWorkplaceFreightRequest; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.req.basic.SysWorkplaceLayerRequest; |  |  |  | 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.req.basic.SysWorkplaceQueueRequest; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.res.PageSimpleResponse; |  |  |  | import com.glxp.api.res.PageSimpleResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.res.basic.SysWorkplaceFreightResponse; |  |  |  | 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.res.basic.SysWorkplaceResponse; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.auth.SysWorkplaceService; |  |  |  | import com.glxp.api.service.auth.SysWorkplaceService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.basic.SysWorkplaceQueueService; |  |  |  | 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.SystemPDFModuleService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.service.system.SystemPDFTemplateService; |  |  |  | import com.glxp.api.service.system.SystemPDFTemplateService; | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.glxp.api.util.JasperUtils; |  |  |  | import com.glxp.api.util.JasperUtils; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.glxp.api.util.udi.FilterUdiUtils; | 
			
		
	
		
		
			
				
					
					|  |  |  | import lombok.extern.slf4j.Slf4j; |  |  |  | import lombok.extern.slf4j.Slf4j; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.beans.factory.annotation.Value; |  |  |  | import org.springframework.beans.factory.annotation.Value; | 
			
		
	
		
		
			
				
					
					|  |  |  | import org.springframework.web.bind.annotation.GetMapping; |  |  |  | import org.springframework.web.bind.annotation.GetMapping; | 
			
		
	
	
		
		
			
				
					|  |  | @ -67,6 +74,15 @@ public class SysWorkplaceQueueController extends BaseController { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     @GetMapping("/udiwms/sysWorkplaceQueue/getQueueList") |  |  |  |     @GetMapping("/udiwms/sysWorkplaceQueue/getQueueList") | 
			
		
	
		
		
			
				
					
					|  |  |  |     public BaseResponse getQueueList(SysWorkplaceQueueRequest request) { |  |  |  |     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); |  |  |  |         List<SysWorkplaceQueueResponse> page = sysWorkplaceQueueService.filterList(request); | 
			
		
	
		
		
			
				
					
					|  |  |  |         PageInfo<SysWorkplaceQueueResponse> pageInfo = new PageInfo<>(page); |  |  |  |         PageInfo<SysWorkplaceQueueResponse> pageInfo = new PageInfo<>(page); | 
			
		
	
		
		
			
				
					
					|  |  |  |         PageSimpleResponse<SysWorkplaceQueueResponse> pageSimpleResponse = new PageSimpleResponse<>(); |  |  |  |         PageSimpleResponse<SysWorkplaceQueueResponse> pageSimpleResponse = new PageSimpleResponse<>(); | 
			
		
	
	
		
		
			
				
					|  |  | @ -170,19 +186,73 @@ public class SysWorkplaceQueueController extends BaseController { | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     @PostMapping("/udiwms/WorkplaceQueue/update") |  |  |  |     @PostMapping("/udiwms/WorkplaceQueue/bind") | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     public BaseResponse update(@RequestBody SysWorkplaceQueue sysWorkplaceQueue){ |  |  |  |     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.setUpdateTime(new Date()); | 
			
		
	
		
		
			
				
					
					|  |  |  |         sysWorkplaceQueue.setUpdateUser(getUserId() + ""); |  |  |  |         sysWorkplaceQueue.setUpdateUser(getUserId() + ""); | 
			
		
	
		
		
			
				
					
					|  |  |  |         boolean falg = sysWorkplaceQueueService.updateById(sysWorkplaceQueue); |  |  |  |         boolean falg = sysWorkplaceQueueService.updateById(sysWorkplaceQueue); | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (!falg) { |  |  |  |         if (!falg) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             return ResultVOUtils.error(999, "更新失败"); |  |  |  |             return ResultVOUtils.error(999, "绑定失败"); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         return ResultVOUtils.success(); |  |  |  |         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); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |