From 53a295a4682ededf34adf1b3c87dec844a5b5087 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Tue, 27 Jun 2023 16:58:45 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/OrgVirtualController.java | 14 ++++++ .../entity/chart/CompanyTreePO.java | 2 +- .../service/OrgVirtualService.java | 21 +++++++++ .../service/impl/OrgChartServiceImpl.java | 2 +- .../service/impl/OrgVirtualServiceImpl.java | 20 +++++++++ .../organization/web/OrgChartController.java | 1 + .../web/OrgVirtualController.java | 44 +++++++++++++++++++ .../wrapper/OrgVirtualWrapper.java | 27 ++++++++++++ 8 files changed, 129 insertions(+), 2 deletions(-) create mode 100644 src/com/api/organization/web/OrgVirtualController.java create mode 100644 src/com/engine/organization/service/OrgVirtualService.java create mode 100644 src/com/engine/organization/service/impl/OrgVirtualServiceImpl.java create mode 100644 src/com/engine/organization/web/OrgVirtualController.java create mode 100644 src/com/engine/organization/wrapper/OrgVirtualWrapper.java diff --git a/src/com/api/organization/web/OrgVirtualController.java b/src/com/api/organization/web/OrgVirtualController.java new file mode 100644 index 00000000..1af5c00e --- /dev/null +++ b/src/com/api/organization/web/OrgVirtualController.java @@ -0,0 +1,14 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * @Author liang.cheng + * @Date 2023/6/27 3:38 PM + * @Description: TODO + * @Version 1.0 + */ + +@Path("/bs/hrmorganization/virtual") +public class OrgVirtualController extends com.engine.organization.web.OrgVirtualController { +} diff --git a/src/com/engine/organization/entity/chart/CompanyTreePO.java b/src/com/engine/organization/entity/chart/CompanyTreePO.java index 9cf851da..6e959f9e 100644 --- a/src/com/engine/organization/entity/chart/CompanyTreePO.java +++ b/src/com/engine/organization/entity/chart/CompanyTreePO.java @@ -26,7 +26,7 @@ public class CompanyTreePO { public boolean getIsLeaf() { RecordSet rs = new RecordSet(); rs.executeQuery("select id from hrmsubcompany where (canceled is null or canceled != '1') and supsubcomid = ?",id); - return rs.next(); + return !rs.next(); } public String getpId() { diff --git a/src/com/engine/organization/service/OrgVirtualService.java b/src/com/engine/organization/service/OrgVirtualService.java new file mode 100644 index 00000000..a48d22d3 --- /dev/null +++ b/src/com/engine/organization/service/OrgVirtualService.java @@ -0,0 +1,21 @@ +package com.engine.organization.service; + +import java.util.Map; + +/** + * @Author liang.cheng + * @Date 2023/6/27 3:45 PM + * @Description: TODO + * @Version 1.0 + */ +public interface OrgVirtualService { + + /** + * @Description: 虚拟组织列表 + * @Author: liang.cheng + * @Date: 2023/6/27 3:56 PM + * @param: [params] + * @return: java.util.Map + */ + Map listPage(Map params); +} diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index 3963ee48..66ce831c 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -67,7 +67,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { if (detachUtil.isDETACH()) { String jclRoleLevels = detachUtil.getJclRoleLevels(); if (StringUtils.isNotBlank(jclRoleLevels)) { - sql = "select id, fnumber, fname, ftype from jcl_org_map where (ftype = 0 or (ftype = 1 and fobjid in(" + jclRoleLevels + "))) "; + sql = "select id, fnumber, fname, ftype from jcl_org_map wheregetSubCompanyTree (ftype = 0 or (ftype = 1 and fobjid in(" + jclRoleLevels + "))) "; } else { sql = "select id, fnumber, fname, ftype from jcl_org_map where ftype = 0 "; } diff --git a/src/com/engine/organization/service/impl/OrgVirtualServiceImpl.java b/src/com/engine/organization/service/impl/OrgVirtualServiceImpl.java new file mode 100644 index 00000000..9cdbfa1c --- /dev/null +++ b/src/com/engine/organization/service/impl/OrgVirtualServiceImpl.java @@ -0,0 +1,20 @@ +package com.engine.organization.service.impl; + +import com.engine.core.impl.Service; +import com.engine.organization.service.OrgVirtualService; + +import java.util.Map; + +/** + * @Author liang.cheng + * @Date 2023/6/27 3:45 PM + * @Description: TODO + * @Version 1.0 + */ +public class OrgVirtualServiceImpl extends Service implements OrgVirtualService { + + @Override + public Map listPage(Map params) { + return null; + } +} diff --git a/src/com/engine/organization/web/OrgChartController.java b/src/com/engine/organization/web/OrgChartController.java index a469d751..4f4555de 100644 --- a/src/com/engine/organization/web/OrgChartController.java +++ b/src/com/engine/organization/web/OrgChartController.java @@ -56,6 +56,7 @@ public class OrgChartController { User user = HrmUserVarify.getUser(request, response); //实例化Service 并调用业务类处理 apidatas = getOrgChartWrapper(user).getSubCompanyTree(ParamUtil.request2Map(request), user); + apidatas.put("api_status", true); } catch (Exception e) { //异常处理 e.printStackTrace(); diff --git a/src/com/engine/organization/web/OrgVirtualController.java b/src/com/engine/organization/web/OrgVirtualController.java new file mode 100644 index 00000000..61ad0497 --- /dev/null +++ b/src/com/engine/organization/web/OrgVirtualController.java @@ -0,0 +1,44 @@ +package com.engine.organization.web; + +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.organization.util.response.ReturnResult; +import com.engine.organization.wrapper.OrgVirtualWrapper; +import weaver.hrm.HrmUserVarify; +import weaver.hrm.User; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; +import java.util.Map; + +/** + * @Author liang.cheng + * @Date 2023/6/27 3:41 PM + * @Description: TODO + * @Version 1.0 + */ +public class OrgVirtualController { + + public OrgVirtualWrapper getVirtualWrapper(User user) { + return ServiceUtil.getService(OrgVirtualWrapper.class, user); + } + + @GET + @Path("/getTable") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult listOrgVirtual(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getVirtualWrapper(user).listPage(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + +} diff --git a/src/com/engine/organization/wrapper/OrgVirtualWrapper.java b/src/com/engine/organization/wrapper/OrgVirtualWrapper.java new file mode 100644 index 00000000..88e1e5e2 --- /dev/null +++ b/src/com/engine/organization/wrapper/OrgVirtualWrapper.java @@ -0,0 +1,27 @@ +package com.engine.organization.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.organization.service.OrgVirtualService; +import com.engine.organization.service.impl.OrgVirtualServiceImpl; +import weaver.hrm.User; + +import java.util.Map; + +/** + * @Author liang.cheng + * @Date 2023/6/27 3:42 PM + * @Description: TODO + * @Version 1.0 + */ +public class OrgVirtualWrapper extends Service { + + private OrgVirtualService getOrgVirtualService(User user) { + return ServiceUtil.getService(OrgVirtualServiceImpl.class, user); + } + + + public Map listPage(Map params) { + return getOrgVirtualService(user).listPage(params); + } +} From 2667ab8a60aa0d4f79275740074f24806a375add Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Wed, 28 Jun 2023 17:58:12 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/OrgChartService.java | 10 +++++++ .../service/impl/OrgChartServiceImpl.java | 28 ++++++++++++++----- .../organization/web/OrgChartController.java | 2 ++ 3 files changed, 33 insertions(+), 7 deletions(-) diff --git a/src/com/engine/organization/service/OrgChartService.java b/src/com/engine/organization/service/OrgChartService.java index dd93b604..676c543a 100644 --- a/src/com/engine/organization/service/OrgChartService.java +++ b/src/com/engine/organization/service/OrgChartService.java @@ -75,4 +75,14 @@ public interface OrgChartService { */ String synchronousData(Map request2Map, User user); + + /** + * @Description: 版本记录描述存储 + * @Author: liang.cheng + * @Date: 2023/6/28 1:53 PM + * @param: [fclass, description] + * @return: void + */ + void insertChartVersion(Integer fclass,String description); + } diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index 66ce831c..6f7d7e97 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -17,19 +17,17 @@ import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.detach.DetachUtil; import org.apache.commons.lang3.StringUtils; +import tebie.applib.api.O; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; +import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; -/** - * @className: OrgChartServiceImpl - * @author: dengjp - * @date: 2022/7/7 - * @description: 组织架构图ServiceImpl - **/ + public class OrgChartServiceImpl extends Service implements OrgChartService { private RecordSet grs = new RecordSet(); @@ -67,7 +65,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { if (detachUtil.isDETACH()) { String jclRoleLevels = detachUtil.getJclRoleLevels(); if (StringUtils.isNotBlank(jclRoleLevels)) { - sql = "select id, fnumber, fname, ftype from jcl_org_map wheregetSubCompanyTree (ftype = 0 or (ftype = 1 and fobjid in(" + jclRoleLevels + "))) "; + sql = "select id, fnumber, fname, ftype from jcl_org_map where (ftype = 0 or (ftype = 1 and fobjid in(" + jclRoleLevels + "))) "; } else { sql = "select id, fnumber, fname, ftype from jcl_org_map where ftype = 0 "; } @@ -606,6 +604,22 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { return "同步成功"; } + @Override + public void insertChartVersion(Integer fclass, String description) { + RecordSet rs = new RecordSet(); + String recordDate = OrganizationDateUtil.getFormatLocalDateTime(LocalDateTime.now()); + String createDate = OrganizationDateUtil.getFormatLocalDate(LocalDate.now()); + rs.executeQuery("select id from JCL_ORG_CHARTVERSION where fclass = ? and createdate = ?",fclass,createDate); + rs.next(); + String id = Util.null2String(rs.getString("id")); + if(StringUtils.isNotEmpty(id)){ + rs.executeUpdate("update JCL_ORG_CHARTVERSION set recorddate = ?,description = ?,creator = ? where fclass = ? and createdate = ?",recordDate,description,user.getUID(),fclass,createDate); + }else { + rs.executeUpdate("insert into JCL_ORG_CHARTVERSION (recorddate,description,creator,deletetype,createdate,fclass) values(?,?,?,?,?,?)",recordDate,description,user.getUID(),0,createDate,fclass); + } + + } + /** * 刷新在岗、编制数 */ diff --git a/src/com/engine/organization/web/OrgChartController.java b/src/com/engine/organization/web/OrgChartController.java index 4f4555de..c3bec336 100644 --- a/src/com/engine/organization/web/OrgChartController.java +++ b/src/com/engine/organization/web/OrgChartController.java @@ -47,6 +47,8 @@ public class OrgChartController { return JSONObject.toJSONString(apidatas); } + + @GET @Path("/getSubCompanyTree") @Produces(MediaType.APPLICATION_JSON)