From 3f735ccf28a5bed24bed44c6edc0cddc447243d4 Mon Sep 17 00:00:00 2001 From: wangxy <1481820854@qq.com> Date: Wed, 14 May 2025 15:16:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BA=BA=E5=91=98=E4=B8=8A=E5=B2=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/ApplyInfoListManager.java | 88 +++++++++++ .../system/apply/ApplyInfoListController.java | 139 +++++++++++++++++ .../system/domain/apply/TdApplyInfoList.java | 137 +++++++++++++++++ .../domain/apply/dto/TdApplyInfoListDTO.java | 141 ++++++++++++++++++ .../mapper/apply/TdApplyInfoListMapper.java | 25 ++++ .../service/apply/TdApplyInfoListService.java | 20 +++ .../impl/TdApplyInfoListServiceImpl.java | 33 ++++ .../system/apply/TdApplyInfoListMapper.xml | 78 ++++++++++ 8 files changed, 661 insertions(+) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/manager/ApplyInfoListManager.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/apply/ApplyInfoListController.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/domain/apply/TdApplyInfoList.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/domain/apply/dto/TdApplyInfoListDTO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/apply/TdApplyInfoListMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/apply/TdApplyInfoListService.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/apply/impl/TdApplyInfoListServiceImpl.java create mode 100644 ruoyi-system/src/main/resources/mapper/system/apply/TdApplyInfoListMapper.xml diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/manager/ApplyInfoListManager.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/manager/ApplyInfoListManager.java new file mode 100644 index 00000000..2a821178 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/manager/ApplyInfoListManager.java @@ -0,0 +1,88 @@ +package com.ruoyi.web.controller.manager; + +import cn.hutool.core.convert.Convert; +import cn.hutool.core.text.CharSequenceUtil; +import com.ruoyi.common.utils.ShiroUtils; +import com.ruoyi.system.domain.apply.TdApplyInfoList; +import com.ruoyi.system.domain.apply.dto.TdApplyInfoListDTO; +import com.ruoyi.system.domain.file.TdFileRelation; +import com.ruoyi.system.service.apply.TdApplyInfoListService; +import com.ruoyi.system.service.file.TdFileRelationService; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * ClassName: ApplyInfoListManager + * Package: com.ruoyi.web.controller.manager + * Description: + * + * @Author wangxy + * @Create 2025/5/14 11:30 + * @Version 1.0 + */ +@Component +public class ApplyInfoListManager { + + + @Resource + private TdApplyInfoListService applyInfoListService; + + + @Resource + private TdFileRelationService fileRelationService; + + + + public List selectTdApplyInfoListList(TdApplyInfoListDTO applyInfoListDTO) { + return applyInfoListService.selectTdApplyInfoListList(applyInfoListDTO); + } + + + @Transactional(rollbackFor = Exception.class) + public boolean saveOrUpdate(TdApplyInfoListDTO applyInfoListDTO) { + TdApplyInfoList applyInfoList = Convert.convert(TdApplyInfoList.class, applyInfoListDTO); + if (CharSequenceUtil.isNotBlank(applyInfoList.getApplyId())) { + applyInfoList.setUpdateTime(new Date()); + applyInfoList.setUpdateBy(ShiroUtils.getSysUser().getUserName()); + } else { + applyInfoList.setCreateId(ShiroUtils.getSysUser().getUserId()); + applyInfoList.setCreateTime(new Date()); + applyInfoList.setCreateBy(ShiroUtils.getSysUser().getUserName()); + } + applyInfoList.setDeptId(ShiroUtils.getSysUser().getDeptId()); + applyInfoList.setApplyStatus(0); + return applyInfoListService.saveOrUpdate(applyInfoList); + } + + + public TdApplyInfoListDTO getTdApplyInfoList(String id) { + return Convert.convert(TdApplyInfoListDTO.class, applyInfoListService.getById(id)); + } + + + @Transactional(rollbackFor = Exception.class) + public boolean deletedTdApplyInfoListIds(String ids) { + List list = Arrays.asList(Convert.toStrArray(ids)); + fileRelationService.lambdaUpdate().in(TdFileRelation::getApplyId,list).remove(); + return applyInfoListService.removeByIds(list); + } + + + @Transactional(rollbackFor = Exception.class) + public boolean submit(String applyId) { + return applyInfoListService.lambdaUpdate() + .eq(TdApplyInfoList::getApplyId,applyId) + .set(TdApplyInfoList::getApplyStatus,1) + .set(TdApplyInfoList::getAppTime,new Date()).update(); + } + + + + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/apply/ApplyInfoListController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/apply/ApplyInfoListController.java new file mode 100644 index 00000000..996a9d6d --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/apply/ApplyInfoListController.java @@ -0,0 +1,139 @@ +package com.ruoyi.web.controller.system.apply; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.domain.apply.TdApplyInfoList; +import com.ruoyi.system.domain.apply.dto.TdApplyInfoListDTO; +import com.ruoyi.web.controller.manager.ApplyInfoListManager; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * ClassName: ApplyInfoListController + * Package: com.ruoyi.web.controller.system.apply + * Description: + * + * @Author wangxy + * @Create 2025/5/14 11:32 + * @Version 1.0 + */ +@Controller +@RequestMapping("/system/applyList") +public class ApplyInfoListController extends BaseController { + + + private String prefix = "system/newdev/apply"; + + + @Resource + private ApplyInfoListManager applyInfoListManager; + + @RequiresPermissions("system:apply:view") + @GetMapping() + public String applyListInfo() { + return prefix + "/applyList"; + } + /** + * 人员列表 + */ + @RequiresPermissions("system:apply:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(TdApplyInfoListDTO applyInfoListDTO) { + startPage(); + List tdApplyInfoLists = applyInfoListManager.selectTdApplyInfoListList(applyInfoListDTO); + return getDataTable(tdApplyInfoLists); + } + + /** + * 新增人员 + */ + @GetMapping("/add") + public String add(ModelMap mmap) { + return prefix + "/add"; + } + + /** + * 新增人员 + */ + @RequiresPermissions("system:apply:add") + @Log(title = "涉密人员", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(TdApplyInfoListDTO applyInfoListDTO) { + return toAjax(applyInfoListManager.saveOrUpdate(applyInfoListDTO)); + } + + + /** + * 修改人员 + */ + @RequiresPermissions("system:apply:edit") + @GetMapping("/edit/{applyId}") + public String edit(@PathVariable("applyId") String applyId, ModelMap mmap) { + TdApplyInfoListDTO applyInfoList = applyInfoListManager.getTdApplyInfoList(applyId); + mmap.put("applyInfoList", applyInfoList); + return prefix + "/edit"; + } + + /** + * 修改人员 + */ + @RequiresPermissions("system:apply:edit") + @Log(title = "涉密人员", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(TdApplyInfoListDTO applyInfoListDTO) { + return toAjax(applyInfoListManager.saveOrUpdate(applyInfoListDTO)); + } + + /** + * 删除 + */ + @RequiresPermissions("system:apply:remove") + @Log(title = "涉密人员", businessType = BusinessType.DELETE) + @PostMapping("/remove") + @ResponseBody + public AjaxResult remove(String ids) { + return toAjax(applyInfoListManager.deletedTdApplyInfoListIds(ids)); + } + + + /** + * 材料提交 + */ + @RequiresPermissions("system:apply:editFile") + @GetMapping("/editFile/{applyId}") + public String editFile(@PathVariable("applyId") String applyId, ModelMap mmap) { + TdApplyInfoListDTO applyInfoList = applyInfoListManager.getTdApplyInfoList(applyId); + mmap.put("applyInfoList", applyInfoList); + return prefix + "/editFile"; + } + + + + /** + * 提交 + */ + @PostMapping("/submit") + @ResponseBody + public AjaxResult submit(@RequestParam String applyId) { + return toAjax(applyInfoListManager.submit(applyId)); + } + + + + + + + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/apply/TdApplyInfoList.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/apply/TdApplyInfoList.java new file mode 100644 index 00000000..f3834936 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/apply/TdApplyInfoList.java @@ -0,0 +1,137 @@ +package com.ruoyi.system.domain.apply; + + +import com.baomidou.mybatisplus.annotation.TableId; +import java.util.Date; + +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * @author 13560 + * sm人员申请流程表 + * @TableName td_apply_info_list + */ +@Data +public class TdApplyInfoList extends BaseEntity { + /** + * 主键 + */ + @TableId + private String applyId; + + /** + * 人员名称 + */ + private String name; + + /** + * 人员性别 + */ + private String sex; + + /** + * 国籍 + */ + private String nationa; + + /** + * 申请状态(0:保存1:已提交,2,审核通过,3退回,4结束) + */ + private Integer applyStatus; + + /** + * 提交时间 + */ + private Date appTime; + + /** + * 退回意见 + */ + private String applyMsg; + + /** + * 审核时间 + */ + private Date authTime; + + /** + * 创建者id + */ + private Long createId; + + /** + * 部门id + */ + private Long deptId; + + /** + * 曾用名 + */ + private String formerName; + + /** + * 民族 + */ + private String nationality; + + /** + * 婚姻状态 + */ + private String maritalStatus; + + /** + * 政治面貌 + */ + private String political; + + /** + * 联系方式 + */ + private String phone; + + /** + * 身份证号 + */ + private String cerno; + + /** + * 户籍地址 + */ + private String address; + + /** + * 户籍地公安机关 + */ + private String registeredAuthority; + + /** + * 常住地址 + */ + private String permanentAddress; + + /** + * 常住地公安机关 + */ + private String residentBureau; + + /** + * 单位及职务职称 + */ + private String positionCapacity; + + /** + * 已(拟)任涉密岗位 + */ + private String smPost; + + /** + * 涉密等级 + */ + private String smGrade; + + /** + * 照片链接 + */ + private String photoUrl; +} \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/apply/dto/TdApplyInfoListDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/apply/dto/TdApplyInfoListDTO.java new file mode 100644 index 00000000..dd0c337c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/apply/dto/TdApplyInfoListDTO.java @@ -0,0 +1,141 @@ +package com.ruoyi.system.domain.apply.dto; + + +import com.baomidou.mybatisplus.annotation.TableId; +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * @author 13560 + * sm人员申请流程表 + * @TableName td_apply_info_list + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class TdApplyInfoListDTO extends BaseEntity { + /** + * 主键 + */ + @TableId + private String applyId; + + /** + * 人员名称 + */ + private String name; + + /** + * 人员性别 + */ + private String sex; + + /** + * 国籍 + */ + private String nationa; + + /** + * 申请状态(0:保存1:已提交,2,审核通过,3退回,4结束) + */ + private Integer applyStatus; + + /** + * 提交时间 + */ + private Date appTime; + + /** + * 退回意见 + */ + private String applyMsg; + + /** + * 审核时间 + */ + private Date authTime; + + /** + * 创建者id + */ + private Long createId; + + /** + * 部门id + */ + private Long deptId; + + /** + * 曾用名 + */ + private String formerName; + + /** + * 民族 + */ + private String nationality; + + /** + * 婚姻状态 + */ + private String maritalStatus; + + /** + * 政治面貌 + */ + private String political; + + /** + * 联系方式 + */ + private String phone; + + /** + * 身份证号 + */ + private String cerno; + + /** + * 户籍地址 + */ + private String address; + + /** + * 户籍地公安机关 + */ + private String registeredAuthority; + + /** + * 常住地址 + */ + private String permanentAddress; + + /** + * 常住地公安机关 + */ + private String residentBureau; + + /** + * 单位及职务职称 + */ + private String positionCapacity; + + /** + * 已(拟)任涉密岗位 + */ + private String smPost; + + /** + * 涉密等级 + */ + private String smGrade; + + /** + * 照片链接 + */ + private String photoUrl; +} \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/apply/TdApplyInfoListMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/apply/TdApplyInfoListMapper.java new file mode 100644 index 00000000..5dc851c1 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/apply/TdApplyInfoListMapper.java @@ -0,0 +1,25 @@ +package com.ruoyi.system.mapper.apply; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.domain.apply.TdApplyInfoList; +import com.ruoyi.system.domain.apply.dto.TdApplyInfoListDTO; + +import java.util.List; + +/** +* @author Administrator +* @description 针对表【td_apply_info_list(sm人员申请流程表)】的数据库操作Mapper +* @createDate 2025-05-14 11:23:04 +* @Entity generator.domain.TdApplyInfoList +*/ +public interface TdApplyInfoListMapper extends BaseMapper { + + + public List selectTdApplyInfoListList(TdApplyInfoListDTO applyInfoListDTO); + + +} + + + + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/apply/TdApplyInfoListService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/apply/TdApplyInfoListService.java new file mode 100644 index 00000000..aac58e18 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/apply/TdApplyInfoListService.java @@ -0,0 +1,20 @@ +package com.ruoyi.system.service.apply; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.domain.apply.TdApplyInfoList; +import com.ruoyi.system.domain.apply.dto.TdApplyInfoListDTO; + +import java.util.List; + +/** +* @author Administrator +* @description 针对表【td_apply_info_list(sm人员申请流程表)】的数据库操作Service +* @createDate 2025-05-14 11:23:04 +*/ +public interface TdApplyInfoListService extends IService { + + + public List selectTdApplyInfoListList(TdApplyInfoListDTO applyInfoListDTO); + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/apply/impl/TdApplyInfoListServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/apply/impl/TdApplyInfoListServiceImpl.java new file mode 100644 index 00000000..bac86efd --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/apply/impl/TdApplyInfoListServiceImpl.java @@ -0,0 +1,33 @@ +package com.ruoyi.system.service.apply.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.domain.apply.TdApplyInfoList; +import com.ruoyi.system.domain.apply.dto.TdApplyInfoListDTO; +import com.ruoyi.system.mapper.apply.TdApplyInfoListMapper; +import com.ruoyi.system.service.apply.TdApplyInfoListService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** +* @author Administrator +* @description 针对表【td_apply_info_list(sm人员申请流程表)】的数据库操作Service实现 +* @createDate 2025-05-14 11:23:04 +*/ +@Service +public class TdApplyInfoListServiceImpl extends ServiceImpl + implements TdApplyInfoListService { + + @Resource + private TdApplyInfoListMapper applyInfoListMapper; + + @Override + public List selectTdApplyInfoListList(TdApplyInfoListDTO applyInfoListDTO) { + return applyInfoListMapper.selectTdApplyInfoListList(applyInfoListDTO); + } +} + + + + diff --git a/ruoyi-system/src/main/resources/mapper/system/apply/TdApplyInfoListMapper.xml b/ruoyi-system/src/main/resources/mapper/system/apply/TdApplyInfoListMapper.xml new file mode 100644 index 00000000..87dccaac --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/apply/TdApplyInfoListMapper.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + apply_id,name,sex, + nationa,apply_status,app_time, + apply_msg,auth_time,create_id, + create_by,create_time,update_by, + update_time,remark,dept_id, + former_name,nationality,marital_status, + political,phone,cerno, + address,registered_authority,permanent_address, + resident_bureau,position_capacity,sm_post, + sm_grade,photo_url + + + + +