diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/controller/SwMedicineUsageController.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/controller/SwMedicineUsageController.java new file mode 100644 index 0000000..fef0f3f --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/controller/SwMedicineUsageController.java @@ -0,0 +1,105 @@ +package com.zhyc.module.biosafety.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.zhyc.module.biosafety.domain.SwMedicineUsage; +import com.zhyc.module.biosafety.service.ISwMedicineUsageService; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.zhyc.common.annotation.Log; +import com.zhyc.common.core.controller.BaseController; +import com.zhyc.common.core.domain.AjaxResult; +import com.zhyc.common.enums.BusinessType; +import com.zhyc.common.utils.poi.ExcelUtil; +import com.zhyc.common.core.page.TableDataInfo; + +/** + * 药品使用记录Controller + * + * @author ruoyi + * @date 2025-07-12 + */ +@RestController +@RequestMapping("/biosafety/usageInfo") +public class SwMedicineUsageController extends BaseController +{ + @Autowired + private ISwMedicineUsageService swMedicineUsageService; + + /** + * 查询药品使用记录列表 + */ + @PreAuthorize("@ss.hasPermi('biosafety:usageInfo:list')") + @GetMapping("/list") + public TableDataInfo list(SwMedicineUsage swMedicineUsage) + { + startPage(); + List list = swMedicineUsageService.selectSwMedicineUsageList(swMedicineUsage); + return getDataTable(list); + } + + /** + * 导出药品使用记录列表 + */ + @PreAuthorize("@ss.hasPermi('biosafety:usageInfo:export')") + @Log(title = "药品使用记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SwMedicineUsage swMedicineUsage) + { + List list = swMedicineUsageService.selectSwMedicineUsageList(swMedicineUsage); + ExcelUtil util = new ExcelUtil(SwMedicineUsage.class); + util.exportExcel(response, list, "药品使用记录数据"); + } + + /** + * 获取药品使用记录详细信息 + */ + @PreAuthorize("@ss.hasPermi('biosafety:usageInfo:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(swMedicineUsageService.selectSwMedicineUsageById(id)); + } + + /** + * 新增药品使用记录 + */ + @PreAuthorize("@ss.hasPermi('biosafety:usageInfo:add')") + @Log(title = "药品使用记录", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SwMedicineUsage swMedicineUsage) + { + return toAjax(swMedicineUsageService.insertSwMedicineUsage(swMedicineUsage)); + } + + /** + * 修改药品使用记录 + */ + @PreAuthorize("@ss.hasPermi('biosafety:usageInfo:edit')") + @Log(title = "药品使用记录", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SwMedicineUsage swMedicineUsage) + { + return toAjax(swMedicineUsageService.updateSwMedicineUsage(swMedicineUsage)); + } + + /** + * 删除药品使用记录 + */ + @PreAuthorize("@ss.hasPermi('biosafety:usageInfo:remove')") + @Log(title = "药品使用记录", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(swMedicineUsageService.deleteSwMedicineUsageByIds(ids)); + } +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsage.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsage.java new file mode 100644 index 0000000..bc442d0 --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsage.java @@ -0,0 +1,86 @@ +package com.zhyc.module.biosafety.domain; + +import java.util.List; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.zhyc.common.annotation.Excel; +import com.zhyc.common.core.domain.BaseEntity; + +/** + * 药品使用记录对象 sw_medicine_usage + * + * @author ruoyi + * @date 2025-07-12 + */ +public class SwMedicineUsage extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** id */ + private Long id; + + /** 使用名称 */ + @Excel(name = "使用名称") + private String name; + + /** 使用类型 */ + @Excel(name = "使用类型") + private String useType; + + /** 药品使用记录详情信息 */ + private List swMedicineUsageDetailsList; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setName(String name) + { + this.name = name; + } + + public String getName() + { + return name; + } + + public void setUseType(String useType) + { + this.useType = useType; + } + + public String getUseType() + { + return useType; + } + + public List getSwMedicineUsageDetailsList() + { + return swMedicineUsageDetailsList; + } + + public void setSwMedicineUsageDetailsList(List swMedicineUsageDetailsList) + { + this.swMedicineUsageDetailsList = swMedicineUsageDetailsList; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("name", getName()) + .append("useType", getUseType()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("swMedicineUsageDetailsList", getSwMedicineUsageDetailsList()) + .toString(); + } +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsageDetails.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsageDetails.java new file mode 100644 index 0000000..b3e24c6 --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsageDetails.java @@ -0,0 +1,55 @@ +package com.zhyc.module.biosafety.domain; + +import lombok.Data; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.zhyc.common.annotation.Excel; +import com.zhyc.common.core.domain.BaseEntity; + +/** + * 药品使用记录详情对象 sw_medicine_usage_details + * + * @author ruoyi + * @date 2025-07-12 + */ +@Data +public class SwMedicineUsageDetails extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** id */ + private Long id; + + /** 药品使用记录id */ + @Excel(name = "药品使用记录id") + private Long mediUsage; + + /** 药品id */ + @Excel(name = "药品id") + private Long mediId; + +/** 药品名称*/ + @Excel(name = "药品名称") + private String mediName; + + /** 用量 */ + @Excel(name = "用量") + private String dosage; + + /** 单位 */ + @Excel(name = "单位") + private String unit; + + /** 使用方法 */ + @Excel(name = "使用方法") + private String usageId; + + /** 生产厂家 */ + @Excel(name = "生产厂家") + private String manufacturer; + + /** 生产批号 */ + @Excel(name = "生产批号") + private String batchNumber; + +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/mapper/SwMedicineUsageMapper.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/mapper/SwMedicineUsageMapper.java new file mode 100644 index 0000000..a58cdb8 --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/mapper/SwMedicineUsageMapper.java @@ -0,0 +1,88 @@ +package com.zhyc.module.biosafety.mapper; + +import java.util.List; + +import com.zhyc.module.biosafety.domain.SwMedicineUsage; +import com.zhyc.module.biosafety.domain.SwMedicineUsageDetails; + +/** + * 药品使用记录Mapper接口 + * + * @author ruoyi + * @date 2025-07-12 + */ +public interface SwMedicineUsageMapper +{ + /** + * 查询药品使用记录 + * + * @param id 药品使用记录主键 + * @return 药品使用记录 + */ + public SwMedicineUsage selectSwMedicineUsageById(Long id); + + /** + * 查询药品使用记录列表 + * + * @param swMedicineUsage 药品使用记录 + * @return 药品使用记录集合 + */ + public List selectSwMedicineUsageList(SwMedicineUsage swMedicineUsage); + + /** + * 新增药品使用记录 + * + * @param swMedicineUsage 药品使用记录 + * @return 结果 + */ + public int insertSwMedicineUsage(SwMedicineUsage swMedicineUsage); + + /** + * 修改药品使用记录 + * + * @param swMedicineUsage 药品使用记录 + * @return 结果 + */ + public int updateSwMedicineUsage(SwMedicineUsage swMedicineUsage); + + /** + * 删除药品使用记录 + * + * @param id 药品使用记录主键 + * @return 结果 + */ + public int deleteSwMedicineUsageById(Long id); + + /** + * 批量删除药品使用记录 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSwMedicineUsageByIds(Long[] ids); + + /** + * 批量删除药品使用记录详情 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSwMedicineUsageDetailsByMediUsages(Long[] ids); + + /** + * 批量新增药品使用记录详情 + * + * @param swMedicineUsageDetailsList 药品使用记录详情列表 + * @return 结果 + */ + public int batchSwMedicineUsageDetails(List swMedicineUsageDetailsList); + + + /** + * 通过药品使用记录主键删除药品使用记录详情信息 + * + * @param id 药品使用记录ID + * @return 结果 + */ + public int deleteSwMedicineUsageDetailsByMediUsage(Long id); +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/ISwMedicineUsageService.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/ISwMedicineUsageService.java new file mode 100644 index 0000000..d10ee3a --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/ISwMedicineUsageService.java @@ -0,0 +1,61 @@ +package com.zhyc.module.biosafety.service; + +import java.util.List; +import com.zhyc.module.biosafety.domain.SwMedicineUsage; + +/** + * 药品使用记录Service接口 + * + * @author ruoyi + * @date 2025-07-12 + */ +public interface ISwMedicineUsageService +{ + /** + * 查询药品使用记录 + * + * @param id 药品使用记录主键 + * @return 药品使用记录 + */ + public SwMedicineUsage selectSwMedicineUsageById(Long id); + + /** + * 查询药品使用记录列表 + * + * @param swMedicineUsage 药品使用记录 + * @return 药品使用记录集合 + */ + public List selectSwMedicineUsageList(SwMedicineUsage swMedicineUsage); + + /** + * 新增药品使用记录 + * + * @param swMedicineUsage 药品使用记录 + * @return 结果 + */ + public int insertSwMedicineUsage(SwMedicineUsage swMedicineUsage); + + /** + * 修改药品使用记录 + * + * @param swMedicineUsage 药品使用记录 + * @return 结果 + */ + public int updateSwMedicineUsage(SwMedicineUsage swMedicineUsage); + + /** + * 批量删除药品使用记录 + * + * @param ids 需要删除的药品使用记录主键集合 + * @return 结果 + */ + public int deleteSwMedicineUsageByIds(Long[] ids); + + /** + * 删除药品使用记录信息 + * + * @param id 药品使用记录主键 + * @return 结果 + */ + public int deleteSwMedicineUsageById(Long id); +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/impl/SwMedicineUsageServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/impl/SwMedicineUsageServiceImpl.java new file mode 100644 index 0000000..684454e --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/impl/SwMedicineUsageServiceImpl.java @@ -0,0 +1,134 @@ +package com.zhyc.module.biosafety.service.impl; + +import java.util.List; +import com.zhyc.common.utils.DateUtils; +import com.zhyc.module.biosafety.service.ISwMedicineUsageService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.ArrayList; +import com.zhyc.common.utils.StringUtils; +import org.springframework.transaction.annotation.Transactional; +import com.zhyc.module.biosafety.domain.SwMedicineUsageDetails; +import com.zhyc.module.biosafety.mapper.SwMedicineUsageMapper; +import com.zhyc.module.biosafety.domain.SwMedicineUsage; + +/** + * 药品使用记录Service业务层处理 + * + * @author ruoyi + * @date 2025-07-12 + */ +@Service +public class SwMedicineUsageServiceImpl implements ISwMedicineUsageService +{ + @Autowired + private SwMedicineUsageMapper swMedicineUsageMapper; + + /** + * 查询药品使用记录 + * + * @param id 药品使用记录主键 + * @return 药品使用记录 + */ + @Override + public SwMedicineUsage selectSwMedicineUsageById(Long id) + { + return swMedicineUsageMapper.selectSwMedicineUsageById(id); + } + + /** + * 查询药品使用记录列表 + * + * @param swMedicineUsage 药品使用记录 + * @return 药品使用记录 + */ + @Override + public List selectSwMedicineUsageList(SwMedicineUsage swMedicineUsage) + { + return swMedicineUsageMapper.selectSwMedicineUsageList(swMedicineUsage); + } + + /** + * 新增药品使用记录 + * + * @param swMedicineUsage 药品使用记录 + * @return 结果 + */ + @Transactional + @Override + public int insertSwMedicineUsage(SwMedicineUsage swMedicineUsage) + { + swMedicineUsage.setCreateTime(DateUtils.getNowDate()); + int rows = swMedicineUsageMapper.insertSwMedicineUsage(swMedicineUsage); + insertSwMedicineUsageDetails(swMedicineUsage); + return rows; + } + + /** + * 修改药品使用记录 + * + * @param swMedicineUsage 药品使用记录 + * @return 结果 + */ + @Transactional + @Override + public int updateSwMedicineUsage(SwMedicineUsage swMedicineUsage) + { + swMedicineUsage.setUpdateTime(DateUtils.getNowDate()); + swMedicineUsageMapper.deleteSwMedicineUsageDetailsByMediUsage(swMedicineUsage.getId()); + insertSwMedicineUsageDetails(swMedicineUsage); + return swMedicineUsageMapper.updateSwMedicineUsage(swMedicineUsage); + } + + /** + * 批量删除药品使用记录 + * + * @param ids 需要删除的药品使用记录主键 + * @return 结果 + */ + @Transactional + @Override + public int deleteSwMedicineUsageByIds(Long[] ids) + { + swMedicineUsageMapper.deleteSwMedicineUsageDetailsByMediUsages(ids); + return swMedicineUsageMapper.deleteSwMedicineUsageByIds(ids); + } + + /** + * 删除药品使用记录信息 + * + * @param id 药品使用记录主键 + * @return 结果 + */ + @Transactional + @Override + public int deleteSwMedicineUsageById(Long id) + { + swMedicineUsageMapper.deleteSwMedicineUsageDetailsByMediUsage(id); + return swMedicineUsageMapper.deleteSwMedicineUsageById(id); + } + + /** + * 新增药品使用记录详情信息 + * + * @param swMedicineUsage 药品使用记录对象 + */ + public void insertSwMedicineUsageDetails(SwMedicineUsage swMedicineUsage) + { + List swMedicineUsageDetailsList = swMedicineUsage.getSwMedicineUsageDetailsList(); + Long id = swMedicineUsage.getId(); + if (StringUtils.isNotNull(swMedicineUsageDetailsList)) + { + List list = new ArrayList(); + for (SwMedicineUsageDetails swMedicineUsageDetails : swMedicineUsageDetailsList) + { + swMedicineUsageDetails.setMediUsage(id); + list.add(swMedicineUsageDetails); + } + if (list.size() > 0) + { + swMedicineUsageMapper.batchSwMedicineUsageDetails(list); + } + } + } +} diff --git a/zhyc-module/src/main/resources/mapper/biosafety/SwMedicineUsageMapper.xml b/zhyc-module/src/main/resources/mapper/biosafety/SwMedicineUsageMapper.xml new file mode 100644 index 0000000..20ce9f6 --- /dev/null +++ b/zhyc-module/src/main/resources/mapper/biosafety/SwMedicineUsageMapper.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, name, use_type, update_by, update_time, create_by, create_time from sw_medicine_usage + + + + + + + + + + insert into sw_medicine_usage + + name, + use_type, + update_by, + update_time, + create_by, + create_time, + + + #{name}, + #{useType}, + #{updateBy}, + #{updateTime}, + #{createBy}, + #{createTime}, + + + + + update sw_medicine_usage + + name = #{name}, + use_type = #{useType}, + update_by = #{updateBy}, + update_time = #{updateTime}, + create_by = #{createBy}, + create_time = #{createTime}, + + where id = #{id} + + + + delete from sw_medicine_usage where id = #{id} + + + + delete from sw_medicine_usage where id in + + #{id} + + + + + delete from sw_medicine_usage_details where medi_usage in + + #{mediUsage} + + + + + delete from sw_medicine_usage_details where medi_usage = #{mediUsage} + + + + insert into sw_medicine_usage_details( id, medi_usage, medi_id, dosage, unit, usageId, manufacturer, batch_number) values + + ( #{item.id}, #{item.mediUsage}, #{item.mediId}, #{item.dosage}, #{item.unit}, #{item.usageId}, #{item.manufacturer}, #{item.batchNumber}) + + + \ No newline at end of file