From 05369e9c269677acc78d7cae5ae729ce8ff74d37 Mon Sep 17 00:00:00 2001 From: "liang.chao" <1360241448@qq.com> Date: Tue, 5 Aug 2025 17:59:36 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8F=AD=E7=BB=84=E6=B3=A8=E5=86=8C=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=92=8C=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../evaluate/beans/TeamGroupBean.java | 11 + .../evaluate/beans/teamGroupPersonBean.java | 20 + .../controller/OrganizationalController.java | 23 +- .../controller/TeamGroupController.java | 13 +- .../evaluate/dao/OrganizationalDao.java | 8 +- .../service/OrganizationalService.java | 3 + .../service/OrganizationalServiceImpl.java | 47 +++ .../mappers/evaluate/OrganizationalMapper.xml | 35 ++ .../js/evaluate/teamGroup/registerForm.js | 174 ++++++++ .../evaluate/teamGroup/teamGroupRegister.js | 392 ++++++++++++++++++ .../evaluate/teamGroup/registerForm.html | 231 +++++++++++ .../evaluate/teamGroup/teamGroupList.html | 2 +- .../evaluate/teamGroup/teamGroupRegister.html | 89 ++++ 13 files changed, 1041 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/teamGroupPersonBean.java create mode 100644 src/main/resources/static/js/evaluate/teamGroup/registerForm.js create mode 100644 src/main/resources/static/js/evaluate/teamGroup/teamGroupRegister.js create mode 100644 src/main/resources/static/pages/evaluate/teamGroup/registerForm.html create mode 100644 src/main/resources/static/pages/evaluate/teamGroup/teamGroupRegister.html diff --git a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/TeamGroupBean.java b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/TeamGroupBean.java index 0d002c3..f8cfbe7 100644 --- a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/TeamGroupBean.java +++ b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/TeamGroupBean.java @@ -2,6 +2,8 @@ package com.bonus.gs.sub.evaluate.evaluate.beans; import lombok.Data; +import java.util.List; + /** * @Author:liang.chao * @Date:2025/6/26 - 10:13 @@ -30,7 +32,13 @@ public class TeamGroupBean { // 班组人数 private String teamPersonNum; private String keyWord; + // 信息评审表 + private String infoFileUrl; + private String level; + private String tableSource; + private Integer auditStatus; + //班组长信息 private String name; private String idCard; private String phone; @@ -42,4 +50,7 @@ public class TeamGroupBean { private Integer teamId; private Integer userId; + // 组员信息 + private List teamPersons; + } diff --git a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/teamGroupPersonBean.java b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/teamGroupPersonBean.java new file mode 100644 index 0000000..6160cde --- /dev/null +++ b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/teamGroupPersonBean.java @@ -0,0 +1,20 @@ +package com.bonus.gs.sub.evaluate.evaluate.beans; + +import lombok.Data; + +/** + * @Author:liang.chao + * @Date:2025/8/5 - 16:29 + */ +@Data +public class teamGroupPersonBean { + private String id; + private String name; + private String idCard; + private String phone; + private String sex; + private String workTypeId; + private String workType; + private String faceUrl; + private String isTeamLeader; +} diff --git a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/controller/OrganizationalController.java b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/controller/OrganizationalController.java index 2ddd32d..422f60a 100644 --- a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/controller/OrganizationalController.java +++ b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/controller/OrganizationalController.java @@ -3,6 +3,7 @@ package com.bonus.gs.sub.evaluate.evaluate.controller; import com.bonus.gs.sub.evaluate.evaluate.beans.EvaluateBean; import com.bonus.gs.sub.evaluate.evaluate.beans.EvaluatePersonBean; import com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean; +import com.bonus.gs.sub.evaluate.evaluate.beans.TeamGroupBean; import com.bonus.gs.sub.evaluate.evaluate.dao.OrganizationalDao; import com.bonus.gs.sub.evaluate.evaluate.service.OrganizationalService; import com.bonus.gs.sub.evaluate.manager.controller.BaseController; @@ -275,8 +276,6 @@ public class OrganizationalController extends BaseController { } /** - * 根据外包商id(project_assignment)和项目id获取组织架构(pm_org_info)中外包商id - * 修改 不传 * * @param bean * @return @@ -320,6 +319,26 @@ public class OrganizationalController extends BaseController { } return ar; } + /** + * 班组注册 + * @param bean + * @return + */ + @RequestMapping(value = "registerTeamGroup", method = RequestMethod.POST) + @ResponseBody + public AjaxRes registerTeamGroup(@RequestBody TeamGroupBean bean) { + AjaxRes ar = getAjaxRes(); + if (!UserUtil.isPhone(bean.getPhone())){ + ar.setFailMsg("手机号格式错误"); + return ar; + } + if (!UserUtil.isIdCard(bean.getIdCard())){ + ar.setFailMsg("身份证号格式错误"); + return ar; + } + ar = service.registerTeamGroup(bean); + return ar; + } @RequestMapping(value = "addDept", method = RequestMethod.POST) @ResponseBody diff --git a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/controller/TeamGroupController.java b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/controller/TeamGroupController.java index 1bfdb81..66bc8ac 100644 --- a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/controller/TeamGroupController.java +++ b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/controller/TeamGroupController.java @@ -45,7 +45,18 @@ public class TeamGroupController extends BaseController { private String uploadDir; @GetMapping("list") - public AjaxRes getProjectList(TeamGroupBean teamGroupBean) { + public AjaxRes getList(TeamGroupBean teamGroupBean) { + AjaxRes ar = new AjaxRes(); + try { + List teamGroupList = teamGroupService.getTeamGroupList(teamGroupBean); + ar.setListSucceed(teamGroupList); + } catch (Exception e) { + ar.setFailMsg(GlobalConst.DATA_FAIL); + } + return ar; + } + @GetMapping("registerList") + public AjaxRes getRegisterList(TeamGroupBean teamGroupBean) { AjaxRes ar = new AjaxRes(); try { List teamGroupList = teamGroupService.getTeamGroupList(teamGroupBean); diff --git a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/dao/OrganizationalDao.java b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/dao/OrganizationalDao.java index 6bfce8a..93624cd 100644 --- a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/dao/OrganizationalDao.java +++ b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/dao/OrganizationalDao.java @@ -1,9 +1,7 @@ package com.bonus.gs.sub.evaluate.evaluate.dao; -import com.bonus.gs.sub.evaluate.evaluate.beans.EvaluatePersonBean; -import com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean; -import com.bonus.gs.sub.evaluate.evaluate.beans.TeamEvaluateBean; +import com.bonus.gs.sub.evaluate.evaluate.beans.*; import com.bonus.gs.sub.evaluate.manager.utils.AjaxRes; import org.apache.ibatis.annotations.Mapper; @@ -181,6 +179,8 @@ public interface OrganizationalDao{ Integer insetTeamGroupType(OrganizationalBean bean); Integer insetTeamPerson(OrganizationalBean bean); + Integer insetTeamPersonLeader(TeamGroupBean bean); + Integer insetTeamPersonOthers(teamGroupPersonBean bean); List getWorkType(OrganizationalBean bean); @@ -191,4 +191,6 @@ public interface OrganizationalDao{ int addData2(OrganizationalBean bean); Integer getpParentId(OrganizationalBean bean); + + int addTeamGroup(TeamGroupBean bean); } diff --git a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/OrganizationalService.java b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/OrganizationalService.java index bf6f852..9a37bfc 100644 --- a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/OrganizationalService.java +++ b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/OrganizationalService.java @@ -2,6 +2,7 @@ package com.bonus.gs.sub.evaluate.evaluate.service; import com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean; +import com.bonus.gs.sub.evaluate.evaluate.beans.TeamGroupBean; import com.bonus.gs.sub.evaluate.manager.utils.AjaxRes; import java.util.List; @@ -80,4 +81,6 @@ public interface OrganizationalService{ List getWorkType(OrganizationalBean bean); List getProjectSelect(OrganizationalBean bean); + + AjaxRes registerTeamGroup(TeamGroupBean bean); } diff --git a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/OrganizationalServiceImpl.java b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/OrganizationalServiceImpl.java index f314419..e0a88ed 100644 --- a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/OrganizationalServiceImpl.java +++ b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/OrganizationalServiceImpl.java @@ -2,6 +2,8 @@ package com.bonus.gs.sub.evaluate.evaluate.service; import com.bonus.gs.sub.evaluate.evaluate.beans.OrganizationalBean; import com.bonus.gs.sub.evaluate.evaluate.beans.TeamEvaluateBean; +import com.bonus.gs.sub.evaluate.evaluate.beans.TeamGroupBean; +import com.bonus.gs.sub.evaluate.evaluate.beans.teamGroupPersonBean; import com.bonus.gs.sub.evaluate.evaluate.controller.OrganizationalController; import com.bonus.gs.sub.evaluate.evaluate.dao.OrganizationalDao; import com.bonus.gs.sub.evaluate.evaluate.dao.ProjectDao; @@ -403,6 +405,51 @@ public class OrganizationalServiceImpl implements OrganizationalService { return mapper.getProjectSelect(bean); } + @Override + public AjaxRes registerTeamGroup(TeamGroupBean bean) { + AjaxRes ar = new AjaxRes(); + try { + OrganizationalBean o = new OrganizationalBean(); + o.setIdCard(bean.getIdCard()); + o.setUserPhone(bean.getPhone()); + if (mapper.getUser(o) > 0) { + ar.setFailMsg("该班长已在其他班组中"); + return ar; + } + for (teamGroupPersonBean teamPersonBean : bean.getTeamPersons()) { + o.setIdCard(teamPersonBean.getIdCard()); + o.setUserPhone(teamPersonBean.getPhone()); + if (mapper.getUser(o) > 0) { + ar.setFailMsg("组员" + teamPersonBean.getName() + "已在其他班组中"); + return ar; + } + } + int num; + num = mapper.addTeamGroup(bean); + if (num > 0) { + // 新增班组类型 + o.setId(bean.getSubContractor()); + o.setTeamType(bean.getTeamType()); + mapper.insetTeamGroupType(o); + // 新增班组组长 + mapper.insetTeamPersonLeader(bean); + // 新增班组成员 + bean.getTeamPersons().forEach(teamPersonBean -> { + teamPersonBean.setId(bean.getId()); + mapper.insetTeamPersonOthers(teamPersonBean); + }); + ar.setSucceed("新增成功"); + return ar; + } + ar.setFailMsg("新增失败,请联系管理员"); + return ar; + } catch (Exception e) { + logger.error(e.toString(), e); + ar.setFailMsg("新增失败,请联系管理员"); + } + return ar; + } + public static List buildTree(List nodes) { // 根节点是没有父节点的节点 List rootNodes = nodes.stream() diff --git a/src/main/resources/mappers/evaluate/OrganizationalMapper.xml b/src/main/resources/mappers/evaluate/OrganizationalMapper.xml index 0d82188..1872646 100644 --- a/src/main/resources/mappers/evaluate/OrganizationalMapper.xml +++ b/src/main/resources/mappers/evaluate/OrganizationalMapper.xml @@ -267,6 +267,41 @@ 0 + + insert into pm_org_info + + name, + level, + user_name, + id_card, + sex, + user_phone, + table_source, + p_parent_id, + audit_status, + status, + + + #{teamGroupName}, + #{level}, + #{name}, + #{idCard}, + #{sex}, + #{phone}, + #{tableSource}, + #{subContractor}, + #{auditStatus}, + 0 + + + + insert into team_person(team_id, name, id_card, phone,sex,work_type,face_url,is_team_leader) + values (#{id}, #{name},#{idCard}, #{phone}, #{sex}, #{workType}, #{faceUrl}, #{isTeamLeader}) + + + insert into team_person(team_id, name, id_card, phone,sex,work_type,face_url,is_team_leader) + values (#{id}, #{name},#{idCard}, #{phone}, #{sex}, #{workType}, #{faceUrl}, #{isTeamLeader}) + + + + + +
+
+ +
+ +
+
+
+ + +
+
+
+ +
+ + +
+
+
+
+ +
+
+ +
+ +
+
+
+
+ +

班长信息

+ +
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+ +
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+ +
+
+
+ +
+ +
+
+
+
+
+ +
+ + +
+
+
+
+
+ + +
+
+ +
+
+ + + + + + + + + + + + + + + diff --git a/src/main/resources/static/pages/evaluate/teamGroup/teamGroupList.html b/src/main/resources/static/pages/evaluate/teamGroup/teamGroupList.html index c4d8243..d81405d 100644 --- a/src/main/resources/static/pages/evaluate/teamGroup/teamGroupList.html +++ b/src/main/resources/static/pages/evaluate/teamGroup/teamGroupList.html @@ -47,7 +47,7 @@ + + + + +
+
+
+ + + + + + + + + + + + + +