From 46498a8f5c219471ef4bb84f3210c71cfa439484 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Sun, 04 Feb 2024 11:26:30 +0800
Subject: [PATCH] 消防检查优化

---
 src/main/java/org/springblade/modules/taskPlaceRecord/mapper/TaskPlaceRecordMapper.java                  |   58 ++
 src/main/java/org/springblade/modules/taskPlaceRecord/vo/TaskPlaceRecordVO.java                          |   35 +
 src/main/java/org/springblade/modules/taskPlaceSelfCheck/vo/TaskPlaceSelfCheckVO.java                    |   44 +
 src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java                             |    2 
 src/main/java/org/springblade/modules/taskPlaceRecord/service/ITaskPlaceRecordService.java               |   61 ++
 src/main/java/org/springblade/modules/task/service/impl/TaskLabelReportingEventServiceImpl.java          |   18 
 src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/ITaskPlaceSelfCheckService.java         |   62 ++
 src/main/java/org/springblade/common/constant/DictConstant.java                                          |    4 
 src/main/java/org/springblade/modules/taskPlaceRecord/mapper/TaskPlaceRecordMapper.xml                   |   71 ++
 src/main/java/org/springblade/modules/taskPlaceRecord/wrapper/TaskPlaceRecordWrapper.java                |   50 ++
 src/main/java/org/springblade/modules/taskPlaceRecord/service/impl/TaskPlaceRecordServiceImpl.java       |   68 ++
 src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/impl/TaskPlaceSelfCheckServiceImpl.java |  119 ++++
 src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml                                       |   10 
 src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.xml             |  141 +++++
 src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.xml     |   51 +-
 src/main/java/org/springblade/modules/taskPlaceSelfCheck/controller/TaskPlaceSelfCheckController.java    |  149 +++++
 src/main/java/org/springblade/modules/taskPlaceSelfCheck/dto/TaskPlaceSelfCheckDTO.java                  |   41 +
 src/main/java/org/springblade/modules/taskPlaceRecord/entity/TaskPlaceRecordEntity.java                  |  107 ++++
 src/main/java/org/springblade/modules/taskPlaceSelfCheck/wrapper/TaskPlaceSelfCheckWrapper.java          |   50 ++
 src/main/java/org/springblade/modules/taskPlaceRecord/dto/TaskPlaceRecordDTO.java                        |   34 +
 src/main/java/org/springblade/modules/taskPlaceSelfCheck/entity/TaskPlaceSelfCheckEntity.java            |  136 +++++
 src/main/java/org/springblade/modules/taskPlaceRecord/controller/TaskPlaceRecordController.java          |  126 +++++
 src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.java            |   58 ++
 23 files changed, 1,447 insertions(+), 48 deletions(-)

diff --git a/src/main/java/org/springblade/common/constant/DictConstant.java b/src/main/java/org/springblade/common/constant/DictConstant.java
index 17c7657..40b0522 100644
--- a/src/main/java/org/springblade/common/constant/DictConstant.java
+++ b/src/main/java/org/springblade/common/constant/DictConstant.java
@@ -39,7 +39,7 @@
 
 	String FIRE_CHECK= "消防检查";
 
-	String DA_JIN_DIAN= "打金店";
+	String SECOND_HAND_TRANSACTION = "二手交易";
 
 	String USED_MOBILE_PHONES= "二手手机维修";
 
@@ -55,4 +55,6 @@
 
 	String FIRE_RECTIFICATION_NOTICE = "消防整改通知";
 
+	String FIRE_SELF_CHECK_NOTICE = "消防自查";
+
 }
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
index 597f649..f776094 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -105,7 +105,7 @@
         jpe.confirm_flag confirmFlag,
         jg.grid_name as gridName,
         bus.`name` AS policeName,
-        bu.phone AS policePhone,
+        bus.phone AS policePhone,
         jda.address_name,
         jpag.pcs_name deptName
         from jczz_place jp
@@ -115,7 +115,7 @@
         left join blade_region br on br.code = jg.community_code
         LEFT JOIN jczz_community jc on jc.`code`=jg.community_code
         LEFT JOIN blade_user bus on bus.id = jc.res_police_user_id
-        LEFT JOIN jczz_police_affairs_grid jpag on jpag.community_code= jg.community_code
+        LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code
         LEFT JOIN jczz_doorplate_address jda on jda.address_code=jp.house_code
         left join (
         select a.* from jczz_place_poi_label a inner join
@@ -141,7 +141,7 @@
             and br.town_name like concat('%',#{place.townStreetName},'%')
         </if>
         <if test="place.deptName!=null and place.deptName!=''">
-            and bd.dept_name like concat('%',#{place.deptName},'%')
+            and jpag.pcs_name like concat('%',#{place.deptName},'%')
         </if>
 
         <if test="place.policeName!=null and place.policeName!=''">
@@ -433,7 +433,7 @@
         jpe.confirm_flag confirmFlag,
         jg.grid_name as gridName,
         bus.`name` AS policeName,
-        bu.phone AS policePhone,
+        bus.phone AS policePhone,
         jda.address_name,
         jpag.pcs_name deptName
         from jczz_place jp
@@ -443,7 +443,7 @@
         left join blade_region br on br.code = jg.community_code
         LEFT JOIN jczz_community jc on jc.`code`=jg.community_code
         LEFT JOIN blade_user bus on bus.id = jc.res_police_user_id
-        LEFT JOIN jczz_police_affairs_grid jpag on jpag.community_code= jg.community_code
+        LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code
         LEFT JOIN jczz_doorplate_address jda on jda.address_code=jp.house_code
         left join (
         select a.* from jczz_place_poi_label a inner join
diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskLabelReportingEventServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskLabelReportingEventServiceImpl.java
index e76a4b1..3d022d8 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskLabelReportingEventServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskLabelReportingEventServiceImpl.java
@@ -62,21 +62,7 @@
 
 	@Override
 	public Boolean saveReportingEven(TaskLabelReportingEventDTO taskLabelReportingEvent) {
-		String name;
-		switch (taskLabelReportingEvent.getEventType()) {
-			case "1":
-				name = DictConstant.DA_JIN_DIAN;
-				break;
-			case "2":
-				name = DictConstant.USED_MOBILE_PHONES;
-				break;
-			case "3":
-				name = DictConstant.USED_CAR;
-				break;
-			default:
-				name = "";
-		}
-		Long aLong = taskService.saveTask(1, name, 1, "", AuthUtil.getUserId(),
+		Long aLong = taskService.saveTask(1, DictConstant.SECOND_HAND_TRANSACTION, 1, "", AuthUtil.getUserId(),
 			taskLabelReportingEvent.getHouseCode(), taskLabelReportingEvent.getReportType(), 0);
 		if (aLong > 0) {
 			// 通过houseCode 获取场所id
@@ -86,7 +72,7 @@
 			taskLabelReportingEvent.setPlaceId(placeEntity.getId());
 			taskLabelReportingEvent.setTaskId(aLong);
 			taskLabelReportingEvent.setUserId(AuthUtil.getUserId());
-			taskLabelReportingEvent.setLabelName(name);
+			taskLabelReportingEvent.setLabelName(DictConstant.SECOND_HAND_TRANSACTION);
 			return baseMapper.insert(taskLabelReportingEvent) > 0;
 		}
 		return false;
diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
index 7c891aa..b6e69d8 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
@@ -389,7 +389,7 @@
 			String taskName = "";
 			Integer reportType = 3;
 			if (placeVO.getLabel().equals("130808")){
-				taskName = DictConstant.DA_JIN_DIAN;
+				taskName = DictConstant.SECOND_HAND_TRANSACTION;
 				reportType = 3;
 			}
 			if (placeVO.getLabel().equals("130604")){
diff --git a/src/main/java/org/springblade/modules/taskPlaceRecord/controller/TaskPlaceRecordController.java b/src/main/java/org/springblade/modules/taskPlaceRecord/controller/TaskPlaceRecordController.java
new file mode 100644
index 0000000..ae4733a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceRecord/controller/TaskPlaceRecordController.java
@@ -0,0 +1,126 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskPlaceRecord.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.taskPlaceRecord.entity.TaskPlaceRecordEntity;
+import org.springblade.modules.taskPlaceRecord.vo.TaskPlaceRecordVO;
+import org.springblade.modules.taskPlaceRecord.wrapper.TaskPlaceRecordWrapper;
+import org.springblade.modules.taskPlaceRecord.service.ITaskPlaceRecordService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ * 消防自查详情记录表 控制器
+ *
+ * @author BladeX
+ * @since 2024-02-04
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("blade-taskPlaceRecord/taskPlaceRecord")
+@Api(value = "消防自查详情记录表", tags = "消防自查详情记录表接口")
+public class TaskPlaceRecordController extends BladeController {
+
+	private final ITaskPlaceRecordService taskPlaceRecordService;
+
+	/**
+	 * 消防自查详情记录表 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入taskPlaceRecord")
+	public R<TaskPlaceRecordVO> detail(TaskPlaceRecordEntity taskPlaceRecord) {
+		TaskPlaceRecordEntity detail = taskPlaceRecordService.getOne(Condition.getQueryWrapper(taskPlaceRecord));
+		return R.data(TaskPlaceRecordWrapper.build().entityVO(detail));
+	}
+	/**
+	 * 消防自查详情记录表 分页
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入taskPlaceRecord")
+	public R<IPage<TaskPlaceRecordVO>> list(TaskPlaceRecordEntity taskPlaceRecord, Query query) {
+		IPage<TaskPlaceRecordEntity> pages = taskPlaceRecordService.page(Condition.getPage(query), Condition.getQueryWrapper(taskPlaceRecord));
+		return R.data(TaskPlaceRecordWrapper.build().pageVO(pages));
+	}
+
+	/**
+	 * 消防自查详情记录表 自定义分页
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入taskPlaceRecord")
+	public R<IPage<TaskPlaceRecordVO>> page(TaskPlaceRecordVO taskPlaceRecord, Query query) {
+		IPage<TaskPlaceRecordVO> pages = taskPlaceRecordService.selectTaskPlaceRecordPage(Condition.getPage(query), taskPlaceRecord);
+		return R.data(pages);
+	}
+
+	/**
+	 * 消防自查详情记录表 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入taskPlaceRecord")
+	public R save(@Valid @RequestBody TaskPlaceRecordEntity taskPlaceRecord) {
+		return R.status(taskPlaceRecordService.save(taskPlaceRecord));
+	}
+
+	/**
+	 * 消防自查详情记录表 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入taskPlaceRecord")
+	public R update(@Valid @RequestBody TaskPlaceRecordEntity taskPlaceRecord) {
+		return R.status(taskPlaceRecordService.updateById(taskPlaceRecord));
+	}
+
+	/**
+	 * 消防自查详情记录表 新增或修改
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入taskPlaceRecord")
+	public R submit(@Valid @RequestBody TaskPlaceRecordEntity taskPlaceRecord) {
+		return R.status(taskPlaceRecordService.saveOrUpdate(taskPlaceRecord));
+	}
+
+	/**
+	 * 消防自查详情记录表 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 7)
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(taskPlaceRecordService.removeBatchByIds(Func.toLongList(ids)));
+	}
+
+
+}
diff --git a/src/main/java/org/springblade/modules/taskPlaceRecord/dto/TaskPlaceRecordDTO.java b/src/main/java/org/springblade/modules/taskPlaceRecord/dto/TaskPlaceRecordDTO.java
new file mode 100644
index 0000000..008bf42
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceRecord/dto/TaskPlaceRecordDTO.java
@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskPlaceRecord.dto;
+
+import org.springblade.modules.taskPlaceRecord.entity.TaskPlaceRecordEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 消防自查详情记录表 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2024-02-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class TaskPlaceRecordDTO extends TaskPlaceRecordEntity {
+	private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/taskPlaceRecord/entity/TaskPlaceRecordEntity.java b/src/main/java/org/springblade/modules/taskPlaceRecord/entity/TaskPlaceRecordEntity.java
new file mode 100644
index 0000000..5e9a9ac
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceRecord/entity/TaskPlaceRecordEntity.java
@@ -0,0 +1,107 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskPlaceRecord.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.tenant.mp.TenantEntity;
+
+import java.util.Date;
+
+/**
+ * 消防自查详情记录表 实体类
+ *
+ * @author BladeX
+ * @since 2024-02-04
+ */
+@Data
+@TableName("jczz_task_place_record")
+@ApiModel(value = "TaskPlaceRecord对象", description = "消防自查详情记录表")
+public class TaskPlaceRecordEntity   {
+
+	private static final long serialVersionUID = 1L;
+
+
+	/** 主键 */
+	@ApiModelProperty(value = "主键ID", example = "")
+	@TableId(value = "id", type = IdType.ASSIGN_ID)
+	private Long id;
+
+	/** 内容项id */
+	@ApiModelProperty(value = "内容项id", example = "")
+	@TableField("item_id")
+	private Integer itemId;
+
+	/** 场所检查id */
+	@ApiModelProperty(value = "场所检查id", example = "")
+	@TableField("task_place_self_check_id")
+	private Long taskPlaceSelfCheckId;
+
+	/** 是否存在隐患 0:存在 1 不存在 */
+	@ApiModelProperty(value = "是否存在隐患 0:存在 1 不存在", example = "")
+	@TableField("state")
+	private Integer state;
+
+	/** 隐患备注 */
+	@ApiModelProperty(value = "隐患备注", example = "")
+	@TableField("remark")
+	private String remark;
+
+	/** 照片 */
+	@ApiModelProperty(value = "照片", example = "")
+	@TableField("image_urls")
+	private String imageUrls;
+
+	/** 创建人 */
+	@ApiModelProperty(value = "创建人", example = "")
+	@TableField("create_user")
+	private Long createUser;
+
+	/** 修改时间 */
+	@ApiModelProperty(value = "修改时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("create_time")
+	private Date createTime;
+
+	/** 是否删除 0: 否 1:是 */
+	@ApiModelProperty(value = "是否删除 0: 否 1:是", example = "")
+	@TableField("is_deleted")
+	private Integer isDeleted;
+
+	/** 整改照片 */
+	@ApiModelProperty(value = "整改照片", example = "")
+	@TableField("rectification_image_urls")
+	private String rectificationImageUrls;
+
+	/** 整改描述 */
+	@ApiModelProperty(value = "整改描述", example = "")
+	@TableField("rectification_remark")
+	private String rectificationRemark;
+
+	/** 整改时间 */
+	@ApiModelProperty(value = "整改时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("rectification_time")
+	private Date rectificationTime;
+}
diff --git a/src/main/java/org/springblade/modules/taskPlaceRecord/mapper/TaskPlaceRecordMapper.java b/src/main/java/org/springblade/modules/taskPlaceRecord/mapper/TaskPlaceRecordMapper.java
new file mode 100644
index 0000000..6b43a61
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceRecord/mapper/TaskPlaceRecordMapper.java
@@ -0,0 +1,58 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskPlaceRecord.mapper;
+
+import org.springblade.modules.taskPlaceRecord.dto.TaskPlaceRecordDTO;
+import org.springblade.modules.taskPlaceRecord.entity.TaskPlaceRecordEntity;
+import org.springblade.modules.taskPlaceRecord.vo.TaskPlaceRecordVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * 消防自查详情记录表 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2024-02-04
+ */
+public interface TaskPlaceRecordMapper extends BaseMapper<TaskPlaceRecordEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param taskPlaceRecord
+	 * @return
+	 */
+	List<TaskPlaceRecordVO> selectTaskPlaceRecordPage(IPage page, TaskPlaceRecordVO taskPlaceRecord);
+
+	/**
+	 * 查询消防自查详情记录表
+	 *
+	 * @param id 消防自查详情记录表ID
+	 * @return 消防自查详情记录表
+	 */
+	public TaskPlaceRecordDTO selectTaskPlaceRecordById(Long id);
+
+	/**
+	 * 查询消防自查详情记录表列表
+	 *
+	 * @param taskPlaceRecordDTO 消防自查详情记录表
+	 * @return 消防自查详情记录表集合
+	 */
+	public List<TaskPlaceRecordDTO> selectTaskPlaceRecordList(TaskPlaceRecordDTO taskPlaceRecordDTO);
+}
diff --git a/src/main/java/org/springblade/modules/taskPlaceRecord/mapper/TaskPlaceRecordMapper.xml b/src/main/java/org/springblade/modules/taskPlaceRecord/mapper/TaskPlaceRecordMapper.xml
new file mode 100644
index 0000000..bcf32ab
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceRecord/mapper/TaskPlaceRecordMapper.xml
@@ -0,0 +1,71 @@
+<?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.taskPlaceRecord.mapper.TaskPlaceRecordMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="taskPlaceRecordResultMap" type="org.springblade.modules.taskPlaceRecord.entity.TaskPlaceRecordEntity">
+    </resultMap>
+
+
+    <select id="selectTaskPlaceRecordPage" resultMap="taskPlaceRecordResultMap">
+        select * from jczz_task_place_record where is_deleted = 0
+    </select>
+
+
+    <resultMap type="org.springblade.modules.taskPlaceRecord.dto.TaskPlaceRecordDTO" id="TaskPlaceRecordDTOResult">
+        <result property="id"    column="id"    />
+        <result property="itemId"    column="item_id"    />
+        <result property="taskPlaceSelfCheckId"    column="task_place_self_check_id"    />
+        <result property="state"    column="state"    />
+        <result property="remark"    column="remark"    />
+        <result property="imageUrls"    column="image_urls"    />
+        <result property="createUser"    column="create_user"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="isDeleted"    column="is_deleted"    />
+        <result property="rectificationImageUrls"    column="rectification_image_urls"    />
+        <result property="rectificationRemark"    column="rectification_remark"    />
+        <result property="rectificationTime"    column="rectification_time"    />
+    </resultMap>
+
+    <sql id="selectTaskPlaceRecord">
+    	select
+	        id,
+	        item_id,
+	        task_place_self_check_id,
+	        state,
+	        remark,
+	        image_urls,
+	        create_user,
+	        create_time,
+	        is_deleted,
+	        rectification_image_urls,
+	        rectification_remark,
+	        rectification_time
+		from
+        	jczz_task_place_record
+    </sql>
+
+    <select id="selectTaskPlaceRecordById" parameterType="long" resultMap="TaskPlaceRecordDTOResult">
+        <include refid="selectTaskPlaceRecord"/>
+        where
+        id = #{id}
+    </select>
+
+    <select id="selectTaskPlaceRecordList" parameterType="org.springblade.modules.taskPlaceRecord.dto.TaskPlaceRecordDTO" resultMap="TaskPlaceRecordDTOResult">
+        <include refid="selectTaskPlaceRecord"/>
+        <where>
+            <if test="id != null "> and id = #{id}</if>
+            <if test="itemId != null "> and item_id = #{itemId}</if>
+            <if test="taskPlaceSelfCheckId != null "> and task_place_self_check_id = #{taskPlaceSelfCheckId}</if>
+            <if test="state != null "> and state = #{state}</if>
+            <if test="remark != null  and remark != ''"> and remark = #{remark}</if>
+            <if test="imageUrls != null  and imageUrls != ''"> and image_urls = #{imageUrls}</if>
+            <if test="createUser != null "> and create_user = #{createUser}</if>
+            <if test="createTime != null "> and create_time = #{createTime}</if>
+            <if test="isDeleted != null "> and is_deleted = #{isDeleted}</if>
+            <if test="rectificationImageUrls != null  and rectificationImageUrls != ''"> and rectification_image_urls = #{rectificationImageUrls}</if>
+            <if test="rectificationRemark != null  and rectificationRemark != ''"> and rectification_remark = #{rectificationRemark}</if>
+            <if test="rectificationTime != null "> and rectification_time = #{rectificationTime}</if>
+        </where>
+    </select>
+</mapper>
diff --git a/src/main/java/org/springblade/modules/taskPlaceRecord/service/ITaskPlaceRecordService.java b/src/main/java/org/springblade/modules/taskPlaceRecord/service/ITaskPlaceRecordService.java
new file mode 100644
index 0000000..6fe250e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceRecord/service/ITaskPlaceRecordService.java
@@ -0,0 +1,61 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskPlaceRecord.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.taskPlaceRecord.dto.TaskPlaceRecordDTO;
+import org.springblade.modules.taskPlaceRecord.entity.TaskPlaceRecordEntity;
+import org.springblade.modules.taskPlaceRecord.vo.TaskPlaceRecordVO;
+import org.springblade.core.mp.base.BaseService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
+
+/**
+ * 消防自查详情记录表 服务类
+ *
+ * @author BladeX
+ * @since 2024-02-04
+ */
+public interface ITaskPlaceRecordService extends IService<TaskPlaceRecordEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param taskPlaceRecord
+	 * @return
+	 */
+	IPage<TaskPlaceRecordVO> selectTaskPlaceRecordPage(IPage<TaskPlaceRecordVO> page, TaskPlaceRecordVO taskPlaceRecord);
+
+
+		/**
+		 * 查询消防自查详情记录表
+		 *
+		 * @param id 消防自查详情记录表ID
+		 * @return 消防自查详情记录表
+		 */
+		public TaskPlaceRecordDTO selectTaskPlaceRecordById(Long id);
+
+		/**
+		 * 查询消防自查详情记录表列表
+		 *
+		 * @param taskPlaceRecordDTO 消防自查详情记录表
+		 * @return 消防自查详情记录表集合
+		 */
+		public List<TaskPlaceRecordDTO> selectTaskPlaceRecordList(TaskPlaceRecordDTO taskPlaceRecordDTO);
+}
diff --git a/src/main/java/org/springblade/modules/taskPlaceRecord/service/impl/TaskPlaceRecordServiceImpl.java b/src/main/java/org/springblade/modules/taskPlaceRecord/service/impl/TaskPlaceRecordServiceImpl.java
new file mode 100644
index 0000000..d372425
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceRecord/service/impl/TaskPlaceRecordServiceImpl.java
@@ -0,0 +1,68 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskPlaceRecord.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.taskPlaceRecord.dto.TaskPlaceRecordDTO;
+import org.springblade.modules.taskPlaceRecord.entity.TaskPlaceRecordEntity;
+import org.springblade.modules.taskPlaceRecord.vo.TaskPlaceRecordVO;
+import org.springblade.modules.taskPlaceRecord.mapper.TaskPlaceRecordMapper;
+import org.springblade.modules.taskPlaceRecord.service.ITaskPlaceRecordService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
+
+/**
+ * 消防自查详情记录表 服务实现类
+ *
+ * @author BladeX
+ * @since 2024-02-04
+ */
+@Service
+public class TaskPlaceRecordServiceImpl extends ServiceImpl<TaskPlaceRecordMapper, TaskPlaceRecordEntity> implements ITaskPlaceRecordService {
+
+	@Override
+	public IPage<TaskPlaceRecordVO> selectTaskPlaceRecordPage(IPage<TaskPlaceRecordVO> page, TaskPlaceRecordVO taskPlaceRecord) {
+		return page.setRecords(baseMapper.selectTaskPlaceRecordPage(page, taskPlaceRecord));
+	}
+	/**
+	 * 查询消防自查详情记录表
+	 *
+	 * @param id 消防自查详情记录表ID
+	 * @return 消防自查详情记录表
+	 */
+	@Override
+	public TaskPlaceRecordDTO selectTaskPlaceRecordById(Long id)
+	{
+		return this.baseMapper.selectTaskPlaceRecordById(id);
+	}
+
+	/**
+	 * 查询消防自查详情记录表列表
+	 *
+	 * @param taskPlaceRecordDTO 消防自查详情记录表
+	 * @return 消防自查详情记录表集合
+	 */
+	@Override
+	public List<TaskPlaceRecordDTO> selectTaskPlaceRecordList(TaskPlaceRecordDTO taskPlaceRecordDTO)
+	{
+		return this.baseMapper.selectTaskPlaceRecordList(taskPlaceRecordDTO);
+	}
+
+}
diff --git a/src/main/java/org/springblade/modules/taskPlaceRecord/vo/TaskPlaceRecordVO.java b/src/main/java/org/springblade/modules/taskPlaceRecord/vo/TaskPlaceRecordVO.java
new file mode 100644
index 0000000..7e1d8c8
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceRecord/vo/TaskPlaceRecordVO.java
@@ -0,0 +1,35 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskPlaceRecord.vo;
+
+import org.springblade.modules.taskPlaceRecord.entity.TaskPlaceRecordEntity;
+import org.springblade.core.tool.node.INode;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 消防自查详情记录表 视图实体类
+ *
+ * @author BladeX
+ * @since 2024-02-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class TaskPlaceRecordVO extends TaskPlaceRecordEntity {
+	private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/taskPlaceRecord/wrapper/TaskPlaceRecordWrapper.java b/src/main/java/org/springblade/modules/taskPlaceRecord/wrapper/TaskPlaceRecordWrapper.java
new file mode 100644
index 0000000..02cf4ce
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceRecord/wrapper/TaskPlaceRecordWrapper.java
@@ -0,0 +1,50 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskPlaceRecord.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.taskPlaceRecord.entity.TaskPlaceRecordEntity;
+import org.springblade.modules.taskPlaceRecord.vo.TaskPlaceRecordVO;
+import java.util.Objects;
+
+/**
+ * 消防自查详情记录表 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2024-02-04
+ */
+public class TaskPlaceRecordWrapper extends BaseEntityWrapper<TaskPlaceRecordEntity, TaskPlaceRecordVO>  {
+
+	public static TaskPlaceRecordWrapper build() {
+		return new TaskPlaceRecordWrapper();
+ 	}
+
+	@Override
+	public TaskPlaceRecordVO entityVO(TaskPlaceRecordEntity taskPlaceRecord) {
+		TaskPlaceRecordVO taskPlaceRecordVO = Objects.requireNonNull(BeanUtil.copy(taskPlaceRecord, TaskPlaceRecordVO.class));
+
+		//User createUser = UserCache.getUser(taskPlaceRecord.getCreateUser());
+		//User updateUser = UserCache.getUser(taskPlaceRecord.getUpdateUser());
+		//taskPlaceRecordVO.setCreateUserName(createUser.getName());
+		//taskPlaceRecordVO.setUpdateUserName(updateUser.getName());
+
+		return taskPlaceRecordVO;
+	}
+
+
+}
diff --git a/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.xml b/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.xml
index 1cdcf2e..63113ec 100644
--- a/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.xml
+++ b/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.xml
@@ -209,11 +209,11 @@
         LEFT JOIN jczz_doorplate_address jda on jda.address_code=jtpr.house_code
         LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code
         <where>
-            <if test="taskPalce.id != null ">and id = #{taskPalce.id}</if>
-            <if test="taskPalce.placeCheckId != null ">and place_check_id = #{taskPalce.placeCheckId}</if>
-            <if test="taskPalce.taskId != null ">and task_id = #{taskPalce.taskId}</if>
-            <if test="taskPalce.status != null ">and status = #{taskPalce.status}</if>
-            <if test="taskPalce.taskName != null  and taskPalce.taskName != ''">and task_name = #{taskPalce.taskName}
+            <if test="taskPalce.id != null ">and jtpr.id = #{taskPalce.id}</if>
+            <if test="taskPalce.placeCheckId != null ">and jtpr.place_check_id = #{taskPalce.placeCheckId}</if>
+            <if test="taskPalce.taskId != null ">and jtpr.task_id = #{taskPalce.taskId}</if>
+            <if test="taskPalce.status != null ">and jtpr.status = #{taskPalce.status}</if>
+            <if test="taskPalce.taskName != null  and taskPalce.taskName != ''">and jtpr.task_name = #{taskPalce.taskName}
             </if>
 
             <if test="taskPalce.startTime!=null and taskPalce.startTime!=''">
@@ -232,7 +232,7 @@
             </if>
 
             <if test="taskPalce.deptName!=null and taskPalce.deptName!=''">
-                and bd.dept_name like concat('%',#{taskPalce.deptName},'%')
+                and jpag.pcs_name like concat('%',#{taskPalce.deptName},'%')
             </if>
 
             <if test="taskPalce.nineType!=null">
@@ -243,34 +243,34 @@
                 and jp.punish_flag = #{taskPalce.punishFlag}
             </if>
 
-            <if test="taskPalce.remark != null  and taskPalce.remark != ''">and remark = #{taskPalce.remark}</if>
-            <if test="taskPalce.updateTime != null ">and update_time = #{taskPalce.updateTime}</if>
-            <if test="taskPalce.createTime != null ">and create_time = #{taskPalce.createTime}</if>
-            <if test="taskPalce.houseCode != null  and taskPalce.houseCode != ''">and house_code =
+            <if test="taskPalce.remark != null  and taskPalce.remark != ''">and jtpr.remark = #{taskPalce.remark}</if>
+            <if test="taskPalce.updateTime != null ">and jtpr.update_time = #{taskPalce.updateTime}</if>
+            <if test="taskPalce.createTime != null ">and jtpr.create_time = #{taskPalce.createTime}</if>
+            <if test="taskPalce.houseCode != null  and taskPalce.houseCode != ''">and jtpr.house_code =
                 #{taskPalce.houseCode}
             </if>
-            <if test="taskPalce.rectificationNoticeFlag != null ">and rectification_notice_flag =
+            <if test="taskPalce.rectificationNoticeFlag != null ">and jtpr.rectification_notice_flag =
                 #{taskPalce.rectificationNoticeFlag}
             </if>
-            <if test="taskPalce.rectificationEndTime != null ">and rectification_end_time =
+            <if test="taskPalce.rectificationEndTime != null ">and jtpr.rectification_end_time =
                 #{taskPalce.rectificationEndTime}
             </if>
-            <if test="taskPalce.rectificationCompleteTime != null ">and rectification_complete_time =
+            <if test="taskPalce.rectificationCompleteTime != null ">and jtpr.rectification_complete_time =
                 #{taskPalce.rectificationCompleteTime}
             </if>
-            <if test="taskPalce.rectificationFlag != null ">and rectification_flag = #{taskPalce.rectificationFlag}</if>
-            <if test="taskPalce.punishFlag != null ">and punish_flag = #{taskPalce.punishFlag}</if>
-            <if test="taskPalce.policeStation != null  and taskPalce.policeStation != ''">and police_station =
+            <if test="taskPalce.rectificationFlag != null ">and jtpr.rectification_flag = #{taskPalce.rectificationFlag}</if>
+            <if test="taskPalce.punishFlag != null ">and jtpr.punish_flag = #{taskPalce.punishFlag}</if>
+            <if test="taskPalce.policeStation != null  and taskPalce.policeStation != ''">and jtpr.police_station =
                 #{taskPalce.policeStation}
             </if>
             <if test="taskPalce.rectificationNoticeImgUrl != null  and taskPalce.rectificationNoticeImgUrl != ''">and
-                rectification_notice_img_url = #{taskPalce.rectificationNoticeImgUrl}
+                jtpr.rectification_notice_img_url = #{taskPalce.rectificationNoticeImgUrl}
             </if>
-            <if test="taskPalce.signaturePath != null  and taskPalce.signaturePath != ''">and signature_path =
+            <if test="taskPalce.signaturePath != null  and taskPalce.signaturePath != ''">and jtpr.signature_path =
                 #{taskPalce.signaturePath}
             </if>
-            <if test="taskPalce.createUser != null ">and create_user = #{taskPalce.createUser}</if>
-            <if test="taskPalce.imageUrls != null  and taskPalce.imageUrls != ''">and image_urls =
+            <if test="taskPalce.createUser != null ">and jtpr.create_user = #{taskPalce.createUser}</if>
+            <if test="taskPalce.imageUrls != null  and taskPalce.imageUrls != ''">and jtpr.image_urls =
                 #{taskPalce.imageUrls}
             </if>
             <if test="isAdministrator==2">
@@ -442,11 +442,12 @@
         LEFT JOIN jczz_doorplate_address jda on jda.address_code=jtpr.house_code
         LEFT JOIN jczz_police_affairs_grid jpag on jpag.community_code= jg.community_code
         <where>
-            <if test="taskPalce.id != null ">and id = #{taskPalce.id}</if>
-            <if test="taskPalce.placeCheckId != null ">and place_check_id = #{taskPalce.placeCheckId}</if>
-            <if test="taskPalce.taskId != null ">and task_id = #{taskPalce.taskId}</if>
-            <if test="taskPalce.status != null ">and status = #{taskPalce.status}</if>
-            <if test="taskPalce.taskName != null  and taskPalce.taskName != ''">and task_name = #{taskPalce.taskName}
+            <if test="taskPalce.id != null ">and jtpr.id = #{taskPalce.id}</if>
+            <if test="taskPalce.placeCheckId != null ">and jtpr.place_check_id = #{taskPalce.placeCheckId}</if>
+            <if test="taskPalce.taskId != null ">and jtpr.task_id = #{taskPalce.taskId}</if>
+            <if test="taskPalce.status != null ">and jtpr.status = #{taskPalce.status}</if>
+            <if test="taskPalce.taskName != null  and taskPalce.taskName != ''">
+                and jtpr.task_name = #{taskPalce.taskName}
             </if>
 
             <if test="taskPalce.placeName!=null and taskPalce.placeName!=''">
diff --git a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/controller/TaskPlaceSelfCheckController.java b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/controller/TaskPlaceSelfCheckController.java
new file mode 100644
index 0000000..9dc044a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/controller/TaskPlaceSelfCheckController.java
@@ -0,0 +1,149 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskPlaceSelfCheck.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.taskPlaceSelfCheck.dto.TaskPlaceSelfCheckDTO;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.taskPlaceSelfCheck.entity.TaskPlaceSelfCheckEntity;
+import org.springblade.modules.taskPlaceSelfCheck.vo.TaskPlaceSelfCheckVO;
+import org.springblade.modules.taskPlaceSelfCheck.wrapper.TaskPlaceSelfCheckWrapper;
+import org.springblade.modules.taskPlaceSelfCheck.service.ITaskPlaceSelfCheckService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ * 消防自查记任务表 控制器
+ *
+ * @author BladeX
+ * @since 2024-02-04
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("blade-taskPlaceSelfCheck/taskPlaceSelfCheck")
+@Api(value = "消防自查记任务表", tags = "消防自查记任务表接口")
+public class TaskPlaceSelfCheckController extends BladeController {
+
+	private final ITaskPlaceSelfCheckService taskPlaceSelfCheckService;
+
+
+	/**
+	 * 获取消防自查记任务表详细信息
+	 */
+	@ApiOperation("获取消防自查记任务表详细信息")
+	@GetMapping(value = "/getInfo")
+	public R<TaskPlaceSelfCheckVO> getInfo(@RequestParam("id") Long id){
+		TaskPlaceSelfCheckDTO taskPlaceSelfCheckDTO = taskPlaceSelfCheckService.selectTaskPlaceSelfCheckById(id);
+		TaskPlaceSelfCheckVO taskPlaceSelfCheckDetailVO = BeanUtil.copy(taskPlaceSelfCheckDTO, TaskPlaceSelfCheckVO.class);
+		return R.data(taskPlaceSelfCheckDetailVO);
+	}
+
+	/**
+	 * 消防自查记任务表 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入taskPlaceSelfCheck")
+	public R<TaskPlaceSelfCheckVO> detail(TaskPlaceSelfCheckEntity taskPlaceSelfCheck) {
+		TaskPlaceSelfCheckEntity detail = taskPlaceSelfCheckService.getOne(Condition.getQueryWrapper(taskPlaceSelfCheck));
+		return R.data(TaskPlaceSelfCheckWrapper.build().entityVO(detail));
+	}
+	/**
+	 * 消防自查记任务表 分页
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入taskPlaceSelfCheck")
+	public R<IPage<TaskPlaceSelfCheckVO>> list(TaskPlaceSelfCheckEntity taskPlaceSelfCheck, Query query) {
+		IPage<TaskPlaceSelfCheckEntity> pages = taskPlaceSelfCheckService.page(Condition.getPage(query), Condition.getQueryWrapper(taskPlaceSelfCheck));
+		return R.data(TaskPlaceSelfCheckWrapper.build().pageVO(pages));
+	}
+
+	/**
+	 * 消防自查记任务表 自定义分页
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入taskPlaceSelfCheck")
+	public R<IPage<TaskPlaceSelfCheckVO>> page(TaskPlaceSelfCheckVO taskPlaceSelfCheck, Query query) {
+		IPage<TaskPlaceSelfCheckVO> pages = taskPlaceSelfCheckService.selectTaskPlaceSelfCheckPage(Condition.getPage(query), taskPlaceSelfCheck);
+		return R.data(pages);
+	}
+
+	/**
+	 * 消防自查记任务表 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入taskPlaceSelfCheck")
+	public R save(@Valid @RequestBody TaskPlaceSelfCheckEntity taskPlaceSelfCheck) {
+		return R.status(taskPlaceSelfCheckService.save(taskPlaceSelfCheck));
+	}
+	/**
+	 * 消防自查记任务表 新增
+	 */
+	@PostMapping("/saveTwo")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入taskPlaceSelfCheck")
+	public R saveTwo(@Valid @RequestBody TaskPlaceSelfCheckVO taskPlaceSelfCheck) throws Exception {
+		return R.status(taskPlaceSelfCheckService.savePlace(taskPlaceSelfCheck));
+	}
+
+	/**
+	 * 消防自查记任务表 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入taskPlaceSelfCheck")
+	public R update(@Valid @RequestBody TaskPlaceSelfCheckEntity taskPlaceSelfCheck) {
+		return R.status(taskPlaceSelfCheckService.updateById(taskPlaceSelfCheck));
+	}
+
+	/**
+	 * 消防自查记任务表 新增或修改
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入taskPlaceSelfCheck")
+	public R submit(@Valid @RequestBody TaskPlaceSelfCheckEntity taskPlaceSelfCheck) {
+		return R.status(taskPlaceSelfCheckService.saveOrUpdate(taskPlaceSelfCheck));
+	}
+
+	/**
+	 * 消防自查记任务表 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 7)
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(taskPlaceSelfCheckService.removeBatchByIds(Func.toLongList(ids)));
+	}
+
+
+}
diff --git a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/dto/TaskPlaceSelfCheckDTO.java b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/dto/TaskPlaceSelfCheckDTO.java
new file mode 100644
index 0000000..2e2e299
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/dto/TaskPlaceSelfCheckDTO.java
@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskPlaceSelfCheck.dto;
+
+import org.springblade.modules.place.vo.PlacePoiLabelVO;
+import org.springblade.modules.taskPlaceRecord.entity.TaskPlaceRecordEntity;
+import org.springblade.modules.taskPlaceRecord.vo.TaskPlaceRecordVO;
+import org.springblade.modules.taskPlaceSelfCheck.entity.TaskPlaceSelfCheckEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+/**
+ * 消防自查记任务表 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2024-02-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class TaskPlaceSelfCheckDTO extends TaskPlaceSelfCheckEntity {
+	private static final long serialVersionUID = 1L;
+	private List<TaskPlaceRecordVO> taskPlaceRecordVOList;
+
+	private List<PlacePoiLabelVO> placePoiLabelVOList ;
+}
diff --git a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/entity/TaskPlaceSelfCheckEntity.java b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/entity/TaskPlaceSelfCheckEntity.java
new file mode 100644
index 0000000..33dbf83
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/entity/TaskPlaceSelfCheckEntity.java
@@ -0,0 +1,136 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskPlaceSelfCheck.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.tenant.mp.TenantEntity;
+
+import java.util.Date;
+
+/**
+ * 消防自查记任务表 实体类
+ *
+ * @author BladeX
+ * @since 2024-02-04
+ */
+@Data
+@TableName("jczz_task_place_self_check")
+@ApiModel(value = "TaskPlaceSelfCheck对象", description = "消防自查记任务表")
+public class TaskPlaceSelfCheckEntity {
+
+	private static final long serialVersionUID = 1L;
+
+
+	/** id */
+	@ApiModelProperty(value = "主键ID", example = "")
+	@TableId(value = "id", type = IdType.ASSIGN_ID)
+	private Long id;
+
+	/** 任务id */
+	@ApiModelProperty(value = "任务id", example = "")
+	@TableField("task_id")
+	private Long taskId;
+
+	/** 任务名称 */
+	@ApiModelProperty(value = "任务名称", example = "")
+	@TableField("task_name")
+	private String taskName;
+
+	/** 场所名称 */
+	@ApiModelProperty(value = "场所名称", example = "")
+	@TableField("place_name")
+	private String placeName;
+
+	/** 隐患内容 */
+	@ApiModelProperty(value = "隐患内容", example = "")
+	@TableField("remark")
+	private String remark;
+
+	/** 更新时间 */
+	@ApiModelProperty(value = "更新时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField(value = "update_time",fill = FieldFill.UPDATE)
+	private Date updateTime;
+
+	/** 创建时间 */
+	@ApiModelProperty(value = "创建时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField(value = "create_time",fill = FieldFill.INSERT)
+	private Date createTime;
+
+	/** 门牌地址编码 */
+	@ApiModelProperty(value = "门牌地址编码", example = "")
+	@TableField("house_code")
+	private String houseCode;
+
+	/** 整改截止时间 */
+	@ApiModelProperty(value = "整改截止时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("rectification_end_time")
+	private Date rectificationEndTime;
+
+	/** 整改完成时间 */
+	@ApiModelProperty(value = "整改完成时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("rectification_complete_time")
+	private Date rectificationCompleteTime;
+
+	/** 是否整改完毕:1:否 2 :是 */
+	@ApiModelProperty(value = "是否整改完毕:1:否 2 :是", example = "")
+	@TableField("rectification_flag")
+	private Integer rectificationFlag;
+
+	/** 派出所 */
+	@ApiModelProperty(value = "派出所", example = "")
+	@TableField("police_station")
+	private String policeStation;
+
+	/** 整改通知书地址 */
+	@ApiModelProperty(value = "整改通知书地址", example = "")
+	@TableField("rectification_notice_img_url")
+	private String rectificationNoticeImgUrl;
+
+	/** 签名路径 */
+	@ApiModelProperty(value = "签名路径", example = "")
+	@TableField("signature_path")
+	private String signaturePath;
+
+	/** 创建人 */
+	@ApiModelProperty(value = "创建人", example = "")
+	@TableField("create_user")
+	private Long createUser;
+
+	/** 照片 */
+	@ApiModelProperty(value = "照片", example = "")
+	@TableField("image_urls")
+	private String imageUrls;
+
+	/** 任务状态: 1:待接收  2:审核中 3:审核通过 4:审核不通过 */
+	@ApiModelProperty(value = "任务状态: 1:待接收  2:审核中 3:审核通过 4:审核不通过", example = "")
+	@TableField("status")
+	private Integer status;
+
+	/** 0:否 1:是 */
+	@ApiModelProperty(value = "0:否 1:是", example = "")
+	@TableField("delete_flag")
+	private Integer deleteFlag;
+}
diff --git a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.java b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.java
new file mode 100644
index 0000000..ef25fd2
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.java
@@ -0,0 +1,58 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskPlaceSelfCheck.mapper;
+
+import org.springblade.modules.taskPlaceSelfCheck.dto.TaskPlaceSelfCheckDTO;
+import org.springblade.modules.taskPlaceSelfCheck.entity.TaskPlaceSelfCheckEntity;
+import org.springblade.modules.taskPlaceSelfCheck.vo.TaskPlaceSelfCheckVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * 消防自查记任务表 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2024-02-04
+ */
+public interface TaskPlaceSelfCheckMapper extends BaseMapper<TaskPlaceSelfCheckEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param taskPlaceSelfCheck
+	 * @return
+	 */
+	List<TaskPlaceSelfCheckVO> selectTaskPlaceSelfCheckPage(IPage page, TaskPlaceSelfCheckVO taskPlaceSelfCheck);
+
+	/**
+	 * 查询消防自查记任务表
+	 *
+	 * @param id 消防自查记任务表ID
+	 * @return 消防自查记任务表
+	 */
+	public TaskPlaceSelfCheckDTO selectTaskPlaceSelfCheckById(Long id);
+
+	/**
+	 * 查询消防自查记任务表列表
+	 *
+	 * @param taskPlaceSelfCheckDTO 消防自查记任务表
+	 * @return 消防自查记任务表集合
+	 */
+	public List<TaskPlaceSelfCheckDTO> selectTaskPlaceSelfCheckList(TaskPlaceSelfCheckDTO taskPlaceSelfCheckDTO);
+}
diff --git a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.xml b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.xml
new file mode 100644
index 0000000..b593fc3
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.xml
@@ -0,0 +1,141 @@
+<?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.taskPlaceSelfCheck.mapper.TaskPlaceSelfCheckMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="taskPlaceSelfCheckResultMap" type="org.springblade.modules.taskPlaceSelfCheck.entity.TaskPlaceSelfCheckEntity">
+    </resultMap>
+
+
+    <select id="selectTaskPlaceSelfCheckPage" resultMap="taskPlaceSelfCheckResultMap">
+        select * from jczz_task_place_self_check where is_deleted = 0
+    </select>
+
+    <resultMap type="org.springblade.modules.taskPlaceSelfCheck.dto.TaskPlaceSelfCheckDTO" id="TaskPlaceSelfCheckDTOResult">
+        <result property="id"    column="id"    />
+        <result property="taskId"    column="task_id"    />
+        <result property="taskName"    column="task_name"    />
+        <result property="placeName"    column="place_name"    />
+        <result property="remark"    column="remark"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="houseCode"    column="house_code"    />
+        <result property="rectificationEndTime"    column="rectification_end_time"    />
+        <result property="rectificationCompleteTime"    column="rectification_complete_time"    />
+        <result property="rectificationFlag"    column="rectification_flag"    />
+        <result property="policeStation"    column="police_station"    />
+        <result property="rectificationNoticeImgUrl"    column="rectification_notice_img_url"    />
+        <result property="signaturePath"    column="signature_path"    />
+        <result property="createUser"    column="create_user"    />
+        <result property="imageUrls"    column="image_urls"    />
+        <result property="status"    column="status"    />
+        <result property="deleteFlag"    column="delete_flag"    />
+
+        <collection property="placePoiLabelVOList" column="jpid" javaType="java.util.List"
+                    select="selectPlacePoiLabelList"
+                    ofType="org.springblade.modules.place.vo.PlacePoiLabelVO"
+                    autoMapping="true">
+        </collection>
+
+        <collection property="taskPlaceRecordVOList" column="place_check_id" select="selectPatrolRecordList"
+                    javaType="java.util.List" ofType="org.springblade.modules.taskPlaceRecord.vo.TaskPlaceRecordVO"
+                    autoMapping="true">
+        </collection>
+
+    </resultMap>
+
+    <select id="selectPlacePoiLabelList" parameterType="Long"
+            resultType="org.springblade.modules.place.vo.PlacePoiLabelVO">
+            SELECT
+            jppl.id,
+            jppl.place_id,
+            jppl.poi_code,
+            jppl.type,
+            jppl.color,
+            jppl.remark,
+            jc.category_name labelName
+        FROM
+            jczz_place_poi_label jppl
+            LEFT JOIN jczz_category jc ON jppl.poi_code = jc.category_no
+        WHERE
+            jppl.type = '3'
+             and  place_id = #{jpid}
+        </select>
+
+
+    <select id="selectPatrolRecordList" parameterType="Long"
+            resultType="org.springblade.modules.patrol.vo.PatrolRecordVO">
+            select
+            jpr.id,
+            jpr.item_id,
+            jpr.place_check_id,
+            jpr.state,
+            jpr.remark,
+            jpr.image_urls,
+            jpr.create_user,
+            jpr.create_time,
+            jpr.is_deleted,
+            jpr.rectification_image_urls,
+            jpr.rectification_remark,
+            jpr.rectification_time,
+			jpgi.items_name
+            from
+            jczz_patrol_record jpr
+            LEFT JOIN jczz_patrol_group_item jpgi on jpr.item_id= jpgi.id
+            where place_check_id = #{id}
+        </select>
+
+    <sql id="selectTaskPlaceSelfCheck">
+    	select
+	        id,
+	        task_id,
+	        task_name,
+	        place_name,
+	        remark,
+	        update_time,
+	        create_time,
+	        house_code,
+	        rectification_end_time,
+	        rectification_complete_time,
+	        rectification_flag,
+	        police_station,
+	        rectification_notice_img_url,
+	        signature_path,
+	        create_user,
+	        image_urls,
+	        status,
+	        delete_flag
+		from
+        	jczz_task_place_self_check
+    </sql>
+
+    <select id="selectTaskPlaceSelfCheckById" parameterType="long" resultMap="TaskPlaceSelfCheckDTOResult">
+        <include refid="selectTaskPlaceSelfCheck"/>
+        where
+        id = #{id}
+    </select>
+
+    <select id="selectTaskPlaceSelfCheckList" parameterType="org.springblade.modules.taskPlaceSelfCheck.dto.TaskPlaceSelfCheckDTO" resultMap="TaskPlaceSelfCheckDTOResult">
+        <include refid="selectTaskPlaceSelfCheck"/>
+        <where>
+            <if test="id != null "> and id = #{id}</if>
+            <if test="taskId != null "> and task_id = #{taskId}</if>
+            <if test="taskName != null  and taskName != ''"> and task_name = #{taskName}</if>
+            <if test="placeName != null  and placeName != ''"> and place_name = #{placeName}</if>
+            <if test="remark != null  and remark != ''"> and remark = #{remark}</if>
+            <if test="updateTime != null "> and update_time = #{updateTime}</if>
+            <if test="createTime != null "> and create_time = #{createTime}</if>
+            <if test="houseCode != null  and houseCode != ''"> and house_code = #{houseCode}</if>
+            <if test="rectificationEndTime != null "> and rectification_end_time = #{rectificationEndTime}</if>
+            <if test="rectificationCompleteTime != null "> and rectification_complete_time = #{rectificationCompleteTime}</if>
+            <if test="rectificationFlag != null "> and rectification_flag = #{rectificationFlag}</if>
+            <if test="policeStation != null  and policeStation != ''"> and police_station = #{policeStation}</if>
+            <if test="rectificationNoticeImgUrl != null  and rectificationNoticeImgUrl != ''"> and rectification_notice_img_url = #{rectificationNoticeImgUrl}</if>
+            <if test="signaturePath != null  and signaturePath != ''"> and signature_path = #{signaturePath}</if>
+            <if test="createUser != null "> and create_user = #{createUser}</if>
+            <if test="imageUrls != null  and imageUrls != ''"> and image_urls = #{imageUrls}</if>
+            <if test="status != null "> and status = #{status}</if>
+            <if test="deleteFlag != null "> and delete_flag = #{deleteFlag}</if>
+        </where>
+    </select>
+</mapper>
diff --git a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/ITaskPlaceSelfCheckService.java b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/ITaskPlaceSelfCheckService.java
new file mode 100644
index 0000000..2dde943
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/ITaskPlaceSelfCheckService.java
@@ -0,0 +1,62 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskPlaceSelfCheck.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.taskPlaceSelfCheck.dto.TaskPlaceSelfCheckDTO;
+import org.springblade.modules.taskPlaceSelfCheck.entity.TaskPlaceSelfCheckEntity;
+import org.springblade.modules.taskPlaceSelfCheck.vo.TaskPlaceSelfCheckVO;
+import org.springblade.core.mp.base.BaseService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
+
+/**
+ * 消防自查记任务表 服务类
+ *
+ * @author BladeX
+ * @since 2024-02-04
+ */
+public interface ITaskPlaceSelfCheckService extends IService<TaskPlaceSelfCheckEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param taskPlaceSelfCheck
+	 * @return
+	 */
+	IPage<TaskPlaceSelfCheckVO> selectTaskPlaceSelfCheckPage(IPage<TaskPlaceSelfCheckVO> page, TaskPlaceSelfCheckVO taskPlaceSelfCheck);
+	/**
+	 * 查询消防自查记任务表
+	 *
+	 * @param id 消防自查记任务表ID
+	 * @return 消防自查记任务表
+	 */
+	public TaskPlaceSelfCheckDTO selectTaskPlaceSelfCheckById(Long id);
+
+	/**
+	 * 查询消防自查记任务表列表
+	 *
+	 * @param taskPlaceSelfCheckDTO 消防自查记任务表
+	 * @return 消防自查记任务表集合
+	 */
+	public List<TaskPlaceSelfCheckDTO> selectTaskPlaceSelfCheckList(TaskPlaceSelfCheckDTO taskPlaceSelfCheckDTO);
+
+
+	Boolean savePlace(TaskPlaceSelfCheckVO taskPlaceSelfCheck) throws Exception;
+}
diff --git a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/impl/TaskPlaceSelfCheckServiceImpl.java b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/impl/TaskPlaceSelfCheckServiceImpl.java
new file mode 100644
index 0000000..51434cb
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/impl/TaskPlaceSelfCheckServiceImpl.java
@@ -0,0 +1,119 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskPlaceSelfCheck.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.constant.CommonConstant;
+import org.springblade.common.constant.DictConstant;
+import org.springblade.common.utils.SpringUtils;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.SpringUtil;
+import org.springblade.modules.patrol.entity.PatrolRecord;
+import org.springblade.modules.patrol.service.IPatrolRecordService;
+import org.springblade.modules.place.vo.PlaceCheckVO;
+import org.springblade.modules.task.service.ITaskService;
+import org.springblade.modules.taskPlaceRecord.entity.TaskPlaceRecordEntity;
+import org.springblade.modules.taskPlaceRecord.service.ITaskPlaceRecordService;
+import org.springblade.modules.taskPlaceRecord.vo.TaskPlaceRecordVO;
+import org.springblade.modules.taskPlaceRectification.entity.TaskPlaceRectificationEntity;
+import org.springblade.modules.taskPlaceRectification.service.ITaskPlaceRectificationService;
+import org.springblade.modules.taskPlaceSelfCheck.dto.TaskPlaceSelfCheckDTO;
+import org.springblade.modules.taskPlaceSelfCheck.entity.TaskPlaceSelfCheckEntity;
+import org.springblade.modules.taskPlaceSelfCheck.vo.TaskPlaceSelfCheckVO;
+import org.springblade.modules.taskPlaceSelfCheck.mapper.TaskPlaceSelfCheckMapper;
+import org.springblade.modules.taskPlaceSelfCheck.service.ITaskPlaceSelfCheckService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
+
+/**
+ * 消防自查记任务表 服务实现类
+ *
+ * @author BladeX
+ * @since 2024-02-04
+ */
+@Service
+public class TaskPlaceSelfCheckServiceImpl extends ServiceImpl<TaskPlaceSelfCheckMapper, TaskPlaceSelfCheckEntity> implements ITaskPlaceSelfCheckService {
+
+	@Override
+	public IPage<TaskPlaceSelfCheckVO> selectTaskPlaceSelfCheckPage(IPage<TaskPlaceSelfCheckVO> page, TaskPlaceSelfCheckVO taskPlaceSelfCheck) {
+		return page.setRecords(baseMapper.selectTaskPlaceSelfCheckPage(page, taskPlaceSelfCheck));
+	}
+
+	/**
+	 * 查询消防自查记任务表
+	 *
+	 * @param id 消防自查记任务表ID
+	 * @return 消防自查记任务表
+	 */
+	@Override
+	public TaskPlaceSelfCheckDTO selectTaskPlaceSelfCheckById(Long id) {
+		return this.baseMapper.selectTaskPlaceSelfCheckById(id);
+	}
+
+	/**
+	 * 查询消防自查记任务表列表
+	 *
+	 * @param taskPlaceSelfCheckDTO 消防自查记任务表
+	 * @return 消防自查记任务表集合
+	 */
+	@Override
+	public List<TaskPlaceSelfCheckDTO> selectTaskPlaceSelfCheckList(TaskPlaceSelfCheckDTO taskPlaceSelfCheckDTO) {
+		return this.baseMapper.selectTaskPlaceSelfCheckList(taskPlaceSelfCheckDTO);
+	}
+
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public Boolean savePlace(TaskPlaceSelfCheckVO taskPlaceSelfCheck) throws Exception {
+		taskPlaceSelfCheck.setCreateUser(AuthUtil.getUserId());
+		// 1.保存任务表
+		ITaskService bean2 = SpringUtils.getBean(ITaskService.class);
+		Long aLong = bean2.saveTask(CommonConstant.NUMBER_ONE, DictConstant.FIRE_SELF_CHECK_NOTICE, 1,
+			"", AuthUtil.getUserId(), taskPlaceSelfCheck.getHouseCode(), CommonConstant.NUMBER_TWO, 4);
+		if (aLong <= 0) {
+			return false;
+		}
+		taskPlaceSelfCheck.setTaskId(aLong);
+		// 2.保存任务详情
+		boolean save = save(taskPlaceSelfCheck);
+		if (save) {
+			// 3.保存题目记录
+			List<TaskPlaceRecordVO> taskPlaceRecordList = taskPlaceSelfCheck.getTaskPlaceRecordVOList();
+			ITaskPlaceRecordService bean = SpringUtil.getBean(ITaskPlaceRecordService.class);
+			taskPlaceRecordList.stream().forEach(item -> {
+				item.setTaskPlaceSelfCheckId(taskPlaceSelfCheck.getId());
+				item.setCreateUser(AuthUtil.getUserId());
+			});
+			List<TaskPlaceRecordEntity> collect = taskPlaceRecordList.stream().filter(item -> item.getState().equals(0)).collect(Collectors.toList());
+			boolean b = bean.saveBatch(collect);
+			updateById(taskPlaceSelfCheck);
+			if (b) {
+				return b;
+			}
+			throw new Exception("保存失败!");
+		}
+		return false;
+	}
+
+}
diff --git a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/vo/TaskPlaceSelfCheckVO.java b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/vo/TaskPlaceSelfCheckVO.java
new file mode 100644
index 0000000..83e92c1
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/vo/TaskPlaceSelfCheckVO.java
@@ -0,0 +1,44 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskPlaceSelfCheck.vo;
+
+import org.springblade.modules.patrol.entity.PatrolRecord;
+import org.springblade.modules.place.vo.PlacePoiLabelVO;
+import org.springblade.modules.taskPlaceRecord.entity.TaskPlaceRecordEntity;
+import org.springblade.modules.taskPlaceRecord.vo.TaskPlaceRecordVO;
+import org.springblade.modules.taskPlaceSelfCheck.entity.TaskPlaceSelfCheckEntity;
+import org.springblade.core.tool.node.INode;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+/**
+ * 消防自查记任务表 视图实体类
+ *
+ * @author BladeX
+ * @since 2024-02-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class TaskPlaceSelfCheckVO extends TaskPlaceSelfCheckEntity {
+	private static final long serialVersionUID = 1L;
+
+	private List<TaskPlaceRecordVO> taskPlaceRecordVOList;
+
+	private List<PlacePoiLabelVO> placePoiLabelVOList ;
+}
diff --git a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/wrapper/TaskPlaceSelfCheckWrapper.java b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/wrapper/TaskPlaceSelfCheckWrapper.java
new file mode 100644
index 0000000..dded1cb
--- /dev/null
+++ b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/wrapper/TaskPlaceSelfCheckWrapper.java
@@ -0,0 +1,50 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.taskPlaceSelfCheck.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.taskPlaceSelfCheck.entity.TaskPlaceSelfCheckEntity;
+import org.springblade.modules.taskPlaceSelfCheck.vo.TaskPlaceSelfCheckVO;
+import java.util.Objects;
+
+/**
+ * 消防自查记任务表 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2024-02-04
+ */
+public class TaskPlaceSelfCheckWrapper extends BaseEntityWrapper<TaskPlaceSelfCheckEntity, TaskPlaceSelfCheckVO>  {
+
+	public static TaskPlaceSelfCheckWrapper build() {
+		return new TaskPlaceSelfCheckWrapper();
+ 	}
+
+	@Override
+	public TaskPlaceSelfCheckVO entityVO(TaskPlaceSelfCheckEntity taskPlaceSelfCheck) {
+		TaskPlaceSelfCheckVO taskPlaceSelfCheckVO = Objects.requireNonNull(BeanUtil.copy(taskPlaceSelfCheck, TaskPlaceSelfCheckVO.class));
+
+		//User createUser = UserCache.getUser(taskPlaceSelfCheck.getCreateUser());
+		//User updateUser = UserCache.getUser(taskPlaceSelfCheck.getUpdateUser());
+		//taskPlaceSelfCheckVO.setCreateUserName(createUser.getName());
+		//taskPlaceSelfCheckVO.setUpdateUserName(updateUser.getName());
+
+		return taskPlaceSelfCheckVO;
+	}
+
+
+}

--
Gitblit v1.9.3