From ae9c1ec39753b879fa49df1e1754c78d0293d05f Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Mon, 23 Mar 2026 16:26:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BE=9B=E5=BA=94=E5=95=86?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=8F=8A=E4=BF=AE=E6=94=B9=E5=91=98=E5=B7=A5?= =?UTF-8?q?=E5=A4=B4=E5=83=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nu/dto/SuppliersMaterialInfoDto.java | 79 +++++++++++++++++++ .../controller/EmployeesApplyController.java | 4 +- .../mapper/xml/EmployeesApplyMapper.xml | 12 ++- .../IBizSuppliersMaterialInfoService.java | 16 ++++ .../BizSuppliersMaterialInfoServiceImpl.java | 18 +++++ .../ConfigSuppliersInfoController.java | 23 ++++++ .../service/IConfigSuppliersInfoService.java | 2 + .../impl/ConfigSuppliersInfoServiceImpl.java | 29 +++++-- .../listener/DynamicQueueNameProvider.java | 16 ++++ .../listener/SuppliersMQListener.java | 32 ++++++++ 10 files changed, 219 insertions(+), 12 deletions(-) create mode 100644 nursing-unit-common/src/main/java/com/nu/dto/SuppliersMaterialInfoDto.java create mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/bizSuppliers/service/IBizSuppliersMaterialInfoService.java create mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/bizSuppliers/service/impl/BizSuppliersMaterialInfoServiceImpl.java diff --git a/nursing-unit-common/src/main/java/com/nu/dto/SuppliersMaterialInfoDto.java b/nursing-unit-common/src/main/java/com/nu/dto/SuppliersMaterialInfoDto.java new file mode 100644 index 00000000..76f97d0d --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/dto/SuppliersMaterialInfoDto.java @@ -0,0 +1,79 @@ +package com.nu.dto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +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: 2026-02-28 + * @Version: V1.0 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class SuppliersMaterialInfoDto implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private Date updateTime; + /**供应商*/ + @Excel(name = "供应商", width = 15, dictTable = "nu_biz_suppliers_info", dicText = "suppliers_name", dicCode = "id") + @Dict(dictTable = "nu_biz_suppliers_info", dicText = "suppliers_name", dicCode = "id") + @ApiModelProperty(value = "供应商") + private String suppliersId; + /**货品名称*/ + @Excel(name = "货品名称", width = 15) + @ApiModelProperty(value = "货品名称") + private String materialName; + /**规格型号*/ + @Excel(name = "规格型号", width = 15) + @ApiModelProperty(value = "规格型号") + private String specificationModel; + /**品牌型号*/ + @Excel(name = "品牌型号", width = 15) + @ApiModelProperty(value = "品牌型号") + private String brandType; + /**生产厂家*/ + @Excel(name = "生产厂家", width = 15) + @ApiModelProperty(value = "生产厂家") + private String manufacturer; + /**销售单价*/ + @Excel(name = "销售单价", width = 15) + @ApiModelProperty(value = "销售单价") + private BigDecimal salesUnitPrice; + /**销售单位*/ + @Excel(name = "销售单位", width = 15) + @ApiModelProperty(value = "销售单位") + private String salesUnit; +} diff --git a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employeesapply/controller/EmployeesApplyController.java b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employeesapply/controller/EmployeesApplyController.java index eea599ce..2e11f849 100644 --- a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employeesapply/controller/EmployeesApplyController.java +++ b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/modules/employeesapply/controller/EmployeesApplyController.java @@ -115,7 +115,6 @@ public class EmployeesApplyController extends JeecgController edit(@RequestBody EmployeesApply employeesApply) { if (StringUtils.isNotBlank(employeesApply.getStatus())) { @@ -131,6 +130,7 @@ public class EmployeesApplyController extends JeecgController @@ -204,7 +206,8 @@ b.apply_type, b.audit_content, b.iz_history, - b.open_id + b.open_id, + b.head_path FROM nu_biz_employees_apply b where b.employee_id = #{employeeId} and b.status = #{status} @@ -250,7 +253,8 @@ b.apply_type, b.audit_content, b.iz_history, - b.open_id + b.open_id, + b.head_path FROM nu_biz_employees_apply b where b.employee_id = #{employeeId} and b.status = #{status} diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/bizSuppliers/service/IBizSuppliersMaterialInfoService.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/bizSuppliers/service/IBizSuppliersMaterialInfoService.java new file mode 100644 index 00000000..a32ffe9a --- /dev/null +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/bizSuppliers/service/IBizSuppliersMaterialInfoService.java @@ -0,0 +1,16 @@ +package com.nu.modules.bizSuppliers.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.nu.modules.bizSuppliers.entity.NuBizSuppliersMaterialInfo; + +import java.util.List; + +/** + * @Description: 供应商可提供的物料信息 + * @Author: jeecg-boot + * @Date: 2026-02-28 + * @Version: V1.0 + */ +public interface IBizSuppliersMaterialInfoService extends IService { + +} diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/bizSuppliers/service/impl/BizSuppliersMaterialInfoServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/bizSuppliers/service/impl/BizSuppliersMaterialInfoServiceImpl.java new file mode 100644 index 00000000..c3dd4638 --- /dev/null +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/bizSuppliers/service/impl/BizSuppliersMaterialInfoServiceImpl.java @@ -0,0 +1,18 @@ +package com.nu.modules.bizSuppliers.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.modules.bizSuppliers.entity.NuBizSuppliersMaterialInfo; +import com.nu.modules.bizSuppliers.mapper.NuBizSuppliersMaterialInfoMapper; +import com.nu.modules.bizSuppliers.service.IBizSuppliersMaterialInfoService; +import org.springframework.stereotype.Service; + +/** + * @Description: 供应商可提供的物料信息 + * @Author: jeecg-boot + * @Date: 2026-02-28 + * @Version: V1.0 + */ +@Service +public class BizSuppliersMaterialInfoServiceImpl extends ServiceImpl implements IBizSuppliersMaterialInfoService { + +} diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/configSuppliersInfo/controller/ConfigSuppliersInfoController.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/configSuppliersInfo/controller/ConfigSuppliersInfoController.java index f8f73f0e..72ee8992 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/configSuppliersInfo/controller/ConfigSuppliersInfoController.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/configSuppliersInfo/controller/ConfigSuppliersInfoController.java @@ -229,4 +229,27 @@ public class ConfigSuppliersInfoController extends JeecgController configSuppliersInfoList = new ArrayList<>(); + configSuppliersInfo.setWlType("1"); + configSuppliersInfoList.add(configSuppliersInfo); + + configSuppliersInfoService.addBatch(configSuppliersInfoList); + } + //拉取供应商物料 + configSuppliersInfoService.cooperationSupp(configSuppliersInfo); + } + + } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/configSuppliersInfo/service/IConfigSuppliersInfoService.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/configSuppliersInfo/service/IConfigSuppliersInfoService.java index 6c3c47da..0db88d9d 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/configSuppliersInfo/service/IConfigSuppliersInfoService.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/configSuppliersInfo/service/IConfigSuppliersInfoService.java @@ -19,4 +19,6 @@ public interface IConfigSuppliersInfoService extends IService configSuppliersInfo); void updateWlType(ConfigSuppliersInfo configSuppliersInfo); + + void cooperationSupp(ConfigSuppliersInfo configSuppliersInfo); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/configSuppliersInfo/service/impl/ConfigSuppliersInfoServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/configSuppliersInfo/service/impl/ConfigSuppliersInfoServiceImpl.java index f5386f30..8b4cd157 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/configSuppliersInfo/service/impl/ConfigSuppliersInfoServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/configSuppliersInfo/service/impl/ConfigSuppliersInfoServiceImpl.java @@ -1,13 +1,12 @@ package com.nu.modules.configSuppliersInfo.service.impl; +import com.baomidou.dynamic.datasource.annotation.DS; 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.dto.SuppliersInfoMQDto; import com.nu.modules.ConfigMaterial.entity.ConfigMaterialInfo; import com.nu.modules.ConfigMaterial.service.IConfigMaterialInfoService; import com.nu.modules.bizSuppliers.entity.NuBizSuppliersMaterialInfo; -import com.nu.modules.bizSuppliers.service.INuBizSuppliersInfoService; +import com.nu.modules.bizSuppliers.service.IBizSuppliersMaterialInfoService; import com.nu.modules.bizSuppliers.service.INuBizSuppliersMaterialInfoService; import com.nu.modules.configSuppliersInfo.entity.ConfigSuppliersInfo; import com.nu.modules.configSuppliersInfo.mapper.ConfigSuppliersInfoMapper; @@ -20,13 +19,10 @@ import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Objects; -import java.util.stream.Collectors; /** * @Description: 供应商 @@ -40,6 +36,9 @@ public class ConfigSuppliersInfoServiceImpl extends ServiceImpl xsList = nuBizSuppliersMaterialInfoService.list( new QueryWrapper().eq("suppliers_id", configSuppliersInfo.getId()) ); + // 如果xsList为空,跳过当前循环 + if (xsList == null || xsList.isEmpty()) { + return; + } + updateSupInfo(xsList,configSuppliersInfo); + } + + @DS("master") + private void updateSupInfo(List wlList, ConfigSuppliersInfo configSuppliersInfo) { + //先删除后插入 + bizSuppliersMaterialInfoService.remove(new QueryWrapper().eq("suppliers_id", configSuppliersInfo.getId())); + bizSuppliersMaterialInfoService.saveBatch(wlList); + } + private void updateMaterialInfo( List wlList, ConfigSuppliersInfo configSuppliersInfo) { if(wlList.size()==0){ diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/mq/suppliers/listener/DynamicQueueNameProvider.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/mq/suppliers/listener/DynamicQueueNameProvider.java index 15119605..c91c73dc 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/mq/suppliers/listener/DynamicQueueNameProvider.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/mq/suppliers/listener/DynamicQueueNameProvider.java @@ -53,4 +53,20 @@ public class DynamicQueueNameProvider { public String getUpSuppApplyInfoKey() { return getUpSuppliersInfo(); } + + + + public String getUpdateMaterialInfo() { + JSONObject deptInfo = sysBaseAPI.getDeptInfo(); + String orgCode = deptInfo.getString("code"); + if (StringUtils.isNotBlank(orgCode)) { + return orgCode + ".suppliers.updateMaterialInfo"; + } else { + return ""; + } + } + + public String getUpdateMaterialInfoKey() { + return getUpdateMaterialInfo(); + } } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/mq/suppliers/listener/SuppliersMQListener.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/mq/suppliers/listener/SuppliersMQListener.java index 2aed2a61..53e335c7 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/mq/suppliers/listener/SuppliersMQListener.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/mq/suppliers/listener/SuppliersMQListener.java @@ -3,6 +3,9 @@ package com.nu.mq.suppliers.listener; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.nu.dto.SuppliersInfoMQDto; +import com.nu.dto.SuppliersMaterialInfoDto; +import com.nu.modules.bizSuppliers.entity.NuBizSuppliersMaterialInfo; +import com.nu.modules.bizSuppliers.service.IBizSuppliersMaterialInfoService; import com.nu.modules.configSuppliersApply.entity.NuConfigSuppliersApply; import com.nu.modules.configSuppliersApply.service.INuConfigSuppliersApplyService; import com.nu.modules.configSuppliersInfo.entity.ConfigSuppliersInfo; @@ -27,6 +30,8 @@ public class SuppliersMQListener { private INuConfigSuppliersApplyService nuConfigSuppliersApplyService; @Autowired private IConfigSuppliersInfoService configSuppliersInfoService; + @Autowired + private IBizSuppliersMaterialInfoService bizSuppliersMaterialInfoService; /** * 供应商-供应商申请合作 @@ -162,4 +167,31 @@ public class SuppliersMQListener { } + + + /** + * 供应商-供应商申请合作 + */ + @AutoLog(value = "供应商-供应商申请合作") + @RabbitListener( + bindings = @QueueBinding( + value = @Queue(name = "#{suppliersDQNP.getUpdateMaterialInfo()}"), + exchange = @Exchange(name = "nu.suppliers.applyStatus", type = ExchangeTypes.DIRECT), + key = "#{suppliersDQNP.getUpdateMaterialInfoKey()}" + ), + errorHandler = "suppliersMQExceptionHandler" + ) + public void updateMaterialInfo(SuppliersMaterialInfoDto suppliersMaterialInfoDto) { + try { + NuBizSuppliersMaterialInfo bizSuppliersMaterialInfo = new NuBizSuppliersMaterialInfo(); + BeanUtils.copyProperties(suppliersMaterialInfoDto, bizSuppliersMaterialInfo); + bizSuppliersMaterialInfoService.updateById(bizSuppliersMaterialInfo); + + System.out.println("保存成功"); + } catch (Exception e) { + e.printStackTrace(); + } + + } + }