From acacc5f98e6f5d13248db1069de3b6e8d5476011 Mon Sep 17 00:00:00 2001 From: "liang.chao" <1360241448@qq.com> Date: Tue, 22 Jul 2025 17:10:28 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8F=AD=E7=BB=84=E7=AE=A1=E7=90=86=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../evaluate/beans/OrganizationalBean.java | 1 + .../evaluate/beans/TeamGroupBean.java | 2 + .../evaluate/dao/OrganizationalDao.java | 4 ++ .../evaluate/evaluate/dao/TeamGroupDao.java | 2 + .../service/OrganizationalServiceImpl.java | 10 +++- .../evaluate/service/PersonServiceImpl.java | 8 +-- .../service/TeamGroupServiceImpl.java | 26 ++++++++-- .../mappers/evaluate/OrganizationalMapper.xml | 49 ++++++++++++++++++- .../mappers/evaluate/TeamGroupMapper.xml | 18 ++++++- .../js/evaluate/project/subcontractor.js | 8 ++- .../static/js/evaluate/teamGroup/editForm.js | 20 +++++++- .../pages/evaluate/teamGroup/addForm.html | 4 +- .../pages/evaluate/teamGroup/editForm.html | 10 ++++ 13 files changed, 142 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/OrganizationalBean.java b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/OrganizationalBean.java index e14d012..635a852 100644 --- a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/OrganizationalBean.java +++ b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/OrganizationalBean.java @@ -68,4 +68,5 @@ public class OrganizationalBean { private String title; private String orgType; + private Integer pParentId; } 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 90391f2..0d002c3 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 @@ -15,6 +15,8 @@ public class TeamGroupBean { // 所属项目 private String project; private String projectId; + private String pParentId; + private String parentId; // 班组名称 private String teamGroupName; // 班组长 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 0f56f01..6bfce8a 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 @@ -187,4 +187,8 @@ public interface OrganizationalDao{ List getProjectSelect(OrganizationalBean bean); int getUser(OrganizationalBean bean); + + int addData2(OrganizationalBean bean); + + Integer getpParentId(OrganizationalBean bean); } diff --git a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/dao/TeamGroupDao.java b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/dao/TeamGroupDao.java index b9fc1bb..fb852d8 100644 --- a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/dao/TeamGroupDao.java +++ b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/dao/TeamGroupDao.java @@ -54,4 +54,6 @@ public interface TeamGroupDao { TeamGroupBean selectTeamLeaser(TeamGroupBean groupBean); List getTeamGroupPersons(TeamGroupBean teamGroupBean); + + String getSubContractorName(TeamGroupBean groupBean); } 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 dea6041..a544017 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 @@ -230,7 +230,8 @@ public class OrganizationalServiceImpl implements OrganizationalService { ar.setResMsg("外包商退场暂未开放!"); return ar; } - + Integer pParentId = mapper.getpParentId(bean); + bean.setPParentId(pParentId); int num = mapper.userOutData(bean); // mapper.theTeamExits(bean); if (num > 0) { @@ -366,8 +367,13 @@ public class OrganizationalServiceImpl implements OrganizationalService { ar.setFailMsg("该班组名称已存在"); return ar; } + int num; + if (StringUtils.isBlank(bean.getParentId())) { + num = mapper.addData2(bean); + } else { + num = mapper.addData(bean); + } - int num = mapper.addData(bean); if (num > 0) { // 新增班组类型 mapper.insetTeamGroupType(bean); diff --git a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/PersonServiceImpl.java b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/PersonServiceImpl.java index 0b0504b..38b6662 100644 --- a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/PersonServiceImpl.java +++ b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/PersonServiceImpl.java @@ -75,12 +75,6 @@ public class PersonServiceImpl implements PersonService { public AjaxRes updatePerson(PersonBean o) { AjaxRes ar = new AjaxRes(); try { - // 先查询该人员手机号是否有重复 - Integer count = dao.getPerSonByPhone(o); - if (count > 0) { - ar.setFailMsg("该手机号已存在"); - return ar; - } o.setDeptId(StringUtils.isBlank(o.getDeptId()) ? "0" : o.getDeptId()); dao.deletePersonRole(o.getId()); dao.updatePerson(o); @@ -89,7 +83,7 @@ public class PersonServiceImpl implements PersonService { } catch (Exception e) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); e.printStackTrace(); - ar.setFailMsg("修改失败"); + ar.setFailMsg("修改失败,该手机号已存在"); } return ar; } diff --git a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/TeamGroupServiceImpl.java b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/TeamGroupServiceImpl.java index e0a222a..15b0e12 100644 --- a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/TeamGroupServiceImpl.java +++ b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/service/TeamGroupServiceImpl.java @@ -1,6 +1,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.TeamGroupBean; +import com.bonus.gs.sub.evaluate.evaluate.dao.OrganizationalDao; import com.bonus.gs.sub.evaluate.evaluate.dao.TeamGroupDao; import com.bonus.gs.sub.evaluate.manager.utils.AesCbcUtils; import com.bonus.gs.sub.evaluate.manager.utils.AjaxRes; @@ -27,16 +29,25 @@ public class TeamGroupServiceImpl implements TeamGroupService { @Autowired private TeamGroupDao teamGroupDao; + @Autowired + private OrganizationalDao mapper; @Override public List getTeamGroupList(TeamGroupBean teamGroupBean) { - if (!UserUtil.getLoginUser().getRoleId().equals("1")){ + if (!UserUtil.getLoginUser().getRoleId().equals("1")) { teamGroupBean.setUserId(Integer.parseInt(String.valueOf(UserUtil.getLoginUser().getId()))); } List teamGroupList = teamGroupDao.getTeamGroupList(teamGroupBean); for (TeamGroupBean groupBean : teamGroupList) { + /*if ((StringUtils.isBlank(groupBean.getParentId()) && groupBean.getStatus() == 0) || StringUtils.isBlank(groupBean.getSubContractor())) { + groupBean.setSubContractor(teamGroupDao.getSubContractorName(groupBean)); + }*/ + if (groupBean.getStatus() == 0) { +// groupBean.setSubContractor(teamGroupDao.getSubContractorName(groupBean)); + groupBean.setProject(null); + } TeamGroupBean bean = teamGroupDao.selectTeamLeaser(groupBean); - if (bean != null){ + if (bean != null) { groupBean.setName(bean.getName()); String phone = bean.getPhone(); if (StringUtils.isNotBlank(phone)) { @@ -49,6 +60,15 @@ public class TeamGroupServiceImpl implements TeamGroupService { @Override public void updaTeteamGroup(TeamGroupBean teamGroupBean) { + if (StringUtils.isNotBlank(teamGroupBean.getParentId())) { + // 根据外包商id(project_assignment)和项目id获取组织架构(pm_org_info)中外包商id + OrganizationalBean organizationalBean = new OrganizationalBean(); + organizationalBean.setParentId(teamGroupBean.getParentId()); + organizationalBean.setId(teamGroupBean.getPParentId()); + String id = mapper.getsubcontractorId(organizationalBean); + teamGroupBean.setParentId(id); + teamGroupBean.setStatus(1); + } teamGroupDao.updaTeteamGroup(teamGroupBean); Integer i = teamGroupDao.selectTeteamType(teamGroupBean); if (i > 0) { @@ -285,7 +305,7 @@ public class TeamGroupServiceImpl implements TeamGroupService { private boolean validateHeader(Row headerRow) { if (headerRow == null) return false; - return "姓名".equals(getCellValue(headerRow.getCell(0))) && + return "姓名".equals(getCellValue(headerRow.getCell(0))) && "身份证".equals(getCellValue(headerRow.getCell(1))) && "电话".equals(getCellValue(headerRow.getCell(2))) && "性别".equals(getCellValue(headerRow.getCell(3))) && diff --git a/src/main/resources/mappers/evaluate/OrganizationalMapper.xml b/src/main/resources/mappers/evaluate/OrganizationalMapper.xml index 6bd153e..0d82188 100644 --- a/src/main/resources/mappers/evaluate/OrganizationalMapper.xml +++ b/src/main/resources/mappers/evaluate/OrganizationalMapper.xml @@ -70,7 +70,7 @@ update pm_org_info - set status=2 + set status = 0,p_parent_id = #{pParentId} where id = #{id} @@ -234,6 +234,39 @@ insert into team_person(team_id, name, id_card, phone,sex,work_type,face_url,is_team_leader) values (#{id}, #{userName},#{idCard}, #{userPhone}, #{sex}, #{workType}, #{faceUrl}, #{isTeamLeader}) + + insert into pm_org_info + + name, + level, + parent_id, + user_name, + user_id, + id_card, + sex, + user_phone, + org_type, + lk_id, + table_source, + p_parent_id, + status + + + #{name}, + #{level}, + #{parentId}, + #{userName}, + #{userId}, + #{idCard}, + #{sex}, + #{userPhone}, + #{orgType}, + #{lkId}, + #{tableSource}, + #{id}, + 0 + + + diff --git a/src/main/resources/mappers/evaluate/TeamGroupMapper.xml b/src/main/resources/mappers/evaluate/TeamGroupMapper.xml index f5fe4f7..24fe4c0 100644 --- a/src/main/resources/mappers/evaluate/TeamGroupMapper.xml +++ b/src/main/resources/mappers/evaluate/TeamGroupMapper.xml @@ -23,7 +23,15 @@ - update pm_org_info set name = #{teamGroupName} where id = #{id} + UPDATE pm_org_info + SET name = #{teamGroupName} + + , parent_id = #{parentId} + + + , status = #{status} + + WHERE id = #{id} update team_person set name = #{name},id_card = #{idCard},phone = #{phone},sex = #{sex},work_type = #{workType},face_url = #{faceUrl} @@ -46,6 +54,8 @@ poi3.user_id as userId, poi.NAME teamGroupName, poi.id as id, + poi.parent_id as parentId, + poi.p_parent_id as pParentId, poi.status as status, td.id as teamTypeId, td.val teamType, @@ -59,7 +69,6 @@ left join team_person tp on poi.id = tp.team_id WHERE poi.`level` = 5 - AND poi.`status` IN (1,2) and poi3.user_id = #{userId} @@ -174,4 +183,9 @@ phone FROM team_person WHERE team_id = #{id} and is_team_leader = 0 + diff --git a/src/main/resources/static/js/evaluate/project/subcontractor.js b/src/main/resources/static/js/evaluate/project/subcontractor.js index d46e205..da42fec 100644 --- a/src/main/resources/static/js/evaluate/project/subcontractor.js +++ b/src/main/resources/static/js/evaluate/project/subcontractor.js @@ -68,8 +68,12 @@ function initTable() { {field: "corporateName", align: "center", title: "法人"}, { field: 'phone', title: '法人联系方式', width: '15%', align: "center", templet: function (d) { - let phone = decryptCBC(d.phone); - return maskSensitiveInfo(phone, "phone"); + if (d.phone) { + let phone = decryptCBC(d.phone); + return maskSensitiveInfo(phone, "phone"); + } else { + return ""; + } } }, { diff --git a/src/main/resources/static/js/evaluate/teamGroup/editForm.js b/src/main/resources/static/js/evaluate/teamGroup/editForm.js index a0f4a60..0ef0547 100644 --- a/src/main/resources/static/js/evaluate/teamGroup/editForm.js +++ b/src/main/resources/static/js/evaluate/teamGroup/editForm.js @@ -7,6 +7,10 @@ function setParams(obj, layerIndex) { objParam = JSON.parse(obj); window.layerIndex = layerIndex; getTeamGroupType(objParam.teamTypeId); + if (objParam.status == 0){ + $("#projectDiv").css("display", ""); + getPromanagerSelect(objParam.pparentId); + } // 字段回显 $("#teamGroupName").val(objParam.teamGroupName); id = objParam.id; @@ -25,7 +29,19 @@ function setParams(obj, layerIndex) { function saveData2() { $("#formSubmit").trigger("click"); } - +// 根据外包商获取项目下拉数据(支持传参) +function getPromanagerSelect(subContractorId) { + $.ajax({ + type: 'POST', + url: ctxPath + '/organizational/getProjectBySubContractor', + data: { + id: subContractorId + }, + success: function (data) { + setSelectValue(data.obj, 'project'); + } + }); +} // 提交 function updateName(data, id) { let loadingMsg = layer.msg("正在提交保存,请稍等...", { @@ -38,6 +54,8 @@ function updateName(data, id) { id: id, teamGroupName: data.field.teamGroupName, teamType: data.field.teamType, + parentId: data.field.project, + pparentId: objParam.pparentId, }; // console.log(JSON.stringify(data)+"data") $.ajax({ diff --git a/src/main/resources/static/pages/evaluate/teamGroup/addForm.html b/src/main/resources/static/pages/evaluate/teamGroup/addForm.html index 07d6089..26fb479 100644 --- a/src/main/resources/static/pages/evaluate/teamGroup/addForm.html +++ b/src/main/resources/static/pages/evaluate/teamGroup/addForm.html @@ -102,10 +102,10 @@
- +
+ style="height: 36px;">
diff --git a/src/main/resources/static/pages/evaluate/teamGroup/editForm.html b/src/main/resources/static/pages/evaluate/teamGroup/editForm.html index 9955e6a..a0e6f6f 100644 --- a/src/main/resources/static/pages/evaluate/teamGroup/editForm.html +++ b/src/main/resources/static/pages/evaluate/teamGroup/editForm.html @@ -78,6 +78,16 @@ + +