Browse Source

入户走访改造+工作意见+问题反映+服务群众+安全宣传防范

wangtuohang@126.com 1 month ago
parent
commit
b2ccbc9c82
41 changed files with 1587 additions and 400 deletions
  1. 135 0
      src/main/java/org/springblade/modules/rhzf/aqxcff/controller/RhzfAqxcffController.java
  2. 50 0
      src/main/java/org/springblade/modules/rhzf/aqxcff/excel/RhzfAqxcffExcel.java
  3. 40 0
      src/main/java/org/springblade/modules/rhzf/aqxcff/mapper/RhzfAqxcffMapper.java
  4. 24 0
      src/main/java/org/springblade/modules/rhzf/aqxcff/mapper/RhzfAqxcffMapper.xml
  5. 18 0
      src/main/java/org/springblade/modules/rhzf/aqxcff/pojo/dto/RhzfAqxcffDTO.java
  6. 43 0
      src/main/java/org/springblade/modules/rhzf/aqxcff/pojo/entity/RhzfAqxcffEntity.java
  7. 18 0
      src/main/java/org/springblade/modules/rhzf/aqxcff/pojo/vo/RhzfAqxcffVO.java
  8. 38 0
      src/main/java/org/springblade/modules/rhzf/aqxcff/service/IRhzfAqxcffService.java
  9. 45 0
      src/main/java/org/springblade/modules/rhzf/aqxcff/service/impl/RhzfAqxcffServiceImpl.java
  10. 34 0
      src/main/java/org/springblade/modules/rhzf/aqxcff/wrapper/RhzfAqxcffWrapper.java
  11. 120 382
      src/main/java/org/springblade/modules/rhzf/fwInfo/controller/FwInfoController.java
  12. 6 1
      src/main/java/org/springblade/modules/rhzf/fwInfo/mapper/FwInfoMapper.java
  13. 45 0
      src/main/java/org/springblade/modules/rhzf/fwInfo/mapper/FwInfoMapper.xml
  14. 6 1
      src/main/java/org/springblade/modules/rhzf/fwInfo/service/IFwInfoService.java
  15. 16 2
      src/main/java/org/springblade/modules/rhzf/fwInfo/service/impl/FwInfoServiceImpl.java
  16. 30 0
      src/main/java/org/springblade/modules/rhzf/fwInfo/vo/RhzfHistoryVO.java
  17. 32 14
      src/main/java/org/springblade/modules/rhzf/fwInfo/vo/RhzfSaveVO.java
  18. 1 0
      src/main/java/org/springblade/modules/rhzf/fwqz/mapper/RhzfFwqzMapper.java
  19. 3 0
      src/main/java/org/springblade/modules/rhzf/fwqz/mapper/RhzfFwqzMapper.xml
  20. 1 0
      src/main/java/org/springblade/modules/rhzf/fwqz/service/IRhzfFwqzService.java
  21. 7 0
      src/main/java/org/springblade/modules/rhzf/fwqz/service/impl/RhzfFwqzServiceImpl.java
  22. 134 0
      src/main/java/org/springblade/modules/rhzf/gzyj/controller/RhzfGzyjController.java
  23. 44 0
      src/main/java/org/springblade/modules/rhzf/gzyj/excel/RhzfGzyjExcel.java
  24. 40 0
      src/main/java/org/springblade/modules/rhzf/gzyj/mapper/RhzfGzyjMapper.java
  25. 23 0
      src/main/java/org/springblade/modules/rhzf/gzyj/mapper/RhzfGzyjMapper.xml
  26. 18 0
      src/main/java/org/springblade/modules/rhzf/gzyj/pojo/dto/RhzfGzyjDTO.java
  27. 38 0
      src/main/java/org/springblade/modules/rhzf/gzyj/pojo/entity/RhzfGzyjEntity.java
  28. 18 0
      src/main/java/org/springblade/modules/rhzf/gzyj/pojo/vo/RhzfGzyjVO.java
  29. 38 0
      src/main/java/org/springblade/modules/rhzf/gzyj/service/IRhzfGzyjService.java
  30. 45 0
      src/main/java/org/springblade/modules/rhzf/gzyj/service/impl/RhzfGzyjServiceImpl.java
  31. 34 0
      src/main/java/org/springblade/modules/rhzf/gzyj/wrapper/RhzfGzyjWrapper.java
  32. 134 0
      src/main/java/org/springblade/modules/rhzf/wtfy/controller/RhzfWtfyController.java
  33. 50 0
      src/main/java/org/springblade/modules/rhzf/wtfy/excel/RhzfWtfyExcel.java
  34. 40 0
      src/main/java/org/springblade/modules/rhzf/wtfy/mapper/RhzfWtfyMapper.java
  35. 24 0
      src/main/java/org/springblade/modules/rhzf/wtfy/mapper/RhzfWtfyMapper.xml
  36. 18 0
      src/main/java/org/springblade/modules/rhzf/wtfy/pojo/dto/RhzfWtfyDTO.java
  37. 43 0
      src/main/java/org/springblade/modules/rhzf/wtfy/pojo/entity/RhzfWtfyEntity.java
  38. 18 0
      src/main/java/org/springblade/modules/rhzf/wtfy/pojo/vo/RhzfWtfyVO.java
  39. 38 0
      src/main/java/org/springblade/modules/rhzf/wtfy/service/IRhzfWtfyService.java
  40. 44 0
      src/main/java/org/springblade/modules/rhzf/wtfy/service/impl/RhzfWtfyServiceImpl.java
  41. 34 0
      src/main/java/org/springblade/modules/rhzf/wtfy/wrapper/RhzfWtfyWrapper.java

+ 135 - 0
src/main/java/org/springblade/modules/rhzf/aqxcff/controller/RhzfAqxcffController.java

@@ -0,0 +1,135 @@
+package org.springblade.modules.rhzf.aqxcff.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.excel.util.ExcelUtil;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.annotation.PreAuth;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.constant.RoleConstant;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.rhzf.aqxcff.excel.RhzfAqxcffExcel;
+import org.springblade.modules.rhzf.aqxcff.pojo.entity.RhzfAqxcffEntity;
+import org.springblade.modules.rhzf.aqxcff.pojo.vo.RhzfAqxcffVO;
+import org.springblade.modules.rhzf.aqxcff.service.IRhzfAqxcffService;
+import org.springblade.modules.rhzf.aqxcff.wrapper.RhzfAqxcffWrapper;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 入户走访_安全宣传防范 控制器
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/rhzfAqxcff")
+@Api(value = "入户走访_安全宣传防范", tags = "入户走访_安全宣传防范接口")
+public class RhzfAqxcffController extends BladeController {
+
+	private final IRhzfAqxcffService rhzfAqxcffService;
+
+	/**
+	 * 入户走访_安全宣传防范 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入rhzfAqxcff")
+	public R<RhzfAqxcffVO> detail(RhzfAqxcffEntity rhzfAqxcff) {
+		RhzfAqxcffEntity detail = rhzfAqxcffService.getOne(Condition.getQueryWrapper(rhzfAqxcff));
+		return R.data(RhzfAqxcffWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 入户走访_安全宣传防范 分页
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入rhzfAqxcff")
+	public R<IPage<RhzfAqxcffVO>> list(@RequestParam Map<String, Object> rhzfAqxcff, Query query) {
+		IPage<RhzfAqxcffEntity> pages = rhzfAqxcffService.page(Condition.getPage(query), Condition.getQueryWrapper(rhzfAqxcff, RhzfAqxcffEntity.class));
+		return R.data(RhzfAqxcffWrapper.build().pageVO(pages));
+	}
+
+	/**
+	 * 入户走访_安全宣传防范 自定义分页
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入rhzfAqxcff")
+	public R<IPage<RhzfAqxcffVO>> page(RhzfAqxcffVO rhzfAqxcff, Query query) {
+		IPage<RhzfAqxcffVO> pages = rhzfAqxcffService.selectRhzfAqxcffPage(Condition.getPage(query), rhzfAqxcff);
+		return R.data(pages);
+	}
+
+	/**
+	 * 入户走访_安全宣传防范 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入rhzfAqxcff")
+	public R save(@Valid @RequestBody RhzfAqxcffEntity rhzfAqxcff) {
+		return R.status(rhzfAqxcffService.save(rhzfAqxcff));
+	}
+
+	/**
+	 * 入户走访_安全宣传防范 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入rhzfAqxcff")
+	public R update(@Valid @RequestBody RhzfAqxcffEntity rhzfAqxcff) {
+		return R.status(rhzfAqxcffService.updateById(rhzfAqxcff));
+	}
+
+	/**
+	 * 入户走访_安全宣传防范 新增或修改
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入rhzfAqxcff")
+	public R submit(@Valid @RequestBody RhzfAqxcffEntity rhzfAqxcff) {
+		return R.status(rhzfAqxcffService.saveOrUpdate(rhzfAqxcff));
+	}
+
+	/**
+	 * 入户走访_安全宣传防范 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 7)
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public R remove(@RequestParam String ids) {
+		return R.status(rhzfAqxcffService.deleteLogic(Func.toLongList(ids)));
+	}
+
+	/**
+	 * 导出数据
+	 */
+	@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+	@GetMapping("/export-rhzfAqxcff")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "导出数据", notes = "传入rhzfAqxcff")
+	public void exportRhzfAqxcff(@RequestParam Map<String, Object> rhzfAqxcff, BladeUser bladeUser, HttpServletResponse response) {
+		QueryWrapper<RhzfAqxcffEntity> queryWrapper = Condition.getQueryWrapper(rhzfAqxcff, RhzfAqxcffEntity.class);
+		//if (!AuthUtil.isAdministrator()) {
+		//	queryWrapper.lambda().eq(RhzfAqxcffEntity::getTenantId, bladeUser.getTenantId());
+		//}
+		//queryWrapper.lambda().eq(RhzfAqxcffEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
+		List<RhzfAqxcffExcel> list = rhzfAqxcffService.exportRhzfAqxcff(queryWrapper);
+		ExcelUtil.export(response, "入户走访_安全宣传防范数据" + DateUtil.time(), "入户走访_安全宣传防范数据表", list, RhzfAqxcffExcel.class);
+	}
+
+}

+ 50 - 0
src/main/java/org/springblade/modules/rhzf/aqxcff/excel/RhzfAqxcffExcel.java

@@ -0,0 +1,50 @@
+package org.springblade.modules.rhzf.aqxcff.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 入户走访_安全宣传防范 Excel实体类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class RhzfAqxcffExcel implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 关联rhzf_fw_info表id
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("关联rhzf_fw_info表id")
+	private Long fwId;
+	/**
+	 * 地址编码
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("地址编码")
+	private String dzbm;
+	/**
+	 * 宣传内容
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("宣传内容")
+	private String xcnr;
+	/**
+	 * 附件
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("附件")
+	private String fj;
+
+}

+ 40 - 0
src/main/java/org/springblade/modules/rhzf/aqxcff/mapper/RhzfAqxcffMapper.java

@@ -0,0 +1,40 @@
+package org.springblade.modules.rhzf.aqxcff.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.rhzf.aqxcff.excel.RhzfAqxcffExcel;
+import org.springblade.modules.rhzf.aqxcff.pojo.entity.RhzfAqxcffEntity;
+import org.springblade.modules.rhzf.aqxcff.pojo.vo.RhzfAqxcffVO;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 入户走访_安全宣传防范 Mapper 接口
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+public interface RhzfAqxcffMapper extends BaseMapper<RhzfAqxcffEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page 分页参数
+	 * @param rhzfAqxcff 查询参数
+	 * @return List<RhzfAqxcffVO>
+	 */
+	List<RhzfAqxcffVO> selectRhzfAqxcffPage(IPage page, RhzfAqxcffVO rhzfAqxcff);
+
+	/**
+	 * 获取导出数据
+	 *
+	 * @param queryWrapper 查询条件
+	 * @return List<RhzfAqxcffExcel>
+	 */
+	List<RhzfAqxcffExcel> exportRhzfAqxcff(@Param("ew") Wrapper<RhzfAqxcffEntity> queryWrapper);
+
+	List<RhzfAqxcffEntity> getByDzbm(@Param("params") Map<String, Object> params);
+}

+ 24 - 0
src/main/java/org/springblade/modules/rhzf/aqxcff/mapper/RhzfAqxcffMapper.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.rhzf.aqxcff.mapper.RhzfAqxcffMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="rhzfAqxcffResultMap" type="org.springblade.modules.rhzf.aqxcff.pojo.entity.RhzfAqxcffEntity">
+        <result column="fw_id" property="fwId"/>
+        <result column="dzbm" property="dzbm"/>
+        <result column="xcnr" property="xcnr"/>
+        <result column="fj" property="fj"/>
+    </resultMap>
+
+    <select id="selectRhzfAqxcffPage" resultMap="rhzfAqxcffResultMap">
+        select * from rhzf_aqxcff where is_deleted = 0
+    </select>
+
+    <select id="exportRhzfAqxcff" resultType="org.springblade.modules.rhzf.aqxcff.excel.RhzfAqxcffExcel">
+        SELECT * FROM rhzf_aqxcff ${ew.customSqlSegment}
+    </select>
+
+    <select id="getByDzbm" resultType="org.springblade.modules.rhzf.aqxcff.pojo.entity.RhzfAqxcffEntity">
+        SELECT * FROM jdrh.rhzf_aqxcff WHERE is_deleted = 0 AND dzbm = #{params.dzbm} ORDER BY update_time DESC
+    </select>
+</mapper>

+ 18 - 0
src/main/java/org/springblade/modules/rhzf/aqxcff/pojo/dto/RhzfAqxcffDTO.java

@@ -0,0 +1,18 @@
+package org.springblade.modules.rhzf.aqxcff.pojo.dto;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.rhzf.aqxcff.pojo.entity.RhzfAqxcffEntity;
+
+/**
+ * 入户走访_安全宣传防范 数据传输对象实体类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RhzfAqxcffDTO extends RhzfAqxcffEntity {
+	private static final long serialVersionUID = 1L;
+
+}

+ 43 - 0
src/main/java/org/springblade/modules/rhzf/aqxcff/pojo/entity/RhzfAqxcffEntity.java

@@ -0,0 +1,43 @@
+package org.springblade.modules.rhzf.aqxcff.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+/**
+ * 入户走访_安全宣传防范 实体类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@Data
+@TableName("jdrh.rhzf_aqxcff")
+@EqualsAndHashCode(callSuper = true)
+public class RhzfAqxcffEntity extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 关联rhzf_fw_info表id
+	 */
+	@ApiModelProperty(value = "关联rhzf_fw_info表id")
+	private Long fwId;
+	/**
+	 * 地址编码
+	 */
+	@ApiModelProperty(value = "地址编码")
+	private String dzbm;
+	/**
+	 * 宣传内容
+	 */
+	@ApiModelProperty(value = "宣传内容")
+	private String xcnr;
+	/**
+	 * 附件
+	 */
+	@ApiModelProperty(value = "附件")
+	private String fj;
+
+}

+ 18 - 0
src/main/java/org/springblade/modules/rhzf/aqxcff/pojo/vo/RhzfAqxcffVO.java

@@ -0,0 +1,18 @@
+package org.springblade.modules.rhzf.aqxcff.pojo.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.rhzf.aqxcff.pojo.entity.RhzfAqxcffEntity;
+
+/**
+ * 入户走访_安全宣传防范 视图实体类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RhzfAqxcffVO extends RhzfAqxcffEntity {
+	private static final long serialVersionUID = 1L;
+
+}

+ 38 - 0
src/main/java/org/springblade/modules/rhzf/aqxcff/service/IRhzfAqxcffService.java

@@ -0,0 +1,38 @@
+package org.springblade.modules.rhzf.aqxcff.service;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.modules.rhzf.aqxcff.excel.RhzfAqxcffExcel;
+import org.springblade.modules.rhzf.aqxcff.pojo.entity.RhzfAqxcffEntity;
+import org.springblade.modules.rhzf.aqxcff.pojo.vo.RhzfAqxcffVO;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 入户走访_安全宣传防范 服务类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+public interface IRhzfAqxcffService extends BaseService<RhzfAqxcffEntity> {
+	/**
+	 * 自定义分页
+	 *
+	 * @param page       分页参数
+	 * @param rhzfAqxcff 查询参数
+	 * @return IPage<RhzfAqxcffVO>
+	 */
+	IPage<RhzfAqxcffVO> selectRhzfAqxcffPage(IPage<RhzfAqxcffVO> page, RhzfAqxcffVO rhzfAqxcff);
+
+	/**
+	 * 导出数据
+	 *
+	 * @param queryWrapper 查询条件
+	 * @return List<RhzfAqxcffExcel>
+	 */
+	List<RhzfAqxcffExcel> exportRhzfAqxcff(Wrapper<RhzfAqxcffEntity> queryWrapper);
+
+	List<RhzfAqxcffEntity> getByDzbm(Map<String, Object> params);
+}

+ 45 - 0
src/main/java/org/springblade/modules/rhzf/aqxcff/service/impl/RhzfAqxcffServiceImpl.java

@@ -0,0 +1,45 @@
+package org.springblade.modules.rhzf.aqxcff.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.rhzf.aqxcff.excel.RhzfAqxcffExcel;
+import org.springblade.modules.rhzf.aqxcff.mapper.RhzfAqxcffMapper;
+import org.springblade.modules.rhzf.aqxcff.pojo.entity.RhzfAqxcffEntity;
+import org.springblade.modules.rhzf.aqxcff.pojo.vo.RhzfAqxcffVO;
+import org.springblade.modules.rhzf.aqxcff.service.IRhzfAqxcffService;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 入户走访_安全宣传防范 服务实现类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@Service
+public class RhzfAqxcffServiceImpl extends BaseServiceImpl<RhzfAqxcffMapper, RhzfAqxcffEntity> implements IRhzfAqxcffService {
+
+	@Override
+	public IPage<RhzfAqxcffVO> selectRhzfAqxcffPage(IPage<RhzfAqxcffVO> page, RhzfAqxcffVO rhzfAqxcff) {
+		return page.setRecords(baseMapper.selectRhzfAqxcffPage(page, rhzfAqxcff));
+	}
+
+	@Override
+	public List<RhzfAqxcffExcel> exportRhzfAqxcff(Wrapper<RhzfAqxcffEntity> queryWrapper) {
+		List<RhzfAqxcffExcel> rhzfAqxcffList = baseMapper.exportRhzfAqxcff(queryWrapper);
+		//rhzfAqxcffList.forEach(rhzfAqxcff -> {
+		//	rhzfAqxcff.setTypeName(DictCache.getValue(DictEnum.YES_NO, RhzfAqxcffEntity.getType()));
+		//});
+		return rhzfAqxcffList;
+	}
+
+	@Override
+	public List<RhzfAqxcffEntity> getByDzbm(Map<String, Object> params) {
+		return baseMapper.getByDzbm(params);
+	}
+
+}

+ 34 - 0
src/main/java/org/springblade/modules/rhzf/aqxcff/wrapper/RhzfAqxcffWrapper.java

@@ -0,0 +1,34 @@
+package org.springblade.modules.rhzf.aqxcff.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.rhzf.aqxcff.pojo.entity.RhzfAqxcffEntity;
+import org.springblade.modules.rhzf.aqxcff.pojo.vo.RhzfAqxcffVO;
+
+import java.util.Objects;
+
+/**
+ * 入户走访_安全宣传防范 包装类,返回视图层所需的字段
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+public class RhzfAqxcffWrapper extends BaseEntityWrapper<RhzfAqxcffEntity, RhzfAqxcffVO> {
+
+	public static RhzfAqxcffWrapper build() {
+		return new RhzfAqxcffWrapper();
+	}
+
+	@Override
+	public RhzfAqxcffVO entityVO(RhzfAqxcffEntity rhzfAqxcff) {
+		RhzfAqxcffVO rhzfAqxcffVO = Objects.requireNonNull(BeanUtil.copyProperties(rhzfAqxcff, RhzfAqxcffVO.class));
+
+		//User createUser = UserCache.getUser(rhzfAqxcff.getCreateUser());
+		//User updateUser = UserCache.getUser(rhzfAqxcff.getUpdateUser());
+		//rhzfAqxcffVO.setCreateUserName(createUser.getName());
+		//rhzfAqxcffVO.setUpdateUserName(updateUser.getName());
+
+		return rhzfAqxcffVO;
+	}
+
+}

+ 120 - 382
src/main/java/org/springblade/modules/rhzf/fwInfo/controller/FwInfoController.java

@@ -55,12 +55,13 @@ import org.springblade.modules.mdjfdj.entity.MdjfDjEntity;
 import org.springblade.modules.mdjfdj.service.IMdjfDjService;
 import org.springblade.modules.mdjfry.entity.MdjfRyEntity;
 import org.springblade.modules.mdjfry.service.IMdjfRyService;
+import org.springblade.modules.rhzf.aqxcff.pojo.entity.RhzfAqxcffEntity;
+import org.springblade.modules.rhzf.aqxcff.service.IRhzfAqxcffService;
 import org.springblade.modules.rhzf.fwFz.entity.FwFzEntity;
 import org.springblade.modules.rhzf.fwFz.service.IFwFzService;
 import org.springblade.modules.rhzf.fwInfo.entity.FwInfoEntity;
 import org.springblade.modules.rhzf.fwInfo.entity.Fwccjgb;
 import org.springblade.modules.rhzf.fwInfo.entity.HcbdEntity;
-import org.springblade.modules.rhzf.fwInfo.excel.ExportFwRyExcel;
 import org.springblade.modules.rhzf.fwInfo.excel.FwInfoExcel;
 import org.springblade.modules.rhzf.fwInfo.excel.HcbdExcel;
 import org.springblade.modules.rhzf.fwInfo.excel.HcbdsExcel;
@@ -74,7 +75,10 @@ import org.springblade.modules.rhzf.fwInfo.wrapper.FwInfoWrapper;
 import org.springblade.modules.rhzf.fwRy.entity.FwRyEntity;
 import org.springblade.modules.rhzf.fwRy.service.IFwRyService;
 import org.springblade.modules.rhzf.fwRy.vo.FwRyVO;
+import org.springblade.modules.rhzf.fwqz.pojo.entity.RhzfFwqzEntity;
 import org.springblade.modules.rhzf.fwqz.service.IRhzfFwqzService;
+import org.springblade.modules.rhzf.gzyj.pojo.entity.RhzfGzyjEntity;
+import org.springblade.modules.rhzf.gzyj.service.IRhzfGzyjService;
 import org.springblade.modules.rhzf.jxcs.entity.JxcsEntity;
 import org.springblade.modules.rhzf.jxcs.service.IJxcsService;
 import org.springblade.modules.rhzf.jxcs.vo.JxcsVO;
@@ -88,9 +92,10 @@ import org.springblade.modules.rhzf.ryWlrk.entity.RyWlrkEntity;
 import org.springblade.modules.rhzf.ryWlrk.service.IRyWlrkService;
 import org.springblade.modules.rhzf.ryZzrk.entity.RyZzrkEntity;
 import org.springblade.modules.rhzf.ryZzrk.service.IRyZzrkService;
+import org.springblade.modules.rhzf.wtfy.pojo.entity.RhzfWtfyEntity;
+import org.springblade.modules.rhzf.wtfy.service.IRhzfWtfyService;
 import org.springblade.modules.system.entity.Dept;
 import org.springblade.modules.system.entity.User;
-import org.springblade.modules.system.excel.DeptExcel;
 import org.springblade.modules.system.service.IDeptService;
 import org.springblade.modules.system.service.IDictBizService;
 import org.springblade.modules.system.service.IRegionService;
@@ -149,6 +154,12 @@ public class FwInfoController extends BladeController {
 
 	private final IRhzfFwqzService fwqzService;
 
+	private final IRhzfGzyjService gzyjService;
+
+	private final IRhzfWtfyService wtfyService;
+
+	private final IRhzfAqxcffService aqxcffService;
+
 	private final IDictBizService dictService;
 
 	private final IRegionService regionService;
@@ -238,6 +249,16 @@ public class FwInfoController extends BladeController {
 	}
 
 	/**
+	 * 入户走访_走访历史
+	 */
+	@GetMapping("/history")
+	public R history(@RequestParam Map<String, Object> params, Query query) {
+		params.put("deptId", AuthUtil.getDeptId());
+		IPage<RhzfHistoryVO> pages = fwInfoService.history(Condition.getPage(query), params);
+		return R.data(pages);
+	}
+
+	/**
 	 * 入户走访_房屋_基本信息 新增
 	 */
 	@PostMapping("/save")
@@ -492,121 +513,45 @@ public class FwInfoController extends BladeController {
 			// 房主列表
 			FwFzEntity fz = fwFzService.getFzList(params);
 			rhzfSaveVO.setFzInfo(fz);
+			// 实有人口列表
+			List<SyjzryVO> syjzryList = new ArrayList<>();
+			List<FwRyVO> ryList = fwInfoService.getRyList(params);
+			for (FwRyVO fwRyVO : ryList) {
+				SyjzryVO syjzryVO = new SyjzryVO();
+				params.put("ryId", fwRyVO.getRyId());
+				if (fwRyVO.getRyType().equals("czrk")) {
+					syjzryVO = fwInfoService.getCzrk(params);
+				} else if (fwRyVO.getRyType().equals("jwrk")) {
+					syjzryVO = fwInfoService.getJwrk(params);
+					syjzryVO.setRyYwm(syjzryVO.getRyMz());
+				} else if (fwRyVO.getRyType().equals("jzrk")) {
+					syjzryVO = fwInfoService.getJzrk(params);
+				} else if (fwRyVO.getRyType().equals("wlrk")) {
+					syjzryVO = fwInfoService.getWlrk(params);
+				} else if (fwRyVO.getRyType().equals("zzrk")) {
+					syjzryVO = fwInfoService.getZzrk(params);
+				}
+				syjzryList.add(syjzryVO);
+			}
+			rhzfSaveVO.setSyjzryList(syjzryList);
 			// 九小场所列表
 			List<JxcsVO> jxcsList = jxcsService.getJxcsList(params);
 			rhzfSaveVO.setJxcsList(jxcsList);
+			// 工作意见
+			List<RhzfGzyjEntity> gzyjHistory = gzyjService.getByDzbm(params);
+			rhzfSaveVO.setGzyjHistory(gzyjHistory);
+			// 问题反映
+			List<RhzfWtfyEntity> wtfyHistory = wtfyService.getByDzbm(params);
+			rhzfSaveVO.setWtfyHistory(wtfyHistory);
+			// 服务群众
+			List<RhzfFwqzEntity> fwqzHistory = fwqzService.getByDzbm(params);
+			rhzfSaveVO.setFwqzHistory(fwqzHistory);
+			// 安全宣传防范
+			List<RhzfAqxcffEntity> aqxcffHistory = aqxcffService.getByDzbm(params);
+			rhzfSaveVO.setAqxcffHistory(aqxcffHistory);
 		} else {
 			rhzfSaveVO = new RhzfSaveVO();
 		}
-		// 根据dzbm 查rhzf_fw_info是否已有数据
-		FwInfoEntity fwInfo = new FwInfoEntity();
-		fwInfo.setDzbm(params.get("dzbm").toString());
-		FwInfoEntity oldRecord = fwInfoService.getFwIsExist(fwInfo);
-		List<SyjzryVO> syjzryList2 = new ArrayList<>();
-//		if (null == params.get("id") || StringUtils.isBlank(params.get("id").toString())) {
-		if (null == oldRecord) {
-			// 如果房屋之前没有走访过,从三实平台回显人员列表
-			List<SyjzryVO> syjzryList = fwRyService.getSyrkList(params);
-			try {
-				// 保存五类人到五张人员表
-				for (SyjzryVO syjzryVO : syjzryList) {
-					Long ryId = 0L;
-					int num = fwRyService.getCountByRyXlh(syjzryVO.getRyjbxxxlh());
-					if (syjzryVO.getRyType().equals("1")) {
-						// 常口
-						syjzryVO.setRyType("czrk");
-						RyCzrkEntity czrkEntity = new RyCzrkEntity();
-						BeanUtil.copy(syjzryVO, czrkEntity);
-						czrkEntity.setFwId(rhzfSaveVO.getId());
-						czrkEntity.setDzbm(params.get("dzbm").toString());
-						czrkEntity.setRyMzDm(dictService.getKey("mz", czrkEntity.getRyMz()));
-						if (num == 0) {
-							czrkService.save(czrkEntity);
-							ryId = czrkEntity.getId();
-						}
-					} else if (syjzryVO.getRyType().equals("2")) {
-						// 暂住人口
-						syjzryVO.setRyType("zzrk");
-						RyZzrkEntity zzrkEntity = new RyZzrkEntity();
-						BeanUtil.copy(syjzryVO, zzrkEntity);
-						zzrkEntity.setFwId(rhzfSaveVO.getId());
-						zzrkEntity.setDzbm(params.get("dzbm").toString());
-						zzrkEntity.setRyMzDm(dictService.getKey("mz", zzrkEntity.getRyMz()));
-						if (num == 0) {
-							zzrkService.save(zzrkEntity);
-							ryId = zzrkEntity.getId();
-						}
-					} else if (syjzryVO.getRyType().equals("3")) {
-						// 未落
-						syjzryVO.setRyType("wlrk");
-						RyWlrkEntity wlrkEntity = new RyWlrkEntity();
-						BeanUtil.copy(syjzryVO, wlrkEntity);
-						wlrkEntity.setFwId(rhzfSaveVO.getId());
-						wlrkEntity.setDzbm(params.get("dzbm").toString());
-						wlrkEntity.setRyMzDm(dictService.getKey("mz", wlrkEntity.getRyMz()));
-						if (num == 0) {
-							wlrkService.save(wlrkEntity);
-							ryId = wlrkEntity.getId();
-						}
-					} else if (syjzryVO.getRyType().equals("4")) {
-						// 境外
-						syjzryVO.setRyType("jwrk");
-						RyJwrkEntity jwrkEntity = new RyJwrkEntity();
-						BeanUtil.copy(syjzryVO, jwrkEntity);
-						jwrkEntity.setFwId(rhzfSaveVO.getId());
-						jwrkEntity.setRyMz(syjzryVO.getRyXm());
-						jwrkEntity.setDzbm(params.get("dzbm").toString());
-						if (num == 0) {
-							jwrkService.save(jwrkEntity);
-							ryId = jwrkEntity.getId();
-						}
-					} else if (syjzryVO.getRyType().equals("5")) {
-						// 寄住
-						syjzryVO.setRyType("jzrk");
-						RyJzrkEntity jzrkEntity = new RyJzrkEntity();
-						BeanUtil.copy(syjzryVO, jzrkEntity);
-						jzrkEntity.setFwId(rhzfSaveVO.getId());
-						jzrkEntity.setDzbm(params.get("dzbm").toString());
-						jzrkEntity.setRyMzDm(dictService.getKey("mz", jzrkEntity.getRyMz()));
-						if (num == 0) {
-							jzrkService.save(jzrkEntity);
-							ryId = jzrkEntity.getId();
-						}
-					}
-					// 保存到房屋-人员关系表
-					if (num == 0) {
-						FwRyEntity fwRyEntity = new FwRyEntity();
-						fwRyEntity.setFwId(rhzfSaveVO.getId());
-						fwRyEntity.setRyId(ryId);
-						fwRyEntity.setRyType(syjzryVO.getRyType());
-						fwRyEntity.setRyjbxxxlh(syjzryVO.getRyjbxxxlh());
-						fwRyEntity.setDzbm(params.get("dzbm").toString());
-						fwRyService.save(fwRyEntity);
-					}
-				}
-			} catch (Exception e) {
-				log.error("yhjh==" + AuthUtil.getUserAccount() + " || ldphxlh==" + params.get("ldphxlh").toString() + " || dzbm==" + params.get("dzbm").toString() + ",人口列表无数据");
-			}
-		}
-		List<FwRyVO> ryList = fwInfoService.getRyList(params);
-		for (FwRyVO fwRyVO : ryList) {
-			SyjzryVO syjzryVO = new SyjzryVO();
-			params.put("ryId", fwRyVO.getRyId());
-			if (fwRyVO.getRyType().equals("czrk")) {
-				syjzryVO = fwInfoService.getCzrk(params);
-			} else if (fwRyVO.getRyType().equals("jwrk")) {
-				syjzryVO = fwInfoService.getJwrk(params);
-				syjzryVO.setRyYwm(syjzryVO.getRyMz());
-			} else if (fwRyVO.getRyType().equals("jzrk")) {
-				syjzryVO = fwInfoService.getJzrk(params);
-			} else if (fwRyVO.getRyType().equals("wlrk")) {
-				syjzryVO = fwInfoService.getWlrk(params);
-			} else if (fwRyVO.getRyType().equals("zzrk")) {
-				syjzryVO = fwInfoService.getZzrk(params);
-			}
-			syjzryList2.add(syjzryVO);
-		}
-		rhzfSaveVO.setSyjzryList(syjzryList2);
 		return R.data(rhzfSaveVO);
 	}
 
@@ -660,16 +605,9 @@ public class FwInfoController extends BladeController {
 				return R.fail("上传失败,提交的数据中不能只有空格");
 			}
 		}
-		Dept sq = deptService.getById(Long.valueOf(AuthUtil.getDeptId().split(",")[0]));
-		if (rhzfSaveVO.getFwSyyt().equals("空房")) {
+		if (null != rhzfSaveVO.getFwSyyt() && rhzfSaveVO.getFwSyyt().equals("空房")) {
 			int kfTotal = dictService.getKfsl();
 			int kfsl = fwInfoService.getKfsl(AuthUtil.getUserId());
-			if (sq.getAncestors().contains("220105290000") || sq.getAncestors().contains("220105330000")) {
-				kfTotal = 25;
-			}
-			if (AuthUtil.getUserId().equals(1678286861087535105L)) {
-				kfTotal = 99;
-			}
 			if (kfsl >= kfTotal) {
 				return R.fail("今日空房登记户数已达上限(" + kfTotal + "户),辛苦了!");
 			}
@@ -682,276 +620,52 @@ public class FwInfoController extends BladeController {
 				return R.fail("今日非空房登记户数已达上限(" + total + "户),辛苦了!");
 			}
 		}
-		Long mjId = rhzfSaveVO.getMjId();
-		// 先保存房屋信息
+		// 保存房屋信息
 		FwInfoEntity fwInfo = new FwInfoEntity();
 		BeanUtil.copy(rhzfSaveVO, fwInfo);
+		Long mjId = rhzfSaveVO.getMjId();
 		// 根据dzbm 查rhzf_fw_info是否已有数据
 		FwInfoEntity oldRecord = fwInfoService.getFwIsExist(fwInfo);
-		if (null == oldRecord) {
-			fwInfo.setTimes(1);
-			fwInfo.setMjId(mjId);
-			fwInfoService.save(fwInfo);
-			// 向吉林数据库插入
-			if (sq.getAncestors().contains("220200000000")) {
-				fwInfoService.saveToJl(fwInfo);
-			}
-		} else {
-			// 先更新
-			fwInfo.setId(oldRecord.getId());
-			fwInfo.setTimes(oldRecord.getTimes() + 1);
-			fwInfoService.updateById(fwInfo);
-			// 向吉林数据库更新
-			if (sq.getAncestors().contains("220200000000")) {
-				fwInfoService.updateByIdToJl(fwInfo);
+		if (StringUtils.isNotBlank(rhzfSaveVO.getFwSyyt())) {
+			if (null == oldRecord) {
+				fwInfo.setTimes(1);
+				fwInfo.setMjId(mjId);
+				fwInfoService.save(fwInfo);
+			} else {
+				// 先更新
+				fwInfo.setId(oldRecord.getId());
+				fwInfo.setTimes(oldRecord.getTimes() + 1);
+				fwInfoService.updateById(fwInfo);
 			}
+			// 保存房屋操作记录
+			RhzfFwEntity fwLogEntity = new RhzfFwEntity();
+			BeanUtil.copy(fwInfo, fwLogEntity);
+			fwLogEntity.setMjId(mjId);
+			fwLogService.save(fwLogEntity);
 		}
-		// 保存房屋操作记录
-		RhzfFwEntity fwLogEntity = new RhzfFwEntity();
-		BeanUtil.copy(fwInfo, fwLogEntity);
-		fwLogEntity.setMjId(mjId);
-		fwLogService.save(fwLogEntity);
 		// 保存房主信息
-		if (null == oldRecord) {
-			rhzfSaveVO.getFzInfo().setFwId(fwInfo.getId());
-			rhzfSaveVO.getFzInfo().setMjId(mjId);
-			fwFzService.save(rhzfSaveVO.getFzInfo());
-			// 向吉林数据库插入
-			if (sq.getAncestors().contains("220200000000")) {
-				fwFzService.saveToJl(rhzfSaveVO.getFzInfo());
-			}
-		} else if (null != rhzfSaveVO.getFzInfo()) {
-			rhzfSaveVO.getFzInfo().setFwId(fwInfo.getId());
-			fwFzService.updateFzByFwId(rhzfSaveVO.getFzInfo());
-			// 向吉林数据库更新
-			if (sq.getAncestors().contains("220200000000")) {
-				fwFzService.updateFzByFwIdToJl(rhzfSaveVO.getFzInfo());
-			}
-		}
-		// 保存房主操作记录
-		RhzfFzEntity fzLogEntity = new RhzfFzEntity();
-		BeanUtil.copy(rhzfSaveVO.getFzInfo(), fzLogEntity);
-		fzLogEntity.setMjId(mjId);
-		fzLogService.save(fzLogEntity);
-		// 保存实有居住人员信息
-		if (null != rhzfSaveVO.getSyjzryList() && !rhzfSaveVO.getSyjzryList().isEmpty()) {
-			for (SyjzryVO syjzryVO : rhzfSaveVO.getSyjzryList()) {
-				if (syjzryVO.getIsDeleted() != 1 && !syjzryVO.getRyType().equals("jwrk") && StringUtils.isBlank(syjzryVO.getRySfzh())) {
-					return R.fail("请填写身份证号");
-				}
-				Long fwId = fwInfo.getId();
-				Long ryId = 0L;
-				int type = 1; // 1=新增 2=修改 3=删除
-				if (syjzryVO.getRyType().equals("czrk")) {
-					// 常住人口
-					RyCzrkEntity czrkEntity = new RyCzrkEntity();
-					BeanUtil.copy(syjzryVO, czrkEntity);
-					czrkEntity.setFwId(fwId);
-					czrkEntity.setDzbm(rhzfSaveVO.getDzbm());
-					if (null == czrkEntity.getId()) {
-						czrkEntity.setMjId(mjId);
-						czrkService.save(czrkEntity);
-						// 向吉林数据库插入
-						if (sq.getAncestors().contains("220200000000")) {
-							czrkService.saveToJl(czrkEntity);
-						}
-					} else if (czrkEntity.getIsDeleted() == 0) {
-						czrkService.updateById(czrkEntity);
-						// 向吉林数据库更新
-						if (sq.getAncestors().contains("220200000000")) {
-							czrkService.updateByIdToJl(czrkEntity);
-						}
-						type = 2;
-					} else if (czrkEntity.getIsDeleted() == 1) {
-						czrkEntity.setZxrq(sdf.format(new Date()));
-						czrkService.czrkZx(czrkEntity);
-						// 向吉林数据库更新
-						if (sq.getAncestors().contains("220200000000")) {
-							czrkService.czrkZxToJl(czrkEntity);
-						}
-						type = 3;
-					}
-					ryId = czrkEntity.getId();
-					RhzfCzrkEntity czrkLogEntity = new RhzfCzrkEntity();
-					BeanUtil.copy(czrkEntity, czrkLogEntity);
-					czrkLogEntity.setMjId(mjId);
-					czrkLogService.save(czrkLogEntity);
-				} else if (syjzryVO.getRyType().equals("jwrk")) {
-					// 境外人口
-					RyJwrkEntity jwrkEntity = new RyJwrkEntity();
-					BeanUtil.copy(syjzryVO, jwrkEntity);
-					jwrkEntity.setFwId(fwId);
-					jwrkEntity.setRyMz(syjzryVO.getRyYwm());
-					jwrkEntity.setDzbm(rhzfSaveVO.getDzbm());
-					if (null == jwrkEntity.getId()) {
-						jwrkEntity.setMjId(mjId);
-						jwrkService.save(jwrkEntity);
-						// 向吉林数据库插入
-						if (sq.getAncestors().contains("220200000000")) {
-							jwrkService.saveToJl(jwrkEntity);
-						}
-					} else if (jwrkEntity.getIsDeleted() == 0) {
-						jwrkService.updateById(jwrkEntity);
-						// 向吉林数据库更新
-						if (sq.getAncestors().contains("220200000000")) {
-							jwrkService.updateByIdToJl(jwrkEntity);
-						}
-						type = 2;
-					} else if (jwrkEntity.getIsDeleted() == 1) {
-						jwrkEntity.setZxrq(sdf.format(new Date()));
-						jwrkService.jwrkZx(jwrkEntity);
-						// 向吉林数据库更新
-						if (sq.getAncestors().contains("220200000000")) {
-							jwrkService.jwrkZxToJl(jwrkEntity);
-						}
-						type = 3;
-					}
-					ryId = jwrkEntity.getId();
-					RhzfJwrkEntity jwrkLogEntity = new RhzfJwrkEntity();
-					BeanUtil.copy(jwrkEntity, jwrkLogEntity);
-					jwrkLogEntity.setMjId(mjId);
-					jwrkLogService.save(jwrkLogEntity);
-				} else if (syjzryVO.getRyType().equals("jzrk")) {
-					// 寄住人口
-					RyJzrkEntity jzrkEntity = new RyJzrkEntity();
-					BeanUtil.copy(syjzryVO, jzrkEntity);
-					jzrkEntity.setFwId(fwId);
-					jzrkEntity.setDzbm(rhzfSaveVO.getDzbm());
-					if (null == jzrkEntity.getId()) {
-						jzrkEntity.setMjId(mjId);
-						jzrkService.save(jzrkEntity);
-						// 向吉林数据库插入
-						if (sq.getAncestors().contains("220200000000")) {
-							jzrkService.saveToJl(jzrkEntity);
-						}
-					} else if (jzrkEntity.getIsDeleted() == 0) {
-						jzrkService.updateById(jzrkEntity);
-						// 向吉林数据库更新
-						if (sq.getAncestors().contains("220200000000")) {
-							jzrkService.updateByIdToJl(jzrkEntity);
-						}
-						type = 2;
-					} else if (jzrkEntity.getIsDeleted() == 1) {
-						jzrkEntity.setZxrq(sdf.format(new Date()));
-						jzrkService.jzrkZx(jzrkEntity);
-						// 向吉林数据库更新
-						if (sq.getAncestors().contains("220200000000")) {
-							jzrkService.jzrkZxToJl(jzrkEntity);
-						}
-						type = 3;
-					}
-					ryId = jzrkEntity.getId();
-					RhzfJzrkEntity jzrkLogEntity = new RhzfJzrkEntity();
-					BeanUtil.copy(jzrkEntity, jzrkLogEntity);
-					jzrkLogEntity.setMjId(mjId);
-					jzrkLogService.save(jzrkLogEntity);
-				} else if (syjzryVO.getRyType().equals("wlrk")) {
-					// 未落常口
-					RyWlrkEntity wlrkEntity = new RyWlrkEntity();
-					BeanUtil.copy(syjzryVO, wlrkEntity);
-					wlrkEntity.setFwId(fwId);
-					wlrkEntity.setDzbm(rhzfSaveVO.getDzbm());
-					if (null == wlrkEntity.getId()) {
-						wlrkEntity.setMjId(mjId);
-						wlrkService.save(wlrkEntity);
-						// 向吉林数据库插入
-						if (sq.getAncestors().contains("220200000000")) {
-							wlrkService.saveToJl(wlrkEntity);
-						}
-					} else if (wlrkEntity.getIsDeleted() == 0) {
-						wlrkService.updateById(wlrkEntity);
-						// 向吉林数据库更新
-						if (sq.getAncestors().contains("220200000000")) {
-							wlrkService.updateByIdToJl(wlrkEntity);
-						}
-						type = 2;
-					} else if (wlrkEntity.getIsDeleted() == 1) {
-						wlrkEntity.setZxrq(sdf.format(new Date()));
-						wlrkService.wlrkZx(wlrkEntity);
-						// 向吉林数据库更新
-						if (sq.getAncestors().contains("220200000000")) {
-							wlrkService.wlrkZxToJl(wlrkEntity);
-						}
-						type = 3;
-					}
-					ryId = wlrkEntity.getId();
-					RhzfWlrkEntity wlrkLogEntity = new RhzfWlrkEntity();
-					BeanUtil.copy(wlrkEntity, wlrkLogEntity);
-					wlrkLogEntity.setMjId(mjId);
-					wlrkLogService.save(wlrkLogEntity);
-				} else if (syjzryVO.getRyType().equals("zzrk")) {
-					// 暂住人口
-					RyZzrkEntity zzrkEntity = new RyZzrkEntity();
-					BeanUtil.copy(syjzryVO, zzrkEntity);
-					zzrkEntity.setFwId(fwId);
-					zzrkEntity.setDzbm(rhzfSaveVO.getDzbm());
-					if (null == zzrkEntity.getId()) {
-						zzrkEntity.setMjId(mjId);
-						zzrkService.save(zzrkEntity);
-						// 向吉林数据库插入
-						if (sq.getAncestors().contains("220200000000")) {
-							zzrkService.saveToJl(zzrkEntity);
-						}
-					} else if (zzrkEntity.getIsDeleted() == 0) {
-						zzrkService.updateById(zzrkEntity);
-						// 向吉林数据库更新
-						if (sq.getAncestors().contains("220200000000")) {
-							zzrkService.updateByIdToJl(zzrkEntity);
-						}
-						type = 2;
-					} else if (zzrkEntity.getIsDeleted() == 1) {
-						zzrkEntity.setZxrq(sdf.format(new Date()));
-						zzrkService.zzrkZx(zzrkEntity);
-						// 向吉林数据库更新
-						if (sq.getAncestors().contains("220200000000")) {
-							zzrkService.zzrkZxToJl(zzrkEntity);
-						}
-						type = 3;
-					}
-					ryId = zzrkEntity.getId();
-					RhzfZzrkEntity zzrkLogEntity = new RhzfZzrkEntity();
-					BeanUtil.copy(zzrkEntity, zzrkLogEntity);
-					zzrkLogEntity.setMjId(mjId);
-					zzrkLogService.save(zzrkLogEntity);
-				}
-				// 新增人员 需要 保存房屋_人员关系
-				if (type == 1) {
-					FwRyEntity fwRyEntity = new FwRyEntity();
-					fwRyEntity.setFwId(fwId);
-					fwRyEntity.setRyId(ryId);
-					fwRyEntity.setRyType(syjzryVO.getRyType());
-					fwRyEntity.setDzbm(rhzfSaveVO.getDzbm());
-					fwRyEntity.setMjId(mjId);
-					fwRyService.save(fwRyEntity);
-					// 向吉林数据库插入
-					if (sq.getAncestors().contains("220200000000")) {
-						fwRyService.saveToJl(fwRyEntity);
-					}
-				} else if (type == 2) {
-					fwRyService.updateFwId(fwId, rhzfSaveVO.getDzbm(), syjzryVO.getRyType(), ryId);
-					// 向吉林数据库更新
-					if (sq.getAncestors().contains("220200000000")) {
-						fwRyService.updateFwIdToJl(fwId, rhzfSaveVO.getDzbm(), syjzryVO.getRyType(), ryId);
-					}
-				} else if (type == 3) {
-					Map<String, Object> params = new HashMap<>();
-					params.put("ryId", ryId);
-					params.put("ryType", syjzryVO.getRyType());
-					fwRyService.deleteByRyidAndType(params);
-					// 向吉林数据库删除
-					if (sq.getAncestors().contains("220200000000")) {
-						fwRyService.deleteByRyidAndTypeToJl(params);
-					}
-				}
+		if (null != rhzfSaveVO.getFzInfo()) {
+			if (null == oldRecord) {
+				rhzfSaveVO.getFzInfo().setFwId(fwInfo.getId());
+				rhzfSaveVO.getFzInfo().setMjId(mjId);
+				fwFzService.save(rhzfSaveVO.getFzInfo());
+			} else if (null != rhzfSaveVO.getFzInfo()) {
+				rhzfSaveVO.getFzInfo().setFwId(fwInfo.getId());
+				fwFzService.updateFzByFwId(rhzfSaveVO.getFzInfo());
 			}
+			// 保存房主操作记录
+			RhzfFzEntity fzLogEntity = new RhzfFzEntity();
+			BeanUtil.copy(rhzfSaveVO.getFzInfo(), fzLogEntity);
+			fzLogEntity.setMjId(mjId);
+			fzLogService.save(fzLogEntity);
 		}
+		// 保存九小场所信息
 		if (null != rhzfSaveVO.getJxcsList() && !rhzfSaveVO.getJxcsList().isEmpty()) {
-			// 保存九小场所信息
 			List<JxcsEntity> jxcsList = new ArrayList<>();
 			for (JxcsVO jxcs : rhzfSaveVO.getJxcsList()) {
 				JxcsEntity cs = new JxcsEntity();
 				BeanUtil.copy(jxcs, cs);
-				cs.setFwId(fwInfo.getId());
+				cs.setFwId(rhzfSaveVO.getId());
 				if (null == cs.getId()) {
 					// 新增
 					jxcsList.add(cs);
@@ -965,9 +679,33 @@ public class FwInfoController extends BladeController {
 			}
 			jxcsService.saveBatch(jxcsList);
 		}
-		if (null != rhzfSaveVO.getFwqz()) {
+		// 工作意见
+		if (null != rhzfSaveVO.getGzyj()) {
+			rhzfSaveVO.getGzyj().setFwId(rhzfSaveVO.getId());
+			rhzfSaveVO.getGzyj().setDzbm(rhzfSaveVO.getDzbm());
 			// 保存
-			fwqzService.saveOrUpdate(rhzfSaveVO.getFwqz());
+			gzyjService.saveOrUpdate(rhzfSaveVO.getGzyj());
+		}
+		// 问题反映
+		if (null != rhzfSaveVO.getWtfy()) {
+			rhzfSaveVO.getWtfy().setFwId(rhzfSaveVO.getId());
+			rhzfSaveVO.getWtfy().setDzbm(rhzfSaveVO.getDzbm());
+			// 保存
+			wtfyService.saveOrUpdate(rhzfSaveVO.getWtfy());
+		}
+		// 服务群众
+//		if (null != rhzfSaveVO.getFwqz()) {
+//			rhzfSaveVO.getFwqz().setFwId(fwInfo.getId());
+//			rhzfSaveVO.getFwqz().setDzbm(rhzfSaveVO.getDzbm());
+//			// 保存
+//			fwqzService.saveOrUpdate(rhzfSaveVO.getFwqz());
+//		}
+		// 安全宣传防范
+		if (null != rhzfSaveVO.getAqxcff()) {
+			rhzfSaveVO.getAqxcff().setFwId(rhzfSaveVO.getId());
+			rhzfSaveVO.getAqxcff().setDzbm(rhzfSaveVO.getDzbm());
+			// 保存
+			aqxcffService.saveOrUpdate(rhzfSaveVO.getAqxcff());
 		}
 		return R.data(fwInfo);
 	}
@@ -1840,12 +1578,12 @@ public class FwInfoController extends BladeController {
 		paramfw.put("fwlx",rhzfSaveVO.getFwlx());
 
 		//问题反应
-		if(StringUtils.isNotBlank(rhzfSaveVO.getWtfy())){
-			paramfw.put("sfywtfy","有".equals(rhzfSaveVO.getWtfy())?"☑有               □无":"□有               ☑无");
-			paramfw.put("wtfy", rhzfSaveVO.getWtfyFj() );
-		}
+//		if(StringUtils.isNotBlank(rhzfSaveVO.getWtfy())){
+//			paramfw.put("sfywtfy","有".equals(rhzfSaveVO.getWtfy())?"☑有               □无":"□有               ☑无");
+//			paramfw.put("wtfy", rhzfSaveVO.getWtfyFj() );
+//		}
 		//工作建议
-		paramfw.put("gzyj",StringUtils.isNotBlank(rhzfSaveVO.getGzyj())?rhzfSaveVO.getGzyj():"暂无建议");
+//		paramfw.put("gzyj",StringUtils.isNotBlank(rhzfSaveVO.getGzyj())?rhzfSaveVO.getGzyj():"暂无建议");
 		//签名   http://192.168.50.93:9000/jdrh/upload/20231227/Signature_1703639042681.jpg
 		String qzzp = new String();
 		if (rhzfSaveVO.getQzzp() != null){

+ 6 - 1
src/main/java/org/springblade/modules/rhzf/fwInfo/mapper/FwInfoMapper.java

@@ -7,7 +7,6 @@ import org.apache.ibatis.annotations.Param;
 import org.springblade.common.controller.vo.webService.YwxxVO;
 import org.springblade.modules.rhzf.fwInfo.entity.FwInfoEntity;
 import org.springblade.modules.rhzf.fwInfo.entity.Fwccjgb;
-import org.springblade.modules.rhzf.fwInfo.excel.ExportFwRyExcel;
 import org.springblade.modules.rhzf.fwInfo.excel.FwInfoExcel;
 import org.springblade.modules.rhzf.fwInfo.vo.*;
 import org.springblade.modules.rhzf.fwRy.vo.FwRyVO;
@@ -106,4 +105,10 @@ public interface FwInfoMapper extends BaseMapper<FwInfoEntity> {
 	List<LdBzdzVO> getLdByJg(List<String> jgIdList);
 
 	void gxUpdateTime(Long fwId);
+
+    int countByType(@Param("type") int type, @Param("params") Map<String, Object> params);
+
+    void updateMdId(@Param("fwId") Long fwId, @Param("mdId") Long mdId);
+
+	List<RhzfHistoryVO> history(IPage page, @Param("params") Map<String, Object> params);
 }

+ 45 - 0
src/main/java/org/springblade/modules/rhzf/fwInfo/mapper/FwInfoMapper.xml

@@ -917,4 +917,49 @@
         SET update_time = now()
         WHERE id = #{fwId} AND is_deleted = 0
     </update>
+
+    <select id="countByType" resultType="int">
+        SELECT
+            COUNT(*)
+        FROM
+            jdrh.rhzf_fw_info fw
+        LEFT JOIN jdrh.blade_dept dept ON dept.id = fw.create_dept
+        WHERE
+            fw.is_deleted = 0
+          AND (#{params.deptId} LIKE '%' || dept.id || '%' OR dept.ancestors LIKE '%' || #{params.deptId} || '%')
+        <if test="1 == type">
+            AND fw.update_time BETWEEN DATE_TRUNC( 'year', CURRENT_DATE ) AND DATE_TRUNC( 'year', CURRENT_DATE ) + INTERVAL '1 year'
+        </if>
+        <if test="2 == type">
+            AND fw.update_time BETWEEN (CURRENT_DATE - EXTRACT(DOW FROM CURRENT_DATE)::INT + (CASE WHEN EXTRACT(DOW FROM CURRENT_DATE) = 0 THEN 7 ELSE 1 END)) AND (CURRENT_DATE - EXTRACT(DOW FROM CURRENT_DATE)::INT + (CASE WHEN EXTRACT(DOW FROM CURRENT_DATE) = 0 THEN 7 ELSE 1 END) + INTERVAL '7 days')
+        </if>
+    </select>
+
+    <update id="updateMdId">
+        UPDATE jdrh.rhzf_fw_info
+        SET md_id =
+                CASE
+                    WHEN md_id IS NULL THEN
+                        #{mdId} :: TEXT ELSE md_id || ',' || #{mdId} :: TEXT
+                    END
+        WHERE
+            id = #{fwId}
+    </update>
+
+    <select id="history" resultType="org.springblade.modules.rhzf.fwInfo.vo.RhzfHistoryVO">
+        SELECT
+            dz.xz,
+            fz.fz_xm,
+            ( SELECT COUNT(*) FROM jdrh.rhzf_fw_ry ry WHERE ry.fw_id = fw.id AND ry.is_deleted = 0 ) AS syrks,
+            fw.update_time
+        FROM
+            jdrh.rhzf_fw_info fw
+        LEFT JOIN sspt.rk_dzxx dz ON dz.dzbm = fw.dzbm
+        LEFT JOIN jdrh.rhzf_fw_fz fz ON fz.fw_id = fw.id
+        LEFT JOIN jdrh.blade_dept dept ON dept.id = fw.create_dept
+        WHERE
+            (#{params.deptId} LIKE '%' || dept.id || '%' OR dept.ancestors LIKE '%' || #{params.deptId} || '%')
+        ORDER BY
+            fw.update_time DESC
+    </select>
 </mapper>

+ 6 - 1
src/main/java/org/springblade/modules/rhzf/fwInfo/service/IFwInfoService.java

@@ -6,7 +6,6 @@ import org.springblade.common.controller.vo.webService.YwxxVO;
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.modules.rhzf.fwInfo.entity.FwInfoEntity;
 import org.springblade.modules.rhzf.fwInfo.entity.Fwccjgb;
-import org.springblade.modules.rhzf.fwInfo.excel.ExportFwRyExcel;
 import org.springblade.modules.rhzf.fwInfo.excel.FwInfoExcel;
 import org.springblade.modules.rhzf.fwInfo.vo.*;
 import org.springblade.modules.rhzf.fwRy.vo.FwRyVO;
@@ -101,4 +100,10 @@ public interface IFwInfoService extends BaseService<FwInfoEntity> {
 	void updateByIdToJl(FwInfoEntity fwInfo);
 
 	void gxUpdateTime(Long fwId);
+
+	int countByType(int type, Map<String, Object> params);
+
+	void updateMdId(Long fwId, Long mdId);
+
+	IPage<RhzfHistoryVO> history(IPage<RhzfHistoryVO> page, Map<String, Object> params);
 }

+ 16 - 2
src/main/java/org/springblade/modules/rhzf/fwInfo/service/impl/FwInfoServiceImpl.java

@@ -9,7 +9,6 @@ import org.springblade.common.utils.WebserviceUtil;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.modules.rhzf.fwInfo.entity.FwInfoEntity;
 import org.springblade.modules.rhzf.fwInfo.entity.Fwccjgb;
-import org.springblade.modules.rhzf.fwInfo.excel.ExportFwRyExcel;
 import org.springblade.modules.rhzf.fwInfo.excel.FwInfoExcel;
 import org.springblade.modules.rhzf.fwInfo.mapper.FwInfoMapper;
 import org.springblade.modules.rhzf.fwInfo.service.IFwInfoService;
@@ -18,7 +17,6 @@ import org.springblade.modules.rhzf.fwRy.vo.FwRyVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -396,4 +394,20 @@ public class FwInfoServiceImpl extends BaseServiceImpl<FwInfoMapper, FwInfoEntit
 	public void gxUpdateTime(Long fwId) {
 		baseMapper.gxUpdateTime(fwId);
 	}
+
+	@Override
+	public int countByType(int type, Map<String, Object> params) {
+		return baseMapper.countByType(type, params);
+	}
+
+	@Override
+	public void updateMdId(Long fwId, Long mdId) {
+		baseMapper.updateMdId(fwId, mdId);
+	}
+
+	@Override
+	public IPage<RhzfHistoryVO> history(IPage<RhzfHistoryVO> page, Map<String, Object> params) {
+		List<RhzfHistoryVO> historyList = baseMapper.history(page, params);
+		return page.setRecords(historyList);
+	}
 }

+ 30 - 0
src/main/java/org/springblade/modules/rhzf/fwInfo/vo/RhzfHistoryVO.java

@@ -0,0 +1,30 @@
+package org.springblade.modules.rhzf.fwInfo.vo;
+
+import lombok.Data;
+
+/**
+ * 入户走访_房屋_基本信息 视图实体类
+ *
+ * @author BladeX
+ * @since 2023-11-14
+ */
+@Data
+public class RhzfHistoryVO {
+	private static final long serialVersionUID = 1L;
+	/**
+	 * 地址
+	 */
+	private String xz;
+	/**
+	 * 房主姓名
+	 */
+	private String fzXm;
+	/**
+	 * 实有人口数
+	 */
+	private int syrks;
+	/**
+	 * 走访时间
+	 */
+	private String updateTime;
+}

+ 32 - 14
src/main/java/org/springblade/modules/rhzf/fwInfo/vo/RhzfSaveVO.java

@@ -1,10 +1,12 @@
 package org.springblade.modules.rhzf.fwInfo.vo;
 
 import lombok.Data;
+import org.springblade.modules.rhzf.aqxcff.pojo.entity.RhzfAqxcffEntity;
 import org.springblade.modules.rhzf.fwFz.entity.FwFzEntity;
 import org.springblade.modules.rhzf.fwqz.pojo.entity.RhzfFwqzEntity;
-import org.springblade.modules.rhzf.fwqz.pojo.vo.RhzfFwqzVO;
+import org.springblade.modules.rhzf.gzyj.pojo.entity.RhzfGzyjEntity;
 import org.springblade.modules.rhzf.jxcs.vo.JxcsVO;
+import org.springblade.modules.rhzf.wtfy.pojo.entity.RhzfWtfyEntity;
 
 import java.util.Date;
 import java.util.List;
@@ -71,10 +73,6 @@ public class RhzfSaveVO {
 	 */
 	private String fwlx;
 	/**
-	 * 工作意见
-	 */
-	private String gzyj;
-	/**
 	 * 签字照片
 	 */
 	private String qzzp;
@@ -83,14 +81,6 @@ public class RhzfSaveVO {
 	 */
 	private int aqffxc;
 	/**
-	 * 问题反应
-	 */
-	private String wtfy;
-	/**
-	 * 问题反应_附件
-	 */
-	private String wtfyFj;
-	/**
 	 * 矛盾id
 	 */
 	private String mdId;
@@ -147,7 +137,35 @@ public class RhzfSaveVO {
 	 */
 	private List<JxcsVO> jxcsList;
 	/**
-	 * 服务群众
+	 * 工作意见提交
+	 */
+	private RhzfGzyjEntity gzyj;
+	/**
+	 * 工作意见历史
+	 */
+	private List<RhzfGzyjEntity> gzyjHistory;
+	/**
+	 * 问题反应提交
+	 */
+	private RhzfWtfyEntity wtfy;
+	/**
+	 * 问题反应历史
+	 */
+	private List<RhzfWtfyEntity> wtfyHistory;
+	/**
+	 * 服务群众提交
 	 */
 	private RhzfFwqzEntity fwqz;
+	/**
+	 * 服务群众历史
+	 */
+	private List<RhzfFwqzEntity> fwqzHistory;
+	/**
+	 * 安全宣传防范提交
+	 */
+	private RhzfAqxcffEntity aqxcff;
+	/**
+	 * 安全宣传防范历史
+	 */
+	private List<RhzfAqxcffEntity> aqxcffHistory;
 }

+ 1 - 0
src/main/java/org/springblade/modules/rhzf/fwqz/mapper/RhzfFwqzMapper.java

@@ -36,4 +36,5 @@ public interface RhzfFwqzMapper extends BaseMapper<RhzfFwqzEntity> {
 	 */
 	List<RhzfFwqzExcel> exportRhzfFwqz(@Param("ew") Wrapper<RhzfFwqzEntity> queryWrapper);
 
+    List<RhzfFwqzEntity> getByDzbm(@Param("params") Map<String, Object> params);
 }

+ 3 - 0
src/main/java/org/springblade/modules/rhzf/fwqz/mapper/RhzfFwqzMapper.xml

@@ -34,4 +34,7 @@
         SELECT * FROM rhzf_fwqz ${ew.customSqlSegment}
     </select>
 
+    <select id="getByDzbm" resultType="org.springblade.modules.rhzf.fwqz.pojo.entity.RhzfFwqzEntity">
+        SELECT * FROM jdrh.rhzf_fwqz WHERE is_deleted = 0 AND dzbm = #{params.dzbm} ORDER BY update_time DESC
+    </select>
 </mapper>

+ 1 - 0
src/main/java/org/springblade/modules/rhzf/fwqz/service/IRhzfFwqzService.java

@@ -34,4 +34,5 @@ public interface IRhzfFwqzService extends BaseService<RhzfFwqzEntity> {
 	 */
 	List<RhzfFwqzExcel> exportRhzfFwqz(Wrapper<RhzfFwqzEntity> queryWrapper);
 
+    List<RhzfFwqzEntity> getByDzbm(Map<String, Object> params);
 }

+ 7 - 0
src/main/java/org/springblade/modules/rhzf/fwqz/service/impl/RhzfFwqzServiceImpl.java

@@ -9,6 +9,8 @@ import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.mp.base.BaseServiceImpl;
+
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -35,4 +37,9 @@ public class RhzfFwqzServiceImpl extends BaseServiceImpl<RhzfFwqzMapper, RhzfFwq
 		return rhzfFwqzList;
 	}
 
+	@Override
+	public List<RhzfFwqzEntity> getByDzbm(Map<String, Object> params) {
+		return baseMapper.getByDzbm(params);
+	}
+
 }

+ 134 - 0
src/main/java/org/springblade/modules/rhzf/gzyj/controller/RhzfGzyjController.java

@@ -0,0 +1,134 @@
+package org.springblade.modules.rhzf.gzyj.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.excel.util.ExcelUtil;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.annotation.PreAuth;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.constant.RoleConstant;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.rhzf.gzyj.excel.RhzfGzyjExcel;
+import org.springblade.modules.rhzf.gzyj.pojo.entity.RhzfGzyjEntity;
+import org.springblade.modules.rhzf.gzyj.pojo.vo.RhzfGzyjVO;
+import org.springblade.modules.rhzf.gzyj.service.IRhzfGzyjService;
+import org.springblade.modules.rhzf.gzyj.wrapper.RhzfGzyjWrapper;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 入户走访_意见征集 控制器
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/rhzfGzyj")
+@Api(value = "入户走访_意见征集", tags = "入户走访_意见征集接口")
+public class RhzfGzyjController extends BladeController {
+
+	private final IRhzfGzyjService rhzfGzyjService;
+
+	/**
+	 * 入户走访_意见征集 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入rhzfGzyj")
+	public R<RhzfGzyjVO> detail(RhzfGzyjEntity rhzfGzyj) {
+		RhzfGzyjEntity detail = rhzfGzyjService.getOne(Condition.getQueryWrapper(rhzfGzyj));
+		return R.data(RhzfGzyjWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 入户走访_意见征集 分页
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入rhzfGzyj")
+	public R<IPage<RhzfGzyjVO>> list(@RequestParam Map<String, Object> rhzfGzyj, Query query) {
+		IPage<RhzfGzyjEntity> pages = rhzfGzyjService.page(Condition.getPage(query), Condition.getQueryWrapper(rhzfGzyj, RhzfGzyjEntity.class));
+		return R.data(RhzfGzyjWrapper.build().pageVO(pages));
+	}
+
+	/**
+	 * 入户走访_意见征集 自定义分页
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入rhzfGzyj")
+	public R<IPage<RhzfGzyjVO>> page(RhzfGzyjVO rhzfGzyj, Query query) {
+		IPage<RhzfGzyjVO> pages = rhzfGzyjService.selectRhzfGzyjPage(Condition.getPage(query), rhzfGzyj);
+		return R.data(pages);
+	}
+
+	/**
+	 * 入户走访_意见征集 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入rhzfGzyj")
+	public R save(@RequestBody RhzfGzyjEntity rhzfGzyj) {
+		return R.status(rhzfGzyjService.save(rhzfGzyj));
+	}
+
+	/**
+	 * 入户走访_意见征集 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入rhzfGzyj")
+	public R update(@RequestBody RhzfGzyjEntity rhzfGzyj) {
+		return R.status(rhzfGzyjService.updateById(rhzfGzyj));
+	}
+
+	/**
+	 * 入户走访_意见征集 新增或修改
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入rhzfGzyj")
+	public R submit(@RequestBody RhzfGzyjEntity rhzfGzyj) {
+		return R.status(rhzfGzyjService.saveOrUpdate(rhzfGzyj));
+	}
+
+	/**
+	 * 入户走访_意见征集 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 7)
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public R remove(@RequestParam String ids) {
+		return R.status(rhzfGzyjService.deleteLogic(Func.toLongList(ids)));
+	}
+
+	/**
+	 * 导出数据
+	 */
+	@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+	@GetMapping("/export-rhzfGzyj")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "导出数据", notes = "传入rhzfGzyj")
+	public void exportRhzfGzyj(@RequestParam Map<String, Object> rhzfGzyj, BladeUser bladeUser, HttpServletResponse response) {
+		QueryWrapper<RhzfGzyjEntity> queryWrapper = Condition.getQueryWrapper(rhzfGzyj, RhzfGzyjEntity.class);
+		//if (!AuthUtil.isAdministrator()) {
+		//	queryWrapper.lambda().eq(RhzfGzyjEntity::getTenantId, bladeUser.getTenantId());
+		//}
+		//queryWrapper.lambda().eq(RhzfGzyjEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
+		List<RhzfGzyjExcel> list = rhzfGzyjService.exportRhzfGzyj(queryWrapper);
+		ExcelUtil.export(response, "入户走访_意见征集数据" + DateUtil.time(), "入户走访_意见征集数据表", list, RhzfGzyjExcel.class);
+	}
+
+}

+ 44 - 0
src/main/java/org/springblade/modules/rhzf/gzyj/excel/RhzfGzyjExcel.java

@@ -0,0 +1,44 @@
+package org.springblade.modules.rhzf.gzyj.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 入户走访_意见征集 Excel实体类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class RhzfGzyjExcel implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 关联rhzf_fw_info表id
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("关联rhzf_fw_info表id")
+	private Long fwId;
+	/**
+	 * 地址编码
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("地址编码")
+	private String dzbm;
+	/**
+	 * 工作意见
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("工作意见")
+	private String gzyj;
+
+}

+ 40 - 0
src/main/java/org/springblade/modules/rhzf/gzyj/mapper/RhzfGzyjMapper.java

@@ -0,0 +1,40 @@
+package org.springblade.modules.rhzf.gzyj.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.rhzf.gzyj.excel.RhzfGzyjExcel;
+import org.springblade.modules.rhzf.gzyj.pojo.entity.RhzfGzyjEntity;
+import org.springblade.modules.rhzf.gzyj.pojo.vo.RhzfGzyjVO;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 入户走访_意见征集 Mapper 接口
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+public interface RhzfGzyjMapper extends BaseMapper<RhzfGzyjEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page 分页参数
+	 * @param rhzfGzyj 查询参数
+	 * @return List<RhzfGzyjVO>
+	 */
+	List<RhzfGzyjVO> selectRhzfGzyjPage(IPage page, RhzfGzyjVO rhzfGzyj);
+
+	/**
+	 * 获取导出数据
+	 *
+	 * @param queryWrapper 查询条件
+	 * @return List<RhzfGzyjExcel>
+	 */
+	List<RhzfGzyjExcel> exportRhzfGzyj(@Param("ew") Wrapper<RhzfGzyjEntity> queryWrapper);
+
+	List<RhzfGzyjEntity> getByDzbm(@Param("params") Map<String, Object> params);
+}

+ 23 - 0
src/main/java/org/springblade/modules/rhzf/gzyj/mapper/RhzfGzyjMapper.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.rhzf.gzyj.mapper.RhzfGzyjMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="rhzfGzyjResultMap" type="org.springblade.modules.rhzf.gzyj.pojo.entity.RhzfGzyjEntity">
+        <result column="fw_id" property="fwId"/>
+        <result column="dzbm" property="dzbm"/>
+        <result column="gzyj" property="gzyj"/>
+    </resultMap>
+
+    <select id="selectRhzfGzyjPage" resultMap="rhzfGzyjResultMap">
+        select * from rhzf_gzyj where is_deleted = 0
+    </select>
+
+    <select id="exportRhzfGzyj" resultType="org.springblade.modules.rhzf.gzyj.excel.RhzfGzyjExcel">
+        SELECT * FROM rhzf_gzyj ${ew.customSqlSegment}
+    </select>
+
+    <select id="getByDzbm" resultType="org.springblade.modules.rhzf.gzyj.pojo.entity.RhzfGzyjEntity">
+        SELECT * FROM jdrh.rhzf_gzyj WHERE is_deleted = 0 AND dzbm = #{params.dzbm} ORDER BY update_time DESC
+    </select>
+</mapper>

+ 18 - 0
src/main/java/org/springblade/modules/rhzf/gzyj/pojo/dto/RhzfGzyjDTO.java

@@ -0,0 +1,18 @@
+package org.springblade.modules.rhzf.gzyj.pojo.dto;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.rhzf.gzyj.pojo.entity.RhzfGzyjEntity;
+
+/**
+ * 入户走访_意见征集 数据传输对象实体类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RhzfGzyjDTO extends RhzfGzyjEntity {
+	private static final long serialVersionUID = 1L;
+
+}

+ 38 - 0
src/main/java/org/springblade/modules/rhzf/gzyj/pojo/entity/RhzfGzyjEntity.java

@@ -0,0 +1,38 @@
+package org.springblade.modules.rhzf.gzyj.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+/**
+ * 入户走访_意见征集 实体类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@Data
+@TableName("jdrh.rhzf_gzyj")
+@EqualsAndHashCode(callSuper = true)
+public class RhzfGzyjEntity extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 关联rhzf_fw_info表id
+	 */
+	@ApiModelProperty(value = "关联rhzf_fw_info表id")
+	private Long fwId;
+	/**
+	 * 地址编码
+	 */
+	@ApiModelProperty(value = "地址编码")
+	private String dzbm;
+	/**
+	 * 工作意见
+	 */
+	@ApiModelProperty(value = "工作意见")
+	private String gzyj;
+
+}

+ 18 - 0
src/main/java/org/springblade/modules/rhzf/gzyj/pojo/vo/RhzfGzyjVO.java

@@ -0,0 +1,18 @@
+package org.springblade.modules.rhzf.gzyj.pojo.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.rhzf.gzyj.pojo.entity.RhzfGzyjEntity;
+
+/**
+ * 入户走访_意见征集 视图实体类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RhzfGzyjVO extends RhzfGzyjEntity {
+	private static final long serialVersionUID = 1L;
+
+}

+ 38 - 0
src/main/java/org/springblade/modules/rhzf/gzyj/service/IRhzfGzyjService.java

@@ -0,0 +1,38 @@
+package org.springblade.modules.rhzf.gzyj.service;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.modules.rhzf.gzyj.excel.RhzfGzyjExcel;
+import org.springblade.modules.rhzf.gzyj.pojo.entity.RhzfGzyjEntity;
+import org.springblade.modules.rhzf.gzyj.pojo.vo.RhzfGzyjVO;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 入户走访_意见征集 服务类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+public interface IRhzfGzyjService extends BaseService<RhzfGzyjEntity> {
+	/**
+	 * 自定义分页
+	 *
+	 * @param page 分页参数
+	 * @param rhzfGzyj 查询参数
+	 * @return IPage<RhzfGzyjVO>
+	 */
+	IPage<RhzfGzyjVO> selectRhzfGzyjPage(IPage<RhzfGzyjVO> page, RhzfGzyjVO rhzfGzyj);
+
+	/**
+	 * 导出数据
+	 *
+	 * @param queryWrapper 查询条件
+	 * @return List<RhzfGzyjExcel>
+	 */
+	List<RhzfGzyjExcel> exportRhzfGzyj(Wrapper<RhzfGzyjEntity> queryWrapper);
+
+	List<RhzfGzyjEntity> getByDzbm(Map<String, Object> params);
+}

+ 45 - 0
src/main/java/org/springblade/modules/rhzf/gzyj/service/impl/RhzfGzyjServiceImpl.java

@@ -0,0 +1,45 @@
+package org.springblade.modules.rhzf.gzyj.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.rhzf.gzyj.excel.RhzfGzyjExcel;
+import org.springblade.modules.rhzf.gzyj.mapper.RhzfGzyjMapper;
+import org.springblade.modules.rhzf.gzyj.pojo.entity.RhzfGzyjEntity;
+import org.springblade.modules.rhzf.gzyj.pojo.vo.RhzfGzyjVO;
+import org.springblade.modules.rhzf.gzyj.service.IRhzfGzyjService;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 入户走访_意见征集 服务实现类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@Service
+public class RhzfGzyjServiceImpl extends BaseServiceImpl<RhzfGzyjMapper, RhzfGzyjEntity> implements IRhzfGzyjService {
+
+	@Override
+	public IPage<RhzfGzyjVO> selectRhzfGzyjPage(IPage<RhzfGzyjVO> page, RhzfGzyjVO rhzfGzyj) {
+		return page.setRecords(baseMapper.selectRhzfGzyjPage(page, rhzfGzyj));
+	}
+
+	@Override
+	public List<RhzfGzyjExcel> exportRhzfGzyj(Wrapper<RhzfGzyjEntity> queryWrapper) {
+		List<RhzfGzyjExcel> rhzfGzyjList = baseMapper.exportRhzfGzyj(queryWrapper);
+		//rhzfGzyjList.forEach(rhzfGzyj -> {
+		//	rhzfGzyj.setTypeName(DictCache.getValue(DictEnum.YES_NO, RhzfGzyjEntity.getType()));
+		//});
+		return rhzfGzyjList;
+	}
+
+	@Override
+	public List<RhzfGzyjEntity> getByDzbm(Map<String, Object> params) {
+		return baseMapper.getByDzbm(params);
+	}
+
+}

+ 34 - 0
src/main/java/org/springblade/modules/rhzf/gzyj/wrapper/RhzfGzyjWrapper.java

@@ -0,0 +1,34 @@
+package org.springblade.modules.rhzf.gzyj.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.rhzf.gzyj.pojo.entity.RhzfGzyjEntity;
+import org.springblade.modules.rhzf.gzyj.pojo.vo.RhzfGzyjVO;
+
+import java.util.Objects;
+
+/**
+ * 入户走访_意见征集 包装类,返回视图层所需的字段
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+public class RhzfGzyjWrapper extends BaseEntityWrapper<RhzfGzyjEntity, RhzfGzyjVO> {
+
+	public static RhzfGzyjWrapper build() {
+		return new RhzfGzyjWrapper();
+	}
+
+	@Override
+	public RhzfGzyjVO entityVO(RhzfGzyjEntity rhzfGzyj) {
+		RhzfGzyjVO rhzfGzyjVO = Objects.requireNonNull(BeanUtil.copyProperties(rhzfGzyj, RhzfGzyjVO.class));
+
+		//User createUser = UserCache.getUser(rhzfGzyj.getCreateUser());
+		//User updateUser = UserCache.getUser(rhzfGzyj.getUpdateUser());
+		//rhzfGzyjVO.setCreateUserName(createUser.getName());
+		//rhzfGzyjVO.setUpdateUserName(updateUser.getName());
+
+		return rhzfGzyjVO;
+	}
+
+}

+ 134 - 0
src/main/java/org/springblade/modules/rhzf/wtfy/controller/RhzfWtfyController.java

@@ -0,0 +1,134 @@
+package org.springblade.modules.rhzf.wtfy.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.excel.util.ExcelUtil;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.annotation.PreAuth;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.constant.RoleConstant;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.rhzf.wtfy.excel.RhzfWtfyExcel;
+import org.springblade.modules.rhzf.wtfy.pojo.entity.RhzfWtfyEntity;
+import org.springblade.modules.rhzf.wtfy.pojo.vo.RhzfWtfyVO;
+import org.springblade.modules.rhzf.wtfy.service.IRhzfWtfyService;
+import org.springblade.modules.rhzf.wtfy.wrapper.RhzfWtfyWrapper;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 入户走访_问题反映 控制器
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/rhzfWtfy")
+@Api(value = "入户走访_问题反映", tags = "入户走访_问题反映接口")
+public class RhzfWtfyController extends BladeController {
+
+	private final IRhzfWtfyService rhzfWtfyService;
+
+	/**
+	 * 入户走访_问题反映 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes  = "传入rhzfWtfy")
+	public R<RhzfWtfyVO> detail(RhzfWtfyEntity rhzfWtfy) {
+		RhzfWtfyEntity detail = rhzfWtfyService.getOne(Condition.getQueryWrapper(rhzfWtfy));
+		return R.data(RhzfWtfyWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 入户走访_问题反映 分页
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes  = "传入rhzfWtfy")
+	public R<IPage<RhzfWtfyVO>> list(@RequestParam Map<String, Object> rhzfWtfy, Query query) {
+		IPage<RhzfWtfyEntity> pages = rhzfWtfyService.page(Condition.getPage(query), Condition.getQueryWrapper(rhzfWtfy, RhzfWtfyEntity.class));
+		return R.data(RhzfWtfyWrapper.build().pageVO(pages));
+	}
+
+	/**
+	 * 入户走访_问题反映 自定义分页
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes  = "传入rhzfWtfy")
+	public R<IPage<RhzfWtfyVO>> page(RhzfWtfyVO rhzfWtfy, Query query) {
+		IPage<RhzfWtfyVO> pages = rhzfWtfyService.selectRhzfWtfyPage(Condition.getPage(query), rhzfWtfy);
+		return R.data(pages);
+	}
+
+	/**
+	 * 入户走访_问题反映 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes  = "传入rhzfWtfy")
+	public R save(@RequestBody RhzfWtfyEntity rhzfWtfy) {
+		return R.status(rhzfWtfyService.save(rhzfWtfy));
+	}
+
+	/**
+	 * 入户走访_问题反映 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes  = "传入rhzfWtfy")
+	public R update(@RequestBody RhzfWtfyEntity rhzfWtfy) {
+		return R.status(rhzfWtfyService.updateById(rhzfWtfy));
+	}
+
+	/**
+	 * 入户走访_问题反映 新增或修改
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes  = "传入rhzfWtfy")
+	public R submit(@RequestBody RhzfWtfyEntity rhzfWtfy) {
+		return R.status(rhzfWtfyService.saveOrUpdate(rhzfWtfy));
+	}
+
+	/**
+	 * 入户走访_问题反映 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 7)
+	@ApiOperation(value = "逻辑删除", notes  = "传入ids")
+	public R remove(@RequestParam String ids) {
+		return R.status(rhzfWtfyService.deleteLogic(Func.toLongList(ids)));
+	}
+
+	/**
+	 * 导出数据
+	 */
+	@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+	@GetMapping("/export-rhzfWtfy")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "导出数据", notes  = "传入rhzfWtfy")
+	public void exportRhzfWtfy(@RequestParam Map<String, Object> rhzfWtfy, BladeUser bladeUser, HttpServletResponse response) {
+		QueryWrapper<RhzfWtfyEntity> queryWrapper = Condition.getQueryWrapper(rhzfWtfy, RhzfWtfyEntity.class);
+		//if (!AuthUtil.isAdministrator()) {
+		//	queryWrapper.lambda().eq(RhzfWtfyEntity::getTenantId, bladeUser.getTenantId());
+		//}
+		//queryWrapper.lambda().eq(RhzfWtfyEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
+		List<RhzfWtfyExcel> list = rhzfWtfyService.exportRhzfWtfy(queryWrapper);
+		ExcelUtil.export(response, "入户走访_问题反映数据" + DateUtil.time(), "入户走访_问题反映数据表", list, RhzfWtfyExcel.class);
+	}
+
+}

+ 50 - 0
src/main/java/org/springblade/modules/rhzf/wtfy/excel/RhzfWtfyExcel.java

@@ -0,0 +1,50 @@
+package org.springblade.modules.rhzf.wtfy.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 入户走访_问题反映 Excel实体类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class RhzfWtfyExcel implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 关联rhzf_fw_info表id
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("关联rhzf_fw_info表id")
+	private Long fwId;
+	/**
+	 * 地址编码
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("地址编码")
+	private String dzbm;
+	/**
+	 * 问题反映
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("问题反映")
+	private String wtfy;
+	/**
+	 * 问题反映附件
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("问题反映附件")
+	private String wtfyFj;
+
+}

+ 40 - 0
src/main/java/org/springblade/modules/rhzf/wtfy/mapper/RhzfWtfyMapper.java

@@ -0,0 +1,40 @@
+package org.springblade.modules.rhzf.wtfy.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.rhzf.wtfy.excel.RhzfWtfyExcel;
+import org.springblade.modules.rhzf.wtfy.pojo.entity.RhzfWtfyEntity;
+import org.springblade.modules.rhzf.wtfy.pojo.vo.RhzfWtfyVO;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 入户走访_问题反映 Mapper 接口
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+public interface RhzfWtfyMapper extends BaseMapper<RhzfWtfyEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page 分页参数
+	 * @param rhzfWtfy 查询参数
+	 * @return List<RhzfWtfyVO>
+	 */
+	List<RhzfWtfyVO> selectRhzfWtfyPage(IPage page, RhzfWtfyVO rhzfWtfy);
+
+	/**
+	 * 获取导出数据
+	 *
+	 * @param queryWrapper 查询条件
+	 * @return List<RhzfWtfyExcel>
+	 */
+	List<RhzfWtfyExcel> exportRhzfWtfy(@Param("ew") Wrapper<RhzfWtfyEntity> queryWrapper);
+
+	List<RhzfWtfyEntity> getByDzbm(@Param("params") Map<String, Object> params);
+}

+ 24 - 0
src/main/java/org/springblade/modules/rhzf/wtfy/mapper/RhzfWtfyMapper.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.rhzf.wtfy.mapper.RhzfWtfyMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="rhzfWtfyResultMap" type="org.springblade.modules.rhzf.wtfy.pojo.entity.RhzfWtfyEntity">
+        <result column="fw_id" property="fwId"/>
+        <result column="dzbm" property="dzbm"/>
+        <result column="wtfy" property="wtfy"/>
+        <result column="wtfy_fj" property="wtfyFj"/>
+    </resultMap>
+
+    <select id="selectRhzfWtfyPage" resultMap="rhzfWtfyResultMap">
+        select * from rhzf_wtfy where is_deleted = 0
+    </select>
+
+    <select id="exportRhzfWtfy" resultType="org.springblade.modules.rhzf.wtfy.excel.RhzfWtfyExcel">
+        SELECT * FROM rhzf_wtfy ${ew.customSqlSegment}
+    </select>
+
+    <select id="getByDzbm" resultType="org.springblade.modules.rhzf.wtfy.pojo.entity.RhzfWtfyEntity">
+        select * from jdrh.rhzf_wtfy where is_deleted = 0 AND dzbm = #{params.dzbm} ORDER BY update_time DESC
+    </select>
+</mapper>

+ 18 - 0
src/main/java/org/springblade/modules/rhzf/wtfy/pojo/dto/RhzfWtfyDTO.java

@@ -0,0 +1,18 @@
+package org.springblade.modules.rhzf.wtfy.pojo.dto;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.rhzf.wtfy.pojo.entity.RhzfWtfyEntity;
+
+/**
+ * 入户走访_问题反映 数据传输对象实体类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RhzfWtfyDTO extends RhzfWtfyEntity {
+	private static final long serialVersionUID = 1L;
+
+}

+ 43 - 0
src/main/java/org/springblade/modules/rhzf/wtfy/pojo/entity/RhzfWtfyEntity.java

@@ -0,0 +1,43 @@
+package org.springblade.modules.rhzf.wtfy.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+/**
+ * 入户走访_问题反映 实体类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@Data
+@TableName("jdrh.rhzf_wtfy")
+@EqualsAndHashCode(callSuper = true)
+public class RhzfWtfyEntity extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 关联rhzf_fw_info表id
+	 */
+	@ApiModelProperty(value = "关联rhzf_fw_info表id")
+	private Long fwId;
+	/**
+	 * 地址编码
+	 */
+	@ApiModelProperty(value = "地址编码")
+	private String dzbm;
+	/**
+	 * 问题反映
+	 */
+	@ApiModelProperty(value = "问题反映")
+	private String wtfy;
+	/**
+	 * 问题反映附件
+	 */
+	@ApiModelProperty(value = "问题反映附件")
+	private String wtfyFj;
+
+}

+ 18 - 0
src/main/java/org/springblade/modules/rhzf/wtfy/pojo/vo/RhzfWtfyVO.java

@@ -0,0 +1,18 @@
+package org.springblade.modules.rhzf.wtfy.pojo.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.rhzf.wtfy.pojo.entity.RhzfWtfyEntity;
+
+/**
+ * 入户走访_问题反映 视图实体类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RhzfWtfyVO extends RhzfWtfyEntity {
+	private static final long serialVersionUID = 1L;
+
+}

+ 38 - 0
src/main/java/org/springblade/modules/rhzf/wtfy/service/IRhzfWtfyService.java

@@ -0,0 +1,38 @@
+package org.springblade.modules.rhzf.wtfy.service;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.modules.rhzf.wtfy.excel.RhzfWtfyExcel;
+import org.springblade.modules.rhzf.wtfy.pojo.entity.RhzfWtfyEntity;
+import org.springblade.modules.rhzf.wtfy.pojo.vo.RhzfWtfyVO;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 入户走访_问题反映 服务类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+public interface IRhzfWtfyService extends BaseService<RhzfWtfyEntity> {
+	/**
+	 * 自定义分页
+	 *
+	 * @param page 分页参数
+	 * @param rhzfWtfy 查询参数
+	 * @return IPage<RhzfWtfyVO>
+	 */
+	IPage<RhzfWtfyVO> selectRhzfWtfyPage(IPage<RhzfWtfyVO> page, RhzfWtfyVO rhzfWtfy);
+
+	/**
+	 * 导出数据
+	 *
+	 * @param queryWrapper 查询条件
+	 * @return List<RhzfWtfyExcel>
+	 */
+	List<RhzfWtfyExcel> exportRhzfWtfy(Wrapper<RhzfWtfyEntity> queryWrapper);
+
+	List<RhzfWtfyEntity> getByDzbm(Map<String, Object> params);
+}

+ 44 - 0
src/main/java/org/springblade/modules/rhzf/wtfy/service/impl/RhzfWtfyServiceImpl.java

@@ -0,0 +1,44 @@
+package org.springblade.modules.rhzf.wtfy.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.rhzf.wtfy.excel.RhzfWtfyExcel;
+import org.springblade.modules.rhzf.wtfy.mapper.RhzfWtfyMapper;
+import org.springblade.modules.rhzf.wtfy.pojo.entity.RhzfWtfyEntity;
+import org.springblade.modules.rhzf.wtfy.pojo.vo.RhzfWtfyVO;
+import org.springblade.modules.rhzf.wtfy.service.IRhzfWtfyService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 入户走访_问题反映 服务实现类
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+@Service
+public class RhzfWtfyServiceImpl extends BaseServiceImpl<RhzfWtfyMapper, RhzfWtfyEntity> implements IRhzfWtfyService {
+
+	@Override
+	public IPage<RhzfWtfyVO> selectRhzfWtfyPage(IPage<RhzfWtfyVO> page, RhzfWtfyVO rhzfWtfy) {
+		return page.setRecords(baseMapper.selectRhzfWtfyPage(page, rhzfWtfy));
+	}
+
+	@Override
+	public List<RhzfWtfyExcel> exportRhzfWtfy(Wrapper<RhzfWtfyEntity> queryWrapper) {
+		List<RhzfWtfyExcel> rhzfWtfyList = baseMapper.exportRhzfWtfy(queryWrapper);
+		//rhzfWtfyList.forEach(rhzfWtfy -> {
+		//	rhzfWtfy.setTypeName(DictCache.getValue(DictEnum.YES_NO, RhzfWtfyEntity.getType()));
+		//});
+		return rhzfWtfyList;
+	}
+
+	@Override
+	public List<RhzfWtfyEntity> getByDzbm(Map<String, Object> params) {
+		return baseMapper.getByDzbm(params);
+	}
+
+}

+ 34 - 0
src/main/java/org/springblade/modules/rhzf/wtfy/wrapper/RhzfWtfyWrapper.java

@@ -0,0 +1,34 @@
+package org.springblade.modules.rhzf.wtfy.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.rhzf.wtfy.pojo.entity.RhzfWtfyEntity;
+import org.springblade.modules.rhzf.wtfy.pojo.vo.RhzfWtfyVO;
+
+import java.util.Objects;
+
+/**
+ * 入户走访_问题反映 包装类,返回视图层所需的字段
+ *
+ * @author wth
+ * @since 2024-11-14
+ */
+public class RhzfWtfyWrapper extends BaseEntityWrapper<RhzfWtfyEntity, RhzfWtfyVO> {
+
+	public static RhzfWtfyWrapper build() {
+		return new RhzfWtfyWrapper();
+	}
+
+	@Override
+	public RhzfWtfyVO entityVO(RhzfWtfyEntity rhzfWtfy) {
+		RhzfWtfyVO rhzfWtfyVO = Objects.requireNonNull(BeanUtil.copyProperties(rhzfWtfy, RhzfWtfyVO.class));
+
+		//User createUser = UserCache.getUser(rhzfWtfy.getCreateUser());
+		//User updateUser = UserCache.getUser(rhzfWtfy.getUpdateUser());
+		//rhzfWtfyVO.setCreateUserName(createUser.getName());
+		//rhzfWtfyVO.setUpdateUserName(updateUser.getName());
+
+		return rhzfWtfyVO;
+	}
+
+}