人员详情信息

This commit is contained in:
pengjie 2025-06-23 15:25:39 +08:00
parent 2e90f38ba6
commit 907f812014
57 changed files with 1858 additions and 23 deletions

View File

@ -19,6 +19,7 @@ import io.swagger.v3.oas.annotations.Operation;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
/**
* 企业年度目标 Controller
@ -42,6 +43,13 @@ public class EnterpriseGoalController {
return ResponseDTO.ok(enterpriseGoalService.queryPage(queryForm));
}
@Operation(summary = "列表查询 @author pengjie")
@PostMapping("/enterpriseGoal/queryList")
@SaCheckPermission("enterpriseGoal:query")
public ResponseDTO<List<EnterpriseGoalVO>> queryList(@RequestBody @Valid EnterpriseGoalQueryForm queryForm) {
return ResponseDTO.ok(enterpriseGoalService.queryList(queryForm));
}
@Operation(summary = "添加 @author pengjie")
@PostMapping("/enterpriseGoal/add")
@SaCheckPermission("enterpriseGoal:add")

View File

@ -77,6 +77,6 @@ public class HouseholdRegisterController {
@PostMapping("/householdRegister/queryById")
@SaCheckPermission("householdRegister:query")
public ResponseDTO<HouseholdRegisterVO> queryById(@RequestBody HouseholdRegisterEntity householdRegisterEntity) {
return householdRegisterService.queryById(householdRegisterEntity.getRegisterId());
return ResponseDTO.ok(householdRegisterService.queryById(householdRegisterEntity.getRegisterId()));
}
}

View File

@ -0,0 +1,72 @@
package net.lab1024.sa.admin.module.business.village.controller;
import net.lab1024.sa.admin.module.business.village.domain.form.PartyMemberAddForm;
import net.lab1024.sa.admin.module.business.village.domain.form.PartyMemberQueryForm;
import net.lab1024.sa.admin.module.business.village.domain.form.PartyMemberUpdateForm;
import net.lab1024.sa.admin.module.business.village.domain.vo.PartyMemberVO;
import net.lab1024.sa.admin.module.business.village.service.PartyMemberService;
import net.lab1024.sa.base.common.domain.ValidateList;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import cn.dev33.satoken.annotation.SaCheckPermission;
import net.lab1024.sa.base.common.domain.ResponseDTO;
import net.lab1024.sa.base.common.domain.PageResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import javax.annotation.Resource;
import javax.validation.Valid;
/**
* 人员党员信息 Controller
*
* @Author pengjie
* @Date 2025-06-21 14:26:18
* @Copyright jxj
*/
@RestController
@Tag(name = "人员党员信息")
public class PartyMemberController {
@Resource
private PartyMemberService partyMemberService;
@Operation(summary = "分页查询 @author pengjie")
@PostMapping("/partyMember/queryPage")
@SaCheckPermission("partyMember:query")
public ResponseDTO<PageResult<PartyMemberVO>> queryPage(@RequestBody @Valid PartyMemberQueryForm queryForm) {
return ResponseDTO.ok(partyMemberService.queryPage(queryForm));
}
@Operation(summary = "添加 @author pengjie")
@PostMapping("/partyMember/add")
@SaCheckPermission("partyMember:add")
public ResponseDTO<String> add(@RequestBody @Valid PartyMemberAddForm addForm) {
return partyMemberService.add(addForm);
}
@Operation(summary = "更新 @author pengjie")
@PostMapping("/partyMember/update")
@SaCheckPermission("partyMember:update")
public ResponseDTO<String> update(@RequestBody @Valid PartyMemberUpdateForm updateForm) {
return partyMemberService.update(updateForm);
}
@Operation(summary = "批量删除 @author pengjie")
@PostMapping("/partyMember/batchDelete")
@SaCheckPermission("partyMember:delete")
public ResponseDTO<String> batchDelete(@RequestBody ValidateList<Long> idList) {
return partyMemberService.batchDelete(idList);
}
@Operation(summary = "单个删除 @author pengjie")
@GetMapping("/partyMember/delete/{partyMemberId}")
@SaCheckPermission("partyMember:delete")
public ResponseDTO<String> batchDelete(@PathVariable Long partyMemberId) {
return partyMemberService.delete(partyMemberId);
}
}

View File

@ -0,0 +1,80 @@
package net.lab1024.sa.admin.module.business.village.controller;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerCarAddForm;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerCarQueryForm;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerCarUpdateForm;
import net.lab1024.sa.admin.module.business.village.domain.vo.VillagerCarVO;
import net.lab1024.sa.admin.module.business.village.service.VillagerCarService;
import net.lab1024.sa.base.common.domain.ValidateList;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import cn.dev33.satoken.annotation.SaCheckPermission;
import net.lab1024.sa.base.common.domain.ResponseDTO;
import net.lab1024.sa.base.common.domain.PageResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
/**
* 人员车辆信息 Controller
*
* @Author pengjie
* @Date 2025-06-21 11:54:04
* @Copyright jxj
*/
@RestController
@Tag(name = "人员车辆信息")
public class VillagerCarController {
@Resource
private VillagerCarService villagerCarService;
@Operation(summary = "分页查询 @author pengjie")
@PostMapping("/villagerCar/queryPage")
@SaCheckPermission("villagerCar:query")
public ResponseDTO<PageResult<VillagerCarVO>> queryPage(@RequestBody @Valid VillagerCarQueryForm queryForm) {
return ResponseDTO.ok(villagerCarService.queryPage(queryForm));
}
@Operation(summary = "列表查询 @author pengjie")
@PostMapping("/villagerCar/queryList")
@SaCheckPermission("villagerCar:query")
public ResponseDTO<List<VillagerCarVO>> queryList(@RequestBody @Valid VillagerCarQueryForm queryForm) {
return ResponseDTO.ok(villagerCarService.queryList(queryForm));
}
@Operation(summary = "添加 @author pengjie")
@PostMapping("/villagerCar/add")
@SaCheckPermission("villagerCar:add")
public ResponseDTO<String> add(@RequestBody @Valid VillagerCarAddForm addForm) {
return villagerCarService.add(addForm);
}
@Operation(summary = "更新 @author pengjie")
@PostMapping("/villagerCar/update")
@SaCheckPermission("villagerCar:update")
public ResponseDTO<String> update(@RequestBody @Valid VillagerCarUpdateForm updateForm) {
return villagerCarService.update(updateForm);
}
@Operation(summary = "批量删除 @author pengjie")
@PostMapping("/villagerCar/batchDelete")
@SaCheckPermission("villagerCar:delete")
public ResponseDTO<String> batchDelete(@RequestBody ValidateList<Long> idList) {
return villagerCarService.batchDelete(idList);
}
@Operation(summary = "单个删除 @author pengjie")
@GetMapping("/villagerCar/delete/{carId}")
@SaCheckPermission("villagerCar:delete")
public ResponseDTO<String> batchDelete(@PathVariable Long carId) {
return villagerCarService.delete(carId);
}
}

View File

@ -5,6 +5,7 @@ import net.lab1024.sa.admin.module.business.village.domain.form.VillagerAddForm;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerQueryForm;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerUpdateForm;
import net.lab1024.sa.admin.module.business.village.domain.vo.VillageExcelVO;
import net.lab1024.sa.admin.module.business.village.domain.vo.VillagerDetailVO;
import net.lab1024.sa.admin.module.business.village.domain.vo.VillagerVO;
import net.lab1024.sa.admin.module.business.village.service.VillagerService;
import net.lab1024.sa.admin.module.system.employee.domain.form.EmployeeQueryForm;
@ -89,6 +90,13 @@ public class VillagerController {
return ResponseDTO.ok(villagerService.queryById(villagerEntity));
}
@Operation(summary = "查询人员详情 @author pengjie")
@PostMapping("/villager/queryByDetail")
@SaCheckPermission("villager:query")
public ResponseDTO<VillagerDetailVO> queryByDetail(@RequestBody @Valid VillagerEntity villagerEntity) {
return ResponseDTO.ok(villagerService.queryByDetail(villagerEntity));
}
@Operation(summary = "下载人员导入模板")
@GetMapping(value = "/villager/exportExcel")
public void exportExcel(HttpServletResponse response) {

View File

@ -0,0 +1,72 @@
package net.lab1024.sa.admin.module.business.village.controller;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerRelationshipAddForm;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerRelationshipQueryForm;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerRelationshipUpdateForm;
import net.lab1024.sa.admin.module.business.village.domain.vo.VillagerRelationshipVO;
import net.lab1024.sa.admin.module.business.village.service.VillagerRelationshipService;
import net.lab1024.sa.base.common.domain.ValidateList;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import cn.dev33.satoken.annotation.SaCheckPermission;
import net.lab1024.sa.base.common.domain.ResponseDTO;
import net.lab1024.sa.base.common.domain.PageResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import javax.annotation.Resource;
import javax.validation.Valid;
/**
* 人员关联信息 Controller
*
* @Author pengjie
* @Date 2025-06-21 14:46:21
* @Copyright jxj
*/
@RestController
@Tag(name = "人员关联信息")
public class VillagerRelationshipController {
@Resource
private VillagerRelationshipService villagerRelationshipService;
@Operation(summary = "分页查询 @author pengjie")
@PostMapping("/villagerRelationship/queryPage")
@SaCheckPermission("villagerRelationship:query")
public ResponseDTO<PageResult<VillagerRelationshipVO>> queryPage(@RequestBody @Valid VillagerRelationshipQueryForm queryForm) {
return ResponseDTO.ok(villagerRelationshipService.queryPage(queryForm));
}
@Operation(summary = "添加 @author pengjie")
@PostMapping("/villagerRelationship/add")
@SaCheckPermission("villagerRelationship:add")
public ResponseDTO<String> add(@RequestBody @Valid VillagerRelationshipAddForm addForm) {
return villagerRelationshipService.add(addForm);
}
@Operation(summary = "更新 @author pengjie")
@PostMapping("/villagerRelationship/update")
@SaCheckPermission("villagerRelationship:update")
public ResponseDTO<String> update(@RequestBody @Valid VillagerRelationshipUpdateForm updateForm) {
return villagerRelationshipService.update(updateForm);
}
@Operation(summary = "批量删除 @author pengjie")
@PostMapping("/villagerRelationship/batchDelete")
@SaCheckPermission("villagerRelationship:delete")
public ResponseDTO<String> batchDelete(@RequestBody ValidateList<Long> idList) {
return villagerRelationshipService.batchDelete(idList);
}
@Operation(summary = "单个删除 @author pengjie")
@GetMapping("/villagerRelationship/delete/{relationshipId}")
@SaCheckPermission("villagerRelationship:delete")
public ResponseDTO<String> batchDelete(@PathVariable Long relationshipId) {
return villagerRelationshipService.delete(relationshipId);
}
}

View File

@ -34,6 +34,8 @@ public interface CourtyardDao extends BaseMapper<CourtyardEntity> {
*/
List<CourtyardVO> queryPage(Page page, @Param("queryForm") CourtyardQueryForm queryForm);
List<CourtyardVO> queryPage(@Param("queryForm") CourtyardQueryForm queryForm);
CourtyardVO queryById(@Param("courtyardId") String courtyardId);
}

View File

@ -33,4 +33,6 @@ public interface EnterpriseGoalDao extends BaseMapper<EnterpriseGoalEntity> {
*/
List<EnterpriseGoalVO> queryPage(Page page, @Param("queryForm") EnterpriseGoalQueryForm queryForm);
List<EnterpriseGoalVO> queryPage(@Param("queryForm") EnterpriseGoalQueryForm queryForm);
}

View File

@ -3,6 +3,7 @@ package net.lab1024.sa.admin.module.business.village.dao;
import java.util.List;
import net.lab1024.sa.admin.module.business.village.domain.entity.HouseholdRegisterEntity;
import net.lab1024.sa.admin.module.business.village.domain.form.HouseholdRegisterQueryForm;
import net.lab1024.sa.admin.module.business.village.domain.vo.HomeVO;
import net.lab1024.sa.admin.module.business.village.domain.vo.HouseholdRegisterVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -33,4 +34,5 @@ public interface HouseholdRegisterDao extends BaseMapper<HouseholdRegisterEntity
*/
List<HouseholdRegisterVO> queryPage(Page page, @Param("queryForm") HouseholdRegisterQueryForm queryForm);
HouseholdRegisterVO queryById(@Param("registerId") String registerId);
}

View File

@ -0,0 +1,37 @@
package net.lab1024.sa.admin.module.business.village.dao;
import java.util.List;
import net.lab1024.sa.admin.module.business.village.domain.entity.PartyMemberEntity;
import net.lab1024.sa.admin.module.business.village.domain.form.PartyMemberQueryForm;
import net.lab1024.sa.admin.module.business.village.domain.vo.PartyMemberVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.lab1024.sa.base.annotation.DataScope;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
/**
* 人员党员信息 Dao
*
* @Author pengjie
* @Date 2025-06-21 14:26:18
* @Copyright jxj
*/
@Mapper
@Component
@DataScope
public interface PartyMemberDao extends BaseMapper<PartyMemberEntity> {
/**
* 分页 查询
*
* @param page
* @param queryForm
* @return
*/
List<PartyMemberVO> queryPage(Page page, @Param("queryForm") PartyMemberQueryForm queryForm);
List<PartyMemberVO> queryPage(@Param("queryForm") PartyMemberQueryForm queryForm);
}

View File

@ -0,0 +1,37 @@
package net.lab1024.sa.admin.module.business.village.dao;
import java.util.List;
import net.lab1024.sa.admin.module.business.village.domain.entity.VillagerCarEntity;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerCarQueryForm;
import net.lab1024.sa.admin.module.business.village.domain.vo.VillagerCarVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.lab1024.sa.base.annotation.DataScope;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
/**
* 人员车辆信息 Dao
*
* @Author pengjie
* @Date 2025-06-21 11:54:04
* @Copyright jxj
*/
@Mapper
@Component
@DataScope
public interface VillagerCarDao extends BaseMapper<VillagerCarEntity> {
/**
* 分页 查询
*
* @param page
* @param queryForm
* @return
*/
List<VillagerCarVO> queryPage(Page page, @Param("queryForm") VillagerCarQueryForm queryForm);
List<VillagerCarVO> queryPage(@Param("queryForm") VillagerCarQueryForm queryForm);
}

View File

@ -0,0 +1,36 @@
package net.lab1024.sa.admin.module.business.village.dao;
import java.util.List;
import net.lab1024.sa.admin.module.business.village.domain.entity.VillagerRelationshipEntity;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerRelationshipQueryForm;
import net.lab1024.sa.admin.module.business.village.domain.vo.VillagerRelationshipVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
/**
* 人员关联信息 Dao
*
* @Author pengjie
* @Date 2025-06-21 14:46:21
* @Copyright jxj
*/
@Mapper
@Component
public interface VillagerRelationshipDao extends BaseMapper<VillagerRelationshipEntity> {
/**
* 分页 查询
*
* @param page
* @param queryForm
* @return
*/
List<VillagerRelationshipVO> queryPage(Page page, @Param("queryForm") VillagerRelationshipQueryForm queryForm);
List<VillagerRelationshipVO> queryPage(@Param("queryForm") VillagerRelationshipQueryForm queryForm);
}

View File

@ -3,6 +3,8 @@ package net.lab1024.sa.admin.module.business.village.domain.entity;
import com.baomidou.mybatisplus.annotation.*;
import java.time.LocalDateTime;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
@ -75,6 +77,12 @@ public class HouseholdRegisterEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@Schema(description = "纬度")
private String latitude;
@Schema(description = "经度")
private String longitude;
/**
* 乡村ID
*/

View File

@ -0,0 +1,104 @@
package net.lab1024.sa.admin.module.business.village.domain.entity;
import com.baomidou.mybatisplus.annotation.*;
import java.time.LocalDate;
import java.time.LocalDateTime;
import lombok.Data;
/**
* 人员党员信息 实体类
*
* @Author pengjie
* @Date 2025-06-21 14:26:18
* @Copyright jxj
*/
@Data
@TableName("party_member")
public class PartyMemberEntity {
/**
* 党员ID
*/
@TableId(type = IdType.ASSIGN_ID)
private Long partyMemberId;
/**
* 人员ID
*/
private Long villagerId;
/**
* 党员编号
*/
private String code;
/**
* 入党时间
*/
private LocalDate joinTime;
/**
* 党支部
*/
private String partyBranch;
/**
* 所属职务
*/
private String position;
/**
* 党员荣誉
*/
private String honor;
/**
* 党员状态
*/
private String status;
/**
* 申请时间
*/
private LocalDate applyTime;
/**
* 党费
*/
private String partyCost;
/**
* 党员标签
*/
private String partyFlag;
/**
* 备注
*/
private String remark;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/**
* 创建人
*/
private String createBy;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
/**
* 乡村ID
*/
private Integer villageId;
}

View File

@ -0,0 +1,73 @@
package net.lab1024.sa.admin.module.business.village.domain.entity;
import com.baomidou.mybatisplus.annotation.*;
import java.time.LocalDateTime;
import lombok.Data;
/**
* 人员车辆信息 实体类
*
* @Author pengjie
* @Date 2025-06-21 11:54:04
* @Copyright jxj
*/
@Data
@TableName("villager_car")
public class VillagerCarEntity {
/**
* 人员车辆ID
*/
@TableId(type = IdType.ASSIGN_ID)
private Long carId;
/**
* 人员ID
*/
private Long villagerId;
/**
* 车牌号
*/
private String carNumber;
/**
* 车型
*/
private String carType;
/**
* 颜色
*/
private String color;
/**
* 品牌
*/
private String brand;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/**
* 创建人
*/
private String createBy;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
/**
* 乡村ID
*/
private Integer villageId;
}

View File

@ -197,6 +197,11 @@ public class VillagerEntity {
*/
private String workTime;
/**
* 人员性质
*/
private String nature;
/**
* 退休时间
*/

View File

@ -0,0 +1,40 @@
package net.lab1024.sa.admin.module.business.village.domain.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 人员关联信息 实体类
*
* @Author pengjie
* @Date 2025-06-21 14:46:21
* @Copyright jxj
*/
@Data
@TableName("villager_relationship")
public class VillagerRelationshipEntity {
/**
* 人员关系ID
*/
@TableId
private Long relationshipId;
/**
* 主人员ID
*/
private Long hostVillagerId;
/**
* 相关人员ID
*/
private Long villagerId;
/**
* 关联关系
*/
private String relationship;
}

View File

@ -5,6 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* 院落 分页查询表单
*
@ -32,4 +34,7 @@ public class CourtyardQueryForm extends PageParam {
@Schema(description = "院落名称")
private String name;
@Schema(description = "院落ID")
private List<Long> courtyardIds;
}

View File

@ -5,6 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* 房屋信息 分页查询表单
*
@ -37,4 +39,7 @@ public class HomeQueryForm extends PageParam {
@Schema(description = "房态")
private String roomStatus;
@Schema(description = "房屋ID")
private List<Long> homeIds;
}

View File

@ -35,4 +35,9 @@ public class HouseholdRegisterAddForm {
@Schema(description = "户籍地详细地址")
private String registeredResidence;
@Schema(description = "纬度")
private String latitude;
@Schema(description = "经度")
private String longitude;
}

View File

@ -40,4 +40,9 @@ public class HouseholdRegisterUpdateForm {
@Schema(description = "户籍地详细地址")
private String registeredResidence;
@Schema(description = "纬度")
private String latitude;
@Schema(description = "经度")
private String longitude;
}

View File

@ -0,0 +1,51 @@
package net.lab1024.sa.admin.module.business.village.domain.form;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDate;
import lombok.Data;
/**
* 人员党员信息 新建表单
*
* @Author pengjie
* @Date 2025-06-21 14:26:18
* @Copyright jxj
*/
@Data
public class PartyMemberAddForm {
@Schema(description = "人员ID")
private Long villagerId;
@Schema(description = "党员编号")
private String code;
@Schema(description = "入党时间")
private LocalDate joinTime;
@Schema(description = "党支部")
private String partyBranch;
@Schema(description = "所属职务")
private String position;
@Schema(description = "党员荣誉")
private String honor;
@Schema(description = "党员状态")
private String status;
@Schema(description = "申请时间")
private LocalDate applyTime;
@Schema(description = "党费")
private String partyCost;
@Schema(description = "党员标签")
private String partyFlag;
@Schema(description = "备注")
private String remark;
}

View File

@ -0,0 +1,23 @@
package net.lab1024.sa.admin.module.business.village.domain.form;
import net.lab1024.sa.base.common.domain.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 人员党员信息 分页查询表单
*
* @Author pengjie
* @Date 2025-06-21 14:26:18
* @Copyright jxj
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class PartyMemberQueryForm extends PageParam {
@Schema(description = "人员ID")
private Long villagerId;
}

View File

@ -0,0 +1,56 @@
package net.lab1024.sa.admin.module.business.village.domain.form;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDate;
import javax.validation.constraints.NotNull;
import lombok.Data;
/**
* 人员党员信息 更新表单
*
* @Author pengjie
* @Date 2025-06-21 14:26:18
* @Copyright jxj
*/
@Data
public class PartyMemberUpdateForm {
@Schema(description = "党员ID", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "党员ID 不能为空")
private Long partyMemberId;
@Schema(description = "人员ID")
private Long villagerId;
@Schema(description = "党员编号")
private String code;
@Schema(description = "入党时间")
private LocalDate joinTime;
@Schema(description = "党支部")
private String partyBranch;
@Schema(description = "所属职务")
private String position;
@Schema(description = "党员荣誉")
private String honor;
@Schema(description = "党员状态")
private String status;
@Schema(description = "申请时间")
private LocalDate applyTime;
@Schema(description = "党费")
private String partyCost;
@Schema(description = "党员标签")
private String partyFlag;
@Schema(description = "备注")
private String remark;
}

View File

@ -113,4 +113,7 @@ public class VillagerAddForm {
@Schema(description = "现工作单位")
private String workUnit;
@Schema(description = "人员性质")
private String nature;
}

View File

@ -0,0 +1,32 @@
package net.lab1024.sa.admin.module.business.village.domain.form;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 人员车辆信息 新建表单
*
* @Author pengjie
* @Date 2025-06-21 11:54:04
* @Copyright jxj
*/
@Data
public class VillagerCarAddForm {
@Schema(description = "人员ID")
private Long villagerId;
@Schema(description = "车牌号")
private String carNumber;
@Schema(description = "车型")
private String carType;
@Schema(description = "颜色")
private String color;
@Schema(description = "品牌")
private String brand;
}

View File

@ -0,0 +1,26 @@
package net.lab1024.sa.admin.module.business.village.domain.form;
import net.lab1024.sa.base.common.domain.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 人员车辆信息 分页查询表单
*
* @Author pengjie
* @Date 2025-06-21 11:54:04
* @Copyright jxj
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class VillagerCarQueryForm extends PageParam {
@Schema(description = "人员ID")
private Long villagerId;
@Schema(description = "车牌号")
private String carNumber;
}

View File

@ -0,0 +1,37 @@
package net.lab1024.sa.admin.module.business.village.domain.form;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.NotNull;
import lombok.Data;
/**
* 人员车辆信息 更新表单
*
* @Author pengjie
* @Date 2025-06-21 11:54:04
* @Copyright jxj
*/
@Data
public class VillagerCarUpdateForm {
@Schema(description = "人员车辆ID", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "人员车辆ID 不能为空")
private Long carId;
@Schema(description = "人员ID")
private Long villagerId;
@Schema(description = "车牌号")
private String carNumber;
@Schema(description = "车型")
private String carType;
@Schema(description = "颜色")
private String color;
@Schema(description = "品牌")
private String brand;
}

View File

@ -62,4 +62,7 @@ public class VillagerQueryForm extends PageParam {
@Schema(description = "政治面貌(POLITICAL_1为党员)")
private String politicalStatus;
@Schema(description = "人员性质")
private String nature;
}

View File

@ -0,0 +1,26 @@
package net.lab1024.sa.admin.module.business.village.domain.form;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 人员关联信息 新建表单
*
* @Author pengjie
* @Date 2025-06-21 14:46:21
* @Copyright jxj
*/
@Data
public class VillagerRelationshipAddForm {
@Schema(description = "主人员ID")
private Long hostVillagerId;
@Schema(description = "相关人员ID")
private Long villagerId;
@Schema(description = "关联关系")
private String relationship;
}

View File

@ -0,0 +1,23 @@
package net.lab1024.sa.admin.module.business.village.domain.form;
import net.lab1024.sa.base.common.domain.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 人员关联信息 分页查询表单
*
* @Author pengjie
* @Date 2025-06-21 14:46:21
* @Copyright jxj
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class VillagerRelationshipQueryForm extends PageParam {
@Schema(description = "主人员ID")
private Long hostVillagerId;
}

View File

@ -0,0 +1,31 @@
package net.lab1024.sa.admin.module.business.village.domain.form;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.NotNull;
import lombok.Data;
/**
* 人员关联信息 更新表单
*
* @Author pengjie
* @Date 2025-06-21 14:46:21
* @Copyright jxj
*/
@Data
public class VillagerRelationshipUpdateForm {
@Schema(description = "人员关系ID", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "人员关系ID 不能为空")
private Long relationshipId;
@Schema(description = "主人员ID")
private Long hostVillagerId;
@Schema(description = "相关人员ID")
private Long villagerId;
@Schema(description = "关联关系")
private String relationship;
}

View File

@ -118,4 +118,7 @@ public class VillagerUpdateForm {
@Schema(description = "现工作单位")
private String workUnit;
@Schema(description = "人员性质")
private String nature;
}

View File

@ -66,6 +66,12 @@ public class HouseholdRegisterVO {
@Schema(description = "更新时间")
private LocalDateTime updateTime;
@Schema(description = "纬度")
private String latitude;
@Schema(description = "经度")
private String longitude;
@Schema(description = "乡村ID")
private Integer villageId;

View File

@ -0,0 +1,68 @@
package net.lab1024.sa.admin.module.business.village.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDate;
import java.time.LocalDateTime;
import lombok.Data;
/**
* 人员党员信息 列表VO
*
* @Author pengjie
* @Date 2025-06-21 14:26:18
* @Copyright jxj
*/
@Data
public class PartyMemberVO {
@Schema(description = "党员ID")
private Long partyMemberId;
@Schema(description = "人员ID")
private Long villagerId;
@Schema(description = "党员编号")
private String code;
@Schema(description = "入党时间")
private LocalDate joinTime;
@Schema(description = "党支部")
private String partyBranch;
@Schema(description = "所属职务")
private String position;
@Schema(description = "党员荣誉")
private String honor;
@Schema(description = "党员状态")
private String status;
@Schema(description = "申请时间")
private LocalDate applyTime;
@Schema(description = "党费")
private String partyCost;
@Schema(description = "党员标签")
private String partyFlag;
@Schema(description = "备注")
private String remark;
@Schema(description = "创建时间")
private LocalDateTime createTime;
@Schema(description = "创建人")
private String createBy;
@Schema(description = "更新时间")
private LocalDateTime updateTime;
@Schema(description = "乡村ID")
private Integer villageId;
}

View File

@ -0,0 +1,52 @@
package net.lab1024.sa.admin.module.business.village.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDateTime;
import lombok.Data;
/**
* 人员车辆信息 列表VO
*
* @Author pengjie
* @Date 2025-06-21 11:54:04
* @Copyright jxj
*/
@Data
public class VillagerCarVO {
@Schema(description = "人员车辆ID")
private Long carId;
@Schema(description = "人员ID")
private Long villagerId;
@Schema(description = "车牌号")
private String carNumber;
@Schema(description = "车型")
private String carType;
@Schema(description = "车型")
private String carTypeName;
@Schema(description = "颜色")
private String color;
@Schema(description = "品牌")
private String brand;
@Schema(description = "创建时间")
private LocalDateTime createTime;
@Schema(description = "创建人")
private String createBy;
@Schema(description = "更新时间")
private LocalDateTime updateTime;
@Schema(description = "乡村ID")
private Integer villageId;
}

View File

@ -0,0 +1,43 @@
package net.lab1024.sa.admin.module.business.village.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.lab1024.sa.admin.module.business.event.domain.entity.EventEntity;
import net.lab1024.sa.base.module.support.datamasking.DataMasking;
import net.lab1024.sa.base.module.support.datamasking.DataMaskingTypeEnum;
import java.time.LocalDateTime;
import java.util.List;
/**
* 人员详情VO
*
* @Author pengjie
* @Date 2025-02-18 14:47:51
* @Copyright jxj
*/
@Data
public class VillagerDetailVO {
@Schema(description = "人员基本信息")
private VillagerVO villagerVO;
@Schema(description = "人员房屋列表信息")
private List<VillagerHomeVO> villagerHomeVOList;
@Schema(description = "人员户籍信息")
private HouseholdRegisterVO householdRegisterVO;
@Schema(description = "人员车辆信息")
private List<VillagerCarVO> villagerCarVOList;
@Schema(description = "人员关系信息")
private List<VillagerRelationshipVO> villagerRelationshipVOList;
@Schema(description = "人员党员信息")
private PartyMemberVO partyMemberVO;
@Schema(description = "涉及事件")
private List<EventEntity> eventEntityList;
}

View File

@ -0,0 +1,46 @@
package net.lab1024.sa.admin.module.business.village.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 人员房屋信息 列表VO
*
* @Author pengjie
* @Date 2025-06-18 16:23:54
* @Copyright jxj
*/
@Data
public class VillagerHomeVO {
@Schema(description = "房屋ID")
private Long roomId;
@Schema(description = "人员ID")
private Long villagerId;
@Schema(description = "网格名称")
private String gridName;
@Schema(description = "小组名称")
private String groupName;
@Schema(description = "房屋名称")
private String roomName;
@Schema(description = "房屋地址")
private String address;
@Schema(description = "户主名称")
private String householderName;
@Schema(description = "关联关系")
private String relationship;
@Schema(description = "是否常住(0:否1:是)")
private Integer permanent;
@Schema(description = "类型(1:房屋;2:院落;3:户籍)")
private Integer type;
}

View File

@ -0,0 +1,38 @@
package net.lab1024.sa.admin.module.business.village.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 人员关联信息 列表VO
*
* @Author pengjie
* @Date 2025-06-21 14:46:21
* @Copyright jxj
*/
@Data
public class VillagerRelationshipVO {
@Schema(description = "人员关系ID")
private Long relationshipId;
@Schema(description = "主人员ID")
private Long hostVillagerId;
@Schema(description = "主人员ID")
private String hostVillagerName;
@Schema(description = "相关人员ID")
private Long villagerId;
@Schema(description = "相关人员名称")
private String villagerName;
@Schema(description = "关联关系")
private String relationship;
@Schema(description = "关联关系")
private String relationshipName;
}

View File

@ -167,4 +167,6 @@ public class VillagerVO {
@Schema(description = "现工作单位")
private String workUnit;
@Schema(description = "人员性质")
private String nature;
}

View File

@ -0,0 +1,20 @@
package net.lab1024.sa.admin.module.business.village.manager;
import net.lab1024.sa.admin.module.business.village.domain.entity.PartyMemberEntity;
import net.lab1024.sa.admin.module.business.village.dao.PartyMemberDao;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* 人员党员信息 Manager
*
* @Author pengjie
* @Date 2025-06-21 14:26:18
* @Copyright jxj
*/
@Service
public class PartyMemberManager extends ServiceImpl<PartyMemberDao, PartyMemberEntity> {
}

View File

@ -0,0 +1,20 @@
package net.lab1024.sa.admin.module.business.village.manager;
import net.lab1024.sa.admin.module.business.village.domain.entity.VillagerCarEntity;
import net.lab1024.sa.admin.module.business.village.dao.VillagerCarDao;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* 人员车辆信息 Manager
*
* @Author pengjie
* @Date 2025-06-21 11:54:04
* @Copyright jxj
*/
@Service
public class VillagerCarManager extends ServiceImpl<VillagerCarDao, VillagerCarEntity> {
}

View File

@ -0,0 +1,20 @@
package net.lab1024.sa.admin.module.business.village.manager;
import net.lab1024.sa.admin.module.business.village.domain.entity.VillagerRelationshipEntity;
import net.lab1024.sa.admin.module.business.village.dao.VillagerRelationshipDao;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* 人员关联信息 Manager
*
* @Author pengjie
* @Date 2025-06-21 14:46:21
* @Copyright jxj
*/
@Service
public class VillagerRelationshipManager extends ServiceImpl<VillagerRelationshipDao, VillagerRelationshipEntity> {
}

View File

@ -41,12 +41,29 @@ public class EnterpriseGoalService {
Page<?> page = SmartPageUtil.convert2PageQuery(queryForm);
List<EnterpriseGoalVO> list = enterpriseGoalDao.queryPage(page, queryForm);
for (EnterpriseGoalVO enterpriseGoalVO : list) {
enterpriseGoalVO.setActualProfit(enterpriseGoalVO.getActualIncome().subtract(enterpriseGoalVO.getActualExpenses()));
if (enterpriseGoalVO.getActualIncome() != null && enterpriseGoalVO.getActualExpenses() != null) {
enterpriseGoalVO.setActualProfit(enterpriseGoalVO.getActualIncome().subtract(enterpriseGoalVO.getActualExpenses()));
}
}
PageResult<EnterpriseGoalVO> pageResult = SmartPageUtil.convert2PageResult(page, list);
return pageResult;
}
/**
* 列表查询
*
* @param queryForm
* @return
*/
public List<EnterpriseGoalVO> queryList(EnterpriseGoalQueryForm queryForm) {
Page<?> page = SmartPageUtil.convert2PageQuery(queryForm);
List<EnterpriseGoalVO> list = enterpriseGoalDao.queryPage(page, queryForm);
for (EnterpriseGoalVO enterpriseGoalVO : list) {
enterpriseGoalVO.setActualProfit(enterpriseGoalVO.getActualIncome().subtract(enterpriseGoalVO.getActualExpenses()));
}
return list;
}
/**
* 添加
*/

View File

@ -95,6 +95,7 @@ public class HomeVillagerService {
HomeVillagerEntity homeVillagerEntity = SmartBeanUtil.copy(updateForm, HomeVillagerEntity.class);
LambdaUpdateWrapper<HomeVillagerEntity> wrapper = Wrappers.<HomeVillagerEntity>lambdaUpdate();
wrapper.set(HomeVillagerEntity::getRelationship, updateForm.getRelationship());
wrapper.set(HomeVillagerEntity::getPermanent, updateForm.getPermanent());
wrapper.eq(HomeVillagerEntity::getHomeId, updateForm.getHomeId());
wrapper.eq(HomeVillagerEntity::getVillagerId, updateForm.getVillagerId());
wrapper.eq(HomeVillagerEntity::getType, updateForm.getType());

View File

@ -121,16 +121,18 @@ public class HouseholdRegisterService {
/**
* 查询详情
*/
public ResponseDTO<HouseholdRegisterVO> queryById(Long registerId) {
public HouseholdRegisterVO queryById(Long registerId) {
List<DictValueEntity> dictValueEntities = dictValueDao.selectList(null);
HouseholdRegisterVO householdRegisterVO = new HouseholdRegisterVO();
HouseholdRegisterEntity householdRegisterEntity = householdRegisterDao.selectById(registerId.toString());
BeanUtils.copyProperties(householdRegisterEntity, householdRegisterVO);
HouseholdRegisterVO householdRegisterVO = householdRegisterDao.queryById(registerId.toString());
VillagerQueryForm villagerQueryForm = new VillagerQueryForm();
villagerQueryForm.setPermanentId(registerId.toString());
villagerQueryForm.setPermanentType(3);
List<VillagerVO> list = villagerService.queryList(villagerQueryForm);
villagerService.getRelationship(3, registerId, list, dictValueEntities);
List<DictValueEntity> collect2 = dictValueEntities.stream().filter(d -> d.getValueCode().equals(householdRegisterVO.getAccountType())).collect(Collectors.toList());
householdRegisterVO.setAccountTypeName(collect2.size() > 0 ? collect2.get(0).getValueName() : "");
householdRegisterVO.setVillagerList(list);
return ResponseDTO.ok(householdRegisterVO);
return householdRegisterVO;
}
private void build(List<HouseholdRegisterVO> list) {

View File

@ -0,0 +1,94 @@
package net.lab1024.sa.admin.module.business.village.service;
import java.util.List;
import net.lab1024.sa.admin.module.business.village.dao.PartyMemberDao;
import net.lab1024.sa.admin.module.business.village.domain.entity.PartyMemberEntity;
import net.lab1024.sa.admin.module.business.village.domain.form.PartyMemberAddForm;
import net.lab1024.sa.admin.module.business.village.domain.form.PartyMemberQueryForm;
import net.lab1024.sa.admin.module.business.village.domain.form.PartyMemberUpdateForm;
import net.lab1024.sa.admin.module.business.village.domain.vo.PartyMemberVO;
import net.lab1024.sa.base.common.util.SmartBeanUtil;
import net.lab1024.sa.base.common.util.SmartPageUtil;
import net.lab1024.sa.base.common.domain.ResponseDTO;
import net.lab1024.sa.base.common.domain.PageResult;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 人员党员信息 Service
*
* @Author pengjie
* @Date 2025-06-21 14:26:18
* @Copyright jxj
*/
@Service
public class PartyMemberService {
@Resource
private PartyMemberDao partyMemberDao;
/**
* 分页查询
*
* @param queryForm
* @return
*/
public PageResult<PartyMemberVO> queryPage(PartyMemberQueryForm queryForm) {
Page<?> page = SmartPageUtil.convert2PageQuery(queryForm);
List<PartyMemberVO> list = partyMemberDao.queryPage(page, queryForm);
PageResult<PartyMemberVO> pageResult = SmartPageUtil.convert2PageResult(page, list);
return pageResult;
}
/**
* 添加
*/
public ResponseDTO<String> add(PartyMemberAddForm addForm) {
PartyMemberEntity partyMemberEntity = SmartBeanUtil.copy(addForm, PartyMemberEntity.class);
partyMemberDao.insert(partyMemberEntity);
return ResponseDTO.ok();
}
/**
* 更新
*
* @param updateForm
* @return
*/
public ResponseDTO<String> update(PartyMemberUpdateForm updateForm) {
PartyMemberEntity partyMemberEntity = SmartBeanUtil.copy(updateForm, PartyMemberEntity.class);
partyMemberDao.updateById(partyMemberEntity);
return ResponseDTO.ok();
}
/**
* 批量删除
*
* @param idList
* @return
*/
public ResponseDTO<String> batchDelete(List<Long> idList) {
if (CollectionUtils.isEmpty(idList)){
return ResponseDTO.ok();
}
partyMemberDao.deleteBatchIds(idList);
return ResponseDTO.ok();
}
/**
* 单个删除
*/
public ResponseDTO<String> delete(Long partyMemberId) {
if (null == partyMemberId){
return ResponseDTO.ok();
}
partyMemberDao.deleteById(partyMemberId);
return ResponseDTO.ok();
}
}

View File

@ -0,0 +1,126 @@
package net.lab1024.sa.admin.module.business.village.service;
import java.util.List;
import java.util.stream.Collectors;
import net.lab1024.sa.admin.module.business.village.dao.VillagerCarDao;
import net.lab1024.sa.admin.module.business.village.domain.entity.VillagerCarEntity;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerCarAddForm;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerCarQueryForm;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerCarUpdateForm;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerQueryForm;
import net.lab1024.sa.admin.module.business.village.domain.vo.HomeVO;
import net.lab1024.sa.admin.module.business.village.domain.vo.VillagerCarVO;
import net.lab1024.sa.admin.module.business.village.domain.vo.VillagerVO;
import net.lab1024.sa.base.common.util.SmartBeanUtil;
import net.lab1024.sa.base.common.util.SmartPageUtil;
import net.lab1024.sa.base.common.domain.ResponseDTO;
import net.lab1024.sa.base.common.domain.PageResult;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.lab1024.sa.base.module.support.dict.dao.DictValueDao;
import net.lab1024.sa.base.module.support.dict.domain.entity.DictValueEntity;
import net.lab1024.sa.base.module.support.dict.domain.vo.DictValueVO;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 人员车辆信息 Service
*
* @Author pengjie
* @Date 2025-06-21 11:54:04
* @Copyright jxj
*/
@Service
public class VillagerCarService {
@Resource
private VillagerCarDao villagerCarDao;
@Resource
private DictValueDao dictValueDao;
/**
* 分页查询
*
* @param queryForm
* @return
*/
public PageResult<VillagerCarVO> queryPage(VillagerCarQueryForm queryForm) {
Page<?> page = SmartPageUtil.convert2PageQuery(queryForm);
List<VillagerCarVO> list = villagerCarDao.queryPage(page, queryForm);
build(list);
PageResult<VillagerCarVO> pageResult = SmartPageUtil.convert2PageResult(page, list);
return pageResult;
}
/**
* 列表查询
*
* @param queryForm
* @return
*/
public List<VillagerCarVO> queryList(VillagerCarQueryForm queryForm) {
List<VillagerCarVO> list = villagerCarDao.queryPage(queryForm);
build(list);
return list;
}
/**
* 添加
*/
public ResponseDTO<String> add(VillagerCarAddForm addForm) {
VillagerCarEntity villagerCarEntity = SmartBeanUtil.copy(addForm, VillagerCarEntity.class);
villagerCarDao.insert(villagerCarEntity);
return ResponseDTO.ok();
}
/**
* 更新
*
* @param updateForm
* @return
*/
public ResponseDTO<String> update(VillagerCarUpdateForm updateForm) {
VillagerCarEntity villagerCarEntity = SmartBeanUtil.copy(updateForm, VillagerCarEntity.class);
villagerCarDao.updateById(villagerCarEntity);
return ResponseDTO.ok();
}
/**
* 批量删除
*
* @param idList
* @return
*/
public ResponseDTO<String> batchDelete(List<Long> idList) {
if (CollectionUtils.isEmpty(idList)){
return ResponseDTO.ok();
}
villagerCarDao.deleteBatchIds(idList);
return ResponseDTO.ok();
}
/**
* 单个删除
*/
public ResponseDTO<String> delete(Long carId) {
if (null == carId){
return ResponseDTO.ok();
}
villagerCarDao.deleteById(carId);
return ResponseDTO.ok();
}
private void build(List<VillagerCarVO> list) {
List<DictValueEntity> property = dictValueDao.selectList(null);
for (VillagerCarVO villagerCarVO : list) {
List<DictValueEntity> collect = property.stream().filter(d -> d.getValueCode().equals(villagerCarVO.getCarType())).collect(Collectors.toList());
villagerCarVO.setCarTypeName(collect.size() > 0 ? collect.get(0).getValueName() : "");
}
}
}

View File

@ -0,0 +1,126 @@
package net.lab1024.sa.admin.module.business.village.service;
import java.util.List;
import java.util.stream.Collectors;
import net.lab1024.sa.admin.module.business.village.dao.VillagerRelationshipDao;
import net.lab1024.sa.admin.module.business.village.domain.entity.VillagerRelationshipEntity;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerQueryForm;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerRelationshipAddForm;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerRelationshipQueryForm;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerRelationshipUpdateForm;
import net.lab1024.sa.admin.module.business.village.domain.vo.HomeVO;
import net.lab1024.sa.admin.module.business.village.domain.vo.VillagerRelationshipVO;
import net.lab1024.sa.admin.module.business.village.domain.vo.VillagerVO;
import net.lab1024.sa.base.common.util.SmartBeanUtil;
import net.lab1024.sa.base.common.util.SmartPageUtil;
import net.lab1024.sa.base.common.domain.ResponseDTO;
import net.lab1024.sa.base.common.domain.PageResult;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.lab1024.sa.base.module.support.dict.dao.DictValueDao;
import net.lab1024.sa.base.module.support.dict.domain.entity.DictValueEntity;
import net.lab1024.sa.base.module.support.dict.domain.vo.DictValueVO;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 人员关联信息 Service
*
* @Author pengjie
* @Date 2025-06-21 14:46:21
* @Copyright jxj
*/
@Service
public class VillagerRelationshipService {
@Resource
private VillagerRelationshipDao villagerRelationshipDao;
@Resource
private DictValueDao dictValueDao;
/**
* 分页查询
*
* @param queryForm
* @return
*/
public PageResult<VillagerRelationshipVO> queryPage(VillagerRelationshipQueryForm queryForm) {
Page<?> page = SmartPageUtil.convert2PageQuery(queryForm);
List<VillagerRelationshipVO> list = villagerRelationshipDao.queryPage(page, queryForm);
build(list);
PageResult<VillagerRelationshipVO> pageResult = SmartPageUtil.convert2PageResult(page, list);
return pageResult;
}
/**
* 列表查询
*
* @param queryForm
* @return
*/
public List<VillagerRelationshipVO> queryList(VillagerRelationshipQueryForm queryForm) {
List<VillagerRelationshipVO> list = villagerRelationshipDao.queryPage(queryForm);
build(list);
return list;
}
/**
* 添加
*/
public ResponseDTO<String> add(VillagerRelationshipAddForm addForm) {
VillagerRelationshipEntity villagerRelationshipEntity = SmartBeanUtil.copy(addForm, VillagerRelationshipEntity.class);
villagerRelationshipDao.insert(villagerRelationshipEntity);
return ResponseDTO.ok();
}
/**
* 更新
*
* @param updateForm
* @return
*/
public ResponseDTO<String> update(VillagerRelationshipUpdateForm updateForm) {
VillagerRelationshipEntity villagerRelationshipEntity = SmartBeanUtil.copy(updateForm, VillagerRelationshipEntity.class);
villagerRelationshipDao.updateById(villagerRelationshipEntity);
return ResponseDTO.ok();
}
/**
* 批量删除
*
* @param idList
* @return
*/
public ResponseDTO<String> batchDelete(List<Long> idList) {
if (CollectionUtils.isEmpty(idList)){
return ResponseDTO.ok();
}
villagerRelationshipDao.deleteBatchIds(idList);
return ResponseDTO.ok();
}
/**
* 单个删除
*/
public ResponseDTO<String> delete(Long relationshipId) {
if (null == relationshipId){
return ResponseDTO.ok();
}
villagerRelationshipDao.deleteById(relationshipId);
return ResponseDTO.ok();
}
private void build(List<VillagerRelationshipVO> list) {
List<DictValueEntity> property = dictValueDao.selectList(null);
for (VillagerRelationshipVO villagerRelationshipVO : list) {
List<DictValueEntity> collect = property.stream().filter(d -> d.getValueCode().equals(villagerRelationshipVO.getRelationship())).collect(Collectors.toList());
villagerRelationshipVO.setRelationshipName(collect.size() > 0 ? collect.get(0).getValueName() : "");
}
}
}

View File

@ -7,21 +7,14 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import net.lab1024.sa.admin.module.business.village.dao.GridDao;
import net.lab1024.sa.admin.module.business.village.dao.GroupDao;
import net.lab1024.sa.admin.module.business.village.dao.HomeVillagerDao;
import net.lab1024.sa.admin.module.business.village.dao.VillagerDao;
import net.lab1024.sa.admin.module.business.village.domain.entity.GridEntity;
import net.lab1024.sa.admin.module.business.village.domain.entity.GroupEntity;
import net.lab1024.sa.admin.module.business.village.domain.entity.HomeVillagerEntity;
import net.lab1024.sa.admin.module.business.village.domain.entity.VillagerEntity;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerAddForm;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerImportForm;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerQueryForm;
import net.lab1024.sa.admin.module.business.village.domain.form.VillagerUpdateForm;
import net.lab1024.sa.admin.module.business.village.domain.vo.VillageExcelVO;
import net.lab1024.sa.admin.module.business.village.domain.vo.VillagerVO;
import net.lab1024.sa.admin.module.business.event.domain.entity.EventEntity;
import net.lab1024.sa.admin.module.business.event.manager.EventManager;
import net.lab1024.sa.admin.module.business.village.dao.*;
import net.lab1024.sa.admin.module.business.village.domain.entity.*;
import net.lab1024.sa.admin.module.business.village.domain.form.*;
import net.lab1024.sa.admin.module.business.village.domain.vo.*;
import net.lab1024.sa.admin.module.business.village.manager.HomeVillagerManager;
import net.lab1024.sa.admin.module.business.village.manager.HouseholdRegisterManager;
import net.lab1024.sa.admin.module.business.village.manager.VillagerManager;
import net.lab1024.sa.admin.module.system.village.domain.entity.VillageEntity;
import net.lab1024.sa.admin.util.ExcelUtils;
@ -36,6 +29,7 @@ import net.lab1024.sa.base.module.support.dict.domain.vo.DictValueVO;
import net.lab1024.sa.base.module.support.dict.service.DictCacheService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
@ -80,6 +74,29 @@ public class VillagerService {
@Resource
private HomeVillagerDao homeVillagerDao;
@Lazy
@Resource
private HouseholdRegisterService householdRegisterService;
@Resource
private EventManager eventManager;
@Resource
private VillagerCarDao villagerCarDao;
@Resource
private HomeDao homeDao;
@Resource
private CourtyardDao courtyardDao;
@Resource
private VillagerRelationshipDao villagerRelationshipDao;
@Resource
private PartyMemberDao partyMemberDao;
/**
* 分页查询
*
@ -184,6 +201,87 @@ public class VillagerService {
return villagerVO;
}
/**
* 查询详情
*
* @return
*/
public VillagerDetailVO queryByDetail(VillagerEntity villagerEntity) {
VillagerDetailVO vo = new VillagerDetailVO();
vo.setVillagerVO(queryById(villagerEntity));
List<HomeVillagerEntity> homeVillagerList = homeVillagerManager.list(Wrappers.<HomeVillagerEntity>lambdaQuery()
.eq(HomeVillagerEntity::getVillagerId, villagerEntity.getVillagerId()));
List<VillagerHomeVO> villagerHomeVOList = new ArrayList<>();
List<Long> homeIds = homeVillagerList.stream().filter(h -> h.getType() == 1).map(h -> h.getHomeId()).collect(Collectors.toList());
List<Long> courtyardIds = homeVillagerList.stream().filter(h -> h.getType() == 2).map(h -> h.getHomeId()).collect(Collectors.toList());
HomeQueryForm homeQueryForm = new HomeQueryForm();
homeQueryForm.setHomeIds(homeIds);
List<HomeVO> homeVOList = homeDao.queryPage(homeQueryForm);
for (HomeVO homeVO : homeVOList) {
List<HomeVillagerEntity> collect = homeVillagerList.stream().filter(h -> h.getHomeId().toString().equals(homeVO.getHomeId().toString()) &&
h.getType() == 1 && h.getVillagerId().toString().equals(villagerEntity.getVillagerId().toString())).collect(Collectors.toList());
VillagerHomeVO villagerHomeVO = new VillagerHomeVO();
villagerHomeVO.setRoomId(homeVO.getHomeId());
villagerHomeVO.setVillagerId(villagerEntity.getVillagerId());
villagerHomeVO.setGridName(homeVO.getGridName());
villagerHomeVO.setGroupName(homeVO.getGroupName());
villagerHomeVO.setRoomName(homeVO.getName());
villagerHomeVO.setAddress(homeVO.getAddress());
villagerHomeVO.setHouseholderName(homeVO.getHouseholderName());
villagerHomeVO.setRelationship(collect.size() > 0 ? collect.get(0).getRelationship() : "");
villagerHomeVO.setPermanent(collect.size() > 0 ? collect.get(0).getPermanent() : 0);
villagerHomeVO.setType(1);
villagerHomeVOList.add(villagerHomeVO);
}
CourtyardQueryForm courtyardQueryForm = new CourtyardQueryForm();
courtyardQueryForm.setCourtyardIds(courtyardIds);
List<CourtyardVO> courtyardVOList = courtyardDao.queryPage(courtyardQueryForm);
for (CourtyardVO courtyardVO : courtyardVOList) {
List<HomeVillagerEntity> collect = homeVillagerList.stream().filter(h -> h.getHomeId().toString().equals(courtyardVO.getCourtyardId().toString()) &&
h.getType() == 2 && h.getVillagerId().toString().equals(villagerEntity.getVillagerId().toString())).collect(Collectors.toList());
VillagerHomeVO villagerHomeVO = new VillagerHomeVO();
villagerHomeVO.setRoomId(courtyardVO.getCourtyardId());
villagerHomeVO.setVillagerId(villagerEntity.getVillagerId());
villagerHomeVO.setGridName(courtyardVO.getGridName());
villagerHomeVO.setGroupName(courtyardVO.getGroupName());
villagerHomeVO.setRoomName(courtyardVO.getName());
villagerHomeVO.setAddress(courtyardVO.getAddress());
villagerHomeVO.setHouseholderName(courtyardVO.getHouseholderName());
villagerHomeVO.setRelationship(collect.size() > 0 ? collect.get(0).getRelationship() : "");
villagerHomeVO.setPermanent(collect.size() > 0 ? collect.get(0).getPermanent() : 0);
villagerHomeVO.setType(2);
villagerHomeVOList.add(villagerHomeVO);
}
vo.setVillagerHomeVOList(villagerHomeVOList);
List<HomeVillagerEntity> homeVillager = homeVillagerList.stream().filter(h -> h.getType() == 3).collect(Collectors.toList());
if (homeVillager.size() > 0) {
vo.setHouseholdRegisterVO(householdRegisterService.queryById(homeVillager.get(0).getHomeId()));
}
VillagerCarQueryForm villagerCarQueryForm = new VillagerCarQueryForm();
villagerCarQueryForm.setVillagerId(villagerEntity.getVillagerId());
List<VillagerCarVO> villagerCarVOS = villagerCarDao.queryPage(villagerCarQueryForm);
vo.setVillagerCarVOList(villagerCarVOS);
VillagerRelationshipQueryForm villagerRelationshipQueryForm = new VillagerRelationshipQueryForm();
villagerRelationshipQueryForm.setHostVillagerId(villagerEntity.getVillagerId());
List<VillagerRelationshipVO> villagerRelationshipVOS = villagerRelationshipDao.queryPage(villagerRelationshipQueryForm);
vo.setVillagerRelationshipVOList(villagerRelationshipVOS);
PartyMemberQueryForm partyMemberQueryForm = new PartyMemberQueryForm();
partyMemberQueryForm.setVillagerId(villagerEntity.getVillagerId());
List<PartyMemberVO> partyMemberVOList = partyMemberDao.queryPage(partyMemberQueryForm);
vo.setPartyMemberVO(partyMemberVOList.size() > 0 ? partyMemberVOList.get(0) : new PartyMemberVO());
List<EventEntity> entityList = eventManager.list(Wrappers.<EventEntity>lambdaQuery()
.apply("find_in_set({0}, join_user)", villagerEntity.getVillageId())
.orderByDesc(EventEntity::getHappenTime));
vo.setEventEntityList(entityList);
return vo;
}
/**
* 查询关系
*

View File

@ -68,6 +68,12 @@
<if test="queryForm.name != null and queryForm.name != ''">
AND INSTR(courtyard.name,#{queryForm.name})
</if>
<if test="queryForm.courtyardIds != null and queryForm.courtyardIds.size > 0">
and courtyard.courtyard_id in
<foreach collection="queryForm.courtyardIds" open="(" close=")" separator="," item="item">
#{item}
</foreach>
</if>
</where>
</select>

View File

@ -77,6 +77,12 @@
OR INSTR(home.room_number,#{queryForm.keywords})
)
</if>
<if test="queryForm.homeIds != null and queryForm.homeIds.size > 0">
and home.home_id in
<foreach collection="queryForm.homeIds" open="(" close=")" separator="," item="item">
#{item}
</foreach>
</if>
</where>
</select>

View File

@ -16,7 +16,9 @@
household_register.create_by,
household_register.update_time,
household_register.village_id,
CONCAT(IFNULL(home.name, ''), IFNULL(courtyard.name, '')) permanentName
household_register.latitude,
household_register.longitude,
CONCAT(IFNULL(home.name, ''), IFNULL(courtyard.name, '')) permanentName,
villager.name householderName,
villager.phone
</sql>
@ -39,5 +41,13 @@
</if>
</select>
<select id="queryById" resultType="net.lab1024.sa.admin.module.business.village.domain.vo.HouseholdRegisterVO">
SELECT
<include refid="base_columns"/>
FROM household_register
left join villager on household_register.householder = villager.villager_id
left join home on home.home_id = household_register.permanent_id and household_register.permanent_type = 1
left join courtyard on courtyard.courtyard_id = household_register.permanent_id and household_register.permanent_type = 2
where household_register.register_id = #{registerId}
</select>
</mapper>

View File

@ -0,0 +1,39 @@
<?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="net.lab1024.sa.admin.module.business.village.dao.PartyMemberDao">
<!-- 查询结果列 -->
<sql id="base_columns">
party_member.party_member_id,
party_member.villager_id,
party_member.code,
party_member.join_time,
party_member.party_branch,
party_member.position,
party_member.honor,
party_member.status,
party_member.apply_time,
party_member.party_cost,
party_member.party_flag,
party_member.remark,
party_member.create_time,
party_member.create_by,
party_member.update_time,
party_member.village_id
</sql>
<!-- 分页查询 -->
<select id="queryPage" resultType="net.lab1024.sa.admin.module.business.village.domain.vo.PartyMemberVO">
SELECT
<include refid="base_columns"/>
FROM party_member
<where>
<!--人员ID-->
<if test="queryForm.villagerId != null">
AND party_member.villager_id = #{queryForm.villagerId}
</if>
</where>
</select>
</mapper>

View File

@ -0,0 +1,37 @@
<?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="net.lab1024.sa.admin.module.business.village.dao.VillagerCarDao">
<!-- 查询结果列 -->
<sql id="base_columns">
villager_car.car_id,
villager_car.villager_id,
villager_car.car_number,
villager_car.car_type,
villager_car.color,
villager_car.brand,
villager_car.create_time,
villager_car.create_by,
villager_car.update_time,
villager_car.village_id
</sql>
<!-- 分页查询 -->
<select id="queryPage" resultType="net.lab1024.sa.admin.module.business.village.domain.vo.VillagerCarVO">
SELECT
<include refid="base_columns"/>
FROM villager_car
<where>
<!--人员ID-->
<if test="queryForm.villagerId != null">
AND villager_car.villager_id = #{queryForm.villagerId}
</if>
<!--车牌号-->
<if test="queryForm.carNumber != null and queryForm.carNumber != ''">
AND INSTR(villager_car.car_number,#{queryForm.carNumber})
</if>
</where>
</select>
</mapper>

View File

@ -37,6 +37,7 @@
villager.work_time,
villager.retire_time,
villager.work_unit,
villager.nature,
villager.create_time,
villager.create_by,
villager.update_time,
@ -116,6 +117,10 @@
<if test="queryForm.politicalStatus != null">
and political_status = #{queryForm.politicalStatus}
</if>
<!--性质-->
<if test="queryForm.nature != null">
AND nature = #{queryForm.nature}
</if>
</where>
</select>
@ -182,6 +187,10 @@
<if test="queryForm.politicalStatus != null">
and political_status = #{politicalStatus}
</if>
<!--性质-->
<if test="queryForm.nature != null">
AND nature = #{queryForm.nature}
</if>
</where>
</select>

View File

@ -0,0 +1,29 @@
<?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="net.lab1024.sa.admin.module.business.village.dao.VillagerRelationshipDao">
<!-- 查询结果列 -->
<sql id="base_columns">
villager_relationship.relationship_id,
villager_relationship.host_villager_id,
villager_relationship.villager_id,
villager_relationship.relationship
</sql>
<!-- 分页查询 -->
<select id="queryPage" resultType="net.lab1024.sa.admin.module.business.village.domain.vo.VillagerRelationshipVO">
SELECT
<include refid="base_columns"/>, v1.name hostVillagerName, v2.name villagerName
FROM villager_relationship
left join villager v1 on villager_relationship.host_villager_id = v1.villager_id
left join villager v2 on villager_relationship.villager_id = v2.villager_id
<where>
<!--主人员ID-->
<if test="queryForm.hostVillagerId != null">
AND villager_relationship.host_villager_id = #{queryForm.hostVillagerId}
</if>
</where>
</select>
</mapper>