From 1dc1eca1fca8d5d5d21da14cd23165566d314e66 Mon Sep 17 00:00:00 2001 From: ljl <3030243464@qq.com> Date: Mon, 27 Mar 2023 17:12:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96=E5=8F=AF?= =?UTF-8?q?=E9=80=80=E5=9B=9E=E6=AD=A5=E9=AA=A4=E5=B7=B2=E7=BB=8F=E9=80=80?= =?UTF-8?q?=E5=9B=9E=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/house/BuyHousesController.java | 118 ++++++++++++++++++ .../house/HousesReviewController.java | 3 - .../java/com/ruoyi/test/DemoUnitTest.java | 61 +++++++-- .../com/ruoyi/system/domain/BuyHouses.java | 8 +- .../ruoyi/system/domain/MaterialProof.java | 2 + .../ruoyi/system/domain/bo/BuyHousesBo.java | 12 +- .../ruoyi/system/domain/vo/BuyHousesVo.java | 6 + .../system/domain/vo/HousesReviewVo.java | 3 + .../system/service/IBuyHousesService.java | 3 + .../service/impl/BuyHousesServiceImpl.java | 20 +++ .../service/impl/HousesReviewServiceImpl.java | 7 +- .../impl/MaterialModuleServiceImpl.java | 16 ++- .../impl/MaterialTalentsServiceImpl.java | 23 ++-- .../mapper/system/BuyHouseCheckMapper.xml | 16 +++ .../mapper/system/BuyHousesMapper.xml | 49 ++++++++ .../mapper/system/BuyHousesMemberMapper.xml | 24 ++++ .../system/BuyHousesReviewMemberMapper.xml | 24 ++++ .../mapper/system/HousesReviewMapper.xml | 41 ++++++ .../mapper/system/IWorkSysRoleService.xml | 19 --- .../mapper/system/MaterialModuleMapper.xml | 28 +++++ .../mapper/system/MaterialProofMapper.xml | 25 ++++ .../mapper/system/MaterialTalentsMapper.xml | 40 ++++++ .../ruoyi/work/controller/WorkController.java | 15 ++- .../com/ruoyi/work/domain/HisProcess.java | 13 +- .../com/ruoyi/work/domain/RollBackLog.java | 6 + .../ruoyi/work/domain/vo/HisProcessVo.java | 5 + .../com/ruoyi/work/domain/vo/ProcessVo.java | 3 + .../ruoyi/work/dto/HisProcessVoResultDto.java | 3 +- .../ruoyi/work/mapper/HisProcessMapper.java | 8 ++ .../com/ruoyi/work/utils/WorkComplyUtils.java | 65 +++++----- .../mapper/work/HisProcessMapper.xml | 6 + 31 files changed, 582 insertions(+), 90 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/BuyHousesController.java create mode 100644 ruoyi-system/src/main/resources/mapper/system/BuyHouseCheckMapper.xml create mode 100644 ruoyi-system/src/main/resources/mapper/system/BuyHousesMapper.xml create mode 100644 ruoyi-system/src/main/resources/mapper/system/BuyHousesMemberMapper.xml create mode 100644 ruoyi-system/src/main/resources/mapper/system/BuyHousesReviewMemberMapper.xml create mode 100644 ruoyi-system/src/main/resources/mapper/system/HousesReviewMapper.xml delete mode 100644 ruoyi-system/src/main/resources/mapper/system/IWorkSysRoleService.xml create mode 100644 ruoyi-system/src/main/resources/mapper/system/MaterialModuleMapper.xml create mode 100644 ruoyi-system/src/main/resources/mapper/system/MaterialProofMapper.xml create mode 100644 ruoyi-system/src/main/resources/mapper/system/MaterialTalentsMapper.xml diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/BuyHousesController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/BuyHousesController.java new file mode 100644 index 000000000..f961be37d --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/BuyHousesController.java @@ -0,0 +1,118 @@ +package com.ruoyi.web.controller.house; + +import java.util.List; +import java.util.Arrays; +import java.util.concurrent.TimeUnit; + +import com.ruoyi.system.domain.bo.HousesReviewBo; +import lombok.RequiredArgsConstructor; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.ruoyi.common.annotation.RepeatSubmit; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.PageQuery; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.validate.AddGroup; +import com.ruoyi.common.core.validate.EditGroup; +import com.ruoyi.common.core.validate.QueryGroup; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.domain.vo.BuyHousesVo; +import com.ruoyi.system.domain.bo.BuyHousesBo; +import com.ruoyi.system.service.IBuyHousesService; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 【请填写功能名称】 + * + * @author ruoyi + * @date 2023-03-27 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/declare") +public class BuyHousesController extends BaseController { + + private final IBuyHousesService iBuyHousesService; + + /** + * 查询【请填写功能名称】列表 + */ + @SaCheckPermission("system:houses:list") + @GetMapping("/list") + public TableDataInfo list(BuyHousesBo bo, PageQuery pageQuery) { + return iBuyHousesService.queryPageList(bo, pageQuery); + } + + /** + * 导出【请填写功能名称】列表 + */ + @SaCheckPermission("system:houses:export") + @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BuyHousesBo bo, HttpServletResponse response) { + List list = iBuyHousesService.queryList(bo); + ExcelUtil.exportExcel(list, "【请填写功能名称】", BuyHousesVo.class, response); + } + + /** + * 获取【请填写功能名称】详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("system:houses:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(iBuyHousesService.queryById(id)); + } + + /** + * 新增【请填写功能名称】 + */ + @SaCheckPermission("system:houses:add") + @Log(title = "【购房申请添加】", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BuyHousesBo bo) { + return toAjax(iBuyHousesService.insertByBo(bo)); + } + + /** + * 修改【请填写功能名称】 + */ + @SaCheckPermission("system:houses:edit") + @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BuyHousesBo bo) { + return toAjax(iBuyHousesService.updateByBo(bo)); + } + + /** + * 删除【请填写功能名称】 + * + * @param ids 主键串 + */ + @SaCheckPermission("system:houses:remove") + @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(iBuyHousesService.deleteWithValidByIds(Arrays.asList(ids), true)); + } + + /** + * 获取申报材料 + */ + @Log(title = "获取申报材料",businessType = BusinessType.OTHER) + @PostMapping("/review/material") + public R getMaterialInfo(@RequestBody BuyHousesBo bo){ + return iBuyHousesService.getMaterialInfo(bo); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/HousesReviewController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/HousesReviewController.java index 5b805d7f4..07e1c3024 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/HousesReviewController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/house/HousesReviewController.java @@ -1,5 +1,4 @@ package com.ruoyi.web.controller.house; - import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; @@ -26,7 +25,6 @@ import org.springframework.http.MediaType; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; - import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; @@ -48,7 +46,6 @@ import java.util.stream.Collectors; public class HousesReviewController extends BaseController { private final IHousesReviewService iHousesReviewService; - private final BuyHousesMapper buyHousesMapper; diff --git a/ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java b/ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java index d951b4ee3..b8763b0b9 100644 --- a/ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java +++ b/ruoyi-admin/src/test/java/com/ruoyi/test/DemoUnitTest.java @@ -11,13 +11,12 @@ import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.helper.DataBaseHelper; import com.ruoyi.common.utils.spring.SpringUtils; -import com.ruoyi.system.domain.BuyHouses; -import com.ruoyi.system.domain.MaterialTalents; +import com.ruoyi.system.domain.*; import com.ruoyi.system.domain.vo.HousesReviewVo; +import com.ruoyi.system.domain.vo.MaterialModuleVo; import com.ruoyi.system.domain.vo.MaterialTalentsVo; -import com.ruoyi.system.mapper.BuyHousesMapper; -import com.ruoyi.system.mapper.HousesReviewMapper; -import com.ruoyi.system.mapper.MaterialTalentsMapper; +import com.ruoyi.system.mapper.*; +import com.ruoyi.system.service.impl.MaterialModuleServiceImpl; import com.ruoyi.system.service.impl.SysConfigServiceImpl; import com.ruoyi.work.domain.ActProcess; import com.ruoyi.work.domain.HisProcess; @@ -77,6 +76,15 @@ public class DemoUnitTest { @Autowired private SysConfigServiceImpl sysConfigService; + @Autowired + private MaterialModuleMapper materialModuleMapper; + + @Autowired + private MaterialProofMapper materialProofMapper; + + @Autowired + private MaterialModuleServiceImpl materialModuleService; + @DisplayName("测试 @SpringBootTest @Test @DisplayName 注解") @Test @@ -176,10 +184,11 @@ public class DemoUnitTest { @Test public void test004(){ BusinessDTO businessDTO = new BusinessDTO(); - BuyHouses buyHouses = buyHousesMapper.selectById("2"); - Map map = BeanUtil.beanToMap(buyHouses); +// BuyHouses buyHouses = buyHousesMapper.selectById("1011"); + HousesReview housesReview = housesReviewMapper.selectById("1633344911078064130"); + Map map = BeanUtil.beanToMap(housesReview); businessDTO.setParams(map); - businessDTO.setBusinessId(buyHouses.getId().toString()); + businessDTO.setBusinessId(housesReview.getId().toString()); WorkComplyUtils.getStep(businessDTO); } @@ -304,4 +313,40 @@ public class DemoUnitTest { public void test00000(){ processMapper.updateCommonByBusinessId("buy_houses", Constants.FAILD,"2"); } + + @Test + public void tests1245545(){ + List materialModules = materialModuleMapper.selectList(); + List buyHouses = buyHousesMapper.selectList(); + ArrayList list = new ArrayList<>(); + for (BuyHouses buyHouse : buyHouses) { + Map map = BeanUtil.beanToMap(buyHouse); + for (MaterialModule materialModule : materialModules) { + if (ObjectUtil.isNotNull(map.get(materialModule.getMaterialKey()))){ + MaterialProof materialProof = new MaterialProof(); + materialProof.setHouseId(buyHouse.getId().toString()); + materialProof.setModulePathId(materialModule.getId().toString()); + materialProof.setFile( map.get(materialModule.getMaterialKey()).toString()); + materialProof.setMaterialKey(materialModule.getMaterialKey()); + materialProof.setAuditDept(materialModule.getAuditDept()); + materialProof.setMaterialName(materialModule.getMaterialName()); + materialProof.setDescription(materialModule.getDescription()); + materialProof.setProcessKey("apply_house"); + list.add(materialProof); + String o = map.get(materialModule.getMaterialKey()).toString(); + System.out.println(buyHouse.getId()+":"+materialModule.getMaterialName() +":" + o); + } + + } + } + materialProofMapper.insertBatch(list); + } + + @Test + public void tesst00000(){ + BuyHouses buyHouses = buyHousesMapper.selectById(1011L); + Map map = BeanUtil.beanToMap(buyHouses); + List materialInfo = materialModuleService.getMaterialInfo(map); + System.out.println("materialInfo = " + materialInfo); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHouses.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHouses.java index 4c7e35a9a..de87c780d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHouses.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BuyHouses.java @@ -153,9 +153,13 @@ public class BuyHouses { */ private String workAddress; - public String processKey; + private String processKey; + + private String processStatus; + - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; + private String version; + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaterialProof.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaterialProof.java index 5acfac887..e8772d63d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaterialProof.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/MaterialProof.java @@ -59,5 +59,7 @@ public class MaterialProof extends BaseEntity { private String materialName; + private String processKey; + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/BuyHousesBo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/BuyHousesBo.java index f579a6507..4ba0b80df 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/BuyHousesBo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/BuyHousesBo.java @@ -1,14 +1,17 @@ package com.ruoyi.system.domain.bo; +import com.baomidou.mybatisplus.annotation.TableField; import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; +import com.ruoyi.system.domain.BuyHousesMember; import lombok.Data; import lombok.EqualsAndHashCode; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.Date; +import java.util.List; /** * 【请填写功能名称】业务对象 buy_houses @@ -219,6 +222,13 @@ public class BuyHousesBo extends BaseEntity { @NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class }) private String workAddress; - public String processKey; + private String processKey; + + @TableField(exist = false) + private List buyHousesMemberList; + + + private String version; + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/BuyHousesVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/BuyHousesVo.java index d20cec048..6985d44ed 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/BuyHousesVo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/BuyHousesVo.java @@ -4,6 +4,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.ruoyi.system.domain.BuyHousesMember; +import com.ruoyi.system.domain.MaterialProof; import lombok.Data; import java.util.Date; @@ -225,5 +226,10 @@ public class BuyHousesVo { @TableField(exist = false) private List buyHousesMemberList; + private String version; + + @TableField(exist = false) + private List materialProofList; + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/HousesReviewVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/HousesReviewVo.java index 1c069cc3f..78de7b33b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/HousesReviewVo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/HousesReviewVo.java @@ -6,6 +6,7 @@ import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.system.domain.BuyHousesReviewMember; import lombok.Data; +import java.util.Date; import java.util.List; @@ -171,6 +172,8 @@ public class HousesReviewVo { private List buyHousesMemberList; + private Date updateTime; + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IBuyHousesService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IBuyHousesService.java index e9ac642ac..d642578c8 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IBuyHousesService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IBuyHousesService.java @@ -1,6 +1,7 @@ package com.ruoyi.system.service; import com.ruoyi.common.core.domain.PageQuery; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.system.domain.bo.BuyHousesBo; import com.ruoyi.system.domain.vo.BuyHousesVo; @@ -45,4 +46,6 @@ public interface IBuyHousesService { * 校验并批量删除【请填写功能名称】信息 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + R getMaterialInfo(BuyHousesBo bo); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BuyHousesServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BuyHousesServiceImpl.java index fb3f607eb..bdbd89b15 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BuyHousesServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BuyHousesServiceImpl.java @@ -5,14 +5,18 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.PageQuery; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.domain.BuyHouses; import com.ruoyi.system.domain.BuyHousesMember; +import com.ruoyi.system.domain.MaterialProof; import com.ruoyi.system.domain.bo.BuyHousesBo; import com.ruoyi.system.domain.vo.BuyHousesVo; +import com.ruoyi.system.domain.vo.MaterialModuleVo; import com.ruoyi.system.mapper.BuyHousesMapper; import com.ruoyi.system.mapper.BuyHousesMemberMapper; +import com.ruoyi.system.mapper.MaterialProofMapper; import com.ruoyi.system.service.IBuyHousesService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -35,12 +39,21 @@ public class BuyHousesServiceImpl implements IBuyHousesService { private final BuyHousesMemberMapper buyHousesMemberMapper; + private final MaterialProofMapper materialProofMapper; + + private final MaterialModuleServiceImpl materialModuleService; + /** * 查询【请填写功能名称】 */ @Override public BuyHousesVo queryById(Long id){ BuyHousesVo buyHousesVo = baseMapper.selectVoById(id); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .eq(MaterialProof::getHouseId, buyHousesVo.getId()) + .eq(MaterialProof::getProcessKey, buyHousesVo.getProcessKey()); + List materialProofs = materialProofMapper.selectList(wrapper); + buyHousesVo.setMaterialProofList(materialProofs); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() .eq(BuyHousesMember::getBuyHousesId, id); List buyHousesMembers = buyHousesMemberMapper.selectList(queryWrapper); @@ -146,4 +159,11 @@ public class BuyHousesServiceImpl implements IBuyHousesService { } return baseMapper.deleteBatchIds(ids) > 0; } + + @Override + public R getMaterialInfo(BuyHousesBo bo) { + Map map = BeanUtil.beanToMap(bo); + List materialInfo = materialModuleService.getMaterialInfo(map); + return R.ok(materialInfo); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HousesReviewServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HousesReviewServiceImpl.java index 2e8b21c5e..7108e278b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HousesReviewServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HousesReviewServiceImpl.java @@ -155,10 +155,6 @@ public class HousesReviewServiceImpl implements IHousesReviewService { List list = new ArrayList<>(); if (ObjectUtil.isNotNull(buyHousesMemberList) && buyHousesMemberList.size()>0) { buyHousesReviewMembers.forEach(e -> { - /*boolean b1 = buyHousesMemberList.stream().noneMatch(b -> b.getFrontUrl().equals(e.getFrontUrl())); - boolean b1 = buyHousesMemberList.stream().noneMatch(b -> b.getInsidepageUrl().equals(e.getInsidepageUrl())); - boolean b1 = buyHousesMemberList.stream().noneMatch(b -> b.getHomeRecordUrl().equals(e.getHomeRecordUrl())); - boolean b1 = buyHousesMemberList.stream().noneMatch(b -> b.getReverseUrl().equals(e.getReverseUrl()));*/ if (ObjectUtil.isNotNull(e.getFrontUrl())){ if (!buyHousesMemberList.stream().anyMatch(b -> e.getFrontUrl().equals(b.getFrontUrl()))){ list.add(new Long(e.getFrontUrl())); @@ -297,7 +293,8 @@ public class HousesReviewServiceImpl implements IHousesReviewService { */ @Override public R getMaterialInfo(HousesReviewBo bo) { - List materialInfo = materialModuleService.getMaterialInfo(bo); + Map map = BeanUtil.beanToMap(bo); + List materialInfo = materialModuleService.getMaterialInfo(map); return R.ok(materialInfo); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MaterialModuleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MaterialModuleServiceImpl.java index 3f8175521..c1bed6692 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MaterialModuleServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MaterialModuleServiceImpl.java @@ -126,8 +126,7 @@ public class MaterialModuleServiceImpl implements IMaterialModuleService { return R.ok(baseMapper.selectVoList(lqw)); } - public List getMaterialInfo(HousesReviewBo bo){ - Map map = BeanUtil.beanToMap(bo); + public List getMaterialInfo(Map map){ Set keys = map.keySet(); LambdaQueryWrapper eq = new LambdaQueryWrapper() .eq(MaterialTalents::getTalentsValue, map.get("processKey")); @@ -137,6 +136,9 @@ public class MaterialModuleServiceImpl implements IMaterialModuleService { .apply(DataBaseHelper.findInSet(materialTalentsVo.getId(), "selected")); List materialTalents = materialTalentsMapper.selectList(wrapper); ArrayList list = new ArrayList<>(); + if (ObjectUtil.isNotNull(materialTalentsVo.getMaterials())){ + list.add(materialTalentsVo.getMaterials()); + } for (MaterialTalents materialTalent : materialTalents) { if (keys.contains(materialTalent.getTalentsValue())){ //获取当前目录下的数据 @@ -149,13 +151,17 @@ public class MaterialModuleServiceImpl implements IMaterialModuleService { } } - List collect = list.stream().distinct().map(Long ::parseLong).collect(Collectors.toList()); + String join = String.join(",", list); + List strings = Arrays.asList(join.split(",")); + + List collect = strings.stream().distinct().map(Long ::parseLong).collect(Collectors.toList()); + List materialTalentsVos = baseMapper.selectVoBatchIds(collect); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(MaterialProof::getHouseId, bo.getId()); + .eq(MaterialProof::getHouseId, map.get("id")) + .eq(MaterialProof::getProcessKey,map.get("processKey")); List materialProofs = materialProofMapper.selectList(queryWrapper); - materialTalentsVos.forEach(e -> { materialProofs.forEach(m ->{ if (e.getId().toString().equals(m.getModulePathId())){ diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MaterialTalentsServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MaterialTalentsServiceImpl.java index 624ecff1c..32128e5df 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MaterialTalentsServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/MaterialTalentsServiceImpl.java @@ -62,18 +62,21 @@ public class MaterialTalentsServiceImpl implements IMaterialTalentsService { LambdaQueryWrapper wrapper = new LambdaQueryWrapper() .eq(MaterialTalents::getId, bo.getParentId()); MaterialTalents materialTalents = baseMapper.selectOne(wrapper); - String selected = materialTalents.getSelected(); - if (ObjectUtil.isNull(selected)){ - bo.setSelected(materialTalents.getId().toString()); - }else { - ArrayList list = new ArrayList<>(); - List strings = Arrays.asList(materialTalents.getSelected().split(",")); - list.addAll(strings); - list.add(materialTalents.getId().toString()); - String join = StringUtils.join(list, ","); - bo.setSelected(join); + if (!bo.getParentId().equals(0L)){ + String selected = materialTalents.getSelected(); + if (ObjectUtil.isNull(selected)){ + bo.setSelected(materialTalents.getId().toString()); + }else { + ArrayList list = new ArrayList<>(); + List strings = Arrays.asList(materialTalents.getSelected().split(",")); + list.addAll(strings); + list.add(materialTalents.getId().toString()); + String join = StringUtils.join(list, ","); + bo.setSelected(join); + } } } + MaterialTalents add = BeanUtil.toBean(bo, MaterialTalents.class); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; diff --git a/ruoyi-system/src/main/resources/mapper/system/BuyHouseCheckMapper.xml b/ruoyi-system/src/main/resources/mapper/system/BuyHouseCheckMapper.xml new file mode 100644 index 000000000..fa50bfbf2 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/BuyHouseCheckMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/resources/mapper/system/BuyHousesMapper.xml b/ruoyi-system/src/main/resources/mapper/system/BuyHousesMapper.xml new file mode 100644 index 000000000..86ecdf9be --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/BuyHousesMapper.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/resources/mapper/system/BuyHousesMemberMapper.xml b/ruoyi-system/src/main/resources/mapper/system/BuyHousesMemberMapper.xml new file mode 100644 index 000000000..714a292b8 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/BuyHousesMemberMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/resources/mapper/system/BuyHousesReviewMemberMapper.xml b/ruoyi-system/src/main/resources/mapper/system/BuyHousesReviewMemberMapper.xml new file mode 100644 index 000000000..b206c3cb1 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/BuyHousesReviewMemberMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/resources/mapper/system/HousesReviewMapper.xml b/ruoyi-system/src/main/resources/mapper/system/HousesReviewMapper.xml new file mode 100644 index 000000000..e7f154f65 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/HousesReviewMapper.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/resources/mapper/system/IWorkSysRoleService.xml b/ruoyi-system/src/main/resources/mapper/system/IWorkSysRoleService.xml deleted file mode 100644 index 983125b60..000000000 --- a/ruoyi-system/src/main/resources/mapper/system/IWorkSysRoleService.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/system/MaterialModuleMapper.xml b/ruoyi-system/src/main/resources/mapper/system/MaterialModuleMapper.xml new file mode 100644 index 000000000..eae5a748c --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/MaterialModuleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/resources/mapper/system/MaterialProofMapper.xml b/ruoyi-system/src/main/resources/mapper/system/MaterialProofMapper.xml new file mode 100644 index 000000000..acd1c4635 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/MaterialProofMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/resources/mapper/system/MaterialTalentsMapper.xml b/ruoyi-system/src/main/resources/mapper/system/MaterialTalentsMapper.xml new file mode 100644 index 000000000..8d64df500 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/MaterialTalentsMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-work/src/main/java/com/ruoyi/work/controller/WorkController.java b/ruoyi-work/src/main/java/com/ruoyi/work/controller/WorkController.java index 65e49b695..de54fef27 100644 --- a/ruoyi-work/src/main/java/com/ruoyi/work/controller/WorkController.java +++ b/ruoyi-work/src/main/java/com/ruoyi/work/controller/WorkController.java @@ -12,9 +12,11 @@ import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.work.domain.ActProcess; import com.ruoyi.work.domain.HisProcess; +import com.ruoyi.work.domain.RollBackLog; import com.ruoyi.work.domain.TProcess; import com.ruoyi.work.domain.vo.ProcessVo; import com.ruoyi.work.dto.BusinessDTO; +import com.ruoyi.work.dto.HisProcessVoResultDto; import com.ruoyi.work.dto.ProcessVoResultDto; import com.ruoyi.work.mapper.ProcessMapper; import com.ruoyi.work.utils.WorkComplyUtils; @@ -84,7 +86,7 @@ public class WorkController extends BaseController { */ @Log(title = "获取可退回步骤",businessType = BusinessType.OTHER) @PostMapping("/getStep") - public void getStep(@RequestBody BusinessDTO businessDTO){ + public R getStep(@RequestBody BusinessDTO businessDTO){ LambdaQueryWrapper wrapper = new LambdaQueryWrapper() .eq(TProcess::getProcessKey, businessDTO.getProcessKey()); List tProcesses = processMapper.selectList(wrapper); @@ -93,7 +95,8 @@ public class WorkController extends BaseController { } Map map = WorkUtils.getInfoToMap(tProcesses.get(0).getBean(),businessDTO.getBusinessId()); businessDTO.setParams(map); - WorkComplyUtils.getStep(businessDTO); + List step = WorkComplyUtils.getStep(businessDTO); + return R.ok(step); } @@ -155,5 +158,13 @@ public class WorkController extends BaseController { return WorkComplyUtils.getAuditLogListByOtherId(businessDTO); } + + @Log(title = "回退",businessType = BusinessType.OTHER) + @PostMapping("/rollBackLog") + public R rollBackLog(@RequestBody RollBackLog rollBackLog){ + return toAjax(WorkComplyUtils.rollBack(rollBackLog)); + } + + } diff --git a/ruoyi-work/src/main/java/com/ruoyi/work/domain/HisProcess.java b/ruoyi-work/src/main/java/com/ruoyi/work/domain/HisProcess.java index 57ab5773e..4ae188246 100644 --- a/ruoyi-work/src/main/java/com/ruoyi/work/domain/HisProcess.java +++ b/ruoyi-work/src/main/java/com/ruoyi/work/domain/HisProcess.java @@ -47,7 +47,6 @@ public class HisProcess{ */ private String status; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; @@ -57,7 +56,6 @@ public class HisProcess{ @TableField(exist = false) private Map params; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; private String step; @@ -66,17 +64,22 @@ public class HisProcess{ private String startUser; + @TableField(exist = false) private String userId; + @TableField(exist = false) private String roleId; + @TableField(exist = false) private String deptId; + @TableField(exist = false) private String companyUserId; /** * 相隔时间差 */ + @TableField(exist = false) private String timeBetween; private String companyName; @@ -90,6 +93,12 @@ public class HisProcess{ @TableField(exist = false) private String bean; + @TableField(exist = false) + private String description; + + @TableField(exist = false) + private String audit1; + } diff --git a/ruoyi-work/src/main/java/com/ruoyi/work/domain/RollBackLog.java b/ruoyi-work/src/main/java/com/ruoyi/work/domain/RollBackLog.java index 3c636e976..4430ebf20 100644 --- a/ruoyi-work/src/main/java/com/ruoyi/work/domain/RollBackLog.java +++ b/ruoyi-work/src/main/java/com/ruoyi/work/domain/RollBackLog.java @@ -1,5 +1,6 @@ package com.ruoyi.work.domain; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.domain.BaseEntity; @@ -38,14 +39,19 @@ public class RollBackLog extends BaseEntity { */ private String param; + @TableField(exist = false) private String businessId; + @TableField(exist = false) private String step; + @TableField(exist = false) private String checked; + @TableField(exist = false) private String checkType; + @TableField(exist = false) private String audit; } diff --git a/ruoyi-work/src/main/java/com/ruoyi/work/domain/vo/HisProcessVo.java b/ruoyi-work/src/main/java/com/ruoyi/work/domain/vo/HisProcessVo.java index 63cfccef6..7aef867d0 100644 --- a/ruoyi-work/src/main/java/com/ruoyi/work/domain/vo/HisProcessVo.java +++ b/ruoyi-work/src/main/java/com/ruoyi/work/domain/vo/HisProcessVo.java @@ -71,10 +71,15 @@ public class HisProcessVo { private Date createTime; + private Date endTime; + private String startUser; @TableField(exist = false) private String bean; + @TableField(exist = false) + private String description; + } diff --git a/ruoyi-work/src/main/java/com/ruoyi/work/domain/vo/ProcessVo.java b/ruoyi-work/src/main/java/com/ruoyi/work/domain/vo/ProcessVo.java index e863ac1b8..85dbdf24e 100644 --- a/ruoyi-work/src/main/java/com/ruoyi/work/domain/vo/ProcessVo.java +++ b/ruoyi-work/src/main/java/com/ruoyi/work/domain/vo/ProcessVo.java @@ -104,6 +104,9 @@ public class ProcessVo { @TableField(exist = false) private String checked; + @TableField(exist = false) + private String audit1; + private String bean; private String description; diff --git a/ruoyi-work/src/main/java/com/ruoyi/work/dto/HisProcessVoResultDto.java b/ruoyi-work/src/main/java/com/ruoyi/work/dto/HisProcessVoResultDto.java index 2898cf7e0..84fe02cfe 100644 --- a/ruoyi-work/src/main/java/com/ruoyi/work/dto/HisProcessVoResultDto.java +++ b/ruoyi-work/src/main/java/com/ruoyi/work/dto/HisProcessVoResultDto.java @@ -1,5 +1,6 @@ package com.ruoyi.work.dto; +import com.ruoyi.work.domain.HisProcess; import com.ruoyi.work.domain.vo.HisProcessVo; import lombok.AllArgsConstructor; import lombok.Data; @@ -14,6 +15,6 @@ import java.util.List; @NoArgsConstructor public class HisProcessVoResultDto { private String step; - private List hisProcessVoList; + private List hisProcessVoList; } diff --git a/ruoyi-work/src/main/java/com/ruoyi/work/mapper/HisProcessMapper.java b/ruoyi-work/src/main/java/com/ruoyi/work/mapper/HisProcessMapper.java index 31ee1d393..82c6c581b 100644 --- a/ruoyi-work/src/main/java/com/ruoyi/work/mapper/HisProcessMapper.java +++ b/ruoyi-work/src/main/java/com/ruoyi/work/mapper/HisProcessMapper.java @@ -1,11 +1,17 @@ package com.ruoyi.work.mapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.mapper.BaseMapperPlus; import com.ruoyi.work.domain.HisProcess; import com.ruoyi.work.domain.vo.HisProcessVo; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * 历史运作Mapper接口 * @@ -16,4 +22,6 @@ public interface HisProcessMapper extends BaseMapperPlus selectVoListPage(@Param("page") Page page, @Param("hisProcess") HisProcess hisProcess); + List selectVoHisList( @Param(Constants.WRAPPER) Wrapper queryWrapper); + } diff --git a/ruoyi-work/src/main/java/com/ruoyi/work/utils/WorkComplyUtils.java b/ruoyi-work/src/main/java/com/ruoyi/work/utils/WorkComplyUtils.java index 0f10d1f83..ccfa42997 100644 --- a/ruoyi-work/src/main/java/com/ruoyi/work/utils/WorkComplyUtils.java +++ b/ruoyi-work/src/main/java/com/ruoyi/work/utils/WorkComplyUtils.java @@ -6,6 +6,7 @@ import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.constant.Constants; @@ -28,6 +29,7 @@ import com.ruoyi.work.domain.vo.ActProcessVo; import com.ruoyi.work.domain.vo.HisProcessVo; import com.ruoyi.work.domain.vo.ProcessVo; import com.ruoyi.work.dto.BusinessDTO; +import com.ruoyi.work.dto.HisProcessVoResultDto; import com.ruoyi.work.dto.ProcessVoResultDto; import com.ruoyi.work.mapper.*; import com.ruoyi.work.service.IWorkSysDeptService; @@ -323,7 +325,7 @@ public class WorkComplyUtils { * 先判断这条流程走到那一步了,可以撤回到那几步 */ - public static Map>getStep(BusinessDTO businessDTO){ + public static List getStep(BusinessDTO businessDTO){ //获取当前任务执行到那一步了 LambdaQueryWrapper lwq = new LambdaQueryWrapper<>(); lwq.eq(ActProcess::getBusinessId,businessDTO.getBusinessId()); @@ -337,46 +339,45 @@ public class WorkComplyUtils { if (!"1".equals(step)){ //获取历史表中在该业务流程步骤之前的人员数据,根据业务表的更新时间为节点 Object updateTime = businessDTO.getParams().get("updateTime"); - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(HisProcess::getBusinessId,businessDTO.getBusinessId()); - wrapper.ge(HisProcess::getStep,"1"); - wrapper.lt(HisProcess::getStep,step); - wrapper.ge(HisProcess::getCreateTime,updateTime); - wrapper.orderByAsc(HisProcess::getStep); - List hisProcessVos = hisProcessMapper.selectVoList(wrapper); - for (HisProcessVo hisProcessVo : hisProcessVos) { - if ("4".equals(hisProcessVo)){//企业 - String companyName = businessDTO.getParams().get("companyName").toString(); - hisProcessVo.setAudit(companyName); - }else{ - if ("1".equals(hisProcessVo.getCheckType())){//人才 - String username = LoginHelper.getUsername(); - hisProcessVo.setAudit1(username); - }else if ("2".equals(hisProcessVo.getCheckType())){//部门 - String deptName = LoginHelper.getLoginUser().getDeptName(); - hisProcessVo.setAudit1(deptName); - }else if ("3".equals(hisProcessVo.getCheckType())){//角色 - Long roleId = LoginHelper.getLoginUser().getRoleId(); - SysRole sysRole = sysRoleMapper.selectRoleById(roleId); - hisProcessVo.setAudit1(sysRole.getRoleName()); - }else if ("4".equals(hisProcessVo.getCheckType())){//公司 - hisProcessVo.setAudit1(hisProcessVo.getCompanyName()); - } + if (ObjectUtil.isNull(updateTime)){ + throw new ServiceException("updateTime不可为空"); + } + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("business_id",businessDTO.getBusinessId()); + wrapper.ge("h.step","1"); + wrapper.le("h.step",step); + wrapper.ge("h.create_time",updateTime); + wrapper.orderByAsc("h.step"); + List hisProcessVos = hisProcessMapper.selectVoHisList(wrapper); + for (HisProcess hisProcessVo : hisProcessVos) { + if ("4".equals(hisProcessVo.getCheckType())) {//企业审核 + hisProcessVo.setAudit1(hisProcessVo.getCompanyName()); + } else if ("1".equals(hisProcessVo.getCheckType())) { + //根据id获取人员信息 + SysUser sysUser = sysUserMapper.selectUserById(new Long(hisProcessVo.getAudit())); + hisProcessVo.setAudit1(sysUser.getUserName()); + } else if ("2".equals(hisProcessVo.getCheckType())) { + SysDept sysDept = sysDeptMapper.selectDeptById(new Long(hisProcessVo.getAudit())); + hisProcessVo.setAudit1(sysDept.getDeptName()); + } else if ("3".equals(hisProcessVo.getCheckType())) { + SysRole sysRole = sysRoleMapper.selectRoleById(new Long(hisProcessVo.getAudit())); + hisProcessVo.setAudit1(sysRole.getRoleName()); } } + //将每个步骤处理为单个对象 - Map> collect = hisProcessVos.stream().collect(Collectors.groupingBy(HisProcessVo::getStep)); - System.out.println("collect = " + collect); - /* List collect1 = collect.entrySet() + Map> collect = hisProcessVos.stream().collect(Collectors.groupingBy(HisProcess::getStep)); + List collect1 = collect.entrySet() .stream() .map(e -> new HisProcessVoResultDto(e.getKey(), e.getValue())) .collect(Collectors.toList()); collect1.forEach(e ->{ - String s = e.getHisProcessVoList().stream().map(ProcessVo::getDescription).collect(Collectors.toList()).get(0); + String s = e.getHisProcessVoList().stream().map(HisProcess::getDescription).collect(Collectors.toList()).get(0); e.setStep(s); - });*/ - return collect; + }); + System.out.println("collect = " + collect1); + return collect1; } } return null; diff --git a/ruoyi-work/src/main/resources/mapper/work/HisProcessMapper.xml b/ruoyi-work/src/main/resources/mapper/work/HisProcessMapper.xml index 55d7dc044..d7f01e123 100644 --- a/ruoyi-work/src/main/resources/mapper/work/HisProcessMapper.xml +++ b/ruoyi-work/src/main/resources/mapper/work/HisProcessMapper.xml @@ -43,6 +43,12 @@ ORDER BY d.end_time DESC +