|  |  | 
 |  |  | import com.vincent.rsf.server.common.domain.BaseParam; | 
 |  |  | import com.vincent.rsf.server.common.domain.KeyValVo; | 
 |  |  | import com.vincent.rsf.server.common.domain.PageParam; | 
 |  |  | import com.vincent.rsf.server.manager.controller.params.GenerateTaskParams; | 
 |  |  | import com.vincent.rsf.server.manager.controller.params.WaitPakinParam; | 
 |  |  | import com.vincent.rsf.server.manager.entity.BasStation; | 
 |  |  | import com.vincent.rsf.server.manager.entity.TaskItem; | 
 |  |  | import com.vincent.rsf.server.manager.entity.WaitPakin; | 
 |  |  | import com.vincent.rsf.server.manager.entity.WaitPakinItem; | 
 |  |  | import com.vincent.rsf.server.manager.service.TaskService; | 
 |  |  | import com.vincent.rsf.server.manager.service.WaitPakinItemService; | 
 |  |  | import com.vincent.rsf.server.manager.service.WaitPakinService; | 
 |  |  | import com.vincent.rsf.server.manager.service.*; | 
 |  |  | import com.vincent.rsf.server.system.controller.BaseController; | 
 |  |  | import io.swagger.annotations.Api; | 
 |  |  | import io.swagger.annotations.ApiOperation; | 
 |  |  | import org.apache.commons.lang3.StringUtils; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.security.access.prepost.PreAuthorize; | 
 |  |  | import org.springframework.transaction.annotation.Transactional; | 
 |  |  | import org.springframework.web.bind.annotation.*; | 
 |  |  |  | 
 |  |  | import javax.servlet.http.HttpServletResponse; | 
 |  |  | import java.util.*; | 
 |  |  | import java.util.stream.Collectors; | 
 |  |  |  | 
 |  |  | @Api(tags = "组拖通知档") | 
 |  |  | @RestController | 
 |  |  | 
 |  |  |     private WaitPakinItemService waitPakinItemService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private BasStationService basStationService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private TaskService taskService; | 
 |  |  |     @Autowired | 
 |  |  |     private TaskItemService taskItemService; | 
 |  |  |  | 
 |  |  |     @PreAuthorize("hasAuthority('manager:waitPakin:list')") | 
 |  |  |     @PostMapping("/waitPakin/page") | 
 |  |  | 
 |  |  |     @PreAuthorize("hasAuthority('manager:waitPakin:remove')") | 
 |  |  |     @OperationLog("Delete 组拖档") | 
 |  |  |     @PostMapping("/waitPakin/remove/{ids}") | 
 |  |  |     @Transactional(rollbackFor = Exception.class) | 
 |  |  |     public R remove(@PathVariable Long[] ids) { | 
 |  |  |         List<WaitPakinItem> pakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>() | 
 |  |  |                 .in(WaitPakinItem::getPakinId, ids)); | 
 |  |  |         if (!pakinItems.isEmpty()) { | 
 |  |  |             return R.error("组拖档有明细任务"); | 
 |  |  |         if (Arrays.asList(ids).isEmpty()) { | 
 |  |  |             return R.error("参数不能为空!!"); | 
 |  |  |         } | 
 |  |  |         if (!waitPakinService.removeByIds(Arrays.asList(ids))) { | 
 |  |  |             return R.error("Delete Fail"); | 
 |  |  |         for (Long id : ids) { | 
 |  |  |             WaitPakin waitPakin = waitPakinService.getById(id); | 
 |  |  |             BasStation isBarcodeSta = basStationService.getOne(new LambdaQueryWrapper<BasStation>() | 
 |  |  |                             .eq(BasStation::getBarcode, waitPakin.getBarcode()) | 
 |  |  |                     ,false | 
 |  |  |             ); | 
 |  |  |             if (!Cools.isEmpty(isBarcodeSta)){ | 
 |  |  |                 throw new CoolException("该条码已被"+isBarcodeSta.getStationName()+"站绑定"); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         return R.ok("Delete Success").add(ids); | 
 |  |  |  | 
 |  |  |         return waitPakinService.removePakin(Arrays.asList(ids)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @PreAuthorize("hasAuthority('manager:waitPakin:list')") | 
 |  |  | 
 |  |  |     @PreAuthorize("hasAuthority('manager:waitPakin:update')") | 
 |  |  |     @ApiOperation("生成任务列表") | 
 |  |  |     @PostMapping("/waitPakin/merge") | 
 |  |  |     public R generateTask(@RequestBody List<WaitPakin> waitPakin) { | 
 |  |  |         if (Objects.isNull(waitPakin) || waitPakin.isEmpty()) { | 
 |  |  |     public R generateTask(@RequestBody GenerateTaskParams taskParams) { | 
 |  |  |         if (Objects.isNull(taskParams)) { | 
 |  |  |             throw new CoolException("参数不能为空!!"); | 
 |  |  |         } | 
 |  |  |         return  taskService.generateTasks(waitPakin, getLoginUserId()); | 
 |  |  |         if (Objects.isNull(taskParams.getWaitPakins()) || taskParams.getWaitPakins().isEmpty()) { | 
 |  |  |             throw new CoolException("组拖档不能为空!!"); | 
 |  |  |         } | 
 |  |  |         return  taskService.generateTasks(taskParams, getLoginUserId()); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |