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.
udi-wms-java/src/main/java/com/glxp/api/controller/collect/IoCollectLedGroupController...

110 lines
4.4 KiB
Java

package com.glxp.api.controller.collect;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
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.IoCollectOrderBiz;
import com.glxp.api.req.basic.BasicCollectUserRequest;
import com.glxp.api.req.collect.CollectLedConfirmRequest;
import com.glxp.api.req.collect.CollectLedGroupRequest;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.UserWorkResponse;
import com.glxp.api.res.collect.IoCollectLedGroupResponse;
import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.res.collect.LedResponse;
import com.glxp.api.service.basic.SysWorkplaceQueueService;
import com.glxp.api.service.collect.IoCollectCodeService;
import com.glxp.api.service.collect.IoCollectLedGroupService;
import com.glxp.api.service.collect.IoCollectOrderBizService;
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.List;
import java.util.stream.Collectors;
/**
* @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 filterOrder(@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
IoCollectOrderBizService ioCollectOrderBizService;
@Resource
SysWorkplaceQueueService sysWorkplaceQueueService;
/**
* 取货确认
*
* @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);
SysWorkplaceQueue sysWorkplaceQueue = sysWorkplaceQueueService.getOne(new LambdaQueryWrapper<SysWorkplaceQueue>().eq(SysWorkplaceQueue::getMac, mac));
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);
IoCollectOrderBiz collectOrderBiz = ioCollectOrderBizService.getById(bizId);
splitCodeService.confirmBizAutiTagCode(collectOrderBiz, sysWorkplaceQueue.getCode());
return ResultVOUtils.success("确认成功!");
}
}