package com.glxp.api.controller.collect; import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageInfo; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.basic.SysWorkplaceQueue; import com.glxp.api.entity.collect.IoCollectLedGroup; import com.glxp.api.entity.collect.SysOrderLed; import com.glxp.api.req.collect.CollectLedConfirmRequest; import com.glxp.api.req.collect.CollectLedGroupRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.collect.IoCollectLedGroupResponse; import com.glxp.api.service.basic.SysWorkplaceQueueService; import com.glxp.api.service.collect.IoCollectLedGroupService; import com.glxp.api.service.collect.SysOrderLedService; import com.glxp.api.service.inout.IoSplitCodeService; import com.glxp.api.util.IntUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.Date; import java.util.List; /** * @author : zhuzhu * @date : 2024/12/30 10:27 * @modyified By : */ @Slf4j @RestController public class IoCollectLedGroupController extends BaseController { @Resource IoCollectLedGroupService ioCollectLedGroupService; @Resource IoSplitCodeService splitCodeService; @PostMapping("/udiwms/basic/collect/ledGroup/filter") public BaseResponse filterLeds(@RequestBody CollectLedGroupRequest collectLedGroupRequest) { List collectLedGroupResponseList = ioCollectLedGroupService.filterList(collectLedGroupRequest); PageInfo pageInfo = new PageInfo<>(collectLedGroupResponseList); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(collectLedGroupResponseList); return ResultVOUtils.success(pageSimpleResponse); } @Resource SysWorkplaceQueueService sysWorkplaceQueueService; @Resource SysOrderLedService sysOrderLedService; /** * 取货确认 * * @return */ @PostMapping("/udiwms/basic/collect/ledGroup/bizConfirm") @Transactional(rollbackFor = Exception.class) public BaseResponse bizConfirmOrder(@RequestBody CollectLedConfirmRequest ledConfirmRequest) { /** * 取货确认 */ Integer ledNum = ledConfirmRequest.getLednum(); String mac = ledConfirmRequest.getMac(); IoCollectLedGroup collectLedGroup = ioCollectLedGroupService.getOne(new LambdaQueryWrapper().eq(IoCollectLedGroup::getMac, mac), false); Long bizId = 0L; if (ledNum == 1) { bizId = collectLedGroup.getRed(); collectLedGroup.setRed(0l); } else if (ledNum == 2) { bizId = collectLedGroup.getOrange(); collectLedGroup.setOrange(0l); } else if (ledNum == 3) { bizId = collectLedGroup.getBlue(); collectLedGroup.setBlue(0l); } else if (ledNum == 4) { bizId = collectLedGroup.getGreen(); collectLedGroup.setGreen(0l); } if (IntUtil.value(bizId) == 0) { return ResultVOUtils.error("无订单"); } ioCollectLedGroupService.updateById(collectLedGroup); SysOrderLed orderLed = sysOrderLedService.getOne(new LambdaQueryWrapper().eq(SysOrderLed::getLedNum, ledNum)); sysOrderLedService.closeLed(orderLed.getOrderId(),bizId,mac); return ResultVOUtils.success("确认成功!"); } @PostMapping("/udiwms/basic/collect/ledGroup/delete") public BaseResponse deleteLed(@RequestBody IoCollectLedGroup ioCollectLedGroup) { SysWorkplaceQueue queue = sysWorkplaceQueueService.getOne(new LambdaQueryWrapper().eq(SysWorkplaceQueue::getMac, ioCollectLedGroup.getMac())); if (queue != null){ return ResultVOUtils.error(500,"当前灯组已被绑定出货槽,请先解除绑定"); } ioCollectLedGroupService.removeById(ioCollectLedGroup); return ResultVOUtils.success(); } @PostMapping("/udiwms/basic/collect/ledGroup/save") public BaseResponse saveLed(@RequestBody IoCollectLedGroup ioCollectLedGroup) { IoCollectLedGroup ledGroupServiceOne = ioCollectLedGroupService.getOne(new LambdaQueryWrapper().eq(IoCollectLedGroup::getMac, ioCollectLedGroup.getMac())); if (ledGroupServiceOne != null){ return ResultVOUtils.error(500,"当前灯组已存在"); } ioCollectLedGroup.setId(IdUtil.getSnowflakeNextId()); ioCollectLedGroup.setLedMode(true); ioCollectLedGroup.setRed(0l); ioCollectLedGroup.setOrange(0l); ioCollectLedGroup.setBlue(0l); ioCollectLedGroup.setGreen(0l); ioCollectLedGroup.setCreateTime(new Date()); ioCollectLedGroup.setCreateUser(getUserId()+""); ioCollectLedGroup.setUpdateTime(new Date()); ioCollectLedGroup.setUpdateUser(getUserId() + ""); ioCollectLedGroupService.save(ioCollectLedGroup); return ResultVOUtils.success(); } @PostMapping("/udiwms/basic/collect/ledGroup/edit") public BaseResponse editLed(@RequestBody IoCollectLedGroup ioCollectLedGroup) { ioCollectLedGroupService.updateById(ioCollectLedGroup); return ResultVOUtils.success(); } }