You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
140 lines
5.7 KiB
Java
140 lines
5.7 KiB
Java
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<IoCollectLedGroupResponse> collectLedGroupResponseList = ioCollectLedGroupService.filterList(collectLedGroupRequest);
|
|
PageInfo<IoCollectLedGroupResponse> pageInfo = new PageInfo<>(collectLedGroupResponseList);
|
|
PageSimpleResponse<IoCollectLedGroupResponse> 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<IoCollectLedGroup>().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<SysOrderLed>().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<SysWorkplaceQueue>().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<IoCollectLedGroup>().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();
|
|
}
|
|
|
|
}
|