ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpGoodsTypeController.java
@@ -1,8 +1,24 @@ package com.ruoyi.web.controller.api; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.system.model.TErpGoods; import com.ruoyi.system.model.TErpGoodsType; import com.ruoyi.system.query.TErpGoodsTypeQuery; import com.ruoyi.system.service.TErpGoodsService; import com.ruoyi.system.service.TErpGoodsTypeService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** * <p> @@ -12,9 +28,102 @@ * @author xiaochen * @since 2025-08-20 */ @Api(tags = "erp商品类型") @RestController @RequestMapping("/t-erp-goods-type") public class TErpGoodsTypeController { private final TErpGoodsTypeService erpGoodsTypeService; private final TErpGoodsService erpGoodsService; @Autowired public TErpGoodsTypeController(TErpGoodsTypeService erpGoodsTypeService, TErpGoodsService erpGoodsService) { this.erpGoodsTypeService = erpGoodsTypeService; this.erpGoodsService = erpGoodsService; } /** * 获取erp商品类型管理列表 */ @ApiOperation(value = "获取erp商品类型分页列表") @PostMapping(value = "/pageList") public R<PageInfo<TErpGoodsType>> pageList(@RequestBody TErpGoodsTypeQuery query) { return R.ok(erpGoodsTypeService.pageList(query)); } /** * 获取erp商品类型管理列表 */ @ApiOperation(value = "获取erp商品类型列表") @PostMapping(value = "/list") public R<List<TErpGoodsType>> list() { return R.ok(erpGoodsTypeService.list(Wrappers.lambdaQuery(TErpGoodsType.class).orderByDesc(TErpGoodsType::getCreateTime))); } /** * 添加erp商品类型管理 */ @Log(title = "erp商品类型信息-新增erp商品类型", businessType = BusinessType.INSERT) @ApiOperation(value = "添加erp商品类型") @PostMapping(value = "/add") public R<Boolean> add(@Validated @RequestBody TErpGoodsType dto) { if (erpGoodsTypeService.isExit(dto)) { return R.fail("erp商品类型名称已存在"); } return R.ok(erpGoodsTypeService.save(dto)); } /** * 修改erp商品类型 */ @Log(title = "erp商品类型信息-修改erp商品类型", businessType = BusinessType.UPDATE) @ApiOperation(value = "修改erp商品类型") @PostMapping(value = "/update") public R<Boolean> update(@Validated @RequestBody TErpGoodsType dto) { if (erpGoodsTypeService.isExit(dto)) { return R.fail("erp商品类型名称已存在"); } return R.ok(erpGoodsTypeService.updateById(dto)); } /** * 查看erp商品类型详情 */ @ApiOperation(value = "查看erp商品类型详情") @GetMapping(value = "/getDetailById") public R<TErpGoodsType> getDetailById(@RequestParam String id) { return R.ok(erpGoodsTypeService.getById(id)); } /** * 删除erp商品类型 */ @Log(title = "erp商品类型信息-删除erp商品类型", businessType = BusinessType.DELETE) @ApiOperation(value = "删除erp商品类型") @DeleteMapping(value = "/deleteById") public R<Boolean> deleteById(@RequestParam String id) { long count = erpGoodsService.count(Wrappers.lambdaQuery(TErpGoods.class).eq(TErpGoods::getTypeId, id)); if (count>0) { return R.fail("该商品分类下有商品,无法删除"); } return R.ok(erpGoodsTypeService.removeById(id)); } /** * 批量删除erp商品类型 */ @Log(title = "erp商品类型信息-删除erp商品类型", businessType = BusinessType.DELETE) @ApiOperation(value = "批量删除erp商品类型") @DeleteMapping(value = "/deleteByIds") public R<Boolean> deleteByIds(@RequestBody List<String> ids) { List<TErpGoods> items = erpGoodsService.list(Wrappers.lambdaQuery(TErpGoods.class).in(TErpGoods::getTypeId, ids)); for (String id : ids) { if (items.stream().anyMatch(t -> t.getTypeId().equals(id))) { TErpGoodsType itemType = erpGoodsTypeService.getById(id); return R.fail("该商品分类["+itemType.getTypeName()+"]下有商品,无法删除"); } } return R.ok(erpGoodsTypeService.removeByIds(ids)); } } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpGoodsUnitController.java
@@ -1,8 +1,23 @@ package com.ruoyi.web.controller.api; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.system.model.TErpGoods; import com.ruoyi.system.model.TErpGoodsUnit; import com.ruoyi.system.query.TErpGoodsUnitQuery; import com.ruoyi.system.service.TErpGoodsService; import com.ruoyi.system.service.TErpGoodsUnitService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** * <p> @@ -12,9 +27,102 @@ * @author xiaochen * @since 2025-08-20 */ @Api(tags = "erp商品单位管理") @RestController @RequestMapping("/t-erp-goods-unit") public class TErpGoodsUnitController { private final TErpGoodsUnitService erpGoodsUnitService; private final TErpGoodsService erpGoodsService; @Autowired public TErpGoodsUnitController(TErpGoodsUnitService erpGoodsUnitService, TErpGoodsService erpGoodsService) { this.erpGoodsUnitService = erpGoodsUnitService; this.erpGoodsService = erpGoodsService; } /** * 获取erp商品单位管理列表 */ @ApiOperation(value = "获取erp商品单位分页列表") @PostMapping(value = "/pageList") public R<PageInfo<TErpGoodsUnit>> pageList(@RequestBody TErpGoodsUnitQuery query) { return R.ok(erpGoodsUnitService.pageList(query)); } /** * 获取erp商品单位管理列表 */ @ApiOperation(value = "获取erp商品单位列表") @PostMapping(value = "/list") public R<List<TErpGoodsUnit>> list() { return R.ok(erpGoodsUnitService.list(Wrappers.lambdaQuery(TErpGoodsUnit.class).orderByDesc(TErpGoodsUnit::getCreateTime))); } /** * 添加erp商品单位管理 */ @Log(title = "erp商品单位信息-新增erp商品单位", businessType = BusinessType.INSERT) @ApiOperation(value = "添加erp商品单位") @PostMapping(value = "/add") public R<Boolean> add(@Validated @RequestBody TErpGoodsUnit dto) { if (erpGoodsUnitService.isExit(dto)) { return R.fail("erp商品单位名称已存在"); } return R.ok(erpGoodsUnitService.save(dto)); } /** * 修改erp商品单位 */ @Log(title = "erp商品单位信息-修改erp商品单位", businessType = BusinessType.UPDATE) @ApiOperation(value = "修改erp商品单位") @PostMapping(value = "/update") public R<Boolean> update(@Validated @RequestBody TErpGoodsUnit dto) { if (erpGoodsUnitService.isExit(dto)) { return R.fail("erp商品单位名称已存在"); } return R.ok(erpGoodsUnitService.updateById(dto)); } /** * 查看erp商品单位详情 */ @ApiOperation(value = "查看erp商品单位详情") @GetMapping(value = "/getDetailById") public R<TErpGoodsUnit> getDetailById(@RequestParam String id) { return R.ok(erpGoodsUnitService.getById(id)); } /** * 删除erp商品单位 */ @Log(title = "erp商品单位信息-删除erp商品单位", businessType = BusinessType.DELETE) @ApiOperation(value = "删除erp商品单位") @DeleteMapping(value = "/deleteById") public R<Boolean> deleteById(@RequestParam String id) { long count = erpGoodsService.count(Wrappers.lambdaQuery(TErpGoods.class).eq(TErpGoods::getTypeId, id)); if (count>0) { return R.fail("该商品单位下有商品,无法删除"); } return R.ok(erpGoodsUnitService.removeById(id)); } /** * 批量删除erp商品单位 */ @Log(title = "erp商品单位信息-删除erp商品单位", businessType = BusinessType.DELETE) @ApiOperation(value = "批量删除erp商品单位") @DeleteMapping(value = "/deleteByIds") public R<Boolean> deleteByIds(@RequestBody List<String> ids) { List<TErpGoods> items = erpGoodsService.list(Wrappers.lambdaQuery(TErpGoods.class).in(TErpGoods::getTypeId, ids)); for (String id : ids) { if (items.stream().anyMatch(t -> t.getTypeId().equals(id))) { TErpGoodsUnit itemType = erpGoodsUnitService.getById(id); return R.fail("该商品单位["+itemType.getUnitName()+"]下有商品,无法删除"); } } return R.ok(erpGoodsUnitService.removeByIds(ids)); } } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpIssueReportingController.java
@@ -1,8 +1,32 @@ package com.ruoyi.web.controller.api; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.TErpIssueReportingProcessDTO; import com.ruoyi.system.model.TCrmClinic; import com.ruoyi.system.model.TCrmSupplier; import com.ruoyi.system.model.TErpGoods; import com.ruoyi.system.model.TErpIssueReporting; import com.ruoyi.system.query.TErpIssueReportingQuery; import com.ruoyi.system.service.TCrmClinicService; import com.ruoyi.system.service.TCrmSupplierService; import com.ruoyi.system.service.TErpIssueReportingService; import com.ruoyi.system.vo.TErpIssueReportingVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; import java.util.List; import java.util.Objects; /** * <p> @@ -12,9 +36,111 @@ * @author xiaochen * @since 2025-08-20 */ @Api(tags = "erp问题上报") @RestController @RequestMapping("/t-erp-issue-reporting") public class TErpIssueReportingController { private final TErpIssueReportingService erpIssueReportingService; private final TCrmClinicService crmClinicService; private final TCrmSupplierService crmSupplierService; private final TokenService tokenService; @Autowired public TErpIssueReportingController(TErpIssueReportingService erpIssueReportingService, TCrmClinicService crmClinicService, TCrmSupplierService crmSupplierService, TokenService tokenService) { this.erpIssueReportingService = erpIssueReportingService; this.crmClinicService = crmClinicService; this.crmSupplierService = crmSupplierService; this.tokenService = tokenService; } /** * 获取erp问题上报管理列表 */ @ApiOperation(value = "获取erp问题上报分页列表") @PostMapping(value = "/pageList") public R<PageInfo<TErpIssueReportingVO>> pageList(@RequestBody TErpIssueReportingQuery query) { return R.ok(erpIssueReportingService.pageList(query)); } /** * 添加erp问题上报管理 */ @Log(title = "erp问题上报信息-新增erp问题上报", businessType = BusinessType.INSERT) @ApiOperation(value = "添加erp问题上报") @PostMapping(value = "/add") public R<Boolean> add(@Validated @RequestBody TErpIssueReporting dto) { return R.ok(erpIssueReportingService.save(dto)); } /** * 修改erp问题上报 */ @Log(title = "erp问题上报信息-修改erp问题上报", businessType = BusinessType.UPDATE) @ApiOperation(value = "修改erp问题上报") @PostMapping(value = "/update") public R<Boolean> update(@Validated @RequestBody TErpIssueReporting dto) { return R.ok(erpIssueReportingService.updateById(dto)); } /** * 查看erp问题上报详情 */ @ApiOperation(value = "查看erp问题上报详情") @GetMapping(value = "/getDetailById") public R<TErpIssueReportingVO> getDetailById(@RequestParam String id) { TErpIssueReporting erpIssueReporting = erpIssueReportingService.getById(id); TErpIssueReportingVO issueReportingVO = new TErpIssueReportingVO(); BeanUtils.copyProperties(erpIssueReporting, issueReportingVO); if (erpIssueReporting.getReportType() == 1) { TCrmSupplier crmSupplier = crmSupplierService.getById(erpIssueReporting.getReportUserId()); if (Objects.nonNull(crmSupplier)){ issueReportingVO.setSupplierClinicName(crmSupplier.getSupplierName()); } } else { TCrmClinic crmClinic = crmClinicService.getById(erpIssueReporting.getReportUserId()); if (Objects.nonNull(crmClinic)){ issueReportingVO.setSupplierClinicName(crmClinic.getClinicName()); } } return R.ok(issueReportingVO); } /** * 删除erp问题上报 */ @Log(title = "erp问题上报信息-删除erp问题上报", businessType = BusinessType.DELETE) @ApiOperation(value = "删除erp问题上报") @DeleteMapping(value = "/deleteById") public R<Boolean> deleteById(@RequestParam String id) { return R.ok(erpIssueReportingService.removeById(id)); } /** * 批量删除erp问题上报 */ @Log(title = "erp问题上报信息-删除erp问题上报", businessType = BusinessType.DELETE) @ApiOperation(value = "批量删除erp问题上报") @DeleteMapping(value = "/deleteByIds") public R<Boolean> deleteByIds(@RequestBody List<String> ids) { return R.ok(erpIssueReportingService.removeByIds(ids)); } /** * 修改erp问题上报 */ @Log(title = "erp问题上报信息-erp问题上报处理", businessType = BusinessType.UPDATE) @ApiOperation(value = "erp问题上报处理") @PostMapping(value = "/process") public R<Boolean> process(@Validated @RequestBody TErpIssueReportingProcessDTO dto) { // 获取当前登录人 String nickName = tokenService.getLoginUser().getUser().getNickName(); TErpIssueReporting erpIssueReporting = erpIssueReportingService.getById(dto.getId()); erpIssueReporting.setStatus(2); erpIssueReporting.setHandlerPerson(nickName); erpIssueReporting.setHandlerTime(LocalDateTime.now()); erpIssueReporting.setHandlerContent(dto.getHandlerContent()); erpIssueReportingService.updateById(erpIssueReporting); return R.ok(); } } ruoyi-system/src/main/java/com/ruoyi/system/dto/TErpIssueReportingProcessDTO.java
New file @@ -0,0 +1,19 @@ package com.ruoyi.system.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @Data @ApiModel(value = "erp问题上报处理信息DTO") public class TErpIssueReportingProcessDTO implements Serializable { @ApiModelProperty(value = "id") private String id; @ApiModelProperty(value = "处理内容") private String handlerContent; } ruoyi-system/src/main/java/com/ruoyi/system/mapper/TErpGoodsTypeMapper.java
@@ -1,7 +1,12 @@ package com.ruoyi.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TErpGoodsType; import com.ruoyi.system.query.TErpGoodsTypeQuery; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> @@ -13,4 +18,12 @@ */ public interface TErpGoodsTypeMapper extends BaseMapper<TErpGoodsType> { /** * 分页查询 * @param query 查询参数 * @param pageInfo 分页参数 * @return */ List<TErpGoodsType> pageList(@Param("query") TErpGoodsTypeQuery query, @Param("pageInfo")PageInfo<TErpGoodsType> pageInfo); } ruoyi-system/src/main/java/com/ruoyi/system/mapper/TErpGoodsUnitMapper.java
@@ -1,7 +1,12 @@ package com.ruoyi.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TErpGoodsUnit; import com.ruoyi.system.query.TErpGoodsUnitQuery; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> @@ -13,4 +18,12 @@ */ public interface TErpGoodsUnitMapper extends BaseMapper<TErpGoodsUnit> { /** * 分页查询 * @param query 查询参数 * @param pageInfo 分页参数 * @return */ List<TErpGoodsUnit> pageList(@Param("query") TErpGoodsUnitQuery query, @Param("pageInfo")PageInfo<TErpGoodsUnit> pageInfo); } ruoyi-system/src/main/java/com/ruoyi/system/mapper/TErpIssueReportingMapper.java
@@ -1,7 +1,13 @@ package com.ruoyi.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TErpIssueReporting; import com.ruoyi.system.query.TErpIssueReportingQuery; import com.ruoyi.system.vo.TErpIssueReportingVO; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> @@ -13,4 +19,11 @@ */ public interface TErpIssueReportingMapper extends BaseMapper<TErpIssueReporting> { /** * 分页列表 * @param query * @param pageInfo * @return */ List<TErpIssueReportingVO> pageList(@Param("query") TErpIssueReportingQuery query, @Param("pageInfo")PageInfo<TErpIssueReportingVO> pageInfo); } ruoyi-system/src/main/java/com/ruoyi/system/model/TErpIssueReporting.java
@@ -53,5 +53,16 @@ @TableField("report_user_id") private String reportUserId; @ApiModelProperty(value = "处理人") @TableField("handler_person") private String handlerPerson; @ApiModelProperty(value = "处理时间") @TableField("handler_time") private LocalDateTime handlerTime; @ApiModelProperty(value = "处理内容") @TableField("handler_content") private String handlerContent; } ruoyi-system/src/main/java/com/ruoyi/system/query/TErpGoodsTypeQuery.java
New file @@ -0,0 +1,16 @@ package com.ruoyi.system.query; import com.baomidou.mybatisplus.annotation.TableField; import com.ruoyi.common.core.domain.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "erp商品类型信息查询参数query") public class TErpGoodsTypeQuery extends BasePage { @ApiModelProperty(value = "类型名称") private String typeName; } ruoyi-system/src/main/java/com/ruoyi/system/query/TErpGoodsUnitQuery.java
New file @@ -0,0 +1,15 @@ package com.ruoyi.system.query; import com.ruoyi.common.core.domain.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "erp商品单位信息查询参数query") public class TErpGoodsUnitQuery extends BasePage { @ApiModelProperty(value = "单位名称") private String unitName; } ruoyi-system/src/main/java/com/ruoyi/system/query/TErpIssueReportingQuery.java
New file @@ -0,0 +1,30 @@ package com.ruoyi.system.query; import com.ruoyi.common.core.domain.model.TimeRangeQueryBody; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "erp问题上报信息查询参数query") public class TErpIssueReportingQuery extends TimeRangeQueryBody { @ApiModelProperty(value = "问题标题") private String problemTitle; @ApiModelProperty(value = "处理状态 1=已处理 2=未处理") private Integer status; @ApiModelProperty(value = "上报类型 1=供应商 2=诊所") private Integer reportType; @ApiModelProperty(value = "上报人") private String createBy; @ApiModelProperty(value = "上报开始时间") private String reportStartTime; @ApiModelProperty(value = "上报结束时间") private String reportEndTime; } ruoyi-system/src/main/java/com/ruoyi/system/service/TErpGoodsTypeService.java
@@ -1,7 +1,9 @@ package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TErpGoodsType; import com.ruoyi.system.query.TErpGoodsTypeQuery; /** * <p> @@ -12,5 +14,17 @@ * @since 2025-08-20 */ public interface TErpGoodsTypeService extends IService<TErpGoodsType> { /** * 判断分类是否存在 * @param dto * @return */ boolean isExit(TErpGoodsType dto); /** * 获取erp商品类型分页列表 * @param query * @return */ PageInfo<TErpGoodsType> pageList(TErpGoodsTypeQuery query); } ruoyi-system/src/main/java/com/ruoyi/system/service/TErpGoodsUnitService.java
@@ -1,7 +1,10 @@ package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TErpGoodsType; import com.ruoyi.system.model.TErpGoodsUnit; import com.ruoyi.system.query.TErpGoodsUnitQuery; /** * <p> @@ -12,5 +15,17 @@ * @since 2025-08-20 */ public interface TErpGoodsUnitService extends IService<TErpGoodsUnit> { /** * 判断分类是否存在 * @param dto * @return */ boolean isExit(TErpGoodsUnit dto); /** * 获取erp商品单位分页列表 * @param query * @return */ PageInfo<TErpGoodsUnit> pageList(TErpGoodsUnitQuery query); } ruoyi-system/src/main/java/com/ruoyi/system/service/TErpIssueReportingService.java
@@ -1,7 +1,10 @@ package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TErpIssueReporting; import com.ruoyi.system.query.TErpIssueReportingQuery; import com.ruoyi.system.vo.TErpIssueReportingVO; /** * <p> @@ -13,4 +16,10 @@ */ public interface TErpIssueReportingService extends IService<TErpIssueReporting> { /** * 分页列表 * @param query * @return */ PageInfo<TErpIssueReportingVO> pageList(TErpIssueReportingQuery query); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsTypeServiceImpl.java
@@ -1,10 +1,16 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.model.TErpGoodsType; import com.ruoyi.system.mapper.TErpGoodsTypeMapper; import com.ruoyi.system.query.TErpGoodsTypeQuery; import com.ruoyi.system.service.TErpGoodsTypeService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import java.util.List; /** * <p> @@ -16,5 +22,22 @@ */ @Service public class TErpGoodsTypeServiceImpl extends ServiceImpl<TErpGoodsTypeMapper, TErpGoodsType> implements TErpGoodsTypeService { @Override public boolean isExit(TErpGoodsType dto) { if(StringUtils.isNotEmpty(dto.getId())){ // 修改 return this.count(Wrappers.lambdaQuery(TErpGoodsType.class).ne(TErpGoodsType::getId, dto.getId()).eq(TErpGoodsType::getTypeName, dto.getTypeName())) > 0; }else { // 新增 return this.count(Wrappers.lambdaQuery(TErpGoodsType.class).eq(TErpGoodsType::getTypeName, dto.getTypeName())) > 0; } } @Override public PageInfo<TErpGoodsType> pageList(TErpGoodsTypeQuery query) { PageInfo<TErpGoodsType> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TErpGoodsType> list = this.baseMapper.pageList(query,pageInfo); pageInfo.setRecords(list); return pageInfo; } } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsUnitServiceImpl.java
@@ -1,10 +1,18 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.model.TErpGoodsType; import com.ruoyi.system.model.TErpGoodsUnit; import com.ruoyi.system.mapper.TErpGoodsUnitMapper; import com.ruoyi.system.query.TErpGoodsTypeQuery; import com.ruoyi.system.query.TErpGoodsUnitQuery; import com.ruoyi.system.service.TErpGoodsUnitService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import java.util.List; /** * <p> @@ -16,5 +24,22 @@ */ @Service public class TErpGoodsUnitServiceImpl extends ServiceImpl<TErpGoodsUnitMapper, TErpGoodsUnit> implements TErpGoodsUnitService { @Override public boolean isExit(TErpGoodsUnit dto) { if(StringUtils.isNotEmpty(dto.getId())){ // 修改 return this.count(Wrappers.lambdaQuery(TErpGoodsUnit.class).ne(TErpGoodsUnit::getId, dto.getId()).eq(TErpGoodsUnit::getUnitName, dto.getUnitName())) > 0; }else { // 新增 return this.count(Wrappers.lambdaQuery(TErpGoodsUnit.class).eq(TErpGoodsUnit::getUnitName, dto.getUnitName())) > 0; } } @Override public PageInfo<TErpGoodsUnit> pageList(TErpGoodsUnitQuery query) { PageInfo<TErpGoodsUnit> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TErpGoodsUnit> list = this.baseMapper.pageList(query,pageInfo); pageInfo.setRecords(list); return pageInfo; } } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpIssueReportingServiceImpl.java
@@ -1,10 +1,23 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.mapper.TCrmClinicMapper; import com.ruoyi.system.mapper.TCrmSupplierMapper; import com.ruoyi.system.mapper.TErpIssueReportingMapper; import com.ruoyi.system.model.TCrmClinic; import com.ruoyi.system.model.TCrmSupplier; import com.ruoyi.system.model.TErpGoodsType; import com.ruoyi.system.model.TErpIssueReporting; import com.ruoyi.system.query.TErpIssueReportingQuery; import com.ruoyi.system.service.TErpIssueReportingService; import com.ruoyi.system.vo.TErpIssueReportingVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; import java.util.stream.Collectors; /** * <p> @@ -17,4 +30,31 @@ @Service public class TErpIssueReportingServiceImpl extends ServiceImpl<TErpIssueReportingMapper, TErpIssueReporting> implements TErpIssueReportingService { @Autowired private TCrmSupplierMapper crmSupplierMapper; @Autowired private TCrmClinicMapper crmClinicMapper; @Override public PageInfo<TErpIssueReportingVO> pageList(TErpIssueReportingQuery query) { PageInfo<TErpIssueReportingVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TErpIssueReportingVO> list = this.baseMapper.pageList(query,pageInfo); if(CollectionUtils.isEmpty(list)){ return pageInfo; } List<String> reportUserIds = list.stream().map(TErpIssueReportingVO::getReportUserId).collect(Collectors.toList()); List<TCrmSupplier> crmSuppliers = crmSupplierMapper.selectBatchIds(reportUserIds); List<TCrmClinic> crmClinics = crmClinicMapper.selectBatchIds(reportUserIds); for (TErpIssueReportingVO tErpIssueReportingVO : list) { switch (tErpIssueReportingVO.getReportType()) { case 1: crmSuppliers.stream().filter(t -> t.getId().equals(tErpIssueReportingVO.getReportUserId())).findFirst().ifPresent(t -> tErpIssueReportingVO.setSupplierClinicName(t.getSupplierName())); break; case 2: crmClinics.stream().filter(t -> t.getId().equals(tErpIssueReportingVO.getReportUserId())).findFirst().ifPresent(t -> tErpIssueReportingVO.setSupplierClinicName(t.getClinicName())); } } pageInfo.setRecords(list); return pageInfo; } } ruoyi-system/src/main/java/com/ruoyi/system/vo/TErpIssueReportingVO.java
New file @@ -0,0 +1,15 @@ package com.ruoyi.system.vo; import com.ruoyi.system.model.TErpIssueReporting; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "问题上报VO") public class TErpIssueReportingVO extends TErpIssueReporting { @ApiModelProperty(value = "供应商/诊所名称") private String supplierClinicName; } ruoyi-system/src/main/resources/mapper/system/TErpGoodsTypeMapper.xml
@@ -17,5 +17,17 @@ <sql id="Base_Column_List"> id, type_name, create_time, update_time, create_by, update_by, disabled </sql> <select id="pageList" resultType="com.ruoyi.system.model.TErpGoodsType"> SELECT <include refid="Base_Column_List"/> FROM t_erp_goods_type <where> <if test="query.typeName != null and query.typeName != ''"> AND type_name LIKE concat('%',#{query.typeName},'%') </if> AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY create_time DESC </select> </mapper> ruoyi-system/src/main/resources/mapper/system/TErpGoodsUnitMapper.xml
@@ -17,5 +17,17 @@ <sql id="Base_Column_List"> id, unit_name, create_time, update_time, create_by, update_by, disabled </sql> <select id="pageList" resultType="com.ruoyi.system.model.TErpGoodsUnit"> select <include refid="Base_Column_List" /> from t_erp_goods_unit <where> <if test="query.unitName != null and query.unitName != ''"> AND unit_name LIKE concat('%',#{query.unitName},'%') </if> AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY create_time DESC </select> </mapper> ruoyi-system/src/main/resources/mapper/system/TErpIssueReportingMapper.xml
@@ -11,6 +11,9 @@ <result column="status" property="status" /> <result column="report_type" property="reportType" /> <result column="report_user_id" property="reportUserId" /> <result column="handler_person" property="handlerPerson" /> <result column="handler_time" property="handlerTime" /> <result column="handler_content" property="handlerContent" /> <result column="create_time" property="createTime" /> <result column="update_time" property="updateTime" /> <result column="create_by" property="createBy" /> @@ -20,7 +23,37 @@ <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, problem_title, report_content, pictures, status, report_type, report_user_id, create_time, update_time, create_by, update_by, disabled id, problem_title, report_content, pictures, status, report_type, report_user_id,handler_person,handler_time, handler_content, create_time, update_time, create_by, update_by, disabled </sql> <select id="pageList" resultType="com.ruoyi.system.vo.TErpIssueReportingVO"> SELECT <include refid="Base_Column_List"/> FROM t_erp_issue_reporting <where> <if test="query.problemTitle != null and query.problemTitle != ''"> AND problem_title LIKE concat('%',#{query.problemTitle},'%') </if> <if test="query.status != null"> AND status = #{query.status} </if> <if test="query.reportType != null"> AND report_type = #{query.reportType} </if> <if test="query.createBy != null and query.createBy != ''"> AND create_by LIKE concat('%',#{query.createBy},'%') </if> <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> AND handler_time >= #{query.startTime} AND handler_time <= #{query.endTime} </if> <if test="query.reportStartTime != null and query.reportStartTime != '' and query.reportEndTime != null and query.reportEndTime != ''"> AND create_time >= #{query.startTime} AND create_time <= #{query.endTime} </if> AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY create_time DESC </select> </mapper>