From 2680cdc7894ec2cbb99c237ba344aa956b497237 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Mon, 13 Oct 2025 09:20:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=87=87=E8=B4=AD=E5=8D=95?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nursing-unit-api/pom.xml | 6 + .../pad/invoicing/api/InvoicingApi.java | 83 ++++++ .../org/jeecg/config/shiro/ShiroConfig.java | 1 + .../java/com/nu/entity/CgdInfoEntity.java | 79 +++++ .../java/com/nu/entity/CgdMainEntity.java | 77 +++++ .../com/nu/entity/MaterialCategoryEntity.java | 63 ++++ .../com/nu/entity/MaterialInfoEntity.java | 106 +++++++ .../nu/entity/MaterialMedicationEntity.java | 64 +++++ .../com/nu/entity/MaterialTypeEntity.java | 57 ++++ .../java/com/nu/entity/QgdInfoEntity.java | 78 +++++ .../java/com/nu/entity/QgdMainEntity.java | 47 +++ .../nu-invoicing-local-api/pom.xml | 6 + .../modules/invoicing/api/IInvoicingApi.java | 25 ++ .../NuInvoicingCgdMainController.java | 2 +- .../service/INuInvoicingCgdMainService.java | 2 + .../impl/NuInvoicingCgdMainServiceImpl.java | 269 +++++++++++++++++- .../qgd/controller/QgdInfoController.java | 5 +- .../qgd/service/impl/QgdInfoServiceImpl.java | 8 +- .../qgd/service/impl/QgdMainServiceImpl.java | 2 +- .../mapper/BlWarehouseMaterialInfoMapper.java | 3 + 20 files changed, 970 insertions(+), 13 deletions(-) create mode 100644 nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingApi.java create mode 100644 nursing-unit-common/src/main/java/com/nu/entity/CgdInfoEntity.java create mode 100644 nursing-unit-common/src/main/java/com/nu/entity/CgdMainEntity.java create mode 100644 nursing-unit-common/src/main/java/com/nu/entity/MaterialCategoryEntity.java create mode 100644 nursing-unit-common/src/main/java/com/nu/entity/MaterialInfoEntity.java create mode 100644 nursing-unit-common/src/main/java/com/nu/entity/MaterialMedicationEntity.java create mode 100644 nursing-unit-common/src/main/java/com/nu/entity/MaterialTypeEntity.java create mode 100644 nursing-unit-common/src/main/java/com/nu/entity/QgdInfoEntity.java create mode 100644 nursing-unit-common/src/main/java/com/nu/entity/QgdMainEntity.java create mode 100644 nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IInvoicingApi.java diff --git a/nursing-unit-api/pom.xml b/nursing-unit-api/pom.xml index d473cb0..b794417 100644 --- a/nursing-unit-api/pom.xml +++ b/nursing-unit-api/pom.xml @@ -57,5 +57,11 @@ 2.0.0 compile + + com.nursingunit.boot + nu-invoicing-local-api + 2.0.0 + compile + diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingApi.java new file mode 100644 index 0000000..59a8f28 --- /dev/null +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingApi.java @@ -0,0 +1,83 @@ +package com.nu.modules.pad.invoicing.api; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.nu.entity.*; +import com.nu.modules.invoicing.api.IInvoicingApi; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +@RestController +@RequestMapping("/api/pad/invoicing") +public class InvoicingApi { + + + @Autowired + private IInvoicingApi invoicingApi; + + @ApiOperation(value = "查询物料信息-分页列表查询", notes = "查询物料信息-分页列表查询") + @AutoLog(value = "查询物料信息-分页列表查询") + @GetMapping(value = "/queryInvoicingList") + public Result> queryInvoicingList(MaterialInfoEntity materialInfoEntityDto, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + IPage pageList = invoicingApi.queryInvoicingList(pageNo, pageSize, materialInfoEntityDto,req); + return Result.OK(pageList); + } + + + @ApiOperation(value = "查询购物车信息-分页列表查询", notes = "查询购物车信息-分页列表查询") + @AutoLog(value = "查询购物车信息-分页列表查询") + @GetMapping(value = "/queryShoppingCartList") + public Result> queryShoppingCartList(QgdInfoEntity qgdInfoEntityDto, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + IPage pageList = invoicingApi.queryShoppingCartList(pageNo, pageSize, qgdInfoEntityDto,req); + return Result.OK(pageList); + } + + + @ApiOperation(value="请购单-请购信息-添加", notes="请购单-请购信息-添加") + @AutoLog(value = "请购单-请购信息-添加") + @PostMapping(value = "/addShoppingCartList") + public Result addShoppingCartList(@RequestBody List infoList) { + invoicingApi.addShoppingCartList(infoList); + return Result.OK("添加成功!"); + } + + @ApiOperation(value="生成采购单信息", notes="生成采购单信息") + @AutoLog(value = "生成采购单信息") + @PostMapping(value = "/generatedPurchaseOrder") + public Result generatedPurchaseOrder(QgdInfoEntity qgdInfoEntity, HttpServletRequest req) { + invoicingApi.generatedPurchaseOrder(qgdInfoEntity); + return Result.OK("已提交采购信息"); + } + + @ApiOperation(value = "查询采购单详细信息", notes = "查询采购单详细信息") + @AutoLog(value = "查询采购单详细信息") + @GetMapping(value = "/queryCgdInfoList") + public Result> queryCgdInfoList(CgdInfoEntity cgdInfoEntityDto, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + IPage pageList = invoicingApi.queryCgdInfoList(pageNo, pageSize, cgdInfoEntityDto,req); + return Result.OK(pageList); + } + + + @ApiOperation(value="审核采购单信息", notes="审核采购单信息") + @AutoLog(value = "审核采购单信息") + @PostMapping(value = "/reviewPurchaseOrder") + public Result reviewPurchaseOrder(CgdMainEntity cgdMainEntity, HttpServletRequest req) { + invoicingApi.reviewPurchaseOrder(cgdMainEntity); + return Result.OK("操作成功"); + } + +} diff --git a/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java b/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java index b8c9e84..b03422b 100644 --- a/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java +++ b/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java @@ -90,6 +90,7 @@ public class ShiroConfig { } filterChainDefinitionMap.put("/api/tplink/videoStorage/**", "anon"); //视频缓存存储接口 + filterChainDefinitionMap.put("/api/pad/invoicing/**", "anon"); //测试进销存对应的接口 filterChainDefinitionMap.put("/iot/tq/api/electricityMeter/**", "anon"); //电表回调 filterChainDefinitionMap.put("/api/pad/baseInfo/**", "anon"); //电表回调 filterChainDefinitionMap.put("/iot/tq/api/waterMeter/**", "anon"); //水表回调 diff --git a/nursing-unit-common/src/main/java/com/nu/entity/CgdInfoEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/CgdInfoEntity.java new file mode 100644 index 0000000..88d773f --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/entity/CgdInfoEntity.java @@ -0,0 +1,79 @@ +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: nu_invoicing_cgd_info + * @Author: jeecg-boot + * @Date: 2025-09-26 + * @Version: V1.0 + */ +@Data +public class CgdInfoEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + private String id; + /**createBy*/ + /**createTime*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + 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; + /**sysOrgCode*/ + private String sysOrgCode; + /**请购单id*/ + private String mainId; + /**采购单id*/ + private String cgdId; + /**物料id*/ + private String wlId; + /**物料编码*/ + private String wlMaterialNo; + /**物料名称*/ + private String wlName; + /**采购单位*/ + private String wlUnits; + /**规格型号*/ + private String wlSpecificationModel; + /**上限*/ + private String wlUpperLimit; + /**下限*/ + private String wlLowerLimit; + /**供应商id*/ + private String suppliersId; + /**供应商名称*/ + private String suppliersName; + /**请购数量*/ + private Integer purchaseQuantity; + /**银行*/ + private String brand; + /**库房*/ + private String nuId; + /**入库数量*/ + private String rksl; + /**未入库数量*/ + private String wrksl; + /**采购单价*/ + private String procurementPrice; + /**到货单间*/ + private String arrivalPrice; +} diff --git a/nursing-unit-common/src/main/java/com/nu/entity/CgdMainEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/CgdMainEntity.java new file mode 100644 index 0000000..f374701 --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/entity/CgdMainEntity.java @@ -0,0 +1,77 @@ +package com.nu.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.jeecg.common.aspect.annotation.Dict; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @Description: nu_invoicing_cgd_main + * @Author: jeecg-boot + * @Date: 2025-09-26 + * @Version: V1.0 + */ +@Data +public class CgdMainEntity 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 HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + 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; + /**请购单id*/ + private String qgdId; + /**采购单单号*/ + private String cgdNo; + /**供应商id*/ + private String gysId; + /**请购时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date qgDate; + /**请购人*/ + private String qgBy; + /**供应商联系人*/ + private String gysLxr; + /**供应商联系电话*/ + private String gysLxrdh; + /**供应商openId*/ + private String gysOpenId; + /**付款方式*/ + private String gysFkfs; + /**状态 0:待采购 1:采购中 2采购完成 3作废*/ + private String status; + /**采购单类型 0采购单 1挂帐单 2结账单 9作废*/ + @Dict(dicCode = "cgd_type") + private String cgdType; + /**随行单*/ + private String sxdPath; + /**销账单*/ + private String xzdPath; + /**结账单*/ + private String jzdPath; + /**审核人*/ + private String reviewedBy; + /**审核时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date reviewedTime; + /**审核备注*/ + private String content; + + private List cgdInfoList; +} diff --git a/nursing-unit-common/src/main/java/com/nu/entity/MaterialCategoryEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/MaterialCategoryEntity.java new file mode 100644 index 0000000..95dab29 --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/entity/MaterialCategoryEntity.java @@ -0,0 +1,63 @@ +package com.nu.entity; + +import com.baomidou.mybatisplus.annotation.*; +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.jeecg.common.aspect.annotation.Dict; +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-03-17 + * @Version: V1.0 + */ +@Data +public class MaterialCategoryEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + private String id; + /**物料类别名称*/ + private String categoryName; + /**是否启用 0启用 1未启用*/ + @Dict(dicCode = "iz_enabled") + private String izEnabled; + /**是否删除 0未删除 1删除*/ + private String delFlag; + /**创建人*/ + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + /**更新人*/ + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + /**所属部门*/ + private String sysOrgCode; + private String icon; + private Integer sort; + + private String typeName; + private String medicationName; + private String categoryId; + private String typeId; + private String medicationId; + + private Integer categoryRowSpan; + private Integer typeRowSpan; + + private Integer num; +} 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 new file mode 100644 index 0000000..93da59f --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/entity/MaterialInfoEntity.java @@ -0,0 +1,106 @@ +package com.nu.entity; + +import com.baomidou.mybatisplus.annotation.*; +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.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Description: 物料信息 + * @Author: jeecg-boot + * @Date: 2025-03-13 + * @Version: V1.0 + */ +@Data +public class MaterialInfoEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + private String id; + /**物料类别*/ + @Dict(dictTable = "nu_config_material_category", dicText = "category_name", dicCode = "id") + private String categoryId; + /**物料类型*/ + @Dict(dictTable = "nu_config_material_type", dicText = "type_name", dicCode = "id") + private String typeId; + /**用药类型*/ + @Dict(dictTable = "nu_config_material_medication", dicText = "medication_name", dicCode = "id") + private String medicationId; + /**货品名称*/ + private String materialName; + /**货品编码*/ + private String materialNo; + /**规格型号*/ + private String specificationModel; + /**销售单价*/ + private BigDecimal salesUnitPrice; + /**参考单价*/ + private BigDecimal referenceUnitPrice; + /**货品单位*/ + private String materialUnits; + /**多单位开关 0关 1开*/ + private String multiUnitSwitch; + /**父级单位*/ + private String oneUnit; + /**父级单位兑换比例*/ + private Integer oneUnitProportion; + /**父级单位价格*/ + private BigDecimal oneUnitPrice; + /**爷级单位*/ + private String twoUnit; + /**爷级单位兑换比例*/ + private Integer twoUnitProportion; + /**爷级单位价格*/ + private BigDecimal twoUnitPrice; + /**多单位采购默认使用 0子集 1父级 2爷级*/ + private String multiUnitType; + /**供应商*/ + @Dict(dictTable = "nu_config_suppliers_info" , dicCode = "id" , dicText = "suppliers_name") + private String suppliers; + /**物料图片*/ + private String materialImg; + /**物料标识*/ + private String materialIdent; + /**是否启用 0启用 1未启用*/ + @Dict(dicCode = "iz_enabled") + private String izEnabled; + /**是否删除 0未删除 1删除*/ + private String delFlag; + /**创建人*/ + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + /**更新人*/ + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + /**所属部门*/ + private String sysOrgCode; + /**拼音*/ + private String pinyin; + /**物料上限*/ + private String upperLimit; + /**物料下县*/ + private String lowerLimit; + + private String treeId;//树id,用于查询 + + private String kcsl;//库存数量 + @Dict(dictTable = "nu_base_info", dicText = "nu_name", dicCode = "nu_id") + private String nuId;//库房id + +} diff --git a/nursing-unit-common/src/main/java/com/nu/entity/MaterialMedicationEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/MaterialMedicationEntity.java new file mode 100644 index 0000000..a84cab3 --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/entity/MaterialMedicationEntity.java @@ -0,0 +1,64 @@ +package com.nu.entity; + +import com.baomidou.mybatisplus.annotation.*; +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.jeecg.common.aspect.annotation.Dict; +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-03-17 + * @Version: V1.0 + */ +@Data +public class MaterialMedicationEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + private String id; + /**物料类别*/ + @Dict(dictTable = "nu_config_material_category", dicText = "category_name", dicCode = "id") + private String categoryId; + /**物料类型*/ + @Dict(dictTable = "nu_config_material_type", dicText = "type_name", dicCode = "id") + private String typeId; + /**名称*/ + private String medicationName; + /**是否启用 0启用 1未启用*/ + @Dict(dicCode = "iz_enabled") + private String izEnabled; + /**是否删除 0未删除 1删除*/ + @TableLogic + private String delFlag; + /**创建人*/ + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + /**更新人*/ + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + /**所属部门*/ + private String sysOrgCode; + private String icon; + + private String levle;//当前所在层级 1一级 2二级 3三级 + + private String qycj;//迁移至第几层 0三级 1二级 2一级 + + +} diff --git a/nursing-unit-common/src/main/java/com/nu/entity/MaterialTypeEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/MaterialTypeEntity.java new file mode 100644 index 0000000..f32f973 --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/entity/MaterialTypeEntity.java @@ -0,0 +1,57 @@ +package com.nu.entity; + +import com.baomidou.mybatisplus.annotation.*; +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.jeecg.common.aspect.annotation.Dict; +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-03-17 + * @Version: V1.0 + */ +@Data +public class MaterialTypeEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + private String id; + /**物料类别*/ + @Dict(dictTable = "nu_config_material_category" , dicText = "category_name" , dicCode = "id") + private String categoryId; + /**物料类型*/ + private String typeName; + /**是否启用 0启用 1未启用*/ + @Dict(dicCode = "iz_enabled") + private String izEnabled; + /**是否删除 0未删除 1删除*/ + @TableLogic + private String delFlag; + /**创建人*/ + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + /**更新人*/ + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + /**所属部门*/ + private String sysOrgCode; + private String icon; + + private Integer num; +} diff --git a/nursing-unit-common/src/main/java/com/nu/entity/QgdInfoEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/QgdInfoEntity.java new file mode 100644 index 0000000..3137deb --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/entity/QgdInfoEntity.java @@ -0,0 +1,78 @@ +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.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description: 请购单-请购信息 + * @Author: jeecg-boot + * @Date: 2025-06-26 + * @Version: V1.0 + */ +@Data +public class QgdInfoEntity 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 HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private java.util.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 java.util.Date updateTime; + /**sysOrgCode*/ + private String sysOrgCode; + /**请购单id*/ + private String mainId; + /**请购单编号*/ + private String mainNo; + /**物料id*/ + private String wlId; + /**物料编码*/ + private String wlMaterialNo; + /**物料名称*/ + private String wlName; + /**采购单位*/ + private String wlUnits; + /**规格型号*/ + private String wlSpecificationModel; + /**上限*/ + private String wlUpperLimit; + /**下限*/ + private String wlLowerLimit; + /**供应商id*/ + private String suppliersId; + /**供应商名称*/ + private String suppliersName; + /**请购数量*/ + private Integer purchaseQuantity; + /**brand*/ + private String brand; + /**库房*/ + @Dict(dictTable = "nu_base_info", dicText = "nu_name", dicCode = "nu_id") + private String nuId; + + /**参考单价*/ + private String referenceUnitPrice; + +} diff --git a/nursing-unit-common/src/main/java/com/nu/entity/QgdMainEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/QgdMainEntity.java new file mode 100644 index 0000000..7f2af98 --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/entity/QgdMainEntity.java @@ -0,0 +1,47 @@ +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; + +/** + * @Description: 请购单 + * @Author: jeecg-boot + * @Date: 2025-06-26 + * @Version: V1.0 + */ +@Data +public class QgdMainEntity 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 HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private java.util.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 java.util.Date updateTime; + /**sysOrgCode*/ + private String sysOrgCode; + /**请购单号*/ + private String qgdNo; + /**请购状态 0未下单 1已下单*/ + private Integer status; +} diff --git a/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/pom.xml b/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/pom.xml index 7c44f9b..fbf93a1 100644 --- a/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/pom.xml +++ b/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/pom.xml @@ -7,6 +7,12 @@ nu-invoicing-api 2.0.0 + + + com.nursingunit.boot + nursing-unit-common + + 4.0.0 nu-invoicing-local-api diff --git a/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IInvoicingApi.java b/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IInvoicingApi.java new file mode 100644 index 0000000..15ade09 --- /dev/null +++ b/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IInvoicingApi.java @@ -0,0 +1,25 @@ +package com.nu.modules.invoicing.api; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.nu.entity.CgdInfoEntity; +import com.nu.entity.CgdMainEntity; +import com.nu.entity.MaterialInfoEntity; +import com.nu.entity.QgdInfoEntity; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +public interface IInvoicingApi { + + IPage queryInvoicingList(Integer pageNo, Integer pageSize, MaterialInfoEntity materialInfoEntityDto, HttpServletRequest req); + + IPage queryShoppingCartList(Integer pageNo, Integer pageSize, QgdInfoEntity qgdInfoEntityDto, HttpServletRequest req); + + void addShoppingCartList(List infoList); + + String generatedPurchaseOrder(QgdInfoEntity qgdInfoEntity); + + IPage queryCgdInfoList(Integer pageNo, Integer pageSize, CgdInfoEntity cgdInfoEntityDto, HttpServletRequest req); + + void reviewPurchaseOrder(CgdMainEntity cgdMainEntity); +} diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/controller/NuInvoicingCgdMainController.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/controller/NuInvoicingCgdMainController.java index e2ea545..be45c65 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/controller/NuInvoicingCgdMainController.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/controller/NuInvoicingCgdMainController.java @@ -183,7 +183,7 @@ public class NuInvoicingCgdMainController extends JeecgController auditInfo(@RequestBody NuInvoicingCgdMain nuInvoicingCgdMain) { - nuInvoicingCgdMainService.updateById(nuInvoicingCgdMain); + nuInvoicingCgdMainService.auditInfo(nuInvoicingCgdMain); return Result.OK("添加成功!"); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/service/INuInvoicingCgdMainService.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/service/INuInvoicingCgdMainService.java index 533c59a..9ed128a 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/service/INuInvoicingCgdMainService.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/service/INuInvoicingCgdMainService.java @@ -12,4 +12,6 @@ import com.baomidou.mybatisplus.extension.service.IService; public interface INuInvoicingCgdMainService extends IService { void rukuInfo(NuInvoicingCgdMain nuInvoicingCgdMain); + + void auditInfo(NuInvoicingCgdMain nuInvoicingCgdMain); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/service/impl/NuInvoicingCgdMainServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/service/impl/NuInvoicingCgdMainServiceImpl.java index 667d6af..744cc1b 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/service/impl/NuInvoicingCgdMainServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/service/impl/NuInvoicingCgdMainServiceImpl.java @@ -1,21 +1,42 @@ package com.nu.modules.cgd.service.impl; +import cn.hutool.core.bean.BeanUtil; +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.*; +import com.nu.modules.ConfigMaterial.entity.ConfigMaterialInfo; +import com.nu.modules.ConfigMaterial.mapper.ConfigMaterialInfoMapper; import com.nu.modules.cgd.entity.NuInvoicingCgdInfo; import com.nu.modules.cgd.entity.NuInvoicingCgdMain; import com.nu.modules.cgd.mapper.NuInvoicingCgdInfoMapper; import com.nu.modules.cgd.mapper.NuInvoicingCgdMainMapper; import com.nu.modules.cgd.service.INuInvoicingCgdMainService; +import com.nu.modules.configSuppliersInfo.entity.ConfigSuppliersInfo; +import com.nu.modules.configSuppliersInfo.mapper.ConfigSuppliersInfoMapper; +import com.nu.modules.invoicing.api.IInvoicingApi; +import com.nu.modules.qgd.entity.QgdInfo; +import com.nu.modules.qgd.entity.QgdMain; +import com.nu.modules.qgd.mapper.QgdInfoMapper; +import com.nu.modules.qgd.mapper.QgdMainMapper; +import com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo; +import com.nu.modules.warehouseMaterialInfo.mapper.BlWarehouseMaterialInfoMapper; import org.apache.commons.lang.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.query.QueryRuleEnum; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.DateUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Random; +import java.util.*; /** * @Description: nu_invoicing_cgd_main @@ -24,11 +45,29 @@ import java.util.Random; * @Version: V1.0 */ @Service -public class NuInvoicingCgdMainServiceImpl extends ServiceImpl implements INuInvoicingCgdMainService { +public class NuInvoicingCgdMainServiceImpl extends ServiceImpl implements INuInvoicingCgdMainService, IInvoicingApi { @Autowired private NuInvoicingCgdInfoMapper cgdInfoMapper; + @Autowired + private NuInvoicingCgdMainMapper cgdMainMapper; + + @Autowired + private BlWarehouseMaterialInfoMapper warehouseMaterialInfoMapper; + + @Autowired + private ConfigMaterialInfoMapper configMaterialInfoMapper; + + @Autowired + private QgdMainMapper qgdMainMapper; + + @Autowired + private QgdInfoMapper qgdInfoMapper; + + @Autowired + private ConfigSuppliersInfoMapper gysMapper; + @Override public void rukuInfo(NuInvoicingCgdMain nuInvoicingCgdMain) { @@ -67,4 +106,224 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl().eq("cgd_id",nuInvoicingCgdMain.getId())); + for(NuInvoicingCgdInfo nuInvoicingCgdInfo : nuInvoicingCgdMain.getCgdInfoList()){ + cgdInfoMapper.insert(nuInvoicingCgdInfo); + } + baseMapper.updateById(nuInvoicingCgdMain); + } + + + //--------------------------------------------------pad 接口------------------------------------------------- + @Override + public IPage queryInvoicingList(Integer pageNo, Integer pageSize, MaterialInfoEntity materialInfoEntityDto, HttpServletRequest req) { + BlWarehouseMaterialInfo warehouseMaterialInfo = new BlWarehouseMaterialInfo(); + BeanUtils.copyProperties(materialInfoEntityDto,warehouseMaterialInfo); + Map customeRuleMap = new HashMap<>(); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(warehouseMaterialInfo, req.getParameterMap(), customeRuleMap); + Page page = new Page<>(pageNo, pageSize); + List list = warehouseMaterialInfoMapper.selectList(page,queryWrapper); + IPage entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal()); + entityPage.setRecords(BeanUtil.copyToList(list, MaterialInfoEntity.class)); + return entityPage; + } + + @Override + public IPage queryShoppingCartList(Integer pageNo, Integer pageSize, QgdInfoEntity qgdInfoEntityDto, HttpServletRequest req) { +// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //查询当前人是否有请购数据 + QueryWrapper mainQueryWrapper = new QueryWrapper<>(); +// mainQueryWrapper.eq("create_by",sysUser.getUsername()); + mainQueryWrapper.eq("status",0); + QgdMain qgdMain = qgdMainMapper.selectOne(mainQueryWrapper); + //如果请购单为空,给一个默认的值,使最后的结果为空 + if(qgdMain == null){ + qgdMain = new QgdMain(); + qgdMain.setId("-1");//默认没有请购单 + } + //查询请购详细信息 + QgdInfo nuInvoicingQgdInfo = new QgdInfo(); + BeanUtils.copyProperties(qgdInfoEntityDto,nuInvoicingQgdInfo); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(nuInvoicingQgdInfo, req.getParameterMap()); + queryWrapper.eq("main_id",qgdMain.getId()); + Page page = new Page(pageNo, pageSize); + List list = qgdInfoMapper.selectList(page, queryWrapper); + //封装返回结果 + IPage entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal()); + entityPage.setRecords(BeanUtil.copyToList(list, QgdInfoEntity.class)); + return entityPage; + } + + @Override + public void addShoppingCartList(List infoList) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("create_by",sysUser.getUsername()); + queryWrapper.eq("status",0); + QgdMain qgdMain = qgdMainMapper.selectOne(queryWrapper); + if(qgdMain == null){ + // 生成请购单号 + Date date = new Date(); +// String nowDate = DateUtils.formatDate(date,"yyyy-MM-dd"); + QueryWrapper queryWrapper2 = new QueryWrapper<>(); +// queryWrapper2.eq("create_by",sysUser.getUsername()); +// queryWrapper2.like("create_time",nowDate); + //查询当天是否有请购单 + List listSize = qgdMainMapper.selectList(queryWrapper2); + int size = listSize.size()+1; + String ddwh = String.format("%03d", size); + String qgdNo = sysUser.getOrgCode() + DateUtils.formatDate(date,"yyyyMMdd")+ddwh; + qgdMain = new QgdMain(); + qgdMain.setCreateBy(sysUser.getUsername()); + qgdMain.setCreateTime(new Date()); + qgdMain.setStatus(0); + qgdMain.setQgdNo(qgdNo); + qgdMainMapper.insert(qgdMain); + } + for (QgdInfoEntity info : infoList) { + if(info.getPurchaseQuantity()!=null && info.getPurchaseQuantity()>0){ + //获取物料基础信息 + ConfigMaterialInfo ConfigMaterialInfo = configMaterialInfoMapper.selectById(info.getWlId()); + //获取物料上限下限 + BlWarehouseMaterialInfo warehouseMaterialInfo = warehouseMaterialInfoMapper.selectOne(new QueryWrapper().eq("wl_id",info.getWlId()).eq("nu_id",info.getNuId())); + info.setMainId(qgdMain.getId()); + info.setMainNo(qgdMain.getQgdNo()); + info.setWlName(ConfigMaterialInfo.getMaterialName()); + info.setWlMaterialNo(ConfigMaterialInfo.getMaterialNo()); + info.setWlSpecificationModel(ConfigMaterialInfo.getSpecificationModel()); + info.setWlUnits(ConfigMaterialInfo.getMaterialUnits()); + info.setWlUpperLimit(warehouseMaterialInfo.getUpperLimit()); + info.setWlLowerLimit(warehouseMaterialInfo.getLowerLimit()); + if(StringUtils.equals("1",ConfigMaterialInfo.getMultiUnitType())){ + info.setReferenceUnitPrice(ConfigMaterialInfo.getOneUnitPrice()+""); + }else if(StringUtils.equals("2",ConfigMaterialInfo.getMultiUnitType())){ + info.setReferenceUnitPrice(ConfigMaterialInfo.getTwoUnitPrice()+""); + } else if(StringUtils.equals("3",ConfigMaterialInfo.getMultiUnitType())){ + info.setReferenceUnitPrice(ConfigMaterialInfo.getReferenceUnitPrice()+""); + } + QgdInfo qgdInfo = new QgdInfo(); + BeanUtils.copyProperties(info,qgdInfo); + qgdInfoMapper.insert(qgdInfo); + } + } + } + + @Override + public String generatedPurchaseOrder(QgdInfoEntity qgdInfoEntity) { + + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //查询当前人是否有请购数据 + QueryWrapper mainQueryWrapper = new QueryWrapper<>(); +// mainQueryWrapper.eq("create_by",sysUser.getUsername()); + mainQueryWrapper.eq("status",0); + QgdMain qgdMain = qgdMainMapper.selectOne(mainQueryWrapper); + if(qgdMain == null){ + qgdMain = new QgdMain(); + qgdMain.setId("-1"); + } + //查询请购详细信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("main_id",qgdMain.getId()); + List qgdInfoList = qgdInfoMapper.selectList(queryWrapper); + + List> mapList = new ArrayList<>(); + // 创建一个临时Map来按suppliersId分组 + Map> tempMap = new HashMap<>(); + + for (QgdInfo qgdInfo : qgdInfoList) { + String suppliersId = qgdInfo.getSuppliersId(); + if (!tempMap.containsKey(suppliersId)) { + tempMap.put(suppliersId, new ArrayList<>()); + } + tempMap.get(suppliersId).add(qgdInfo); + } + + // 将临时Map转换为需要的mapList结构 + for (Map.Entry> entry : tempMap.entrySet()) { + Map map = new HashMap<>(); + String suppliersId = entry.getKey();//供应商id + List infoList = entry.getValue();//请购的物料列表 + + ConfigSuppliersInfo ConfigSuppliersInfo = gysMapper.selectById(suppliersId); + String cgdNo = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.format("%06d", new Random().nextInt(1000000)); + + //生产采购单主表 + NuInvoicingCgdMain cgdMain = new NuInvoicingCgdMain(); + cgdMain.setQgdId(qgdMain.getId()); + cgdMain.setCgdNo(cgdNo); + cgdMain.setGysId(suppliersId); + cgdMain.setQgDate(new Date()); + cgdMain.setQgBy(sysUser.getUsername()); + cgdMain.setGysLxr(ConfigSuppliersInfo.getPersonInCharge()); + cgdMain.setGysLxrdh(ConfigSuppliersInfo.getContactNumber()); + cgdMain.setGysOpenId(ConfigSuppliersInfo.getWechartId()); + cgdMain.setStatus("0"); + cgdMain.setCgdType("0"); + cgdMainMapper.insert(cgdMain); + //生产采购单详细 + for(QgdInfo params:infoList){ + NuInvoicingCgdInfo cgdInfo = new NuInvoicingCgdInfo(); + cgdInfo.setMainId(qgdMain.getId()); + cgdInfo.setCgdId(cgdMain.getId()); + cgdInfo.setWlId(params.getWlId()); + cgdInfo.setWlMaterialNo(params.getWlMaterialNo()); + cgdInfo.setWlName(params.getWlName()); + cgdInfo.setWlUnits(params.getWlUnits()); + cgdInfo.setWlSpecificationModel(params.getWlSpecificationModel()); + cgdInfo.setWlUpperLimit(params.getWlUpperLimit()); + cgdInfo.setWlLowerLimit(params.getWlLowerLimit()); + cgdInfo.setSuppliersId(params.getSuppliersId()); + cgdInfo.setSuppliersName(params.getSuppliersName()); + cgdInfo.setPurchaseQuantity(params.getPurchaseQuantity()); + cgdInfo.setBrand(params.getBrand()); + cgdInfo.setNuId(params.getNuId()); + cgdInfo.setProcurementPrice(params.getReferenceUnitPrice()); + cgdInfoMapper.insert(cgdInfo); + } + + + map.put("suppliersId", entry.getKey()); + map.put("qgdInfoList", entry.getValue()); + mapList.add(map); + } + System.out.println(mapList); + + //修改请购单状态-变成已经下单 + QgdMain qgdMain1 = new QgdMain(); + qgdMain1.setId(qgdMain.getId()); + qgdMain1.setStatus(1); + qgdMainMapper.updateById(qgdMain1); + + return "1"; + } + + @Override + public IPage queryCgdInfoList(Integer pageNo, Integer pageSize, CgdInfoEntity cgdInfoEntityDto, HttpServletRequest req) { + NuInvoicingCgdInfo nuInvoicingCgdInfo = new NuInvoicingCgdInfo(); + BeanUtils.copyProperties(cgdInfoEntityDto,nuInvoicingCgdInfo); + Map customeRuleMap = new HashMap<>(); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(nuInvoicingCgdInfo, req.getParameterMap(), customeRuleMap); + Page page = new Page<>(pageNo, pageSize); + List list = cgdInfoMapper.selectList(page,queryWrapper); + IPage entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal()); + entityPage.setRecords(BeanUtil.copyToList(list, CgdInfoEntity.class)); + return entityPage; + } + + @Override + public void reviewPurchaseOrder(CgdMainEntity cgdMainEntity) { + NuInvoicingCgdMain cgdMain = new NuInvoicingCgdMain(); + BeanUtils.copyProperties(cgdMainEntity,cgdMain); + cgdInfoMapper.delete(new QueryWrapper().eq("cgd_id",cgdMainEntity.getId())); + for(CgdInfoEntity cgdInfoEntity : cgdMainEntity.getCgdInfoList()){ + NuInvoicingCgdInfo nuInvoicingCgdInfo = new NuInvoicingCgdInfo(); + BeanUtils.copyProperties(cgdInfoEntity,nuInvoicingCgdInfo); + cgdInfoMapper.insert(nuInvoicingCgdInfo); + } + baseMapper.updateById(cgdMain); + } } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qgd/controller/QgdInfoController.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qgd/controller/QgdInfoController.java index 1d50d1e..71e402a 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qgd/controller/QgdInfoController.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qgd/controller/QgdInfoController.java @@ -141,10 +141,10 @@ public class QgdInfoController extends JeecgController @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); //查询当前人是否有请购数据 QueryWrapper mainQueryWrapper = new QueryWrapper<>(); - mainQueryWrapper.eq("create_by",sysUser.getUsername()); +// mainQueryWrapper.eq("create_by",sysUser.getUsername());//目前请购是一次性全部将请购车的请购信息全部提交给采购,如果只查询本人的请购信息则解除注释 mainQueryWrapper.eq("status",0); QgdMain qgdMain = nuInvoicingQgdMainService.getOne(mainQueryWrapper); if(qgdMain == null){ @@ -159,6 +159,7 @@ public class QgdInfoController extends JeecgController } + @ApiOperation(value="生成采购单信息", notes="生成采购单信息") @PostMapping(value = "/addCgdByUser") public Result addCgd(QgdInfo nuInvoicingQgdInfo, HttpServletRequest req) { nuInvoicingQgdMainService.addCgdByUser(nuInvoicingQgdInfo); diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qgd/service/impl/QgdInfoServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qgd/service/impl/QgdInfoServiceImpl.java index 2e6a76e..dcaafea 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qgd/service/impl/QgdInfoServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qgd/service/impl/QgdInfoServiceImpl.java @@ -43,16 +43,16 @@ public class QgdInfoServiceImpl extends ServiceImpl impl LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("create_by",sysUser.getUsername()); +// queryWrapper.eq("create_by",sysUser.getUsername()); queryWrapper.eq("status",0); QgdMain qgdMain = nuInvoicingQgdMainService.getOne(queryWrapper); if(qgdMain == null){ // 生成请购单号 Date date = new Date(); - String nowDate = DateUtils.formatDate(date,"yyyy-MM-dd"); +// String nowDate = DateUtils.formatDate(date,"yyyy-MM-dd"); QueryWrapper queryWrapper2 = new QueryWrapper<>(); - queryWrapper2.eq("create_by",sysUser.getUsername()); - queryWrapper2.like("create_time",nowDate); +// queryWrapper2.eq("create_by",sysUser.getUsername()); +// queryWrapper2.like("create_time",nowDate); //查询当天是否有请购单 List listSize = nuInvoicingQgdMainService.list(queryWrapper2); int size = listSize.size()+1; diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qgd/service/impl/QgdMainServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qgd/service/impl/QgdMainServiceImpl.java index 68a0d11..6288fed 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qgd/service/impl/QgdMainServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qgd/service/impl/QgdMainServiceImpl.java @@ -52,7 +52,7 @@ public class QgdMainServiceImpl extends ServiceImpl impl LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); //查询当前人是否有请购数据 QueryWrapper mainQueryWrapper = new QueryWrapper<>(); - mainQueryWrapper.eq("create_by",sysUser.getUsername()); +// mainQueryWrapper.eq("create_by",sysUser.getUsername()); mainQueryWrapper.eq("status",0); QgdMain qgdMain = baseMapper.selectOne(mainQueryWrapper); if(qgdMain == null){ diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/mapper/BlWarehouseMaterialInfoMapper.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/mapper/BlWarehouseMaterialInfoMapper.java index d88ca7c..21a02a8 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/mapper/BlWarehouseMaterialInfoMapper.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/mapper/BlWarehouseMaterialInfoMapper.java @@ -2,6 +2,8 @@ package com.nu.modules.warehouseMaterialInfo.mapper; import java.util.List; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -14,4 +16,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface BlWarehouseMaterialInfoMapper extends BaseMapper { + List queryInvoicingList(Page page, QueryWrapper queryWrapper); }