From d75b09a6a438b54440d213b8a0c7e47e6bedfe5e Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Mon, 1 Dec 2025 10:23:33 +0800 Subject: [PATCH 1/4] =?UTF-8?q?PC=E7=AB=AF=E5=8A=9F=E8=83=BD=EF=BC=9A?= =?UTF-8?q?=E8=BF=9B=E9=94=80=E5=AD=98-=E8=AF=B7=E9=A2=86=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NuInvoicingQldInfoController.java | 14 +- .../qld/entity/NuInvoicingQldInfo.java | 27 ++- .../qld/entity/NuInvoicingQldMain.java | 178 ++++++++++++------ .../qld/mapper/NuInvoicingQldInfoMapper.java | 8 +- .../mapper/xml/NuInvoicingQldInfoMapper.xml | 37 ++++ .../service/INuInvoicingQldInfoService.java | 4 + .../impl/NuInvoicingQldInfoServiceImpl.java | 7 + 7 files changed, 196 insertions(+), 79 deletions(-) diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/controller/NuInvoicingQldInfoController.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/controller/NuInvoicingQldInfoController.java index d6092e9..efb41ff 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/controller/NuInvoicingQldInfoController.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/controller/NuInvoicingQldInfoController.java @@ -52,7 +52,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; public class NuInvoicingQldInfoController extends JeecgController { @Autowired private INuInvoicingQldInfoService nuInvoicingQldInfoService; - + /** * 分页列表查询 * @@ -71,10 +71,10 @@ public class NuInvoicingQldInfoController extends JeecgController queryWrapper = QueryGenerator.initQueryWrapper(nuInvoicingQldInfo, req.getParameterMap()); Page page = new Page(pageNo, pageSize); - IPage pageList = nuInvoicingQldInfoService.page(page, queryWrapper); + IPage pageList = nuInvoicingQldInfoService.pages(page, nuInvoicingQldInfo); return Result.OK(pageList); } - + /** * 添加 * @@ -89,7 +89,7 @@ public class NuInvoicingQldInfoController extends JeecgController { List queryWlInfo(InvoicingQldQueryEntity queryDto); + + IPage pages(Page page, @Param("dto") NuInvoicingQldInfo dto); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldInfoMapper.xml b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldInfoMapper.xml index ae2eac4..6fb7bd0 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldInfoMapper.xml +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldInfoMapper.xml @@ -56,4 +56,41 @@ ORDER BY MAX(info.create_time) DESC + + diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/INuInvoicingQldInfoService.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/INuInvoicingQldInfoService.java index 7fcd56f..2f2895c 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/INuInvoicingQldInfoService.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/INuInvoicingQldInfoService.java @@ -1,5 +1,8 @@ package com.nu.modules.qld.service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nu.modules.qld.entity.NuInvoicingQldInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -11,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface INuInvoicingQldInfoService extends IService { + IPage pages(Page page, NuInvoicingQldInfo dto); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/NuInvoicingQldInfoServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/NuInvoicingQldInfoServiceImpl.java index 06b9f44..bb140ff 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/NuInvoicingQldInfoServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/NuInvoicingQldInfoServiceImpl.java @@ -1,5 +1,8 @@ package com.nu.modules.qld.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nu.modules.qld.entity.NuInvoicingQldInfo; import com.nu.modules.qld.mapper.NuInvoicingQldInfoMapper; import com.nu.modules.qld.service.INuInvoicingQldInfoService; @@ -16,4 +19,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service public class NuInvoicingQldInfoServiceImpl extends ServiceImpl implements INuInvoicingQldInfoService { + @Override + public IPage pages(Page page, NuInvoicingQldInfo dto) { + return baseMapper.pages(page,dto); + } } From 0b62af39d6a28f902a15e960c8a1020d7070aec2 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Mon, 1 Dec 2025 11:24:27 +0800 Subject: [PATCH 2/4] =?UTF-8?q?1=E3=80=81=E6=96=B0=E5=A2=9Epad=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=9A=E8=AF=B7=E9=A2=86=E5=8D=95=EF=BC=88=E5=9B=9E?= =?UTF-8?q?=E9=80=80=E5=8D=95=EF=BC=89-=E7=A7=BB=E9=99=A4=E5=8D=95?= =?UTF-8?q?=E7=A7=8D=E7=89=A9=E6=96=99=202=E3=80=81=E6=96=B0=E5=A2=9Epad?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=9A=E8=AF=B7=E9=A2=86=E5=8D=95=EF=BC=88?= =?UTF-8?q?=E5=9B=9E=E9=80=80=E5=8D=95=EF=BC=89-=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=8D=95=E7=A7=8D=E7=89=A9=E6=96=99=E8=AF=B7=E9=A2=86=E6=95=B0?= =?UTF-8?q?=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pad/invoicing/api/InvoicingQldApi.java | 36 +++++++++++++++++++ .../nu/entity/InvoicingQldQueryEntity.java | 5 +++ .../modules/invoicing/api/IQinglingApi.java | 4 +++ .../qld/mapper/NuInvoicingQldInfoMapper.java | 4 +++ .../mapper/xml/NuInvoicingQldInfoMapper.xml | 8 +++++ .../qld/service/impl/QingLingServiceImpl.java | 15 ++++++++ 6 files changed, 72 insertions(+) diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingQldApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingQldApi.java index 1e38d77..5e5e8ba 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingQldApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingQldApi.java @@ -116,6 +116,24 @@ public class InvoicingQldApi { } } + /** + * 请领单-移除物料 + * 传请领单号+物料id + * + * @param queryDto + * @return + */ + @ApiOperation(value = "请领单-移除物料", notes = "请领单-移除物料") + @PostMapping(value = "/deleteQldWl") + public Result deleteQldWl(@RequestBody InvoicingQldQueryEntity queryDto) { + boolean result = qinglingApi.deleteQldWl(queryDto); + if (result) { + return Result.OK("移除成功"); + } else { + return Result.error("移除失败"); + } + } + /** * 请领单-购物车-清空 * 传nuid+elderid @@ -330,4 +348,22 @@ public class InvoicingQldApi { } } + /** + * 请领单-调整物料数量 + * 传请领单号+物料id+物料数量 + * + * @param queryDto + * @return + */ + @ApiOperation(value = "请领单-调整物料数量", notes = "请领单-调整物料数量") + @PostMapping(value = "/updateQldWlSl") + public Result updateQldWlSl(@RequestBody InvoicingQldQueryEntity queryDto) { + boolean result = qinglingApi.updateQldWlSl(queryDto); + if (result) { + return Result.OK("修改成功"); + } else { + return Result.error("修改失败"); + } + } + } diff --git a/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldQueryEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldQueryEntity.java index d15a8eb..08ec682 100644 --- a/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldQueryEntity.java +++ b/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldQueryEntity.java @@ -56,4 +56,9 @@ public class InvoicingQldQueryEntity{ */ private String searchContent; + /** + * 请领数量 + */ + private Integer qlNum; + } diff --git a/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IQinglingApi.java b/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IQinglingApi.java index 6851ae3..3b89a6a 100644 --- a/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IQinglingApi.java +++ b/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IQinglingApi.java @@ -44,4 +44,8 @@ public interface IQinglingApi { boolean orderReturn(InvoicingQldMainEntity dto); boolean outbound(InvoicingQldMainEntity dto); + + boolean deleteQldWl(InvoicingQldQueryEntity queryDto); + + boolean updateQldWlSl(InvoicingQldQueryEntity queryDto); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldInfoMapper.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldInfoMapper.java index 1eb4987..7eb3ce8 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldInfoMapper.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldInfoMapper.java @@ -23,4 +23,8 @@ public interface NuInvoicingQldInfoMapper extends BaseMapper List queryWlInfo(InvoicingQldQueryEntity queryDto); IPage pages(Page page, @Param("dto") NuInvoicingQldInfo dto); + + int deleteQldWl(InvoicingQldQueryEntity queryDto); + + int updateQldWlSl(InvoicingQldQueryEntity queryDto); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldInfoMapper.xml b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldInfoMapper.xml index 6fb7bd0..2b0ee89 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldInfoMapper.xml +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldInfoMapper.xml @@ -93,4 +93,12 @@ where info.qld_no = #{dto.qldNo} order by info.create_time desc + + + delete from nu_invoicing_qld_info where qld_no = #{qldNo} and wl_id = #{wlId} + + + + update nu_invoicing_qld_info set ql_num = #{qlNum} where qld_no = #{qldNo} and wl_id = #{wlId} + diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java index dfe7487..2dec3dd 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java @@ -184,6 +184,14 @@ public class QingLingServiceImpl implements IQinglingApi { return invoicingQldGwcService.deletePhysics(queryDto.getGwcId()) > 0 ? true : false; } + @Override + public boolean deleteQldWl(InvoicingQldQueryEntity queryDto) { + if (StringUtils.isBlank(queryDto.getQldNo()) || StringUtils.isBlank(queryDto.getWlId())) { + return false; + } + return invoicingQldInfoMapper.deleteQldWl(queryDto) > 0 ? true : false; + } + @Override public boolean removeAllGwc(InvoicingQldQueryEntity queryDto) { if (StringUtils.isBlank(queryDto.getNuId()) || StringUtils.isBlank(queryDto.getElderId())) { @@ -787,4 +795,11 @@ public class QingLingServiceImpl implements IQinglingApi { return invoicingQldMainService.update(qldData, qw); } + @Override + public boolean updateQldWlSl(InvoicingQldQueryEntity queryDto) { + if (StringUtils.isBlank(queryDto.getQldNo()) || StringUtils.isBlank(queryDto.getWlId()) || queryDto.getQlNum() == null) { + return false; + } + return invoicingQldInfoMapper.updateQldWlSl(queryDto) > 0 ? true : false; + } } From 6058b33ab05a668f7a1422bdea1f747496efab26 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Tue, 2 Dec 2025 08:44:20 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ConfigMaterialCategoryServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialCategoryServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialCategoryServiceImpl.java index 69f666c..ed653d0 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialCategoryServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialCategoryServiceImpl.java @@ -211,7 +211,7 @@ public class ConfigMaterialCategoryServiceImpl extends ServiceImpl Date: Tue, 2 Dec 2025 11:15:07 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BB=A5=E4=B8=8B=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=A4=E6=96=AD-=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E8=BF=9B=E8=A1=8C=E5=AF=B9=E5=BA=94=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E6=93=8D=E4=BD=9C=E9=80=BB=E8=BE=91=E5=A4=84=E7=90=86?= =?UTF-8?q?=EF=BC=88=E6=AF=94=E5=A6=82=E4=B8=A4=E4=B8=AA=E4=BA=BA=E5=81=9C?= =?UTF-8?q?=E7=95=99=E5=9C=A8=E8=AF=B7=E9=A2=86=E5=8D=95=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=EF=BC=8C=E4=B8=80=E4=B8=AA=E4=BA=BA=E6=8F=90=E4=BA=A4=E4=BA=86?= =?UTF-8?q?=EF=BC=8C=E5=8F=A6=E4=B8=80=E4=B8=AA=E4=BA=BA=E6=9C=AA=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E4=B9=9F=E8=BF=9B=E8=A1=8C=E6=8F=90=E4=BA=A4=EF=BC=89?= =?UTF-8?q?=20=E8=AF=B7=E9=A2=86=E5=8D=95=E8=B4=AD=E7=89=A9=E8=BD=A6?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=20=E8=AF=B7=E9=A2=86=E5=8D=95=E5=9B=9E?= =?UTF-8?q?=E9=80=80=E5=8D=95=E4=BD=9C=E5=BA=9F=20=E8=AF=B7=E9=A2=86?= =?UTF-8?q?=E5=8D=95=E5=9B=9E=E9=80=80=E5=8D=95=E5=9B=9E=E9=80=80=20?= =?UTF-8?q?=E8=AF=B7=E9=A2=86=E5=8D=95=E5=9B=9E=E9=80=80=E5=8D=95=E5=87=BA?= =?UTF-8?q?=E5=BA=93=20=E8=AF=B7=E9=A2=86=E5=8D=95=E5=9B=9E=E9=80=80?= =?UTF-8?q?=E5=8D=95=E6=94=B6=E8=B4=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pad/invoicing/api/InvoicingQldApi.java | 9 +-- .../modules/invoicing/api/IQinglingApi.java | 2 +- .../service/INuInvoicingQldLogService.java | 2 + .../impl/NuInvoicingQldLogServiceImpl.java | 34 +++++++++- .../qld/service/impl/QingLingServiceImpl.java | 62 ++++++++++++++++--- 5 files changed, 91 insertions(+), 18 deletions(-) diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingQldApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingQldApi.java index 5e5e8ba..3570c4b 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingQldApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingQldApi.java @@ -336,16 +336,11 @@ public class InvoicingQldApi { */ @ApiOperation(value = "请领单-出库(单个/批量)", notes = "请领单-出库(单个/批量)") @PostMapping(value = "/outbound") - public Result outbound(@RequestBody InvoicingQldMainEntity dto) { + public Result> outbound(@RequestBody InvoicingQldMainEntity dto) { if (StringUtils.isBlank(dto.getQldNo())) { return Result.error("缺少参数"); } - boolean result = qinglingApi.outbound(dto); - if (result) { - return Result.OK("出库成功"); - } else { - return Result.error("出库失败"); - } + return Result.ok(qinglingApi.outbound(dto)); } /** diff --git a/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IQinglingApi.java b/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IQinglingApi.java index 3b89a6a..dd3b8fd 100644 --- a/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IQinglingApi.java +++ b/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IQinglingApi.java @@ -43,7 +43,7 @@ public interface IQinglingApi { boolean orderReturn(InvoicingQldMainEntity dto); - boolean outbound(InvoicingQldMainEntity dto); + Map outbound(InvoicingQldMainEntity dto); boolean deleteQldWl(InvoicingQldQueryEntity queryDto); diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/INuInvoicingQldLogService.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/INuInvoicingQldLogService.java index 1421bfc..dfd73cc 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/INuInvoicingQldLogService.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/INuInvoicingQldLogService.java @@ -11,4 +11,6 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface INuInvoicingQldLogService extends IService { + boolean opeNodeJudgeCanStatus(String qldNo, String status); + } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/NuInvoicingQldLogServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/NuInvoicingQldLogServiceImpl.java index dbee099..b319ce8 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/NuInvoicingQldLogServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/NuInvoicingQldLogServiceImpl.java @@ -1,19 +1,51 @@ package com.nu.modules.qld.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.nu.modules.qld.entity.NuInvoicingQldLog; import com.nu.modules.qld.mapper.NuInvoicingQldLogMapper; import com.nu.modules.qld.service.INuInvoicingQldLogService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.util.CollectionUtils; + +import java.util.Arrays; +import java.util.List; /** * @Description: 进销存-请领单-操作日志表 * @Author: jeecg-boot - * @Date: 2025-11-26 + * @Date: 2025-11-26 * @Version: V1.0 */ @Service public class NuInvoicingQldLogServiceImpl extends ServiceImpl implements INuInvoicingQldLogService { + /** + * 操作节点是否可以正常执行(如是否可以提交) + * + * @param qldNo + * @param status 需要判断操作节点 ->之前应该存在的状态<- 多个使用逗号分隔 + * @return + */ + @Override + public boolean opeNodeJudgeCanStatus(String qldNo, String status) { + QueryWrapper logQW = new QueryWrapper<>(); + logQW.eq("qld_no", qldNo); + logQW.orderByDesc("create_time"); + List logList = baseMapper.selectList(logQW); + if (!CollectionUtils.isEmpty(logList)) { + String status_ = logList.get(0).getStatus(); + String[] statusArray = status.split(","); + for (String s : statusArray) { + if (s.equals(status_)) { + return true; + } + } + return false; + } else { + return false; + } + } + } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java index 2dec3dd..dfc7946 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java @@ -37,6 +37,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.RedisUtil; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -95,6 +96,8 @@ public class QingLingServiceImpl implements IQinglingApi { private IBlWarehouseMaterialInfoService warehouseMaterialInfoService; @Autowired private INuWarehouseMaterialCrkInfoService warehouseMaterialCrkInfoService; + @Autowired + private RedisUtil redisUtil; @Override public List> getMaterialTreeData(MaterialCategoryEntity materialCategoryEntity) { @@ -254,6 +257,12 @@ public class QingLingServiceImpl implements IQinglingApi { public Map submitQld(InvoicingQldGwcEntity dto) { Map result = Maps.newHashMap(); if (StringUtils.isNotBlank(dto.getQldNo())) { + //检测是否可以正常提交 + if (!invoicingQldLogService.opeNodeJudgeCanStatus(dto.getQldNo(), "3")) { + result.put("status", "faild"); + return result; + } + //回退单-提交 QueryWrapper qw = new QueryWrapper<>(); qw.eq("qld_no", dto.getQldNo()); @@ -292,6 +301,12 @@ public class QingLingServiceImpl implements IQinglingApi { gwcQW.eq("elder_id", dto.getElderId()); List gwcList = invoicingQldGwcService.list(gwcQW); + //请购车未添加物料 + if (CollectionUtils.isEmpty(gwcList)) { + result.put("status", "empty"); + return result; + } + //检测哪些物料有未完成请领流程的 { //请领流程未完成物料id @@ -529,12 +544,14 @@ public class QingLingServiceImpl implements IQinglingApi { @Override public boolean cancellation(InvoicingQldMainEntity dto) { + //检测是否可以正常作废 + if (!invoicingQldLogService.opeNodeJudgeCanStatus(dto.getQldNo(), "1,3")) { + return false; + } + QueryWrapper qw = new QueryWrapper<>(); qw.eq("qld_no", dto.getQldNo()); NuInvoicingQldMain one = invoicingQldMainService.getOne(qw); - if (one == null || !"1".equals(one.getStatus())) { - return false; - } dto.setNuId(one.getNuId()); dto.setElderId(one.getElderId()); String status = "2"; @@ -587,7 +604,11 @@ public class QingLingServiceImpl implements IQinglingApi { @Override @Transactional(rollbackFor = Exception.class) public boolean confirmReceipt(InvoicingQldMainEntity dto) { -// Map result = Maps.newHashMap(); + //检测是否可以正常收货 + if (!invoicingQldLogService.opeNodeJudgeCanStatus(dto.getQldNo(), "4")) { + return false; + } + String status = "5"; LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); @@ -728,12 +749,14 @@ public class QingLingServiceImpl implements IQinglingApi { @Override public boolean orderReturn(InvoicingQldMainEntity dto) { + //检测是否可以正常回退 + if (!invoicingQldLogService.opeNodeJudgeCanStatus(dto.getQldNo(), "1,4")) { + return false; + } + QueryWrapper qw = new QueryWrapper<>(); qw.eq("qld_no", dto.getQldNo()); NuInvoicingQldMain one = invoicingQldMainService.getOne(qw); - if (one == null || "2".equals(one.getStatus()) || "3".equals(one.getStatus()) || "5".equals(one.getStatus())) { - return false; - } dto.setNuId(one.getNuId()); dto.setElderId(one.getElderId()); String status = "3"; @@ -759,7 +782,26 @@ public class QingLingServiceImpl implements IQinglingApi { } @Override - public boolean outbound(InvoicingQldMainEntity dto) { + public Map outbound(InvoicingQldMainEntity dto) { + Map map = new HashMap<>(); + + //检测是否可以正常出库 + String[] qldNosArr = dto.getQldNo().split(","); + //本次处理单号中 - 不可出库单号 + String cannotHandleQldNos = Arrays.stream(qldNosArr) + .filter(qldNo -> !invoicingQldLogService.opeNodeJudgeCanStatus(qldNo, "1")) + .collect(Collectors.joining(",")); + //本次处理单号中 - 可正常出库单号 + String normalQldNos = Arrays.stream(qldNosArr) + .filter(qldNo -> !cannotHandleQldNos.contains(qldNo)) + .collect(Collectors.joining(",")); + if (StringUtils.isBlank(normalQldNos)) { + map.put("status", "faild"); + map.put("faildQldNos", cannotHandleQldNos); + return map; + } + + dto.setQldNo(normalQldNos); QueryWrapper qw = new QueryWrapper<>(); qw.in("qld_no", dto.getQldNo().split(",")); List list = invoicingQldMainService.list(qw); @@ -792,7 +834,9 @@ public class QingLingServiceImpl implements IQinglingApi { qldData.setIzYgRead("N");//员工改为未读 qldData.setCkBy(sysUser.getId());//出库人 qldData.setCkTime(new Date());//出库时间 - return invoicingQldMainService.update(qldData, qw); + invoicingQldMainService.update(qldData, qw); + map.put("status", "success"); + return map; } @Override