From a692894b73e811928876a0af6936c0da07c187c4 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Thu, 27 Nov 2025 15:37:55 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=B7=E9=A2=86=E5=8D=95-=E8=B4=AD=E7=89=A9?= =?UTF-8?q?=E8=BD=A6=E7=95=8C=E9=9D=A2=E6=8E=A5=E5=8F=A3=20=E3=80=90?= =?UTF-8?q?=E2=88=9A=E3=80=911=E3=80=81=E7=AD=9B=E9=80=89=E6=A0=91=20?= =?UTF-8?q?=E3=80=90=E2=88=9A=E3=80=912=E3=80=81=E6=A0=91=E7=9A=84?= =?UTF-8?q?=E6=AF=8F=E7=BA=A7=E4=B8=8B=E7=9A=84=E7=89=A9=E6=96=99=E6=95=B0?= =?UTF-8?q?=E9=87=8F=20=E3=80=90=E2=88=9A=E3=80=913=E3=80=81=E6=A3=80?= =?UTF-8?q?=E7=B4=A2=EF=BC=88=E8=BF=94=E5=9B=9E=E7=9A=84=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E5=B8=A6=E8=B4=AD=E7=89=A9=E8=BD=A6id=20?= =?UTF-8?q?=E6=9F=A5=E8=AF=B7=E9=A2=86=E6=95=B0=E9=87=8F=E3=80=81=E7=BD=AE?= =?UTF-8?q?=E9=A1=B6=E6=A0=87=E8=AF=86=EF=BC=8C=E6=98=AF=E5=90=A6=E5=B7=B2?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B4=AD=E7=89=A9=E8=BD=A6=EF=BC=89=EF=BC=9A?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E3=80=81=E8=A7=84=E6=A0=BC=E5=9E=8B=E5=8F=B7?= =?UTF-8?q?=E3=80=81=E6=8B=BC=E9=9F=B3=E3=80=81=E7=89=A9=E6=96=99=E4=BB=A3?= =?UTF-8?q?=E7=A0=81+=E7=AD=9B=E9=80=89=E9=87=8C=E9=9D=A2=E5=B7=B2?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E7=9A=84=20=E3=80=90=E2=88=9A=E3=80=914?= =?UTF-8?q?=E3=80=81=E8=BF=9B=E9=A1=B5=E9=9D=A2=EF=BC=9A=E6=9F=A5=E8=B4=AD?= =?UTF-8?q?=E7=89=A9=E8=BD=A6=E5=88=97=E8=A1=A8=EF=BC=88nuid+elderid)=20?= =?UTF-8?q?=E3=80=90=E2=88=9A=E3=80=915=E3=80=81=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=B4=AD=E7=89=A9=E8=BD=A6=EF=BC=9A=E5=A6=82=E6=9E=9C=E6=9C=89?= =?UTF-8?q?=E6=9C=AA=E6=94=B6=E8=B4=A7=E8=AF=B7=E9=A2=86=E5=8D=95=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E6=8F=90=20=E3=80=90=E2=88=9A=E3=80=916?= =?UTF-8?q?=E3=80=81=E5=88=A0=E9=99=A4=E8=B4=AD=E7=89=A9=E8=BD=A6=EF=BC=9A?= =?UTF-8?q?=E5=8D=95=E4=B8=AA/=E6=89=B9=E9=87=8F=20=E3=80=90=E2=88=9A?= =?UTF-8?q?=E3=80=917=E3=80=81=E6=B8=85=E7=A9=BA=E8=B4=AD=E7=89=A9?= =?UTF-8?q?=E8=BD=A6=EF=BC=9Anuid+elderid=20=E3=80=90=E2=88=9A=E3=80=918?= =?UTF-8?q?=E3=80=81=E7=BD=AE=E9=A1=B6=E3=80=81=E5=8F=96=E6=B6=88=E7=BD=AE?= =?UTF-8?q?=E9=A1=B6=EF=BC=88=E5=8F=96=E6=B6=88=E7=9C=9F=E5=88=A0=E9=99=A4?= =?UTF-8?q?=EF=BC=89=20=E3=80=90=E2=88=9A=E3=80=919=E3=80=81=E7=89=A9?= =?UTF-8?q?=E6=96=99=E8=AF=A6=E6=83=85=EF=BC=9A=E9=9C=80=E8=A6=81=E6=9F=A5?= =?UTF-8?q?=E8=B4=AD=E7=89=A9=E8=BD=A6=E9=87=8C=E7=9A=84=E6=95=B0=E9=87=8F?= =?UTF-8?q?=EF=BC=88nuid+elderid)+=E6=96=B0=E5=8A=A0=E7=9A=84=E6=8A=A4?= =?UTF-8?q?=E7=90=86=E5=8D=95=E5=85=83=E6=97=A5=E5=BF=97=EF=BC=88nuid+elde?= =?UTF-8?q?rid+=E5=85=A5=E5=BA=93=E7=8A=B6=E6=80=81=20=E6=80=BB=E6=95=B0?= =?UTF-8?q?=E9=87=8F=EF=BC=89=20=E3=80=90=E2=88=9A=E3=80=9110=E3=80=81?= =?UTF-8?q?=E8=AF=B7=E9=A2=86=E8=AE=B0=E5=BD=95=EF=BC=9A=E5=B7=B2=E5=85=A5?= =?UTF-8?q?=E7=9A=84=E6=97=A5=E5=BF=97+=E5=88=86=E9=A1=B5=20=E3=80=90?= =?UTF-8?q?=E2=88=9A=20=E5=85=B1=E7=94=A84=E3=80=9111=E3=80=81=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E5=89=8D=E9=A2=84=E8=A7=88=E8=AF=B7=E9=A2=86=E5=8D=95?= =?UTF-8?q?=20=E3=80=90=E2=88=9A=E3=80=9112=E3=80=81=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E8=AF=B7=E9=A2=86=E5=8D=95=E6=8E=A5=E5=8F=A3=EF=BC=9A=E7=94=9F?= =?UTF-8?q?=E6=88=90=E6=96=B0=E7=9A=84=E8=AF=B7=E9=A2=86=E5=8D=95=E3=80=81?= =?UTF-8?q?=E5=8D=95=E5=8F=B7=20=E6=8A=8A=E8=B4=AD=E7=89=A9=E8=BD=A6?= =?UTF-8?q?=E6=8C=AA=E5=88=B0=E5=AD=90=E8=A1=A8=20=20=E5=91=98=E5=B7=A5?= =?UTF-8?q?=E3=80=81=E5=BA=93=E7=AE=A1=E9=83=BD=E5=8F=98=E6=9C=AA=E8=AF=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pad/invoicing/api/InvoicingQldApi.java | 133 +++++++++- .../com/nu/entity/InvoicingQldGwcEntity.java | 9 +- .../com/nu/entity/InvoicingQldInfoEntity.java | 51 ++++ .../com/nu/entity/InvoicingQldLogEntity.java | 86 ++++++ .../com/nu/entity/InvoicingQldMainEntity.java | 117 ++++++++ .../nu/entity/InvoicingQldQueryEntity.java | 18 ++ .../com/nu/entity/MaterialInfoEntity.java | 6 + .../modules/invoicing/api/IQinglingApi.java | 19 +- .../entity/ConfigMaterialInfo.java | 5 + .../mapper/ConfigMaterialInfoMapper.java | 3 + .../mapper/xml/ConfigMaterialInfoMapper.xml | 9 +- .../NuInvoicingFkdMainController.java | 116 ++++---- .../nu/entity/NuInvoicingNuCrkLog.java | 2 +- .../modules/qld/entity/NuInvoicingQldGwc.java | 10 +- .../qld/entity/NuInvoicingQldInfo.java | 2 +- .../qld/entity/NuInvoicingQldMain.java | 4 - .../qld/mapper/NuInvoicingQldGwcMapper.java | 7 + .../qld/mapper/NuInvoicingQldLogMapper.java | 5 + .../qld/mapper/NuInvoicingQldMainMapper.java | 5 + .../qld/mapper/NuInvoicingQldWlzdMapper.java | 1 + .../mapper/xml/NuInvoicingQldGwcMapper.xml | 65 ++++- .../mapper/xml/NuInvoicingQldLogMapper.xml | 10 +- .../mapper/xml/NuInvoicingQldMainMapper.xml | 11 +- .../mapper/xml/NuInvoicingQldWlzdMapper.xml | 5 +- .../service/INuInvoicingQldGwcService.java | 4 + .../service/INuInvoicingQldWlzdService.java | 2 + .../impl/NuInvoicingQldGwcServiceImpl.java | 12 +- .../impl/NuInvoicingQldWlzdServiceImpl.java | 21 +- .../qld/service/impl/QingLingServiceImpl.java | 251 ++++++++++++++++-- .../xml/BlWarehouseMaterialInfoMapper.xml | 4 +- 30 files changed, 888 insertions(+), 105 deletions(-) create mode 100644 nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldInfoEntity.java create mode 100644 nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldLogEntity.java create mode 100644 nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldMainEntity.java 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 d2f39476..73786d72 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 @@ -1,18 +1,13 @@ package com.nu.modules.pad.invoicing.api; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.nu.entity.InvoicingQldGwcEntity; -import com.nu.entity.InvoicingQldQueryEntity; -import com.nu.entity.MaterialCategoryEntity; -import com.nu.entity.MaterialInfoEntity; +import com.nu.entity.*; import com.nu.modules.invoicing.api.IQinglingApi; import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang.StringUtils; import org.jeecg.common.api.vo.Result; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.List; @@ -74,6 +69,7 @@ public class InvoicingQldApi { /** * 请领单-购物车信息查询 + * 需要nuid+elderid * * @param queryDto * @return @@ -84,4 +80,125 @@ public class InvoicingQldApi { List result = qinglingApi.queryGwcInfo(queryDto); return Result.OK(result); } + + /** + * 请领单-购物车-添加 + * + * @param dto + * @return + */ + @ApiOperation(value = "请领单-购物车-添加", notes = "请领单-购物车-添加") + @PostMapping(value = "/addGwc") + public Result addGwc(@RequestBody InvoicingQldGwcEntity dto) { + boolean result = qinglingApi.addGwc(dto); + if (result) { + return Result.OK("添加成功"); + } else { + return Result.error("添加失败"); + } + } + + /** + * 请领单-购物车-移除物料 + * 传购物车表id + * + * @param queryDto + * @return + */ + @ApiOperation(value = "请领单-购物车-移除物料", notes = "请领单-购物车-移除物料") + @PostMapping(value = "/deleteGwcWl") + public Result deleteGwcWl(@RequestBody InvoicingQldQueryEntity queryDto) { + boolean result = qinglingApi.deleteGwcWl(queryDto); + if (result) { + return Result.OK("移除成功"); + } else { + return Result.error("移除失败"); + } + } + + /** + * 请领单-购物车-清空 + * 传nuid+elderid + * + * @param queryDto + * @return + */ + @ApiOperation(value = "请领单-购物车-清空", notes = "请领单-购物车-清空") + @PostMapping(value = "/removeAllGwc") + public Result removeAllGwc(@RequestBody InvoicingQldQueryEntity queryDto) { + boolean result = qinglingApi.removeAllGwc(queryDto); + if (result) { + return Result.OK("清空成功"); + } else { + return Result.error("清空失败"); + } + } + + /** + * 请领单-物料-置顶/取消置顶 + * 传nuid+elderid + * + * @param queryDto + * @return + */ + @ApiOperation(value = "请领单-物料-置顶/取消置顶", notes = "请领单物料-置顶/取消置顶") + @PostMapping(value = "/wlzd") + public Result wlzd(@RequestBody InvoicingQldQueryEntity queryDto) { + boolean result = qinglingApi.wlzd(queryDto); + if (result) { + return Result.OK("操作成功"); + } else { + return Result.error("操作失败"); + } + } + + /** + * 查询物料详情 + * + * @param queryDto + * @return + */ + @ApiOperation(value = "查询物料详情", notes = "查询物料详情") + @GetMapping(value = "/queryMaterialInfo") + public Result queryMaterialInfo(InvoicingQldQueryEntity queryDto) { + if (StringUtils.isBlank(queryDto.getNuId()) || StringUtils.isBlank(queryDto.getElderId()) || StringUtils.isBlank(queryDto.getWlId())) { + return Result.error("缺少参数"); + } + return Result.OK(qinglingApi.queryMaterialInfo(queryDto)); + } + + /** + * 查询物料请领完成记录(领取成功的) + * + * @param queryDto + * @return + */ + @ApiOperation(value = "查询物料请领完成记录(领取成功的)", notes = "查询物料请领完成记录(领取成功的)") + @GetMapping(value = "/queryQlwcLog") + public Result> queryQlwcLog(InvoicingQldQueryEntity queryDto, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + if (StringUtils.isBlank(queryDto.getNuId()) || StringUtils.isBlank(queryDto.getElderId()) || StringUtils.isBlank(queryDto.getWlId())) { + return Result.error("缺少参数"); + } + return Result.OK(qinglingApi.queryQlwcLog(queryDto, pageNo, pageSize)); + } + + /** + * 请领单-提交请领单 + * + * @param dto + * @return + */ + @ApiOperation(value = "请领单-提交请领单", notes = "请领单-提交请领单") + @PostMapping(value = "/submitQld") + public Result submitQld(@RequestBody InvoicingQldGwcEntity dto) { + if (StringUtils.isBlank(dto.getNuId()) || StringUtils.isBlank(dto.getElderId())) { + return Result.error("缺少参数"); + } + return Result.ok(qinglingApi.submitQld(dto)); + + } + + } diff --git a/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldGwcEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldGwcEntity.java index af2cbe35..242b2a5d 100644 --- a/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldGwcEntity.java +++ b/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldGwcEntity.java @@ -1,5 +1,6 @@ package com.nu.entity; +import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; import java.io.Serializable; @@ -37,7 +38,7 @@ public class InvoicingQldGwcEntity { /** * 库房id nu_warehouse_material_info.nu_id */ - private String kfIf; + private String kfId; /** * 物料id nu_config_material_info.id */ @@ -54,4 +55,10 @@ public class InvoicingQldGwcEntity { * 长者id nu_biz_elder_info.id */ private String elderId; + + /** + * 物料信息 + */ + private MaterialInfoEntity materialInfo; + } diff --git a/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldInfoEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldInfoEntity.java new file mode 100644 index 00000000..7983fde4 --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldInfoEntity.java @@ -0,0 +1,51 @@ +package com.nu.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 进销存-请领单-请领信息表 + * @Author: jeecg-boot + * @Date: 2025-11-26 + * @Version: V1.0 + */ +@Data +public class InvoicingQldInfoEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + private String id; + /**createBy*/ + /**createTime*/ + private Date createTime; + /**updateBy*/ + private String updateBy; + /**updateTime*/ + private Date updateTime; + /**请领单单号*/ + private String qldNo; + /**库房id nu_warehouse_material_info.nu_id*/ + private String kfId; + /**物料id nu_config_material_info.id*/ + private String wlId; + /**物料id nu_config_material_info.id*/ + private String materialName; + /**请领数量*/ + private Integer qlNum; + /**nuid nu_base_info.nu_id*/ + private String nuId; + /**长者id nu_biz_elder_info.id*/ + private String elderId; +} diff --git a/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldLogEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldLogEntity.java new file mode 100644 index 00000000..badffb99 --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldLogEntity.java @@ -0,0 +1,86 @@ +package com.nu.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 进销存-请领单-操作日志表 + * @Author: jeecg-boot + * @Date: 2025-11-26 + * @Version: V1.0 + */ +@Data +public class InvoicingQldLogEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + /** + * createBy + */ + private String createBy; + /** + * createTime + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date createTime; + /** + * updateBy + */ + private String updateBy; + /** + * updateTime + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + /** + * 请领单单号 + */ + private String qldNo; + /** + * 操作类型 0添加购物车 1作废 2回退 3提交 4出库 5收货 + */ + private String status; + /** + * 操作人 + */ + private String opeBy; + /** + * 提交时间 + */ + private Date opeTime; + /** + * 节点名称 + */ + private String jdMc; + /** + * nuid nu_base_info.nu_id + */ + private String nuId; + /** + * 长者id nu_biz_elder_info.id + */ + private String elderId; + //员工姓名 + private String empName; + //请领数量 + private Integer qlNum; + //货品单位 + private String materialUnits; +} diff --git a/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldMainEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldMainEntity.java new file mode 100644 index 00000000..96075409 --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldMainEntity.java @@ -0,0 +1,117 @@ +package com.nu.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @Description: 进销存-请领单主表信息 + * @Author: jeecg-boot + * @Date: 2025-11-26 + * @Version: V1.0 + */ +@Data +public class InvoicingQldMainEntity implements Serializable { + private static final long serialVersionUID = 1L; + + private String id; + private String createBy; + private Date createTime; + private String updateBy; + private Date updateTime; + /** + * 请领单单号 + */ + private String qldNo; + /** + * 状态 + */ + private String status; + /** + * 员工是否已读 Y已读 N有最新未读 + */ + private String izYgRead; + /** + * 库管是否已读 Y已读 N有最新未读 + */ + private String izKgRead; + /** + * 提交人 + */ + private String tjBy; + /** + * 提交时间 + */ + private Date tjTime; + /** + * 作废人 + */ + private String zfBy; + /** + * 作废时间 + */ + private Date zfTime; + /** + * 回退人 + */ + private String htBy; + /** + * 回退时间 + */ + private Date htTime; + /** + * 出库人 + */ + private String ckBy; + /** + * 出库时间 + */ + private Date ckTime; + /** + * 收货人 + */ + private String shBy; + /** + * 收货时间 + */ + private Date shTime; + /** + * 节点名称 + */ + private String jdMc; + /** + * nuid nu_base_info.nu_id + */ + private String nuId; + /** + * 长者id nu_biz_elder_info.id + */ + private String elderId; + /** + * 作废原因 + */ + private String zfYy; + /** + * 回退原因 + */ + private String htYy; + + /** + * 长者入驻时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date elderRzsj; + /** + * 请领单购物车信息 + */ + private List qldWgcList; + /** + * 请领单信息 + */ + private List qldInfoList; +} 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 9a7a9546..7e3946d0 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 @@ -2,6 +2,8 @@ package com.nu.entity; import lombok.Data; +import java.util.List; + /** * @Description: 进销存-请领单-查询实体类 * @@ -29,4 +31,20 @@ public class InvoicingQldQueryEntity{ * 长者id nu_biz_elder_info.id */ private String elderId; + + /** + * 购物车id + */ + private String gwcId; + + /** + * 物料id + */ + private String wlId; + + /** + * 是否置顶 + */ + private Boolean izZd; + } diff --git a/nursing-unit-common/src/main/java/com/nu/entity/MaterialInfoEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/MaterialInfoEntity.java index b76954ec..464e0570 100644 --- a/nursing-unit-common/src/main/java/com/nu/entity/MaterialInfoEntity.java +++ b/nursing-unit-common/src/main/java/com/nu/entity/MaterialInfoEntity.java @@ -129,4 +129,10 @@ public class MaterialInfoEntity implements Serializable { private String delId; private String elderId; + private Integer wlNum;//累计入库物料数量 + private Integer qlNum;//购物车请领数量 + + private java.lang.String zhiDingId;//置顶Id + private Date zhiDingTime;//置顶时间 + private String gwcId;//购物车ID } 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 2deb8512..f8fe8f4b 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 @@ -1,10 +1,7 @@ package com.nu.modules.invoicing.api; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.nu.entity.InvoicingQldGwcEntity; -import com.nu.entity.InvoicingQldQueryEntity; -import com.nu.entity.MaterialCategoryEntity; -import com.nu.entity.MaterialInfoEntity; +import com.nu.entity.*; import javax.servlet.http.HttpServletRequest; import java.util.List; @@ -19,4 +16,18 @@ public interface IQinglingApi { IPage queryInvoicingList(Integer pageNo, Integer pageSize, MaterialInfoEntity materialInfoEntityDto, HttpServletRequest req); List queryGwcInfo(InvoicingQldQueryEntity queryDto); + + boolean addGwc(InvoicingQldGwcEntity dto); + + boolean deleteGwcWl(InvoicingQldQueryEntity queryDto); + + boolean removeAllGwc(InvoicingQldQueryEntity queryDto); + + boolean wlzd(InvoicingQldQueryEntity queryDto); + + MaterialInfoEntity queryMaterialInfo(InvoicingQldQueryEntity queryDto); + + IPage queryQlwcLog(InvoicingQldQueryEntity queryDto, Integer pageNo, Integer pageSize); + + Map submitQld(InvoicingQldGwcEntity dto); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/entity/ConfigMaterialInfo.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/entity/ConfigMaterialInfo.java index 3ff65cf1..efabc7f7 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/entity/ConfigMaterialInfo.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/entity/ConfigMaterialInfo.java @@ -194,4 +194,9 @@ public class ConfigMaterialInfo implements Serializable { private String keyWord; @TableField(exist = false) private String suppliersName; + + @TableField(exist = false) + private Integer wlNum;//累计入库物料数量 + @TableField(exist = false) + private Integer qlNum;//购物车请领数量 } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/ConfigMaterialInfoMapper.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/ConfigMaterialInfoMapper.java index 7916d76e..ba9f9d5a 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/ConfigMaterialInfoMapper.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/ConfigMaterialInfoMapper.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nu.entity.InvoicingQldQueryEntity; import com.nu.entity.MaterialInfoEntity; import com.nu.modules.ConfigMaterial.entity.ConfigMaterialCategory; import org.apache.ibatis.annotations.Param; @@ -33,4 +34,6 @@ public interface ConfigMaterialInfoMapper extends BaseMapper List getGwcTreeDataWlnum(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); List getCgdTreeDataWlnum(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + ConfigMaterialInfo queryMaterialInfo(InvoicingQldQueryEntity queryDto); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialInfoMapper.xml b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialInfoMapper.xml index ed800439..c79ac105 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialInfoMapper.xml +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialInfoMapper.xml @@ -88,4 +88,11 @@ left join nu_config_material_info b on b.id = a.wl_id ${ew.customSqlSegment} - \ No newline at end of file + + diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/fkd/controller/NuInvoicingFkdMainController.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/fkd/controller/NuInvoicingFkdMainController.java index e342a693..64597a5a 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/fkd/controller/NuInvoicingFkdMainController.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/fkd/controller/NuInvoicingFkdMainController.java @@ -1,54 +1,38 @@ package com.nu.modules.fkd.controller; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; -import java.util.*; -import java.util.stream.Collectors; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nu.modules.cgd.entity.NuInvoicingCgdMain; -import com.nu.modules.cgd.service.INuInvoicingCgdInfoService; import com.nu.modules.cgd.service.INuInvoicingCgdMainService; import com.nu.modules.configSuppliersInfo.entity.ConfigSuppliersInfo; import com.nu.modules.configSuppliersInfo.service.IConfigSuppliersInfoService; import com.nu.modules.fkd.entity.NuInvoicingFkdInfo; -import com.nu.modules.fkd.service.INuInvoicingFkdInfoService; -import org.jeecg.common.api.vo.Result; -import org.jeecg.common.system.api.ISysBaseAPI; -import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.common.system.query.QueryRuleEnum; -import org.jeecg.common.util.oConvertUtils; import com.nu.modules.fkd.entity.NuInvoicingFkdMain; +import com.nu.modules.fkd.service.INuInvoicingFkdInfoService; import com.nu.modules.fkd.service.INuInvoicingFkdMainService; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.extern.slf4j.Slf4j; - -import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; -import org.jeecg.common.system.base.controller.JeecgController; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; -import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.jeecg.common.aspect.annotation.AutoLog; +import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.query.QueryRuleEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.stream.Collectors; /** * @Description: 进销存-付款单主信息 @@ -109,30 +93,54 @@ public class NuInvoicingFkdMainController extends JeecgController add(@RequestBody NuInvoicingFkdMain dto) { + NuInvoicingFkdMain saveData = new NuInvoicingFkdMain(); - //查询当前编码 - QueryWrapper qw = new QueryWrapper<>(); - qw.orderByDesc("create_time"); - List list = nuInvoicingFkdMainService.list(qw); - String fkdOrder = "001"; - if (list != null && list.size() > 0) { - int fkdNoOrder = list.get(0).getFkdNoOrder(); - fkdOrder = String.format("%03d", fkdNoOrder + 1); - saveData.setFkdNoOrder(fkdNoOrder + 1); - } else { - saveData.setFkdNoOrder(1); + + //处理付款单编号 + { + // 查询机构编码 + JSONObject deptInfo = sysBaseAPI.getDeptInfo(); + String deptCode = deptInfo.getString("code"); + String today = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); + + // 构建今天的前缀模式 + String todayPrefix = "F" + deptCode + today; + + // 查询今天所有的编号 + QueryWrapper qw = new QueryWrapper<>(); + qw.likeRight("fkd_no", todayPrefix); + qw.select("fkd_no"); + + List list = nuInvoicingFkdMainService.list(qw); + int maxOrderNo = 0; + + if (list != null && !list.isEmpty()) { + // 从qldNo中提取序号,找到最大值 + for (NuInvoicingFkdMain item : list) { + if (item.getFkdNo() != null && item.getFkdNo().startsWith(todayPrefix)) { + // 提取序号部分(最后几位) + String orderStr = item.getFkdNo().substring(todayPrefix.length()); + try { + int order = Integer.parseInt(orderStr); + if (order > maxOrderNo) { + maxOrderNo = order; + } + } catch (NumberFormatException e) { + // 如果解析失败,跳过 + } + } + } + } + + int nextOrderNo = maxOrderNo + 1; + String qldOrder = String.format("%03d", nextOrderNo); + saveData.setFkdNo(todayPrefix + qldOrder); } - - //查询机构编码 - JSONObject deptInfo = sysBaseAPI.getDeptInfo(); - //查询供应商开户行信息 QueryWrapper khhQw = new QueryWrapper<>(); khhQw.eq("id", dto.getGysId()); ConfigSuppliersInfo khhInfo = suppliersInfoService.getOne(khhQw); - //规则 F+机构编码+年月日+排序 - saveData.setFkdNo("F" + deptInfo.getString("code") + LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")) + fkdOrder); saveData.setGysId(dto.getGysId()); saveData.setGysName(dto.getGysName()); if (khhInfo != null) { diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/nu/entity/NuInvoicingNuCrkLog.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/nu/entity/NuInvoicingNuCrkLog.java index bd435648..aa64337a 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/nu/entity/NuInvoicingNuCrkLog.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/nu/entity/NuInvoicingNuCrkLog.java @@ -49,7 +49,7 @@ public class NuInvoicingNuCrkLog implements Serializable { /**库房id nu_warehouse_material_info.nu_id*/ @Excel(name = "库房id nu_warehouse_material_info.nu_id", width = 15) @ApiModelProperty(value = "库房id nu_warehouse_material_info.nu_id") - private java.lang.String kfIf; + private java.lang.String kfId; /**物料id nu_config_material_info.id*/ @Excel(name = "物料id nu_config_material_info.id", width = 15) @ApiModelProperty(value = "物料id nu_config_material_info.id") diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/entity/NuInvoicingQldGwc.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/entity/NuInvoicingQldGwc.java index ebe132ee..c9038255 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/entity/NuInvoicingQldGwc.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/entity/NuInvoicingQldGwc.java @@ -4,10 +4,9 @@ import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.util.Date; import java.math.BigDecimal; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.TableLogic; + +import com.baomidou.mybatisplus.annotation.*; +import com.nu.entity.MaterialInfoEntity; import org.jeecg.common.constant.ProvinceCityArea; import org.jeecg.common.util.SpringContextUtils; import lombok.Data; @@ -57,7 +56,7 @@ public class NuInvoicingQldGwc implements Serializable { /**库房id nu_warehouse_material_info.nu_id*/ @Excel(name = "库房id nu_warehouse_material_info.nu_id", width = 15) @ApiModelProperty(value = "库房id nu_warehouse_material_info.nu_id") - private java.lang.String kfIf; + private java.lang.String kfId; /**物料id nu_config_material_info.id*/ @Excel(name = "物料id nu_config_material_info.id", width = 15) @ApiModelProperty(value = "物料id nu_config_material_info.id") @@ -74,4 +73,5 @@ public class NuInvoicingQldGwc implements Serializable { @Excel(name = "长者id nu_biz_elder_info.id", width = 15) @ApiModelProperty(value = "长者id nu_biz_elder_info.id") private java.lang.String elderId; + } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/entity/NuInvoicingQldInfo.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/entity/NuInvoicingQldInfo.java index a436055c..5f335c93 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/entity/NuInvoicingQldInfo.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/entity/NuInvoicingQldInfo.java @@ -61,7 +61,7 @@ public class NuInvoicingQldInfo implements Serializable { /**库房id nu_warehouse_material_info.nu_id*/ @Excel(name = "库房id nu_warehouse_material_info.nu_id", width = 15) @ApiModelProperty(value = "库房id nu_warehouse_material_info.nu_id") - private java.lang.String kfIf; + private java.lang.String kfId; /**物料id nu_config_material_info.id*/ @Excel(name = "物料id nu_config_material_info.id", width = 15) @ApiModelProperty(value = "物料id nu_config_material_info.id") diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/entity/NuInvoicingQldMain.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/entity/NuInvoicingQldMain.java index 3d358ff7..c890125c 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/entity/NuInvoicingQldMain.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/entity/NuInvoicingQldMain.java @@ -62,10 +62,6 @@ public class NuInvoicingQldMain implements Serializable { @Excel(name = "请领状态 0购物车 1已作废 2已回退 3待出库 4已出库 5已收货", width = 15) @ApiModelProperty(value = "请领状态 0购物车 1已作废 2已回退 3待出库 4已出库 5已收货") private java.lang.String status; - /**编号*/ - @Excel(name = "编号", width = 15) - @ApiModelProperty(value = "编号") - private java.lang.Integer qldNoOrder; /**员工是否已读 Y已读 N有最新未读*/ @Excel(name = "员工是否已读 Y已读 N有最新未读", width = 15) @ApiModelProperty(value = "员工是否已读 Y已读 N有最新未读") diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldGwcMapper.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldGwcMapper.java index b6bf9f7b..abf72a48 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldGwcMapper.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldGwcMapper.java @@ -2,6 +2,8 @@ package com.nu.modules.qld.mapper; import java.util.List; +import com.nu.entity.InvoicingQldGwcEntity; +import com.nu.entity.InvoicingQldQueryEntity; import org.apache.ibatis.annotations.Param; import com.nu.modules.qld.entity.NuInvoicingQldGwc; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -14,4 +16,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface NuInvoicingQldGwcMapper extends BaseMapper { + int deletePhysics(@Param("id") String gwcId); + + int removeAllGwc(InvoicingQldQueryEntity queryDto); + + List queryGwcInfo(InvoicingQldQueryEntity queryDto); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldLogMapper.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldLogMapper.java index bebe766d..0b7ff2fb 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldLogMapper.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldLogMapper.java @@ -2,6 +2,10 @@ package com.nu.modules.qld.mapper; import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nu.entity.InvoicingQldLogEntity; +import com.nu.entity.InvoicingQldQueryEntity; import org.apache.ibatis.annotations.Param; import com.nu.modules.qld.entity.NuInvoicingQldLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -14,4 +18,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface NuInvoicingQldLogMapper extends BaseMapper { + IPage queryQlwcLog(Page page,@Param("dto") InvoicingQldQueryEntity queryDto); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldMainMapper.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldMainMapper.java index 77fd2b22..4862ca7e 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldMainMapper.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldMainMapper.java @@ -2,6 +2,10 @@ package com.nu.modules.qld.mapper; import java.util.List; +import com.nu.entity.InvoicingQldGwcEntity; +import com.nu.entity.InvoicingQldInfoEntity; +import com.nu.entity.InvoicingQldMainEntity; +import com.nu.entity.InvoicingQldQueryEntity; import org.apache.ibatis.annotations.Param; import com.nu.modules.qld.entity.NuInvoicingQldMain; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -14,4 +18,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface NuInvoicingQldMainMapper extends BaseMapper { + List queryUnFinishWlid(InvoicingQldGwcEntity dto); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldWlzdMapper.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldWlzdMapper.java index 2bc461c8..697ad171 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldWlzdMapper.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/NuInvoicingQldWlzdMapper.java @@ -14,4 +14,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface NuInvoicingQldWlzdMapper extends BaseMapper { + int deletePhysics(NuInvoicingQldWlzd data); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldGwcMapper.xml b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldGwcMapper.xml index d3f6cc40..aa182809 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldGwcMapper.xml +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldGwcMapper.xml @@ -2,4 +2,67 @@ - \ No newline at end of file + + delete + from nu_invoicing_qld_gwc + where id = #{id} + + + delete + from nu_invoicing_qld_gwc + where nu_id = #{nuId} + and elder_id = #{elderId} + + + diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldLogMapper.xml b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldLogMapper.xml index 489c1742..a27cfa42 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldLogMapper.xml +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldLogMapper.xml @@ -2,4 +2,12 @@ - \ No newline at end of file + + diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldMainMapper.xml b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldMainMapper.xml index f0f66e08..2dfaa75b 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldMainMapper.xml +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldMainMapper.xml @@ -2,4 +2,13 @@ - \ No newline at end of file + + diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldWlzdMapper.xml b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldWlzdMapper.xml index 5f638cdf..6bccc23d 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldWlzdMapper.xml +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/mapper/xml/NuInvoicingQldWlzdMapper.xml @@ -2,4 +2,7 @@ - \ No newline at end of file + + delete from nu_invoicing_qld_wlzd where nu_id = #{nuId} and elder_id = #{elderId} and wl_id = #{wlId} + + diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/INuInvoicingQldGwcService.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/INuInvoicingQldGwcService.java index 7d1bd444..e56fce4a 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/INuInvoicingQldGwcService.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/INuInvoicingQldGwcService.java @@ -1,5 +1,6 @@ package com.nu.modules.qld.service; +import com.nu.entity.InvoicingQldQueryEntity; import com.nu.modules.qld.entity.NuInvoicingQldGwc; import com.baomidou.mybatisplus.extension.service.IService; @@ -11,4 +12,7 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface INuInvoicingQldGwcService extends IService { + int deletePhysics(String gwcId); + + int removeAllGwc(InvoicingQldQueryEntity queryDto); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/INuInvoicingQldWlzdService.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/INuInvoicingQldWlzdService.java index cce4db34..cedc3e58 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/INuInvoicingQldWlzdService.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/INuInvoicingQldWlzdService.java @@ -1,5 +1,6 @@ package com.nu.modules.qld.service; +import com.nu.entity.InvoicingQldQueryEntity; import com.nu.modules.qld.entity.NuInvoicingQldWlzd; import com.baomidou.mybatisplus.extension.service.IService; @@ -11,4 +12,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface INuInvoicingQldWlzdService extends IService { + boolean wlzd(InvoicingQldQueryEntity queryDto); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/NuInvoicingQldGwcServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/NuInvoicingQldGwcServiceImpl.java index ca337bea..d614e82f 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/NuInvoicingQldGwcServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/NuInvoicingQldGwcServiceImpl.java @@ -1,5 +1,6 @@ package com.nu.modules.qld.service.impl; +import com.nu.entity.InvoicingQldQueryEntity; import com.nu.modules.qld.entity.NuInvoicingQldGwc; import com.nu.modules.qld.mapper.NuInvoicingQldGwcMapper; import com.nu.modules.qld.service.INuInvoicingQldGwcService; @@ -10,10 +11,19 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** * @Description: 进销存-请领单-购物车 * @Author: jeecg-boot - * @Date: 2025-11-26 + * @Date: 2025-11-26 * @Version: V1.0 */ @Service public class NuInvoicingQldGwcServiceImpl extends ServiceImpl implements INuInvoicingQldGwcService { + @Override + public int deletePhysics(String gwcId) { + return baseMapper.deletePhysics(gwcId); + } + + @Override + public int removeAllGwc(InvoicingQldQueryEntity queryDto) { + return baseMapper.removeAllGwc(queryDto); + } } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/NuInvoicingQldWlzdServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/NuInvoicingQldWlzdServiceImpl.java index 66f434ca..8c4dc501 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/NuInvoicingQldWlzdServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/NuInvoicingQldWlzdServiceImpl.java @@ -1,5 +1,7 @@ package com.nu.modules.qld.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.nu.entity.InvoicingQldQueryEntity; import com.nu.modules.qld.entity.NuInvoicingQldWlzd; import com.nu.modules.qld.mapper.NuInvoicingQldWlzdMapper; import com.nu.modules.qld.service.INuInvoicingQldWlzdService; @@ -10,10 +12,27 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** * @Description: 进销存-请领单-物料置顶中间表 * @Author: jeecg-boot - * @Date: 2025-11-26 + * @Date: 2025-11-26 * @Version: V1.0 */ @Service public class NuInvoicingQldWlzdServiceImpl extends ServiceImpl implements INuInvoicingQldWlzdService { + @Override + public boolean wlzd(InvoicingQldQueryEntity queryDto) { + if (queryDto.getIzZd() == null) { + return false; + } + NuInvoicingQldWlzd data = new NuInvoicingQldWlzd(); + data.setWlId(queryDto.getWlId()); + data.setNuId(queryDto.getNuId()); + data.setElderId(queryDto.getElderId()); + if (queryDto.getIzZd()) { + //置顶 + return baseMapper.insert(data) > 0 ? true : false; + } else { + //取消置顶 + return baseMapper.deletePhysics(data) > 0 ? true : 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 9b720dad..c1246e7e 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 @@ -1,33 +1,46 @@ package com.nu.modules.qld.service.impl; import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSONObject; 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.entity.InvoicingQldGwcEntity; -import com.nu.entity.InvoicingQldQueryEntity; -import com.nu.entity.MaterialCategoryEntity; -import com.nu.entity.MaterialInfoEntity; +import com.google.common.collect.Maps; +import com.nu.entity.*; import com.nu.modules.ConfigMaterial.entity.ConfigMaterialCategory; import com.nu.modules.ConfigMaterial.entity.ConfigMaterialInfo; import com.nu.modules.ConfigMaterial.mapper.ConfigMaterialInfoMapper; import com.nu.modules.ConfigMaterial.service.IConfigMaterialCategoryService; +import com.nu.modules.configSuppliersInfo.entity.ConfigSuppliersInfo; +import com.nu.modules.elder.api.IElderInfoApi; +import com.nu.modules.fkd.entity.NuInvoicingFkdMain; import com.nu.modules.invoicing.api.IQinglingApi; -import com.nu.modules.qld.entity.NuInvoicingQldGwc; +import com.nu.modules.qld.entity.*; +import com.nu.modules.qld.mapper.NuInvoicingQldGwcMapper; +import com.nu.modules.qld.mapper.NuInvoicingQldLogMapper; +import com.nu.modules.qld.mapper.NuInvoicingQldMainMapper; import com.nu.modules.qld.service.INuInvoicingQldGwcService; +import com.nu.modules.qld.service.INuInvoicingQldMainService; +import com.nu.modules.qld.service.INuInvoicingQldWlzdService; import com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo; import com.nu.modules.warehouseMaterialInfo.mapper.BlWarehouseMaterialInfoMapper; +import org.apache.commons.compress.utils.Lists; import org.apache.commons.lang.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryRuleEnum; +import org.jeecg.common.system.vo.LoginUser; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import javax.servlet.http.HttpServletRequest; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.stream.Collectors; /** * @Description: 进销存-请领单-通用处理 @@ -47,6 +60,22 @@ public class QingLingServiceImpl implements IQinglingApi { //请领单购物车 @Autowired private INuInvoicingQldGwcService invoicingQldGwcService; + @Autowired + private INuInvoicingQldWlzdService invoicingQldWlzdService; + @Autowired + private NuInvoicingQldMainMapper invoicingQldMainMapper; + @Autowired + private NuInvoicingQldLogMapper invoicingQldLogMapper; + @Autowired + private IElderInfoApi elderInfoApi; + @Autowired + private NuInvoicingQldGwcMapper invoicingQldGwcMapper; + @Autowired + private INuInvoicingQldMainService invoicingQldMainService; + @Autowired + private ISysBaseAPI sysBaseAPI; + @Autowired + private NuInvoicingQldInfoServiceImpl invoicingQldInfoService; @Override public List> getMaterialTreeData(MaterialCategoryEntity materialCategoryEntity) { @@ -60,12 +89,6 @@ public class QingLingServiceImpl implements IQinglingApi { public Map getTreeDataWlnum(MaterialCategoryEntity configMaterialCategory) { Map map = new HashMap<>(); QueryWrapper queryWrapper = new QueryWrapper(); - if (StringUtils.isEmpty(configMaterialCategory.getNuId())) { - map.put("success", false); - map.put("message", "参数错误"); - map.put("totalSize", null); - return map; - } queryWrapper.eq("a.del_flag", "0"); queryWrapper.eq("a.iz_enabled", "Y"); queryWrapper.eq(StringUtils.isNotEmpty(configMaterialCategory.getCategoryId()), "b.category_id", configMaterialCategory.getCategoryId()); @@ -86,8 +109,7 @@ public class QingLingServiceImpl implements IQinglingApi { } BlWarehouseMaterialInfo warehouseMaterialInfo = new BlWarehouseMaterialInfo(); BeanUtils.copyProperties(materialInfoEntityDto, warehouseMaterialInfo); - Map customeRuleMap = new HashMap<>(); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(warehouseMaterialInfo, req.getParameterMap(), customeRuleMap); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.apply(StringUtils.isNotBlank(warehouseMaterialInfo.getWlParamInfo()), "( material_name like '%" + warehouseMaterialInfo.getWlParamInfo() + "%' or material_no like '%" + warehouseMaterialInfo.getWlParamInfo() + "%' or pinyin like '%" + warehouseMaterialInfo.getWlParamInfo() + "%' or specification_model like '%" + warehouseMaterialInfo.getWlParamInfo() + "%' ) "); queryWrapper.eq(StringUtils.isNotBlank(warehouseMaterialInfo.getCategoryId()), "category_id", warehouseMaterialInfo.getCategoryId()); queryWrapper.eq(StringUtils.isNotBlank(warehouseMaterialInfo.getTypeId()), "type_id", warehouseMaterialInfo.getTypeId()); @@ -110,11 +132,204 @@ public class QingLingServiceImpl implements IQinglingApi { if (StringUtils.isBlank(queryDto.getNuId()) || StringUtils.isBlank(queryDto.getElderId())) { return List.of(); } + return invoicingQldGwcMapper.queryGwcInfo(queryDto); + } + + @Override + public boolean addGwc(InvoicingQldGwcEntity dto) { + if (StringUtils.isBlank(dto.getNuId()) || StringUtils.isBlank(dto.getElderId()) || dto.getQlNum() == null || dto.getQlNum() == 0) { + return false; + } QueryWrapper qw = new QueryWrapper<>(); + qw.eq("nu_id", dto.getNuId()); + qw.eq("elder_id", dto.getElderId()); + qw.eq("wl_id", dto.getWlId()); + NuInvoicingQldGwc one = invoicingQldGwcService.getOne(qw); + if (one != null) { + dto.setQlNum(dto.getQlNum());//前端传过来的就是最终的数量 + NuInvoicingQldGwc gwcData = new NuInvoicingQldGwc(); + BeanUtils.copyProperties(dto, gwcData); + return invoicingQldGwcService.update(gwcData, qw); + } else { + NuInvoicingQldGwc gwcData = new NuInvoicingQldGwc(); + BeanUtils.copyProperties(dto, gwcData); + return invoicingQldGwcService.save(gwcData); + } + } + + @Override + public boolean deleteGwcWl(InvoicingQldQueryEntity queryDto) { + if (StringUtils.isBlank(queryDto.getGwcId())) { + return false; + } + return invoicingQldGwcService.deletePhysics(queryDto.getGwcId()) > 0 ? true : false; + } + + @Override + public boolean removeAllGwc(InvoicingQldQueryEntity queryDto) { + if (StringUtils.isBlank(queryDto.getNuId()) || StringUtils.isBlank(queryDto.getElderId())) { + return false; + } + return invoicingQldGwcService.removeAllGwc(queryDto) > 0 ? true : false; + } + + @Override + public boolean wlzd(InvoicingQldQueryEntity queryDto) { + if (StringUtils.isBlank(queryDto.getNuId()) || StringUtils.isBlank(queryDto.getElderId()) || StringUtils.isBlank(queryDto.getWlId())) { + return false; + } + QueryWrapper qw = new QueryWrapper(); qw.eq("nu_id", queryDto.getNuId()); qw.eq("elder_id", queryDto.getElderId()); - List list = invoicingQldGwcService.list(qw); - return BeanUtil.copyToList(list, InvoicingQldGwcEntity.class); + qw.eq("wl_id", queryDto.getWlId()); + NuInvoicingQldWlzd one = invoicingQldWlzdService.getOne(qw); + if (!queryDto.getIzZd()) { + //取消置顶 + return invoicingQldWlzdService.wlzd(queryDto); + } + //置顶如果已存在就更新create_time + if (one == null) { + return invoicingQldWlzdService.wlzd(queryDto); + } else { + one.setCreateTime(new Date()); + return invoicingQldWlzdService.updateById(one); + } + } + + @Override + public MaterialInfoEntity queryMaterialInfo(InvoicingQldQueryEntity queryDto) { + ConfigMaterialInfo configMaterialInfo = configMaterialInfoMapper.queryMaterialInfo(queryDto); + MaterialInfoEntity result = new MaterialInfoEntity(); + BeanUtils.copyProperties(configMaterialInfo, result); + return result; + } + + @Override + public IPage queryQlwcLog(InvoicingQldQueryEntity queryDto, Integer pageNo, Integer pageSize) { + //长者信息 +// List elderList = elderInfoApi.queryByElderIds(new String[]{queryDto.getElderId()}); +// ElderInfoEntity elder = elderList.get(0); +// result.setElderRzsj(elder.getCreateTime()); + Page page = new Page<>(pageNo, pageSize); + return invoicingQldLogMapper.queryQlwcLog(page, queryDto); + } + + /** + * 提取nuid+elderid下购物车 数据 + * 生成请领单号 + * 将购物车信息变为info信息 + * + * @param dto + * @return + */ + @Override + public Map submitQld(InvoicingQldGwcEntity dto) { + Map result = Maps.newHashMap(); + //当前购物车信息 + QueryWrapper gwcQW = new QueryWrapper<>(); + gwcQW.eq("nu_id", dto.getNuId()); + gwcQW.eq("elder_id", dto.getElderId()); + List gwcList = invoicingQldGwcService.list(gwcQW); + + //检测哪些物料有未完成请领流程的 + { + //请领流程未完成物料id + List disabledWlList = invoicingQldMainMapper.queryUnFinishWlid(dto); + if (!CollectionUtils.isEmpty(disabledWlList)) { + // 提取gwcList中的所有wlId + Set gwcWlIds = gwcList.stream() + .map(NuInvoicingQldGwc::getWlId) + .collect(Collectors.toSet()); + + // 过滤disabledWlList,只保留在gwcList中也存在的wlId + disabledWlList = disabledWlList.stream() + .filter(item -> gwcWlIds.contains(item.getWlId())) + .collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(disabledWlList)) { + result.put("status", "exist"); + result.put("existList", disabledWlList); + return result; + } + } + } + + //可以正常提交 + + //存储主表数据 + NuInvoicingQldMain saveData = new NuInvoicingQldMain(); + //处理请领单编号 + { + // 查询机构编码 + JSONObject deptInfo = sysBaseAPI.getDeptInfo(); + String deptCode = deptInfo.getString("code"); + String today = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); + + // 构建今天的前缀模式 + String todayPrefix = "Q" + deptCode + today; + + // 查询今天所有的编号 + QueryWrapper qw = new QueryWrapper<>(); + qw.likeRight("qld_no", todayPrefix); + qw.select("qld_no"); + + List list = invoicingQldMainService.list(qw); + int maxOrderNo = 0; + + if (list != null && !list.isEmpty()) { + // 从qldNo中提取序号,找到最大值 + for (NuInvoicingQldMain item : list) { + if (item.getQldNo() != null && item.getQldNo().startsWith(todayPrefix)) { + // 提取序号部分(最后几位) + String orderStr = item.getQldNo().substring(todayPrefix.length()); + try { + int order = Integer.parseInt(orderStr); + if (order > maxOrderNo) { + maxOrderNo = order; + } + } catch (NumberFormatException e) { + // 如果解析失败,跳过 + } + } + } + } + + int nextOrderNo = maxOrderNo + 1; + String qldOrder = String.format("%03d", nextOrderNo); + saveData.setQldNo(todayPrefix + qldOrder); + } + saveData.setStatus("1");//待出库(已提交) + saveData.setIzYgRead("N");//员工有新消息 + saveData.setIzKgRead("N");//库管有新消息 + { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + saveData.setTjBy(sysUser.getId());//提交人 + saveData.setTjTime(new Date());//提交时间 + } + saveData.setJdMc("1");//节点名称 + saveData.setNuId(dto.getNuId()); + saveData.setElderId(dto.getElderId()); + invoicingQldMainService.save(saveData); + + //子表存储 + List infoList = BeanUtil.copyToList(gwcList, NuInvoicingQldInfo.class); + infoList.stream().forEach(item -> { + item.setQldNo(saveData.getQldNo());//请领单单号 + item.setCreateBy(null); + item.setCreateTime(null); + item.setUpdateBy(null); + item.setUpdateTime(null); + }); + invoicingQldInfoService.saveBatch(infoList); + + //清空购物车信息 + InvoicingQldQueryEntity gwcDeleteParam = new InvoicingQldQueryEntity(); + gwcDeleteParam.setNuId(dto.getNuId()); + gwcDeleteParam.setElderId(dto.getElderId()); + invoicingQldGwcService.removeAllGwc(gwcDeleteParam); + + result.put("status", "success"); + return result; + } } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/mapper/xml/BlWarehouseMaterialInfoMapper.xml b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/mapper/xml/BlWarehouseMaterialInfoMapper.xml index 92df7dc4..7cca2c3b 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/mapper/xml/BlWarehouseMaterialInfoMapper.xml +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/mapper/xml/BlWarehouseMaterialInfoMapper.xml @@ -157,7 +157,7 @@ ) a ${ew.customSqlSegment} ORDER BY - IF(e.id IS NULL, 0, 1) DESC, - e.create_time DESC + IF(a.zhiDingId IS NULL, 0, 1) DESC, + a.zhiDingTime DESC