diff --git a/src/com/engine/organization/service/ChartService.java b/src/com/engine/organization/service/ChartService.java index 949cac41..467fae7e 100644 --- a/src/com/engine/organization/service/ChartService.java +++ b/src/com/engine/organization/service/ChartService.java @@ -100,4 +100,13 @@ public interface ChartService { * @return: java.util.Map */ Map getDepartmentNewDetail(Map request2Map); + + /** + * @Description: 历史版本删除 + * @Author: liang.cheng + * @Date: 2024/8/1 4:30 PM + * @param: [] + * @return: java.util.Map + */ + Map versionDelete(Integer versionId); } diff --git a/src/com/engine/organization/service/impl/ChartServiceImpl.java b/src/com/engine/organization/service/impl/ChartServiceImpl.java index a4e88c11..e5a540e9 100644 --- a/src/com/engine/organization/service/impl/ChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/ChartServiceImpl.java @@ -1310,22 +1310,7 @@ public class ChartServiceImpl extends Service implements ChartService { "department, subcompanyid, subcompany, costcenter,manager, assistant, workcode, classification, " + "versiondate, policy, degree,versionid,lastname,companyworkyear) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," + "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; -// while (rs.next()) { -// insertList = new ArrayList<>(); -// insertList.add(StringUtils.isBlank(rs.getString("resourceid")) ? null : rs.getInt("resourceid")); -// insertList.add(StringUtils.isBlank(rs.getString("managerid")) ? null : rs.getInt("managerid")); -// insertList.add(StringUtils.isBlank(rs.getString("subcompanyid")) ? null : rs.getInt("subcompanyid")); -// insertList.add(StringUtils.isBlank(rs.getString("departmentid")) ? null : rs.getInt("departmentid")); -// insertList.add(rs.getString("managerstr")); -// //insertList.add(rs.getString("virtualtype")); -// insertList.add(currentDate); -// insertList.add(StringUtils.isBlank(versionId) ? null : Util.getIntValue(versionId)); -// insertParamList.add(insertList); -// } -// String insertVirtualHrmSql = "insert into jcl_chart_resource(resourceid,MANAGER,subcompanyid," + -// "departmentid,managerstr," + -// //"virtualtype," + -// "versiondate,versionid) values (?,?,?,?,?,?,?)"; + insertData(recordSetTrans, insertVirtualHrmSql, insertParamList); } @@ -1806,4 +1791,30 @@ public class ChartServiceImpl extends Service implements ChartService { currentList.add(chartPO); } + + @Override + public Map versionDelete(Integer versionId) { + + Map data = new HashMap<>(); + + + RecordSet rs = new RecordSet(); + //1.删除版本表 + rs.executeUpdate("delete from jcl_org_chartversion where id = ?",versionId); + + //2.删除历史分部表 + rs.executeUpdate("delete from jcl_chart_subcompany where versionid = ?",versionId); + + //3.删除历史部门表 + rs.executeUpdate("delete from jcl_chart_department where versionid = ?",versionId); + + //4.删除历史聚才林岗位表 + rs.executeUpdate("delete from jcl_chart_job where versionid = ?",versionId); + + //5.删除历史人员表 + rs.executeUpdate("delete from jcl_chart_resource where versionid = ?",versionId); + + data.put("versionId",versionId); + return data; + } } diff --git a/src/com/engine/organization/util/OrganizationDateUtil.java b/src/com/engine/organization/util/OrganizationDateUtil.java index da57c62d..e7fb52dd 100644 --- a/src/com/engine/organization/util/OrganizationDateUtil.java +++ b/src/com/engine/organization/util/OrganizationDateUtil.java @@ -470,6 +470,15 @@ public class OrganizationDateUtil { return localDate; } + + /** + * 格式化日期 + * @return + */ + public static String dateExample(LocalDate date) { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); + return date.format(formatter); + } } diff --git a/src/com/engine/organization/web/OrgChartController.java b/src/com/engine/organization/web/OrgChartController.java index 05ed4aca..e987e0f5 100644 --- a/src/com/engine/organization/web/OrgChartController.java +++ b/src/com/engine/organization/web/OrgChartController.java @@ -14,10 +14,7 @@ import weaver.hrm.User; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; +import javax.ws.rs.*; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import java.util.HashMap; @@ -124,6 +121,24 @@ public class OrgChartController { return JSONObject.toJSONString(apidatas); } + @GET + @Path("/versionDelete") + @Produces(MediaType.APPLICATION_JSON) + public String versionDelete(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam("versionId") Integer versionId) { + Map apidatas = new HashMap<>(4); + try { + User user = HrmUserVarify.getUser(request, response); + apidatas = getOrgChartWrapper(user).versionDelete(versionId); + apidatas.put("api_status", true); + } catch (Exception e) { + //异常处理 + e.printStackTrace(); + apidatas.put("api_status", false); + apidatas.put("api_errormsg", "catch exception : " + e.getMessage()); + } + return JSONObject.toJSONString(apidatas); + } + @GET @Path("/getSubCompanyTree") diff --git a/src/com/engine/organization/wrapper/OrgChartWrapper.java b/src/com/engine/organization/wrapper/OrgChartWrapper.java index 5e6f79f7..04be6a44 100644 --- a/src/com/engine/organization/wrapper/OrgChartWrapper.java +++ b/src/com/engine/organization/wrapper/OrgChartWrapper.java @@ -91,4 +91,8 @@ public class OrgChartWrapper extends Service { public Map recordStatistics(StatisticsParam param) { return getChartService(user).recordStatistics(param); } + + public Map versionDelete(Integer versionId) { + return getChartService(user).versionDelete(versionId); + } } diff --git a/src/weaver/interfaces/organization/cronjob/OrgVersionRecordCron.java b/src/weaver/interfaces/organization/cronjob/OrgVersionRecordCron.java new file mode 100644 index 00000000..e07a6b2b --- /dev/null +++ b/src/weaver/interfaces/organization/cronjob/OrgVersionRecordCron.java @@ -0,0 +1,39 @@ +package weaver.interfaces.organization.cronjob; + +import com.engine.organization.service.impl.ChartServiceImpl; +import com.engine.organization.util.OrganizationDateUtil; +import weaver.hrm.User; +import weaver.interfaces.schedule.BaseCronJob; + +import java.time.LocalDate; +import java.util.HashMap; +import java.util.Map; + +/** + * @Author liang.cheng + * @Date 2024/8/2 9:39 AM + * @Description: 组织架构图定时版本保存 + * @Version 1.0 + */ +public class OrgVersionRecordCron extends BaseCronJob { + + @Override + public void execute() { + + ChartServiceImpl chartService = new ChartServiceImpl(); + User user = new User(); + user.setUid(1); + + // 获取当前日期 + LocalDate today = LocalDate.now(); + String example = OrganizationDateUtil.dateExample(today); + String description = "版本自动记录"+example; + + Map params = new HashMap(4){ + { + put("description",description); + }}; + + chartService.versionRecord(params,user); + } +}