自动上货分配槽位

dev_unify
yewj 7 months ago
parent d2013db891
commit 0d3aa74cda

@ -1842,7 +1842,7 @@ public class IoCodeTempController extends BaseController {
updateRelCode(bussinessTypeEntity, code);
// relCodeBatchService.threadUpdateIoCodeTempEntity(code);
// } else if (bussinessTypeEntity.getCheckWebNew() == 2 && bussinessTypeEntity.isCheckEnable()) {
} else if (IntUtil.value(addOrderRequest.getOrderType()) == ConstantStatus.ORDER_TYPE_WAIT && bussinessTypeEntity.isCheckEnable()) {
} else if ( (bussinessTypeEntity.getCheckWebNew() == 2 && bussinessTypeEntity.isCheckEnable())) {
String errMsg = ioCheckInoutService.checkDrugNoPiCode(codeEnttity);
if (errMsg != null) {
return ResultVOUtils.error(500, errMsg);

@ -6,11 +6,16 @@ import com.glxp.api.common.enums.ResultEnum;
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.inout.IoSplitFifoCodeEntity;
import com.glxp.api.req.inout.IoAutoPutRequest;
import com.glxp.api.req.inout.IoSplitFifoCodeRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inout.IoSplitCodeResponse;
import com.glxp.api.service.basic.SysWorkplaceQueueService;
import com.glxp.api.service.inout.IoSplitFifoCodeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@ -108,4 +113,19 @@ public class IoSplitFifoController extends BaseController {
return ResultVOUtils.success(invRemind);
}
@Resource
SysWorkplaceQueueService sysWorkplaceQueueService;
/**
*
*/
@GetMapping("/udiwms/ioSplit/autoPut")
public BaseResponse autoPut(IoAutoPutRequest autoPutRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<IoSplitCodeResponse> ioSplitCodeResponses = splitFifoCodeService.autoPut(autoPutRequest);
return ResultVOUtils.success(ioSplitCodeResponses);
}
}

@ -52,7 +52,7 @@ public class IoSplitFifoInvController extends BaseController {
}
//判断是否为采集工位
if (ioSplitFifoInvRequest.getWorkPlaceCode() != null){
if (ioSplitFifoInvRequest.getWorkPlaceCode() != null) {
Long workPlaceCode = ioSplitFifoInvRequest.getWorkPlaceCode();
SysWorkplace workplace = sysWorkplaceService.getWorkplace(workPlaceCode);
Integer workPlaceClass = workplace.getWorkPlaceClass();

@ -3,6 +3,7 @@ package com.glxp.api.dao.inout;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.inout.IoSplitCodeEntity;
import com.glxp.api.entity.inout.IoSplitFifoCodeEntity;
import com.glxp.api.req.inout.IoAutoPutRequest;
import com.glxp.api.req.inout.IoSplitCodeRequest;
import com.glxp.api.req.inout.IoSplitFifoCodeRequest;
import com.glxp.api.res.inout.IoSplitCodeResponse;
@ -20,4 +21,6 @@ public interface IoSplitFifoCodeMapper extends BaseMapper<IoSplitFifoCodeEntity>
List<IoSplitCodeResponse> filterList(IoSplitFifoCodeRequest splitFifoCodeRequest);
List<IoSplitCodeResponse> getAutoPutCode(IoAutoPutRequest ioAutoPutRequest);
}

@ -0,0 +1,30 @@
package com.glxp.api.req.inout;
import lombok.Data;
/**
* @author AnthonyYwj
* @date 2024/12/20
*/
@Data
public class IoAutoPutRequest {
/**
* ()
*/
private String queueCode;
private String code;
private String productName;
private String batchNo;
private String bzgg;
private Integer count;
private Long workPlaceCode;
}

@ -32,7 +32,6 @@ public class SysWorkplaceQueueService extends ServiceImpl<SysWorkplaceQueueMappe
private SysWorkplaceQueueMapper sysWorkplaceQueueMapper;
public String createQueueCode() {
String code;
SysWorkplaceQueue sysWorkplaceQueue = sysWorkplaceQueueMapper.selectOne(new LambdaQueryWrapper<SysWorkplaceQueue>().orderByDesc(SysWorkplaceQueue::getCode).last("LIMIT 1"));
@ -92,7 +91,7 @@ public class SysWorkplaceQueueService extends ServiceImpl<SysWorkplaceQueueMappe
int result = 1;
String sixDigitResult = String.format("%02d", result);
code = layerCode + sixDigitResult;
} else{
} else {
String withoutDMQ = code.replace(layerCode, "");
Integer result = Integer.parseInt(withoutDMQ.trim());
result += 1;
@ -178,16 +177,16 @@ public class SysWorkplaceQueueService extends ServiceImpl<SysWorkplaceQueueMappe
public Boolean deleteByLayerCode(String layerCode) {
QueryWrapper<SysWorkplaceQueue> ew = new QueryWrapper<>();
ew.eq("layerCode",layerCode);
ew.eq("layerCode", layerCode);
int delete = sysWorkplaceQueueMapper.delete(ew);
if (delete == 0){
if (delete == 0) {
return false;
}
return true;
}
public List<SysWorkplaceQueue> getListByLayerCode(String layerCode) {
return list(new LambdaQueryWrapper<SysWorkplaceQueue>().eq(SysWorkplaceQueue::getLayerCode,layerCode));
return list(new LambdaQueryWrapper<SysWorkplaceQueue>().eq(SysWorkplaceQueue::getLayerCode, layerCode));
}
public void removeProduct(SysWorkplaceQueueRequest request) {
@ -195,4 +194,8 @@ public class SysWorkplaceQueueService extends ServiceImpl<SysWorkplaceQueueMappe
sysWorkplaceQueue.setRelId(null);
sysWorkplaceQueueMapper.updateByRelId(request);
}
public SysWorkplaceQueue getByCode(String code) {
return getOne(new LambdaQueryWrapper<SysWorkplaceQueue>().eq(SysWorkplaceQueue::getCode, code).last("limit 1"));
}
}

@ -5,12 +5,14 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.dao.auth.SysWorkplaceDao;
import com.glxp.api.dao.collect.IoCollectOrderBizMapper;
import com.glxp.api.dao.collect.IoCollectOrderMapper;
import com.glxp.api.dao.inout.IoSplitFifoCodeMapper;
import com.glxp.api.dao.inout.IoSplitFifoInvMapper;
import com.glxp.api.entity.auth.SysWorkplace;
import com.glxp.api.entity.basic.SysWorkplaceQueue;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.entity.inout.IoSplitFifoCodeEntity;
@ -19,6 +21,7 @@ import com.glxp.api.exception.JsonException;
import com.glxp.api.req.collect.CollectOrderBizRequest;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.req.dev.DeviceChangeOrderParam;
import com.glxp.api.req.inout.IoAutoPutRequest;
import com.glxp.api.req.inout.IoSplitFifoCodeRequest;
import com.glxp.api.req.inout.IoSplitFifoInvRequest;
import com.glxp.api.res.collect.CollectOrderBizResponse;
@ -26,6 +29,7 @@ import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.res.inout.IoSplitCodeResponse;
import com.glxp.api.res.inout.IoSplitInvResponse;
import com.glxp.api.service.auth.SysWorkplaceService;
import com.glxp.api.service.basic.SysWorkplaceQueueService;
import com.glxp.api.util.IntUtil;
import io.swagger.models.auth.In;
import org.springframework.beans.BeanUtils;
@ -187,6 +191,32 @@ public class IoSplitFifoCodeService extends ServiceImpl<IoSplitFifoCodeMapper, I
return msg[0];
}
@Resource
SysWorkplaceQueueService sysWorkplaceQueueService;
public List<IoSplitCodeResponse> autoPut(IoAutoPutRequest autoPutRequest) {
List<IoSplitCodeResponse> newSplitCodeResponses = new ArrayList<>();
SysWorkplaceQueue sysWorkplaceQueue = sysWorkplaceQueueService.getByCode(autoPutRequest.getQueueCode());
if (sysWorkplaceQueue == null) {
throw new JsonException(500, "槽位不存在!");
}
autoPutRequest.setWorkPlaceCode(sysWorkplaceQueue.getWorkPlaceIdFk());
List<IoSplitCodeResponse> splitCodeResponses = splitFifoCodeMapper.getAutoPutCode(autoPutRequest);
if (splitCodeResponses == null || splitCodeResponses.size() == 0) {
throw new JsonException(500, "工位无数据!");
}
for (int i = 0; i < autoPutRequest.getCount(); i++) {
IoSplitCodeResponse ioSplitCodeResponse = splitCodeResponses.get(i);
IoSplitFifoCodeEntity ioSplitFifoCodeEntity = new IoSplitFifoCodeEntity();
BeanUtils.copyProperties(ioSplitCodeResponse, ioSplitFifoCodeEntity);
ioSplitFifoCodeEntity.setWorkPlaceQueueCode(autoPutRequest.getQueueCode());
updateById(ioSplitFifoCodeEntity);
newSplitCodeResponses.add(ioSplitCodeResponse);
}
return newSplitCodeResponses;
}
/**
*

@ -129,4 +129,38 @@
</where>
group by relId, batchNo, workPlaceCode
</select>
<select id="getAutoPutCode" parameterType="com.glxp.api.req.inout.IoAutoPutRequest"
resultType="com.glxp.api.res.inout.IoSplitCodeResponse">
select isfc.*,
bp.cpmctymc,
bp.ggxh,
bp.bzgg,
bu.useLevelUnit,
bp.ylqxzcrbarmc,
bp.manufactory,
bp.measname,
bp.zczbhhzbapzbh,
bp.ybbm,
bp.zxxsdycpbs
from io_split_fifo_code isfc
LEFT JOIN basic_udirel bu on isfc.relId = bu.id
INNER JOIN basic_products bp on bu.uuid = bp.uuid
<where>
isfc.workPlaceQueueCode is null
<if test="productName != null and productName != ''">
AND cpmctymc = #{productName}
</if>
<if test="bzgg != null and bzgg != ''">
AND bzgg = #{bzgg}
</if>
<if test="batchNo != null and batchNo != ''">
AND batchNo = #{batchNo}
</if>
<if test="code != null and code != ''">
AND code = #{code}
</if>
</where>
order by isfc.inBactchNo
</select>
</mapper>

Loading…
Cancel
Save