From 0014b8b1d3dbdfdd32ceb9bf96e25910c126c3d6 Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Fri, 11 Oct 2024 16:14:47 +0800 Subject: [PATCH 01/13] =?UTF-8?q?feat:=20=E6=89=8B=E5=8A=A8=E5=85=B3?= =?UTF-8?q?=E8=81=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/res/collect/RelCodeBatchResponse.java | 18 ++++++++++++++++++ .../mapper/collect/RelCodeBatchMapper.xml | 7 ++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/glxp/api/res/collect/RelCodeBatchResponse.java b/src/main/java/com/glxp/api/res/collect/RelCodeBatchResponse.java index 83196f9cb..4cc2daf73 100644 --- a/src/main/java/com/glxp/api/res/collect/RelCodeBatchResponse.java +++ b/src/main/java/com/glxp/api/res/collect/RelCodeBatchResponse.java @@ -63,4 +63,22 @@ public class RelCodeBatchResponse { * 负责人 */ private String lineManager; + + /** + * 产品名称,通用名称 + */ + private String cpmctymc; + /** + * 包含下级数量 + */ + private Integer bhxjsl; + + /** + * 包装单位 + */ + private String packUnit; + /** + * 包装级别 + */ + private Integer packLayer; } diff --git a/src/main/resources/mybatis/mapper/collect/RelCodeBatchMapper.xml b/src/main/resources/mybatis/mapper/collect/RelCodeBatchMapper.xml index 3ac701fce..c399c288c 100644 --- a/src/main/resources/mybatis/mapper/collect/RelCodeBatchMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/RelCodeBatchMapper.xml @@ -36,8 +36,13 @@ a.validateDate, a.workShop, a.lineName, - a.lineManager + a.lineManager, + bp.cpmctymc, + bp.bhxjsl, + bp.packLevel AS packLayer, + bp.packUnit from rel_code_batch a + LEFT JOIN basic_products bp ON bp.nameCode = a.productCode AND a.productCode LIKE concat('%', #{productCode}, '%') From dafeed66671b0dfb86d116cc9fdda9521894b16f Mon Sep 17 00:00:00 2001 From: zane Date: Sat, 12 Oct 2024 09:42:09 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E8=BF=98=E5=8E=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/glxp/api/task/SyncHeartTask.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/glxp/api/task/SyncHeartTask.java b/src/main/java/com/glxp/api/task/SyncHeartTask.java index f9854bbab..736423d74 100644 --- a/src/main/java/com/glxp/api/task/SyncHeartTask.java +++ b/src/main/java/com/glxp/api/task/SyncHeartTask.java @@ -42,8 +42,8 @@ public class SyncHeartTask implements SchedulingConfigurer { triggerContext -> { ScheduledRequest scheduledRequest = new ScheduledRequest(); scheduledRequest.setCronName("heartTask"); -// ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); - String cron = "0 0 0 1 * ?"; + ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); + String cron = scheduledEntity.getCron(); if (cron.isEmpty()) { log.error("cron is null"); } From 59614c8fc183a3aa9c0bdb1e27379af7a04bcabd Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Sat, 12 Oct 2024 11:39:52 +0800 Subject: [PATCH 03/13] =?UTF-8?q?feat:=20=E6=8B=BC=E7=AE=B1=E5=85=B3?= =?UTF-8?q?=E8=81=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/collect/RelCodeBatchController.java | 12 ++++++++++++ .../api/service/collect/RelCodeBatchService.java | 10 ++++++++++ .../api/service/collect/RelCodeDetailService.java | 7 +++++++ 3 files changed, 29 insertions(+) diff --git a/src/main/java/com/glxp/api/controller/collect/RelCodeBatchController.java b/src/main/java/com/glxp/api/controller/collect/RelCodeBatchController.java index ea5e99920..ef2b7b80d 100644 --- a/src/main/java/com/glxp/api/controller/collect/RelCodeBatchController.java +++ b/src/main/java/com/glxp/api/controller/collect/RelCodeBatchController.java @@ -54,6 +54,18 @@ public class RelCodeBatchController extends BaseController { return ResultVOUtils.successMsg("添加成功!"); } + /** + * 添加拼箱 + * @param relCodeBatchRequest + * @return + */ + @RepeatSubmit() + @PostMapping("/udiwms/relCode/batch/addRelCodeSpellBox") + public BaseResponse addRelCodeSpellBox(@RequestBody @Valid List relCodeBatchRequest,BindingResult bindingResult) { + relCodeBatchService.addRelCodeSpellBox(relCodeBatchRequest); + return ResultVOUtils.successMsg("添加成功!"); + } + @GetMapping("/udiwms/relCode/batch/filter") public BaseResponse list(RelCodeBatchRequest relCodeBatchRequest, BindingResult bindingResult) { List relCodeBatchResponses = relCodeBatchService.filterList(relCodeBatchRequest); diff --git a/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java b/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java index 52d735dd7..138c2503f 100644 --- a/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java +++ b/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java @@ -187,4 +187,14 @@ public class RelCodeBatchService extends ServiceImpl().eq(RelCodeDetail::getBatchIdFk,id)); this.removeById(id); } + + @Transactional(rollbackFor = Exception.class) + public void addRelCodeSpellBox(List relCodeBatchRequests) { + if (CollUtil.isEmpty(relCodeBatchRequests)){ + throw new JsonException("单据信息异常!"); + } + relCodeBatchRequests.forEach( item -> { + this.add(item); + }); + } } diff --git a/src/main/java/com/glxp/api/service/collect/RelCodeDetailService.java b/src/main/java/com/glxp/api/service/collect/RelCodeDetailService.java index a5cf1cc97..cc3d725f8 100644 --- a/src/main/java/com/glxp/api/service/collect/RelCodeDetailService.java +++ b/src/main/java/com/glxp/api/service/collect/RelCodeDetailService.java @@ -1,7 +1,9 @@ package com.glxp.api.service.collect; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.basic.BasicProductsDao; import com.glxp.api.entity.basic.BasicProductsEntity; @@ -50,6 +52,11 @@ public class RelCodeDetailService extends ServiceImpl list = this.baseMapper.selectList(new LambdaQueryWrapper().eq(RelCodeDetail::getCurCode, curCode)); + if (CollUtil.isNotEmpty(list)){ + throw new JsonException("当前条码关联关系已被维护!"); + } if(StrUtil.isNotBlank(parentCode)){ if (parentCode.endsWith("\u001D")) { parentCode = parentCode.replace("\u001D", ""); From 372d633d3b2e751eee4c6f9eb3091606da8153a0 Mon Sep 17 00:00:00 2001 From: wangwei <1610949092@qq.com> Date: Sat, 12 Oct 2024 16:40:51 +0800 Subject: [PATCH 04/13] =?UTF-8?q?10/12=20bug=E4=BC=98=E5=8C=961.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/SysWorkplaceController.java | 22 +++++++ .../IoCollectOrderBackupController.java | 5 +- .../collect/IoCollectOrderController.java | 2 +- .../inout/IoCodeTempController.java | 65 +++++++++++-------- .../glxp/api/dao/auth/SysWorkplaceDao.java | 1 + .../api/req/auth/SysWorkplaceRequest.java | 2 + .../api/service/auth/SysWorkplaceService.java | 11 ++++ .../collect/IoCollectOrderBackupService.java | 6 +- .../collect/IoSplitDesOrderService.java | 2 +- .../api/service/inout/IoCodeTempService.java | 2 +- .../inout/impl/IoCodeTempServiceImpl.java | 3 +- .../mybatis/mapper/auth/SysWorkplaceDao.xml | 52 +++++++++++++++ 12 files changed, 140 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/auth/SysWorkplaceController.java b/src/main/java/com/glxp/api/controller/auth/SysWorkplaceController.java index eb21e67d5..a83c371ac 100644 --- a/src/main/java/com/glxp/api/controller/auth/SysWorkplaceController.java +++ b/src/main/java/com/glxp/api/controller/auth/SysWorkplaceController.java @@ -299,4 +299,26 @@ public class SysWorkplaceController extends BaseController { } return ResultVOUtils.success("更新成功"); } + + + @PostMapping("/udiwms/sysWorkplace/getListByBusType") + public BaseResponse getListByBusType(@RequestBody SysWorkplaceRequest request) { +// Page page = sysWorkplaceService.page(new Page<>(request.getPage(), request.getLimit()), Wrappers.lambdaQuery(SystemWorkplace.class) +// .eq(StrUtil.isNotBlank(request.getInvCode()),SystemWorkplace::getInvCode,request.getInvCode()) +// .like(StrUtil.isNotBlank(request.getKey()),SystemWorkplace::getWorkplaceId,request.getKey()) +// .or() +// .like(StrUtil.isNotBlank(request.getKey()),SystemWorkplace::getWorkplaceName,request.getKey()) +// ); + request.setUserId(getUserId() + ""); + DeptEntity deptEntity = deptService.selectByCode(request.getDeptCode()); + if (deptEntity.getPid() == 0){ + request.setDeptCode(null); + } + List page = sysWorkplaceService.getListByBusType(request); + PageInfo pageInfo = new PageInfo<>(page); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(page); + return ResultVOUtils.success(pageSimpleResponse); + } } diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderBackupController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderBackupController.java index cf46cd435..d6625982f 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderBackupController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderBackupController.java @@ -96,7 +96,10 @@ public class IoCollectOrderBackupController extends BaseController { public BaseResponse orderUpload(@RequestBody CollectOrderRequest collectOrderRequest) { if (StrUtil.isEmpty(collectOrderRequest.getBillNo())) return ResultVOUtils.error(500, "单据号不能为空"); - ioCollectOrderBackupService.orderUpload(collectOrderRequest.getBillNo()); + Boolean aBoolean = ioCollectOrderBackupService.orderUpload(collectOrderRequest.getBillNo()); + if (!aBoolean){ + return ResultVOUtils.error("上传失败"); + } return ResultVOUtils.success(); } diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java index 1091cd2a8..4b597d430 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java @@ -82,7 +82,7 @@ public class IoCollectOrderController extends BaseController { request.setLimit(100); request.setUserId(userId.toString()); page = basicCollectUserService.filterList(request); - if (page != null) { + if (page != null && page.size() > 0) { workPlaceCodes = page.stream() .map(UserWorkResponse::getWorkplaceId) .collect(Collectors.toList()); diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index 6515b47a4..b94319619 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -10,14 +10,13 @@ import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.entity.collect.IoCollectOrderOrigin; import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.exception.JsonException; +import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderRequest; +import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.IoCollectOrderResponse; import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.res.inout.VailCodeResultResponse; -import com.glxp.api.service.collect.IoCollectCodeService; -import com.glxp.api.service.collect.IoCollectOrderBizBackupService; -import com.glxp.api.service.collect.IoCollectOrderService; -import com.glxp.api.service.collect.IoCollectOriginService; +import com.glxp.api.service.collect.*; import com.glxp.api.service.inout.impl.IoCodeService; import com.glxp.api.service.inv.impl.InvProductDetailService; import org.aspectj.weaver.ast.Var; @@ -117,6 +116,9 @@ public class IoCodeTempController extends BaseController { @Resource IoSplitFifoInvService ioSplitFifoInvService; + @Resource + IoCollectOrderBackupService ioCollectOrderBackupService; + /** * PDA-----单据上传 */ @@ -319,7 +321,7 @@ public class IoCodeTempController extends BaseController { UdiRelevanceResponse checkUdi = udiRelevanceService.selectByNameCode(udiEntity.getUdi()); if (checkUdi == null) { - return ResultVOUtils.error(500, "产品字典不存在此产品!"); + return ResultVOUtils.error(500, "耗材字典不存在此产品!"); } boolean checkSuccess = true; String lostMsg = ""; @@ -682,6 +684,7 @@ public class IoCodeTempController extends BaseController { } + String orderId = addOrderRequest.getBillNo(); //三期校验 @@ -804,6 +807,24 @@ public class IoCodeTempController extends BaseController { } + //校验码表是否已经存在追溯码 io_code_temp + IoCodeTempEntity codeTempEntity1 = codeTempService.selectByCode(code,udiEntity.getBatchNo(),bussinessTypeEntity.getAction()); + if (codeTempEntity1 != null){ + return ResultVOUtils.error(533,"扫码重复或当前追溯码已存在草稿单据中!"); + } + //校验工位存量是否存在 + if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) { + IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(code, addOrderRequest.getWorkPlaceCode()); + if (fifoCodeEntity != null && StrUtil.isNotEmpty(fifoCodeEntity.getSerialNo())) { + return ResultVOUtils.error(533, "当前追溯码已存在!"); + } + } else { + + IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(code, addOrderRequest.getWorkPlaceCode()); + if (fifoCodeEntity == null) { + return ResultVOUtils.error(500, "当前追溯码未上货!"); + } + } //校验预验收是否已存在 if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { if (StrUtil.isNotEmpty(udiEntity.getSerialNo())) { @@ -851,14 +872,6 @@ public class IoCodeTempController extends BaseController { addOrderRequest.setFromCorp(fromCorp); } - //校验工位存量是否存在 - if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) { - IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(code, null); - if (fifoCodeEntity != null && StrUtil.isNotEmpty(fifoCodeEntity.getSerialNo())) { - return ResultVOUtils.error(500, "当前追溯码已存在!"); - } - } - //先生成扫码单据 IoOrderEntity orderEntity = orderService.findByBillNo(orderId); @@ -1291,14 +1304,13 @@ public class IoCodeTempController extends BaseController { } - + //校验码表是否已经存在追溯码 io_code_temp + IoCodeTempEntity codeTempEntity = codeTempService.selectByCode(code,udiEntity.getBatchNo(),bussinessTypeEntity.getAction()); + if (codeTempEntity != null){ + return ResultVOUtils.error(533,"扫码重复或当前追溯码已存在草稿单据中!"); + } //校验工位存量是否存在 if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) { - //校验码表是否已经存在追溯码 io_code_temp - IoCodeTempEntity codeTempEntity = codeTempService.selectByCode(code,udiEntity.getBatchNo()); - if (codeTempEntity != null){ - return ResultVOUtils.error(533,"当前追溯码已存在草稿单据中!"); - } IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(code, addOrderRequest.getWorkPlaceCode()); if (fifoCodeEntity != null && StrUtil.isNotEmpty(fifoCodeEntity.getSerialNo())) { return ResultVOUtils.error(533, "当前追溯码已存在!"); @@ -1309,10 +1321,6 @@ public class IoCodeTempController extends BaseController { if (fifoCodeEntity == null) { return ResultVOUtils.error(500, "当前追溯码未上货!"); } - IoCodeTempEntity codeTempEntity = codeTempService.selectByCode(code,udiEntity.getBatchNo()); - if (codeTempEntity != null){ - return ResultVOUtils.error(533,"当前追溯码已存在草稿单据中!"); - } } @@ -2612,11 +2620,14 @@ public class IoCodeTempController extends BaseController { } String orderFinishBillNo = addOrderCodeRequest.getOrderFinishBillNo(); - List list = ioCollectCodeService.list(new LambdaUpdateWrapper().eq(IoCollectCode::getBillNo, orderFinishBillNo)); - if (CollUtil.isEmpty(list)) return ResultVOUtils.error(500, "未找到已完成单的码明细"); +// List list = ioCollectCodeService.list(new LambdaUpdateWrapper().eq(IoCollectCode::getBillNo, orderFinishBillNo)); + CollectOrderBizRequest collectOrderBizRequest = new CollectOrderBizRequest(); + collectOrderBizRequest.setOrderIdFk(orderFinishBillNo); + List collectOrderBizResponses = ioCollectOrderBackupService.combieOrderDetail(collectOrderBizRequest); + if (CollUtil.isEmpty(collectOrderBizResponses)) return ResultVOUtils.error(500, "未找到已完成单的码明细"); List codeList = new ArrayList<>(); - list.forEach(item -> { - String code = item.getCode(); + collectOrderBizResponses.forEach(item -> { + String code = item.getFinishUdiCode(); Integer reCountObj = item.getScanCount(); int reCount = reCountObj != null ? reCountObj : 0; // 如果reCountObj为null,则默认为0次迭代 for (int i = 0; i < reCount; i++) { diff --git a/src/main/java/com/glxp/api/dao/auth/SysWorkplaceDao.java b/src/main/java/com/glxp/api/dao/auth/SysWorkplaceDao.java index cfff96b79..3fd715508 100644 --- a/src/main/java/com/glxp/api/dao/auth/SysWorkplaceDao.java +++ b/src/main/java/com/glxp/api/dao/auth/SysWorkplaceDao.java @@ -23,4 +23,5 @@ public interface SysWorkplaceDao extends BaseMapper { List getAllByBusType(String busTypeCode); + List getListByBusType(@Param("request") SysWorkplaceRequest request); } diff --git a/src/main/java/com/glxp/api/req/auth/SysWorkplaceRequest.java b/src/main/java/com/glxp/api/req/auth/SysWorkplaceRequest.java index d9d327a52..421a5b7cf 100644 --- a/src/main/java/com/glxp/api/req/auth/SysWorkplaceRequest.java +++ b/src/main/java/com/glxp/api/req/auth/SysWorkplaceRequest.java @@ -30,6 +30,8 @@ public class SysWorkplaceRequest extends ListPageRequest { private List workPlaceIds; private String chargeUser; + private String userId; + private String busType; private Boolean userIdFlag; diff --git a/src/main/java/com/glxp/api/service/auth/SysWorkplaceService.java b/src/main/java/com/glxp/api/service/auth/SysWorkplaceService.java index a46e18705..96eb7a248 100644 --- a/src/main/java/com/glxp/api/service/auth/SysWorkplaceService.java +++ b/src/main/java/com/glxp/api/service/auth/SysWorkplaceService.java @@ -81,4 +81,15 @@ public class SysWorkplaceService extends ServiceImpl getListByBusType(SysWorkplaceRequest request) { + if (null == request) { + return Collections.emptyList(); + } + if (null != request.getPage() && null != request.getLimit()) { + PageHelper.offsetPage((request.getPage() - 1) * request.getLimit(), request.getLimit()); + } + List page = super.baseMapper.getListByBusType(request); + return page; + } } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java index 73cee8413..caeee8dea 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java @@ -273,7 +273,7 @@ public class IoCollectOrderBackupService extends ServiceImpl ew = new QueryWrapper<>(); ew.eq("code",code); ew.eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo); + ew.eq(StrUtil.isNotEmpty(action), "action", action); return ioCodeTempDao.selectOne(ew); } diff --git a/src/main/resources/mybatis/mapper/auth/SysWorkplaceDao.xml b/src/main/resources/mybatis/mapper/auth/SysWorkplaceDao.xml index f2726119e..48b7e1957 100644 --- a/src/main/resources/mybatis/mapper/auth/SysWorkplaceDao.xml +++ b/src/main/resources/mybatis/mapper/auth/SysWorkplaceDao.xml @@ -60,4 +60,56 @@ GROUP BY sys_workplace.workplaceId + From d7e6b20bcb7f2aba266d994f8fe92fd965fbaa0f Mon Sep 17 00:00:00 2001 From: zane Date: Sat, 12 Oct 2024 17:17:46 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E4=B8=8A=E4=B8=8B=E8=B4=A7=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java | 2 ++ .../com/glxp/api/service/collect/RelCodeBatchService.java | 1 + .../resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml | 4 +++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java index addf667e7..49a0a97e9 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java @@ -191,5 +191,7 @@ public class IoOrderDetailBizResponse { private String prepnUnit; + private String action; + } diff --git a/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java b/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java index 138c2503f..35fed9212 100644 --- a/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java +++ b/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java @@ -180,6 +180,7 @@ public class RelCodeBatchService extends ServiceImpl AND orderIdFk = #{orderIdFk} From 14ae99a760b17ff03d69a2a67a1110784c2eccee Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Sat, 12 Oct 2024 18:27:22 +0800 Subject: [PATCH 06/13] =?UTF-8?q?feat:=20=E6=8B=BC=E7=AE=B1=E5=85=B3?= =?UTF-8?q?=E8=81=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/glxp/api/entity/collect/RelCodeBatch.java | 4 ++-- .../java/com/glxp/api/req/collect/RelCodeBatchRequest.java | 4 ++-- .../com/glxp/api/service/collect/RelCodeBatchService.java | 6 ++++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/glxp/api/entity/collect/RelCodeBatch.java b/src/main/java/com/glxp/api/entity/collect/RelCodeBatch.java index 6b21f11bb..035b75f82 100644 --- a/src/main/java/com/glxp/api/entity/collect/RelCodeBatch.java +++ b/src/main/java/com/glxp/api/entity/collect/RelCodeBatch.java @@ -65,14 +65,14 @@ public class RelCodeBatch implements Serializable { */ @TableField(value = "madeDate") @ApiModelProperty(value="生产日期") - private Date madeDate; + private String madeDate; /** * 有效期至 */ @TableField(value = "validateDate") @ApiModelProperty(value="有效期至") - private Date validateDate; + private String validateDate; /** * 生产车间 diff --git a/src/main/java/com/glxp/api/req/collect/RelCodeBatchRequest.java b/src/main/java/com/glxp/api/req/collect/RelCodeBatchRequest.java index 840665143..8155bbf08 100644 --- a/src/main/java/com/glxp/api/req/collect/RelCodeBatchRequest.java +++ b/src/main/java/com/glxp/api/req/collect/RelCodeBatchRequest.java @@ -46,12 +46,12 @@ public class RelCodeBatchRequest extends ListPageRequest { /** * 生产日期 */ - private Date madeDate; + private String madeDate; /** * 有效期至 */ - private Date validateDate; + private String validateDate; /** * 生产车间 diff --git a/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java b/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java index 35fed9212..25e28ecc9 100644 --- a/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java +++ b/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java @@ -97,9 +97,11 @@ public class RelCodeBatchService extends ServiceImpl Date: Mon, 14 Oct 2024 10:26:30 +0800 Subject: [PATCH 07/13] =?UTF-8?q?feat:=20=E6=89=8B=E5=B7=A5=E3=80=81?= =?UTF-8?q?=E6=8B=BC=E7=AE=B1=E5=85=B3=E8=81=94=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../collect/RelCodeBatchController.java | 16 ++++++++++++++ .../service/collect/RelCodeBatchService.java | 22 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/src/main/java/com/glxp/api/controller/collect/RelCodeBatchController.java b/src/main/java/com/glxp/api/controller/collect/RelCodeBatchController.java index ef2b7b80d..b854a721b 100644 --- a/src/main/java/com/glxp/api/controller/collect/RelCodeBatchController.java +++ b/src/main/java/com/glxp/api/controller/collect/RelCodeBatchController.java @@ -9,6 +9,7 @@ import com.glxp.api.constant.RedissonCacheKey; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.collect.RelCodeBatch; import com.glxp.api.req.collect.RelCodeBatchRequest; +import com.glxp.api.req.collect.RelCodeDetailRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.collect.RelCodeBatchResponse; import com.glxp.api.service.collect.RelCodeBatchService; @@ -95,4 +96,19 @@ public class RelCodeBatchController extends BaseController { return ResultVOUtils.success("修改成功!"); } + + + @GetMapping("/udiwms/relCode/batch/deleteDetail") + public BaseResponse deleteDetail(@RequestParam("curCode") String curCode) { + relCodeBatchService.deleteDetail(curCode); + return ResultVOUtils.success("删除成功"); + } + + + @PostMapping("/udiwms/relCode/batch/deleteAllDetail") + public BaseResponse deleteAllDetail(@RequestBody List detailList) { + relCodeBatchService.deleteAllDetail(detailList); + return ResultVOUtils.success("清空成功"); + } + } diff --git a/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java b/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java index 25e28ecc9..5943670d9 100644 --- a/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java +++ b/src/main/java/com/glxp/api/service/collect/RelCodeBatchService.java @@ -6,6 +6,7 @@ import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.XmlUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.collect.RelCodeDetail; @@ -36,6 +37,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; @Service @Slf4j @@ -200,4 +202,24 @@ public class RelCodeBatchService extends ServiceImpl list = relCodeDetailService.list(new LambdaQueryWrapper().eq(RelCodeDetail::getParentCode, curCode)); + if (CollUtil.isNotEmpty(list)){ + List batchIds = list.stream().map(RelCodeDetail::getBatchIdFk).collect(Collectors.toList()); + this.removeBatchByIds(batchIds); + relCodeDetailService.remove(new LambdaQueryWrapper().in(RelCodeDetail::getBatchIdFk,batchIds)); + } + } + + @Transactional(rollbackFor = Exception.class) + public void deleteAllDetail(List detailList) { + if (CollUtil.isNotEmpty(detailList)){ + detailList.forEach( item -> { + String curCode = item.getCurCode(); + this.deleteDetail(curCode); + }); + } + } } From 7f8a26354ee61a79b18ce321bc5a8380e660a95c Mon Sep 17 00:00:00 2001 From: yewj Date: Mon, 14 Oct 2024 10:43:12 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E9=87=8D=E5=A4=8D=E6=89=AB=E7=A0=81?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoCodeTempController.java | 31 ++++++++++------ .../controller/inout/IoOrderController.java | 16 +++----- .../collect/IoCollectOrderCodeManMapper.java | 3 ++ .../collect/CollectOrderCodeManRequest.java | 1 + .../collect/IoCollectOrderCodeManService.java | 37 ++++++++++++++++++- .../service/inout/IoCheckInoutService.java | 7 +--- .../api/service/inout/IoGenInvService.java | 4 +- .../api/service/inout/IoSplitCodeService.java | 8 ++++ .../collect/IoCollectOrderCodeManMapper.xml | 16 ++++++++ 9 files changed, 92 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index b94319619..0c4b199e9 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -595,6 +595,8 @@ public class IoCodeTempController extends BaseController { @Resource IoSplitFifoCodeService fifoCodeService; + @Resource + IoSplitCodeService splitCodeService; @Transactional(rollbackFor = Exception.class) public BaseResponse addMaterOrder(AddOrderRequest addOrderRequest, UdiEntity udiEntity, String code) { @@ -684,7 +686,6 @@ public class IoCodeTempController extends BaseController { } - String orderId = addOrderRequest.getBillNo(); //三期校验 @@ -808,9 +809,9 @@ public class IoCodeTempController extends BaseController { //校验码表是否已经存在追溯码 io_code_temp - IoCodeTempEntity codeTempEntity1 = codeTempService.selectByCode(code,udiEntity.getBatchNo(),bussinessTypeEntity.getAction()); - if (codeTempEntity1 != null){ - return ResultVOUtils.error(533,"扫码重复或当前追溯码已存在草稿单据中!"); + IoCodeTempEntity codeTempEntity1 = codeTempService.selectByCode(code, udiEntity.getBatchNo(), bussinessTypeEntity.getAction()); + if (codeTempEntity1 != null) { + return ResultVOUtils.error(533, "扫码重复或当前追溯码已存在草稿单据中!"); } //校验工位存量是否存在 if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) { @@ -1305,25 +1306,33 @@ public class IoCodeTempController extends BaseController { //校验码表是否已经存在追溯码 io_code_temp - IoCodeTempEntity codeTempEntity = codeTempService.selectByCode(code,udiEntity.getBatchNo(),bussinessTypeEntity.getAction()); - if (codeTempEntity != null){ - return ResultVOUtils.error(533,"扫码重复或当前追溯码已存在草稿单据中!"); + IoCodeTempEntity codeTempEntity = codeTempService.selectByCode(code, udiEntity.getBatchNo(), bussinessTypeEntity.getAction()); + if (codeTempEntity != null) { + return ResultVOUtils.error(533, "扫码重复或当前追溯码已存在草稿单据中!"); } - //校验工位存量是否存在 + //------工位上货相关-----校验工位存量是否存在---- if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) { IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(code, addOrderRequest.getWorkPlaceCode()); if (fifoCodeEntity != null && StrUtil.isNotEmpty(fifoCodeEntity.getSerialNo())) { return ResultVOUtils.error(533, "当前追溯码已存在!"); } - } else { + IoSplitCodeEntity splitCodeEntity = splitCodeService.findByCode(code); + if (splitCodeEntity != null && StrUtil.isNotEmpty(splitCodeEntity.getSerialNo())) { + return ResultVOUtils.error(533, "当前追溯码已存在!"); + } + + } else if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_RETURN)) { IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(code, addOrderRequest.getWorkPlaceCode()); if (fifoCodeEntity == null) { return ResultVOUtils.error(500, "当前追溯码未上货!"); } - } - + IoSplitCodeEntity splitCodeEntity = splitCodeService.findByCode(code); + if (splitCodeEntity != null && StrUtil.isNotEmpty(splitCodeEntity.getSerialNo())) { + return ResultVOUtils.error(533, "当前追溯码已经拆零,无法退货!"); + } + } if (addOrderRequest.getFromCorp() == null || StrUtil.isNotEmpty(addOrderRequest.getSickerAdNum())) { diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index 5f198dcb4..ee22b8439 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -327,7 +327,7 @@ public class IoOrderController extends BaseController { @AuthRuleAnnotation("") @PostMapping("warehouse/inout/saveOrderWeb") @Log(title = "单据管理", businessType = BusinessType.UPDATE) - public BaseResponse saveOrderWeb(@RequestBody AddOrderRequest addOrderRequest){ + public BaseResponse saveOrderWeb(@RequestBody AddOrderRequest addOrderRequest) { IoOrderEntity orderEntity = new IoOrderEntity(); if (addOrderRequest.getWorkPlaceCode() != null) { @@ -352,7 +352,7 @@ public class IoOrderController extends BaseController { } - if (addOrderRequest.getAction().equals(ConstantType.SPLIT_RETURN) || addOrderRequest.getAction().equals(ConstantType.SPLIT_OUT)){ + if (addOrderRequest.getAction().equals(ConstantType.SPLIT_RETURN) || addOrderRequest.getAction().equals(ConstantType.SPLIT_OUT)) { orderEntity.setStatus(1); } orderEntity.setFromCorp(ioAddInoutService.updateCorp(bussinessTypeEntity, addOrderRequest.getFromCorp(), addOrderRequest.getSickerAdNum())); @@ -420,7 +420,7 @@ public class IoOrderController extends BaseController { //上货校验追溯码是否重复 if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) { for (IoCodeTempEntity codeTempEntity : codeTempEntities) { - IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(codeTempEntity.getCode(),addOrderRequest.getWorkPlaceCode() ); + IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(codeTempEntity.getCode(), addOrderRequest.getWorkPlaceCode()); if (fifoCodeEntity != null && StrUtil.isNotEmpty(fifoCodeEntity.getSerialNo())) { return ResultVOUtils.error(500, "当前追溯码:" + fifoCodeEntity.getCode() + "已存在!"); } @@ -445,7 +445,6 @@ public class IoOrderController extends BaseController { } if (checkInoutService.checkManual(addOrderRequest.getBillNo())) { if (CollUtil.isNotEmpty(orderDetailBizEntities)) { - if (bussinessTypeEntity.getCheckWebNew() == 1) { String errMsg = checkInoutService.bizOrderCheck(orderDetailBizEntities, orderDetailCodeEntities); if (StrUtil.isNotEmpty(errMsg)) { @@ -481,8 +480,6 @@ public class IoOrderController extends BaseController { ioAddInoutService.dealProcess(orderEntity); checkInoutService.check(addOrderRequest.getBillNo()); } - - } else { return ResultVOUtils.error(500, "单据校验提交失败,请先录入业务单据!"); } @@ -1359,8 +1356,8 @@ public class IoOrderController extends BaseController { @PostMapping("/udiwms/inout/order/upProcessing") public BaseResponse isProcessing(@RequestBody AddOrderRequest addOrderRequest) { IoOrderEntity order = orderService.findByBillNo(addOrderRequest.getBillNo()); - if (order.getStatus() == 3){ - return ResultVOUtils.error(501,"此订单正在处理中"); + if (order.getStatus() == 3) { + return ResultVOUtils.error(501, "此订单正在处理中"); } order.setStatus(3);//订单从草稿改变成为3 表示正在处理中 order.setUpdateUser(getUserId() + ""); @@ -1371,12 +1368,11 @@ public class IoOrderController extends BaseController { @GetMapping("/udiwms/inout/order/getProcessingOrder") public BaseResponse getProcessingOrder(AddOrderRequest addOrderRequest) { - IoOrderResponse order = orderService.findByWorkPlaceCode(addOrderRequest.getWorkPlaceCode() + "",getUserId()); + IoOrderResponse order = orderService.findByWorkPlaceCode(addOrderRequest.getWorkPlaceCode() + "", getUserId()); return ResultVOUtils.success(order); } - public String checkId(IoOrderDetailBizEntity bizEntity, IoCodeTempEntity codeEntity) { if (bizEntity.getBindRlFk().longValue() == codeEntity.getRelId().longValue()) { diff --git a/src/main/java/com/glxp/api/dao/collect/IoCollectOrderCodeManMapper.java b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderCodeManMapper.java index 0133e5ba2..6bdfeedd1 100644 --- a/src/main/java/com/glxp/api/dao/collect/IoCollectOrderCodeManMapper.java +++ b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderCodeManMapper.java @@ -14,4 +14,7 @@ public interface IoCollectOrderCodeManMapper extends BaseMapper filterList(CollectOrderCodeManRequest collectOrderCodeManRequest); + IoCollectOrderCodeMan exitCode(CollectOrderCodeManRequest collectOrderCodeManRequest); + + } diff --git a/src/main/java/com/glxp/api/req/collect/CollectOrderCodeManRequest.java b/src/main/java/com/glxp/api/req/collect/CollectOrderCodeManRequest.java index ad6093180..149bcd301 100644 --- a/src/main/java/com/glxp/api/req/collect/CollectOrderCodeManRequest.java +++ b/src/main/java/com/glxp/api/req/collect/CollectOrderCodeManRequest.java @@ -29,5 +29,6 @@ public class CollectOrderCodeManRequest extends ListPageRequest { private Long updateUser; private Long bizIdFk; + private String busType; } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java index 4971c91ac..44f8735f9 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java @@ -82,6 +82,9 @@ public class IoCollectOrderCodeManService extends ServiceImpl filterList(CollectOrderCodeManRequest collectOrderCodeManRequest) { if (collectOrderCodeManRequest == null) { return Collections.emptyList(); @@ -99,6 +102,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl().eq(IoCollectOrderCodeMan::getOrderIdFk, billNo) .eq(IoCollectOrderCodeMan::getUdiCode, code).last("limit 1")); @@ -223,6 +227,19 @@ public class IoCollectOrderCodeManService extends ServiceImpl().eq(IoCollectOrderCodeMan::getOrderIdFk, billNo)); } + + IoCollectOrderCodeMan exitCode(CollectOrderCodeManRequest collectOrderCodeManRequest) { + return collectOrderCodeManMapper.exitCode(collectOrderCodeManRequest); + } + } diff --git a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java index e947245f4..0ba6c43c0 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -1156,7 +1156,6 @@ public class IoCheckInoutService { } } } - } List backCodeList = new ArrayList<>(); @@ -1165,18 +1164,13 @@ public class IoCheckInoutService { backCodeList.add(codeEntity); } } - //更新预验收单为已被选入 OrderEditRequest orderEditRequest = new OrderEditRequest(); orderEditRequest.setOrderIds(orderList); orderEditRequest.setPreInSelected(1); orderService.updateBatchOrder(orderEditRequest); genBackOrder(orderEntity, backCodeList); - - } - - } else { //按仓库货位退货 List backCodeList = new ArrayList<>(); @@ -1249,6 +1243,7 @@ public class IoCheckInoutService { //拆零预出库退回 List codeList = codeService.findByOrderId(orderEntity.getBillNo()); fifoInvService.removeInv(codeList, orderEntity.getWorkPlaceCode()); + splitFifoCodeService.updateAllInvAlert(orderEntity.getWorkPlaceCode()); } } } diff --git a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java index 1675880da..8e6eb77c7 100644 --- a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java +++ b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java @@ -135,8 +135,8 @@ public class IoGenInvService { if (bussinessTypeEntity.getActionType() == (ConstantStatus.ACTION_TYPE_NORMAL) //带票(正常) && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT) //入库 && bussinessTypeEntity.getDevInType().equals(1) - ) { - deviceChangeOrderService.generateDeviceInfo(orderEntity,codeEnttities); + ) { + deviceChangeOrderService.generateDeviceInfo(orderEntity, codeEnttities); } } diff --git a/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java b/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java index 90b10b2e4..229f77fe6 100644 --- a/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java @@ -33,6 +33,9 @@ import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; +/** + * 拆零码明细 + */ @Service public class IoSplitCodeService extends ServiceImpl { @@ -82,6 +85,11 @@ public class IoSplitCodeService extends ServiceImpl() + .eq(IoSplitCodeEntity::getCode, code).last("limit 1")); + } + public void splitRemove(IoCollectOrderBiz collectOrderBiz, IoCollectOrder collectOrder, Long putWorkPlaceCode) { //1.按照先进先出原则,查询拆零表,获取拆零表ID List ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), putWorkPlaceCode); diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectOrderCodeManMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectOrderCodeManMapper.xml index dddee6f88..203a88349 100644 --- a/src/main/resources/mybatis/mapper/collect/IoCollectOrderCodeManMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderCodeManMapper.xml @@ -28,4 +28,20 @@ group by icocm.id + + From 18418fa8f0afa224fa9ad6f5694fa2039e36bda8 Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Mon, 14 Oct 2024 11:19:48 +0800 Subject: [PATCH 09/13] =?UTF-8?q?feat:=20=E6=89=8B=E5=B7=A5=E3=80=81?= =?UTF-8?q?=E6=8B=BC=E7=AE=B1=E5=85=B3=E8=81=94=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/glxp/api/service/collect/RelCodeDetailService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/glxp/api/service/collect/RelCodeDetailService.java b/src/main/java/com/glxp/api/service/collect/RelCodeDetailService.java index cc3d725f8..87e55f1db 100644 --- a/src/main/java/com/glxp/api/service/collect/RelCodeDetailService.java +++ b/src/main/java/com/glxp/api/service/collect/RelCodeDetailService.java @@ -87,7 +87,7 @@ public class RelCodeDetailService extends ServiceImpl Date: Mon, 14 Oct 2024 15:41:19 +0800 Subject: [PATCH 10/13] =?UTF-8?q?feat:=20=E6=89=8B=E5=B7=A5=E3=80=81?= =?UTF-8?q?=E6=8B=BC=E7=AE=B1=E5=85=B3=E8=81=94=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/BasicExportStatusTimeEnum.java | 5 ++ .../api/constant/BasicExportTypeEnum.java | 5 ++ .../api/entity/system/SyncDataSetEntity.java | 5 ++ .../res/sync/SpsSyncDrugDataTaskResponse.java | 16 +++++ .../glxp/api/service/sync/HeartService.java | 59 +++++++++++++++++++ 5 files changed, 90 insertions(+) create mode 100644 src/main/java/com/glxp/api/res/sync/SpsSyncDrugDataTaskResponse.java diff --git a/src/main/java/com/glxp/api/constant/BasicExportStatusTimeEnum.java b/src/main/java/com/glxp/api/constant/BasicExportStatusTimeEnum.java index 351079102..434b8ffe5 100644 --- a/src/main/java/com/glxp/api/constant/BasicExportStatusTimeEnum.java +++ b/src/main/java/com/glxp/api/constant/BasicExportStatusTimeEnum.java @@ -131,6 +131,11 @@ public enum BasicExportStatusTimeEnum { DEV_REPAIR("device_repair","设备维修单数据"), PRODUCE_BUSINESS_DATA("thr_manufacturer", "生产企业数据"), + /** + * 药品关联信息任务同步 + */ + DRUG_DATA_TASK("drug_data_task", "药品关联信息任"), + ; @EnumValue private String key; diff --git a/src/main/java/com/glxp/api/constant/BasicExportTypeEnum.java b/src/main/java/com/glxp/api/constant/BasicExportTypeEnum.java index 581bc2799..1b301f29e 100644 --- a/src/main/java/com/glxp/api/constant/BasicExportTypeEnum.java +++ b/src/main/java/com/glxp/api/constant/BasicExportTypeEnum.java @@ -64,6 +64,11 @@ public enum BasicExportTypeEnum { DEVICE_UPKEEP_DATA("device__upkeep", "设备保养数据"), PRODUCE_BUSINESS_DATA("thr_manufacturer", "生产企业数据"), + + /** + * 药品关联信息任务同步 + */ + DRUG_DATA_TASK("drug_data_task", "药品关联信息任"), // // NEW_ALL_ORDER("all_order", "出入库扫码单据"), // ALL_BUS_ORDER("all_bus_order", "业务单据"), diff --git a/src/main/java/com/glxp/api/entity/system/SyncDataSetEntity.java b/src/main/java/com/glxp/api/entity/system/SyncDataSetEntity.java index b0b38dab4..e6bc67e84 100644 --- a/src/main/java/com/glxp/api/entity/system/SyncDataSetEntity.java +++ b/src/main/java/com/glxp/api/entity/system/SyncDataSetEntity.java @@ -83,4 +83,9 @@ public class SyncDataSetEntity { private int deviceUpkeep;//保养单 private int produceBusiness;//生产企业 PRODUCE_BUSINESS_DATA + /** + * 设备任务 + */ + private int drugDataTask; + } diff --git a/src/main/java/com/glxp/api/res/sync/SpsSyncDrugDataTaskResponse.java b/src/main/java/com/glxp/api/res/sync/SpsSyncDrugDataTaskResponse.java new file mode 100644 index 000000000..d44b33d2e --- /dev/null +++ b/src/main/java/com/glxp/api/res/sync/SpsSyncDrugDataTaskResponse.java @@ -0,0 +1,16 @@ +package com.glxp.api.res.sync; + +import com.glxp.api.entity.collect.RelCodeBatch; +import com.glxp.api.entity.collect.RelCodeDetail; +import lombok.Data; + +import java.util.List; + +@Data +public class SpsSyncDrugDataTaskResponse extends BaseSyncResponse { + + public List relCodeBatches; + + public List relCodeDetails; + +} diff --git a/src/main/java/com/glxp/api/service/sync/HeartService.java b/src/main/java/com/glxp/api/service/sync/HeartService.java index 5b29286ab..b15ee12ac 100644 --- a/src/main/java/com/glxp/api/service/sync/HeartService.java +++ b/src/main/java/com/glxp/api/service/sync/HeartService.java @@ -3,8 +3,12 @@ package com.glxp.api.service.sync; import cn.hutool.core.bean.BeanUtil; import com.glxp.api.dao.dev.*; import com.glxp.api.dao.thrsys.ThrManufacturerMapper; +import com.glxp.api.entity.collect.RelCodeBatch; +import com.glxp.api.entity.collect.RelCodeDetail; import com.glxp.api.entity.dev.*; import com.glxp.api.res.inv.InnerOrderPrintResponse; +import com.glxp.api.service.collect.RelCodeBatchService; +import com.glxp.api.service.collect.RelCodeDetailService; import com.glxp.api.service.dev.*; import org.junit.Test; import org.springframework.beans.BeanUtils; @@ -69,6 +73,7 @@ import java.io.IOException; import java.time.LocalDateTime; import java.util.*; import java.util.function.Function; +import java.util.stream.Collectors; import static com.glxp.api.constant.BasicProcessStatus.NEW_ALL_ORDER; import static com.glxp.api.constant.BasicProcessStatus.NEW_ALL_UDIS; @@ -305,6 +310,12 @@ public class HeartService { // if (needExec(info.getDeviceTask())) { //默认开启 uploadData(exportType, taskId, x -> x.getDeviceTaskData(info, taskId, now, syncTime)); +// } + break; + case DRUG_DATA_TASK: +// if (needExec(info.getDeviceTask())) { + //默认开启 + uploadData(exportType, taskId, x -> x.getDrugDataTaskData(info, taskId, now, syncTime)); // } break; } @@ -1108,6 +1119,10 @@ public class HeartService { @Resource DeviceInspectTaskService deviceInspectTaskService; @Resource + RelCodeDetailService relCodeDetailService; + @Resource + RelCodeBatchService relCodeBatchService; + @Resource DeviceInspectTaskDetailService deviceInspectTaskDetailService; @Value("${file_path}") private String filePath; @@ -1164,6 +1179,50 @@ public class HeartService { } return dataResponse; } + /** + * @param info + * @param taskId + * @param now + * @param syncTime + * @return + */ + private SpsSyncDrugDataTaskResponse getDrugDataTaskData(SyncDataSetEntity info, String taskId, Date now, Date syncTime) { + SpsSyncDrugDataTaskResponse dataResponse = null; + Map syncTimeMap = new WeakHashMap<>(3); + syncTimeMap.put("isNew", true); + boolean ge = false; + if (syncTime != null) { + ge = true; + } + StringBuffer remark = new StringBuffer(); + if (needExec(info.getDrugDataTask())) { + Map map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.DRUG_DATA_TASK); + List relCodeBatches = relCodeBatchService.list(Wrappers.lambdaQuery(RelCodeBatch.class) + .le(!ge && (boolean) map.get("isNew"), RelCodeBatch::getUpdateTime, now) + .between(ge, RelCodeBatch::getUpdateTime, syncTime, now) + .between(!ge && !(boolean) map.get("isNew"), RelCodeBatch::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(relCodeBatches)) { + dataResponse = new SpsSyncDrugDataTaskResponse(); + dataResponse.setRelCodeBatches(relCodeBatches); + + //增加明细数据 + List batchIds = relCodeBatches.stream().map(RelCodeBatch::getId).collect(Collectors.toList()); + List list = relCodeDetailService.list(Wrappers.lambdaQuery(RelCodeDetail.class) + .in(RelCodeDetail::getBatchIdFk,batchIds)); + dataResponse.setRelCodeDetails(list); + + remark.append("药品关联信息任务:").append(relCodeBatches.size()).append("条\n"); + } + } + if (dataResponse != null) { + dataResponse.setTaskId(taskId); + dataResponse.setType(BasicExportTypeEnum.DRUG_DATA_TASK.getRemark()); + dataResponse.setSyncRemark(remark.toString()); + } + return dataResponse; + } /** From 2bb5f8b11607cc1f428f7761b3827c17e3e6b40d Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Mon, 14 Oct 2024 17:31:54 +0800 Subject: [PATCH 11/13] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/glxp/api/service/thrsys/YbDrugService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/glxp/api/service/thrsys/YbDrugService.java b/src/main/java/com/glxp/api/service/thrsys/YbDrugService.java index 19544d742..b6792f2ec 100644 --- a/src/main/java/com/glxp/api/service/thrsys/YbDrugService.java +++ b/src/main/java/com/glxp/api/service/thrsys/YbDrugService.java @@ -28,7 +28,7 @@ public class YbDrugService { BaseResponse> ybDrugDetail = erpBasicClient.getYbDrugDetail(ybHcflDetailFilterRequest); PageSimpleResponse data = ybDrugDetail.getData(); List list1 = data.getList(); - ybDrugMapper.batchSaveOrUpdateByGoodsCode(list1); + if (CollUtil.isNotEmpty(list1)) ybDrugMapper.batchSaveOrUpdateByGoodsCode(list1); return list1; } return list; From e938cc0c7ad85232113638c541b5a9ae2b20ed58 Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Mon, 14 Oct 2024 17:45:57 +0800 Subject: [PATCH 12/13] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/service/thrsys/YbDrugService.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/glxp/api/service/thrsys/YbDrugService.java b/src/main/java/com/glxp/api/service/thrsys/YbDrugService.java index b6792f2ec..70042a569 100644 --- a/src/main/java/com/glxp/api/service/thrsys/YbDrugService.java +++ b/src/main/java/com/glxp/api/service/thrsys/YbDrugService.java @@ -7,12 +7,15 @@ import com.glxp.api.entity.thrsys.YbDrug; import com.glxp.api.http.ErpBasicClient; import com.glxp.api.req.basic.YbDrugDetailFilterRequest; import com.glxp.api.res.PageSimpleResponse; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; @Service +@Slf4j public class YbDrugService { @Resource @@ -25,9 +28,14 @@ public class YbDrugService { ybHcflDetailFilterRequest.setLimit(1); List list = ybDrugMapper.list(ybHcflDetailFilterRequest); if (CollUtil.isEmpty(list)){ - BaseResponse> ybDrugDetail = erpBasicClient.getYbDrugDetail(ybHcflDetailFilterRequest); - PageSimpleResponse data = ybDrugDetail.getData(); - List list1 = data.getList(); + List list1 = new ArrayList<>(); + try { + BaseResponse> ybDrugDetail = erpBasicClient.getYbDrugDetail(ybHcflDetailFilterRequest); + PageSimpleResponse data = ybDrugDetail.getData(); + list1 = data.getList(); + }catch (Exception e){ + log.debug("获取国家同步库药品的信息错误",e); + } if (CollUtil.isNotEmpty(list1)) ybDrugMapper.batchSaveOrUpdateByGoodsCode(list1); return list1; } From 432882d8ffabcfcb83edc644a4614fc378928d14 Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Mon, 14 Oct 2024 17:59:02 +0800 Subject: [PATCH 13/13] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/controller/basic/UdiRelevanceController.java | 2 +- .../java/com/glxp/api/service/basic/UdiContrastService.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java index c409414c1..3f5757d00 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java @@ -859,7 +859,7 @@ public class UdiRelevanceController extends BaseController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List list = ybDrugService.getList(ybHcflDetailFilterRequest); - if (list.size() > 0) { + if (list != null && list.size() > 0) { return ResultVOUtils.success(list.get(0)); } return ResultVOUtils.success(null); diff --git a/src/main/java/com/glxp/api/service/basic/UdiContrastService.java b/src/main/java/com/glxp/api/service/basic/UdiContrastService.java index f6db79e29..e761f0feb 100644 --- a/src/main/java/com/glxp/api/service/basic/UdiContrastService.java +++ b/src/main/java/com/glxp/api/service/basic/UdiContrastService.java @@ -285,7 +285,7 @@ public class UdiContrastService { UdiProductEntity udiProductEntity = new UdiProductEntity(); BeanUtils.copyProperties(thrProductsEntity, udiProductEntity); udiProductEntity.setId(IdUtil.getSnowflakeNextId()); - if (list.size() > 0) { + if (list != null && list.size() > 0) { YbDrug ybDrug = list.get(0); // udiProductEntity.setNameCode(thrProductsEntity.getCode()); udiProductEntity.setPrepnSpec(ybDrug.getRealityOutlook());