3/13 追溯码记录查询1.0

dev_2.5_ocean
wangwei 4 months ago
parent 2f25c809d7
commit 83adb734ed

@ -204,5 +204,18 @@ public class IoCollectCodeBackupController extends BaseController {
return ResultVOUtils.success();
}
@GetMapping("/udiwms/basic/collect/ioCollectCodeBackup/retrace")
public BaseResponse retraceCodeList(IoCollectCodeRequest ioCollectCodeRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<IoCollectCodeResponse> ioCollectCodeResponses = ioCollectCodeBackService.filterRetraceCodeList(ioCollectCodeRequest);
PageInfo<IoCollectCodeResponse> pageInfo = new PageInfo<>(ioCollectCodeResponses);
PageSimpleResponse<IoCollectCodeResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(ioCollectCodeResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
}

@ -3,11 +3,13 @@ package com.glxp.api.controller.collect;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageInfo;
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.dao.collect.IoCollectOrderBackupMapper;
import com.glxp.api.entity.collect.IoCollectOrderBackup;
import com.glxp.api.entity.collect.IoCollectOrderBizBackup;
import com.glxp.api.entity.collect.IoCollectOrderCodeMan;
import com.glxp.api.http.ErpBasicClient;
import com.glxp.api.req.basic.BasicCollectUserRequest;
@ -16,11 +18,14 @@ import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.UserWorkResponse;
import com.glxp.api.res.collect.CollectOrderBizResponse;
import com.glxp.api.res.collect.CollectOrderUploadCountResponse;
import com.glxp.api.res.collect.IoCollectCodeResponse;
import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.service.basic.BasicCollectUserService;
import com.glxp.api.service.collect.IoCollectOrderBackupService;
import com.glxp.api.service.collect.IoCollectOrderBizBackupService;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.weaver.ast.Var;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -208,4 +213,22 @@ public class IoCollectOrderBackupController extends BaseController {
return ResultVOUtils.success(collectOrderUploadCountResponse);
}
@GetMapping("/udiwms/basic/collect/ioCollectCodeBackup/getOrderDetails")
public BaseResponse getOrderDetails(CollectOrderRequest collectOrderRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
CollectOrderBizRequest collectOrderBizRequest = new CollectOrderBizRequest();
collectOrderBizRequest.setOrderIdFk(collectOrderRequest.getBillNo());
List<CollectOrderBizResponse> collectOrderBizResponses = ioCollectOrderBizBackupService.filterList(collectOrderBizRequest);
PageInfo<CollectOrderBizResponse> pageInfo = new PageInfo<>(collectOrderBizResponses);
PageSimpleResponse<CollectOrderBizResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(collectOrderBizResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
}

@ -1606,13 +1606,19 @@ public class IoCodeTempController extends BaseController {
} else {
return ResultVOUtils.error(500, "取货槽位不存在!");
}
//校验完成 获取当前槽位 绑定产品
SysWorkplaceQueue sysWorkplaceQueue = sysWorkplaceQueueService.getOne(new LambdaQueryWrapper<SysWorkplaceQueue>()
.eq(SysWorkplaceQueue::getCode, orderEntity.getWorkPlaceQueueCode()));
if (sysWorkplaceQueue.getRelId() == null) {
sysWorkplaceQueue.setRelId(udiRelevanceResponse.getId() + "");
sysWorkplaceQueueService.updateById(sysWorkplaceQueue);
}
//校验完成 获取当前槽位 绑定产品
SysWorkplaceQueue sysWorkplaceQueue = sysWorkplaceQueueService.getOne(new LambdaQueryWrapper<SysWorkplaceQueue>()
.eq(SysWorkplaceQueue::getCode, orderEntity.getWorkPlaceQueueCode()));
if (sysWorkplaceQueue.getRelId() == null) {
//虚拟槽位这个时候就要设置
if (sysWorkplace.getQueueStatus() == 0){
sysWorkplaceQueue.setMaxDrugCount(100);
}
sysWorkplaceQueue.setRelId(udiRelevanceResponse.getId() + "");
sysWorkplaceQueueService.updateById(sysWorkplaceQueue);
}
if (orderEntity != null && CollUtil.isNotEmpty(codeEnttitys)) {
boolean isSame = false;
@ -1622,7 +1628,7 @@ public class IoCodeTempController extends BaseController {
}
}
if (!isSame)
return ResultVOUtils.error(507, "上货产品不符");
return ResultVOUtils.error(507, "当前单据下只允许上货单一产品!");
}
} else if (orderEntity != null && CollUtil.isNotEmpty(codeEnttitys) && IntUtil.value(collectSet.getSplitOutOnlyProductSwitch())) {
for (IoCodeTempEntity ioOrderDetailCodeEntity : codeEnttitys) {

@ -18,4 +18,5 @@ public interface IoCollectCodeBackMapper extends BaseMapper<IoCollectCodeBackup>
List<IoCollectCodeBackup> filterlargePackage();
List<IoCollectCodeResponse> filterRetraceCodeList(IoCollectCodeRequest ioCollectCodeRequest);
}

@ -26,4 +26,10 @@ public class IoCollectCodeRequest extends ListPageRequest {
private Long relId;
private String cpmctymc;
private String batchNo;
}

@ -1,8 +1,11 @@
package com.glxp.api.res.collect;
import com.glxp.api.entity.collect.IoCollectOrderBackup;
import com.glxp.api.entity.collect.IoCollectOrderBizBackup;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author : zhangsan
@ -110,5 +113,7 @@ public class IoCollectCodeResponse {
private Integer scanCodeCheckStatus;
private String prepnSpec;
private IoCollectOrderResponse order;
private List<IoCollectOrderBizBackup> orderBizs;
}

@ -18,10 +18,12 @@ import com.glxp.api.entity.collect.IoCollectOrderCheckCode;
import com.glxp.api.entity.inout.IoSplitFifoCodeEntity;
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.collect.IoCollectCodeRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.collect.CollectOrderBizResponse;
import com.glxp.api.res.collect.IoCollectCodeResponse;
import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.res.inout.AddEnterCodeResponse;
import com.glxp.api.res.inout.VailCodeResultResponse;
import com.glxp.api.service.basic.UdiRelevanceService;
@ -412,4 +414,24 @@ public class IoCollectCodeBackService extends ServiceImpl<IoCollectCodeBackMappe
ioCollectOrderCheckCodeService.save(ioCollectOrderCheckCode);
});
}
public List<IoCollectCodeResponse> filterRetraceCodeList(IoCollectCodeRequest ioCollectCodeRequest) {
if (ioCollectCodeRequest == null) {
return Collections.emptyList();
}
if (ioCollectCodeRequest.getPage() != null) {
int offset = (ioCollectCodeRequest.getPage() - 1) * ioCollectCodeRequest.getLimit();
PageHelper.offsetPage(offset, ioCollectCodeRequest.getLimit());
}
List<IoCollectCodeResponse> ioCollectCodeResponses = ioCollectCodeBackMapper.filterRetraceCodeList(ioCollectCodeRequest);
//拿到 码
for (IoCollectCodeResponse ioCollectCodeResponse : ioCollectCodeResponses){
CollectOrderRequest collectOrderRequest = new CollectOrderRequest();
collectOrderRequest.setBillNo(ioCollectCodeResponse.getBillNo());
List<IoCollectOrderResponse> ioCollectOrderResponses = ioCollectOrderBackupService.filterList(collectOrderRequest);
IoCollectOrderResponse ioCollectOrderResponse = ioCollectOrderResponses.get(0);
ioCollectCodeResponse.setOrder(ioCollectOrderResponse);
}
return ioCollectCodeResponses;
}
}

@ -407,22 +407,22 @@ public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoS
ioSplitInvResponse.setSplitRemCount(totalRemainCount);
}
}
// ioSplitInvResponses.forEach(t -> {
// if (IntUtil.value(t.getQueueEnableRemind())) {
// int count = IntUtil.value(t.getReCount()) - IntUtil.value(t.getQueueRemindCount());
// if (count > 0) {
// t.setRemindState(1);
// } else {
// t.setRemindState(2);
// }
// } else {
// t.setRemindState(0);
// }
// Integer suggestOutCount = t.getSuggestOutCount();
// if (suggestOutCount != null && suggestOutCount < 0) {
// t.setSuggestOutCount(0);
// }
// });
ioSplitInvResponses.forEach(t -> {
if (IntUtil.value(t.getQueueEnableRemind())) {
int count = IntUtil.value(t.getRemCount()) - IntUtil.value(t.getQueueRemindCount());
if (count > 0) {
t.setRemindState(1);
} else {
t.setRemindState(2);
}
} else {
t.setRemindState(0);
}
Integer suggestOutCount = t.getSuggestOutCount();
if (suggestOutCount != null && suggestOutCount < 0) {
t.setSuggestOutCount(0);
}
});
return ioSplitInvResponses;
}
}

@ -4,7 +4,7 @@
<select id="filterList" resultType="com.glxp.api.res.collect.IoCollectCodeResponse">
SELECT iccb.*,sw.workplaceName,
COALESCE(thr_bustype_origin.name, basic_bussiness_type.name) as busTypeName,
sys_workplace_document.busName as busTypeName,
bp.nameCode,
bp.cpmctymc,
COALESCE(bp.ggxh, bp.bzgg) AS ggxh,
@ -18,8 +18,7 @@
icobb.scanActCount
from io_collect_code_backup iccb
left join sys_workplace sw on sw.workplaceId = iccb.workPlaceCode
left join thr_bustype_origin on iccb.busType = thr_bustype_origin.action
left join basic_bussiness_type on iccb.busType = basic_bussiness_type.action
left join sys_workplace_document on iccb.busType = sys_workplace_document.documentTypeCode
left join basic_udirel bu on iccb.relId = bu.id
left join basic_products bp on bu.uuid = bp.uuid
left join io_collect_order_biz_backup icobb on icobb.orderIdFk = iccb.billNo
@ -76,4 +75,48 @@
AND b.packLevel > 1
)
</select>
<select id="filterRetraceCodeList" resultType="com.glxp.api.res.collect.IoCollectCodeResponse">
SELECT iccb.*,
sys_workplace_document.busName as busTypeName,
bp.nameCode,
bp.cpmctymc,
COALESCE(bp.ggxh, bp.bzgg) AS ggxh,
bp.zczbhhzbapzbh,
bp.ylqxzcrbarmc,
bp.manufactory,
bp.prepnSpec
from io_collect_code_backup iccb
left join sys_workplace_document on iccb.busType = sys_workplace_document.documentTypeCode
left join basic_udirel bu on iccb.relId = bu.id
left join basic_products bp on bu.uuid = bp.uuid
left join io_collect_order_biz_backup on io_collect_order_biz_backup.orderIdFk = iccb.billNo
<where>
<if test="workPlaceCode != '' and workPlaceCode != null">
AND iccb.workPlaceCode LIKE concat('%', #{workPlaceCode}, '%')
</if>
<if test="code != '' and code != null">
AND iccb.code LIKE concat('%', #{code}, '%')
</if>
<if test="billNo != null and billNo != ''">
AND iccb.billNo LIKE concat('%',#{billNo}, '%')
</if>
<if test="relId != null and relId != ''">
AND iccb.relId = #{relId}
</if>
<if test="fromType != null and fromType != ''">
AND iccb.fromType LIKE concat('%', #{fromType}, '%')
</if>
<if test="fromCorp != null and fromCorp != ''">
AND iccb.fromCorp LIKE concat('%', #{fromCorp}, '%')
</if>
<if test="batchNo != null and batchNo != ''">
AND io_collect_order_biz_backup.batchNo = #{batchNo}
</if>
</where>
group by iccb.id
order by bp.nameCode,iccb.code
</select>
</mapper>

@ -229,13 +229,19 @@
bp.measname,
bp.zczbhhzbapzbh,
bp.ybbm,
bp.zxxsdycpbs
bp.zxxsdycpbs,
swq.name as workPlaceQueueCodeName,
swq.enableRemind as queueEnableRemind,
swq.remindCount as queueRemindCount,
swq.maxDrugCount as maxDrugCount,
(ifnull(swq.maxDrugCount,0) - ifnull(isfi.reCount,0)) as suggestOutCount
from
(select relId,sum(reCodeCount) as reCount,sum(availableCount) as availableCount,sum(reCount) as remCount,supId,workPlaceQueueCode,workPlaceCode,busType from io_split_fifo_inv
group by relId,supId,workPlaceQueueCode,workPlaceCode,busType
) as isfi
LEFT JOIN basic_udirel bu ON bu.id = isfi.relId
LEFT JOIN basic_products bp ON bu.uuid = bp.uuid
LEFT JOIN sys_workplace_queue swq ON swq.code = isfi.workPlaceQueueCode
<where>
<if test="relId != null">
AND isfi.relId = #{relId}

Loading…
Cancel
Save