瀏覽代碼

OA大屏修改

ouyj 1 年之前
父節點
當前提交
da24a571d3
共有 51 個文件被更改,包括 2025 次插入9 次删除
  1. 7 3
      pom.xml
  2. 33 0
      src/main/java/cn/com/v2/common/constant/DataLoaderRunner.java
  3. 23 0
      src/main/java/cn/com/v2/common/constant/DataService.java
  4. 32 0
      src/main/java/cn/com/v2/controller/AttendanceRecordResultController.java
  5. 32 0
      src/main/java/cn/com/v2/controller/CompanyController.java
  6. 83 0
      src/main/java/cn/com/v2/controller/FlowInstanceController.java
  7. 65 0
      src/main/java/cn/com/v2/controller/GroupController.java
  8. 51 0
      src/main/java/cn/com/v2/controller/ProjectInfoController.java
  9. 35 0
      src/main/java/cn/com/v2/controller/UserLoginController.java
  10. 19 0
      src/main/java/cn/com/v2/mapper/AttendanceRecordResultMapper.java
  11. 14 0
      src/main/java/cn/com/v2/mapper/CompanyMapper.java
  12. 33 0
      src/main/java/cn/com/v2/mapper/FlowInstanceMapper.java
  13. 14 0
      src/main/java/cn/com/v2/mapper/FlowModelMapper.java
  14. 14 0
      src/main/java/cn/com/v2/mapper/GroupMapper.java
  15. 25 0
      src/main/java/cn/com/v2/mapper/ProjectInfoMapper.java
  16. 15 0
      src/main/java/cn/com/v2/mapper/UserLoginMapper.java
  17. 84 0
      src/main/java/cn/com/v2/model/AttendanceRecordResult.java
  18. 42 0
      src/main/java/cn/com/v2/model/Company.java
  19. 104 0
      src/main/java/cn/com/v2/model/FlowInstance.java
  20. 147 0
      src/main/java/cn/com/v2/model/FlowModel.java
  21. 51 0
      src/main/java/cn/com/v2/model/Group.java
  22. 103 0
      src/main/java/cn/com/v2/model/ProjectInfo.java
  23. 53 0
      src/main/java/cn/com/v2/model/UserLogin.java
  24. 12 0
      src/main/java/cn/com/v2/model/vo/AttendanceRecordResultVo.java
  25. 22 0
      src/main/java/cn/com/v2/model/vo/FlowInstanceVo.java
  26. 13 0
      src/main/java/cn/com/v2/model/vo/GroupVo.java
  27. 11 0
      src/main/java/cn/com/v2/model/vo/ProjectInfoVo.java
  28. 17 0
      src/main/java/cn/com/v2/service/IAttendanceRecordResultService.java
  29. 14 0
      src/main/java/cn/com/v2/service/ICompanyService.java
  30. 29 0
      src/main/java/cn/com/v2/service/IFlowInstanceService.java
  31. 14 0
      src/main/java/cn/com/v2/service/IFlowModelService.java
  32. 21 0
      src/main/java/cn/com/v2/service/IGroupService.java
  33. 21 0
      src/main/java/cn/com/v2/service/IProjectInfoService.java
  34. 16 0
      src/main/java/cn/com/v2/service/IUserLoginService.java
  35. 34 0
      src/main/java/cn/com/v2/service/impl/AttendanceRecordResultServiceImpl.java
  36. 29 0
      src/main/java/cn/com/v2/service/impl/CompanyServiceImpl.java
  37. 78 0
      src/main/java/cn/com/v2/service/impl/FlowInstancelServiceImpl.java
  38. 19 0
      src/main/java/cn/com/v2/service/impl/FlowModelServiceImpl.java
  39. 57 0
      src/main/java/cn/com/v2/service/impl/GroupServiceImpl.java
  40. 55 0
      src/main/java/cn/com/v2/service/impl/ProjectInfoServiceImpl.java
  41. 37 0
      src/main/java/cn/com/v2/service/impl/UserLoginServiceImpl.java
  42. 8 4
      src/main/resources/application-dev.yml
  43. 3 1
      src/main/resources/application.yml
  44. 106 0
      src/main/resources/mapper/AttendanceRecordResultMapper.xml
  45. 5 0
      src/main/resources/mapper/CompanyMapper.xml
  46. 233 0
      src/main/resources/mapper/FlowInstanceMapper.xml
  47. 5 0
      src/main/resources/mapper/FlowModelMapper.xml
  48. 5 0
      src/main/resources/mapper/GroupMapper.xml
  49. 76 0
      src/main/resources/mapper/ProjectInfoMapper.xml
  50. 1 1
      src/main/resources/mapper/SysFileMapper.xml
  51. 5 0
      src/main/resources/mapper/UserLoginMapper.xml

+ 7 - 3
pom.xml

@@ -11,8 +11,8 @@
 	<artifactId>goview_admin</artifactId>
 	<version>0.0.1-SNAPSHOT</version>
 	<packaging>war</packaging>
-	<name>oss</name>
-	<description>goview后台系统</description>
+	<name>oadp</name>
+	<description>oa大屏</description>
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
@@ -130,7 +130,11 @@
 			<version>1.34.0</version>
 		</dependency>
 
-
+		<!--mysql-->
+		<dependency>
+			<groupId>mysql</groupId>
+			<artifactId>mysql-connector-java</artifactId>
+		</dependency>
 	</dependencies>
 
 	<build>

+ 33 - 0
src/main/java/cn/com/v2/common/constant/DataLoaderRunner.java

@@ -0,0 +1,33 @@
+package cn.com.v2.common.constant;
+
+import cn.com.v2.model.Company;
+import cn.com.v2.model.Group;
+import cn.com.v2.service.ICompanyService;
+import cn.com.v2.service.IGroupService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class DataLoaderRunner implements CommandLineRunner {
+    @Autowired
+    private ICompanyService companyService;
+    @Autowired
+    private IGroupService groupService;
+
+    @Override
+    public void run(String... args) throws Exception {
+        Company company = companyService.getCompany();
+        Group defaultGroup = groupService.getDefaultGroup();
+        Map map = new HashMap<>();
+        map.put("company",company);
+        map.put("defaultGroup",defaultGroup);
+        // 使用DataService来存储数据
+        DataService.setConstantData(map);
+    }
+}

+ 23 - 0
src/main/java/cn/com/v2/common/constant/DataService.java

@@ -0,0 +1,23 @@
+package cn.com.v2.common.constant;
+
+import java.util.List;
+import java.util.Map;
+
+public class DataService {
+
+    // 假设这是你需要存储的数据
+    private static Map constantData;
+
+    // 私有构造函数,防止外部实例化
+    private DataService() {}
+
+    // 提供一个公共的静态方法来设置数据
+    public static synchronized void setConstantData(Map data) {
+        constantData = data;
+    }
+
+    // 提供一个公共的静态方法来获取数据
+    public static synchronized Map getConstantData() {
+        return constantData;
+    }
+}

+ 32 - 0
src/main/java/cn/com/v2/controller/AttendanceRecordResultController.java

@@ -0,0 +1,32 @@
+package cn.com.v2.controller;
+
+import cn.com.v2.common.base.BaseController;
+import cn.com.v2.common.domain.AjaxResult;
+import cn.com.v2.model.Company;
+import cn.com.v2.service.IAttendanceRecordResultService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("/api/attendanceRecordResult")
+public class AttendanceRecordResultController extends BaseController {
+    @Autowired
+    private IAttendanceRecordResultService attendanceRecordResultService;
+
+    @ApiOperation(value = "获取本月考勤统计结果", notes = "获取本月考勤统计结果")
+    @GetMapping("/getResultMonth")
+    @ResponseBody
+    public AjaxResult getResultMonth()
+    {
+        Map<String, Object> map = attendanceRecordResultService.getResultMonth();
+        //return map;
+        return AjaxResult.successData(200,map).put("msg","获取成功");
+    }
+
+}

+ 32 - 0
src/main/java/cn/com/v2/controller/CompanyController.java

@@ -0,0 +1,32 @@
+package cn.com.v2.controller;
+
+import cn.com.v2.common.base.BaseController;
+import cn.com.v2.common.domain.AjaxResult;
+import cn.com.v2.model.Company;
+import cn.com.v2.service.ICompanyService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/api/company")
+public class CompanyController extends BaseController {
+    @Autowired
+    private ICompanyService companyService;
+
+    @ApiOperation(value = "获取公司数据", notes = "获取公司数据")
+    @GetMapping("/getCompany")
+    @ResponseBody
+    public AjaxResult getCompany()
+    {
+        Company company = companyService.getCompany();
+        if(company!=null) {
+            return AjaxResult.successData(200,company).put("msg","获取成功");
+        }
+        return AjaxResult.successData(200, null).put("msg","无数据");
+    }
+
+}

+ 83 - 0
src/main/java/cn/com/v2/controller/FlowInstanceController.java

@@ -0,0 +1,83 @@
+package cn.com.v2.controller;
+
+import cn.com.v2.common.base.BaseController;
+import cn.com.v2.common.domain.AjaxResult;
+import cn.com.v2.common.domain.ResultTable;
+import cn.com.v2.common.domain.Tablepar;
+import cn.com.v2.model.Company;
+import cn.com.v2.model.FlowInstance;
+import cn.com.v2.model.GoviewProject;
+import cn.com.v2.model.vo.FlowInstanceVo;
+import cn.com.v2.service.IFlowInstanceService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/api/flowInstance")
+public class FlowInstanceController extends BaseController {
+    @Autowired
+    private IFlowInstanceService flowInstanceService;
+
+    @ApiOperation(value = "获取近七天流程统计数据", notes = "获取近七天流程统计数据")
+    @GetMapping("/getSevenDayFlowIns")
+    @ResponseBody
+    public AjaxResult getSevenDayFlowIns()
+    {
+        Map<String, Object> flowInsMap = flowInstanceService.getSevenDayFlowIns();
+        //return flowInsMap;
+        return AjaxResult.successData(200,flowInsMap).put("msg","获取成功");
+    }
+
+    @ApiOperation(value = "分页跳转", notes = "分页跳转")
+    @GetMapping("/pageAllDealing")
+    @ResponseBody
+    public ResultTable pageAllDealing(Tablepar tablepar){
+        Page<FlowInstanceVo> page= new Page<FlowInstanceVo>(tablepar.getPage(), tablepar.getLimit());
+        IPage<FlowInstanceVo> iPages=flowInstanceService.pageAllDealing(page);
+
+        ResultTable resultTable=new ResultTable();
+        resultTable.setData(iPages.getRecords());
+        resultTable.setCode(200);
+        resultTable.setCount(iPages.getTotal());
+        resultTable.setMsg("获取成功");
+        return resultTable;
+    }
+
+    @ApiOperation(value = "统计排名前五的流程数据", notes = "统计排名前五的流程数据")
+    @GetMapping("/getMaxUseFlowIns")
+    @ResponseBody
+    public AjaxResult getMaxUseFlowIns()
+    {
+        List<Map<String, Object>> flowList = flowInstanceService.getMaxUseFlows();
+        //return flowList;
+        return AjaxResult.successData(200,flowList).put("msg","获取成功");
+    }
+
+    @ApiOperation(value = "获取总流程数", notes = "获取总流程数")
+    @GetMapping("/getTotalFlowInsCount")
+    @ResponseBody
+    public AjaxResult getTotalFlowInsCount()
+    {
+        Integer totalFlowInsCount = flowInstanceService.getTotalFlowInsCount();
+        //return totalFlowInsCount;
+        return AjaxResult.successData(200,totalFlowInsCount).put("msg","获取成功");
+    }
+
+    @ApiOperation(value = "所有在办流程", notes = "所有在办流程")
+    @GetMapping("/listAllDealing")
+    @ResponseBody
+    public AjaxResult listAllDealing(Tablepar tablepar){
+        List<FlowInstanceVo> flowList = flowInstanceService.listAllDealing();
+        return AjaxResult.successData(200,flowList).put("msg","获取成功");
+    }
+}

+ 65 - 0
src/main/java/cn/com/v2/controller/GroupController.java

@@ -0,0 +1,65 @@
+package cn.com.v2.controller;
+
+import cn.com.v2.common.base.BaseController;
+import cn.com.v2.common.constant.DataService;
+import cn.com.v2.common.domain.AjaxResult;
+import cn.com.v2.model.Company;
+import cn.com.v2.model.Group;
+import cn.com.v2.service.IGroupService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("/api/group")
+public class GroupController extends BaseController {
+    @Autowired
+    private IGroupService groupService;
+
+    @ApiOperation(value = "获取公司根部门数据", notes = "获取公司根部门数据")
+    @GetMapping("/getDefaultGroup")
+    @ResponseBody
+    public AjaxResult getDefaultGroup()
+    {
+        Group group = groupService.getDefaultGroup();
+        if(group!=null) {
+            return AjaxResult.successData(200,group).put("msg","获取成功");
+        }
+        return AjaxResult.successData(200, null).put("msg","无数据");
+
+    }
+
+    @ApiOperation(value = "获取预设数据", notes = "获取预设数据")
+    @GetMapping("/getDefaultData")
+    @ResponseBody
+    public AjaxResult getDefaultData()
+    {
+        Map constantData = DataService.getConstantData();
+        //Company company = (Company)constantData.get("company");
+        if(constantData!=null) {
+            return AjaxResult.successData(200,constantData).put("msg","获取成功");
+        }
+        return AjaxResult.successData(200, null).put("msg","无数据");
+    }
+
+    @ApiOperation(value = "获取组织架构数据", notes = "获取组织架构数据")
+    @GetMapping("/getOrgGroup")
+    @ResponseBody
+    public AjaxResult getOrgGroup()
+    {
+        Map constantData = DataService.getConstantData();
+        //Company company = (Company)constantData.get("company");
+        Group group = (Group)constantData.get("defaultGroup");
+        Group orgGroup = groupService.buildOrgStructure(group.getUNIVERSALID());
+        if(orgGroup!=null) {
+            return AjaxResult.successData(200,orgGroup).put("msg","获取成功");
+        }
+        return AjaxResult.successData(200, null).put("msg","无数据");
+
+    }
+}

+ 51 - 0
src/main/java/cn/com/v2/controller/ProjectInfoController.java

@@ -0,0 +1,51 @@
+package cn.com.v2.controller;
+
+import cn.com.v2.common.base.BaseController;
+import cn.com.v2.common.domain.AjaxResult;
+import cn.com.v2.service.IProjectInfoService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/api/projectInfo")
+public class ProjectInfoController extends BaseController {
+    @Autowired
+    private IProjectInfoService projectInfoService;
+
+    @ApiOperation(value = "获取项目总数", notes = "获取项目总数")
+    @GetMapping("/getProjectCount")
+    @ResponseBody
+    public AjaxResult getProjectCount()
+    {
+        Integer projectCount = projectInfoService.getProjectCount();
+        //return projectCount;
+        return AjaxResult.successData(200,projectCount).put("msg","获取成功");
+    }
+
+    @ApiOperation(value = "获取本周项目任务数量", notes = "获取本周项目任务数量")
+    @GetMapping("/getWeekProjectTaskCount")
+    @ResponseBody
+    public AjaxResult getWeekProjectTaskCount()
+    {
+        List<Map<String,Object>> taskList = projectInfoService.getWeekProjectTaskCount();
+        //return taskList;
+        return AjaxResult.successData(200,taskList).put("msg","获取成功");
+    }
+
+    @ApiOperation(value = "获取项目任务数量", notes = "获取项目任务数量")
+    @GetMapping("/getProjectTaskCount")
+    @ResponseBody
+    public AjaxResult getProjectTaskCount()
+    {
+        List<Map<String,Object>> taskList = projectInfoService.getProjectTaskCount();
+        //return taskList;
+        return AjaxResult.successData(200,taskList).put("msg","获取成功");
+    }
+}

+ 35 - 0
src/main/java/cn/com/v2/controller/UserLoginController.java

@@ -0,0 +1,35 @@
+package cn.com.v2.controller;
+
+import cn.com.v2.common.base.BaseController;
+import cn.com.v2.common.constant.DataService;
+import cn.com.v2.common.domain.AjaxResult;
+import cn.com.v2.model.Company;
+import cn.com.v2.service.IUserLoginService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/api/userLogin")
+public class UserLoginController extends BaseController {
+    @Autowired
+    private IUserLoginService userLoginService;
+
+    @ApiOperation(value = "获取今日登录人数", notes = "获取今日登录人数")
+    @GetMapping("/getUserLoginCount")
+    @ResponseBody
+    public AjaxResult getUserLoginCount()
+    {
+        Map<String,Object> userLoginCount = userLoginService.getUserLoginCount();
+        //return userLoginCount;
+        //Map<String,Object> userLoginCountMap = new HashMap<>();
+        //userLoginCountMap.put("userLoginCount",userLoginCount);
+        return AjaxResult.successData(200,userLoginCount).put("msg","获取成功");
+    }
+}

+ 19 - 0
src/main/java/cn/com/v2/mapper/AttendanceRecordResultMapper.java

@@ -0,0 +1,19 @@
+package cn.com.v2.mapper;
+
+import cn.com.v2.model.AttendanceRecordResult;
+import cn.com.v2.model.vo.AttendanceRecordResultVo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ */
+public interface AttendanceRecordResultMapper extends BaseMapper<AttendanceRecordResult> {
+
+    Map<String, Object> getResultMonth(@Param("attendanceRecordResult") AttendanceRecordResultVo attendanceRecordResult);
+}

+ 14 - 0
src/main/java/cn/com/v2/mapper/CompanyMapper.java

@@ -0,0 +1,14 @@
+package cn.com.v2.mapper;
+
+import cn.com.v2.model.Company;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ */
+public interface CompanyMapper extends BaseMapper<Company> {
+
+}

+ 33 - 0
src/main/java/cn/com/v2/mapper/FlowInstanceMapper.java

@@ -0,0 +1,33 @@
+package cn.com.v2.mapper;
+
+import cn.com.v2.model.Company;
+import cn.com.v2.model.FlowInstance;
+import cn.com.v2.model.vo.FlowInstanceVo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ */
+public interface FlowInstanceMapper extends BaseMapper<FlowInstance> {
+
+    List<Map<String, Object>> getSevenDayFlowInsCreateCount(@Param("flowInstance") FlowInstanceVo flowInstance);
+
+    List<Map<String, Object>> getSevenDayFlowInsFinishCount(@Param("flowInstance") FlowInstanceVo flowInstance);
+
+    IPage<FlowInstanceVo> selectPageAllDealing(Page<FlowInstanceVo> page, FlowInstanceVo flowInstance);
+
+    List<Map<String, Object>> getMaxUseFlows(@Param("flowInstance") FlowInstanceVo flowInstance);
+
+    Integer getTotalFlowInsCount(@Param("flowInstance") FlowInstanceVo flowInstance);
+
+    List<FlowInstanceVo> listAllDealing(@Param("flowInstance") FlowInstanceVo flowInstance);
+}

+ 14 - 0
src/main/java/cn/com/v2/mapper/FlowModelMapper.java

@@ -0,0 +1,14 @@
+package cn.com.v2.mapper;
+
+import cn.com.v2.model.FlowModel;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ */
+public interface FlowModelMapper extends BaseMapper<FlowModel> {
+
+}

+ 14 - 0
src/main/java/cn/com/v2/mapper/GroupMapper.java

@@ -0,0 +1,14 @@
+package cn.com.v2.mapper;
+
+import cn.com.v2.model.Group;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ */
+public interface GroupMapper extends BaseMapper<Group> {
+
+}

+ 25 - 0
src/main/java/cn/com/v2/mapper/ProjectInfoMapper.java

@@ -0,0 +1,25 @@
+package cn.com.v2.mapper;
+
+import cn.com.v2.model.Company;
+import cn.com.v2.model.ProjectInfo;
+import cn.com.v2.model.vo.ProjectInfoVo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ */
+public interface ProjectInfoMapper extends BaseMapper<ProjectInfo> {
+
+    Integer getProjectCount(@Param("projectInfo") ProjectInfoVo projectInfo);
+
+    List<Map<String, Object>> getWeekProjectTaskCount(@Param("projectInfo") ProjectInfoVo projectInfo);
+
+    List<Map<String, Object>> getProjectTaskCount(@Param("projectInfo") ProjectInfoVo projectInfo);
+}

+ 15 - 0
src/main/java/cn/com/v2/mapper/UserLoginMapper.java

@@ -0,0 +1,15 @@
+package cn.com.v2.mapper;
+
+import cn.com.v2.model.Group;
+import cn.com.v2.model.UserLogin;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ */
+public interface UserLoginMapper extends BaseMapper<UserLogin> {
+
+}

+ 84 - 0
src/main/java/cn/com/v2/model/AttendanceRecordResult.java

@@ -0,0 +1,84 @@
+package cn.com.v2.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+@TableName("hr_attendance_record_result")
+@Data
+public class AttendanceRecordResult {
+    private Long recResultId; // 考勤记录结果
+
+    private String attUserId; // 考勤用户id
+
+    private String attUserName; // 考勤用户名称
+
+    private Long sysUserId; // 考勤系统用户
+
+    private Date attDate; // 考勤日期
+
+    private Long shiftId; // 考勤班次
+
+    private Long segmentId; // 考勤班别
+
+    private String segmentName; // 班别名称
+
+    private String planTimeStr; // 考勤应到时间
+
+    private String actualTimeStr; // 考勤实到时间
+
+    private String actualLocStr; // 考勤地址
+
+    private float actualTimeNum; // 实到时长
+
+    private float overtimeNum; // 加班时长
+
+    private float generalHolidayNum; // 公休天数
+
+    private float leaveDayNum; // 请假天数
+
+    private float leaveNum; // 事假小时
+
+    private float sickLeaveNum; // 病假小时
+
+    private float travelNum; // 出差天数
+
+    private float late1Num; // 迟到1次数
+
+    private float late2Num; // 迟到2次数
+
+    private float late3Num; // 迟到3次数
+
+    private float late4Num; // 迟到3次数
+
+    private float late5Num; // 迟到3次数
+
+    private float leaveEarly1Num; // 早退1次数
+
+    private float leaveEarly2Num; // 早退2次数
+
+    private float leaveEarly3Num; // 早退3次数
+
+    private float absenteeismNum; // 缺勤天数
+
+    private String remark; // 说明
+
+    private Long createUser; // 创建用户
+
+    private Date createDate; // 创建时间
+
+    private Long unitId; // 公司id
+
+    private String attTypeStr; //考勤类型(1上班,2下班,3外出,4外出返回,5加班签到,6加班签退)
+
+    private String signTypeStr; //签到方式,1:考勤机数据导入;2:手工补签到;3:手机签到
+
+    private String outNum; //外出签到数量
+
+    private String leaveNumStr; //请假信息(每个请假间用分号隔开,每个类型与请假时间之间用英文逗号隔开,如:1,3.5;2,7.5;3,4;4,7.5;5,5)
+
+    private String specialType; //特殊考勤是否显示标志
+}

+ 42 - 0
src/main/java/cn/com/v2/model/Company.java

@@ -0,0 +1,42 @@
+package cn.com.v2.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@TableName("t_company")
+@Data
+public class Company {
+    @TableId(value = "UNIVERSALID")
+    private String UNIVERSALID;
+
+    @TableField("COMPANY_NAME")
+    private String companyName;
+
+    @TableField("COMPANY_TEL")
+    private String companyTel;
+
+    private String linkman;
+
+    private String address;
+
+    private String url;
+
+    private String email;
+
+    private String fax;
+
+    private String domain;
+
+    private String state;
+
+    @TableField("systemAdmin")
+    private String systemAdmin;
+
+    private String companyLogo;
+
+    private String bak;
+
+    private Long parentId;
+}

+ 104 - 0
src/main/java/cn/com/v2/model/FlowInstance.java

@@ -0,0 +1,104 @@
+package cn.com.v2.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@TableName("bpm_flow_instance")
+@Data
+public class FlowInstance {
+    /**
+     * 流程实例id
+     */
+    @TableId(value = "l_ins_id")
+    private Long insId;
+    /**
+     * 流程实例名称
+     */
+    @TableField(value = "v_ins_name")
+    private String insName;
+    /**
+     * 流程实例备注
+     */
+    @TableField(value = "v_ins_remark")
+    private String insRemark;
+    /**
+     * 流程模版id
+     */
+    @TableField(value = "l_model_id")
+    private Long modelId;
+    /**
+     * 流程实例状态
+     */
+    @TableField(value = "n_state")
+    private Integer state;
+    /**
+     * 流程启动人id
+     */
+    @TableField(value = "v_creator")
+    private String creator;
+    /**
+     * 流程启动时间
+     */
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @JsonFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @TableField(value = "d_createdate")
+    private Date createdate;
+    /**
+     * 流程撤销时间
+     */
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @JsonFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @TableField(value = "d_canceldate")
+    private Date canceldate;
+    /**
+     * 流程结束时间
+     */
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @JsonFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @TableField(value = "d_finishdate")
+    private Date finishdate;
+    /**
+     * 流程表单id
+     */
+    @TableField(value = "l_form_ins_id")
+    private Long formInsId;
+    /**
+     * 流程表单模版id
+     */
+    @TableField(value = "l_form_id")
+    private Long formId;
+    /**
+     * 流程启动人部门id
+     */
+    @TableField(value = "l_groupid")
+    private Long groupid;
+    /**
+     * 流程控制方式
+     */
+    @TableField(value = "n_control")
+    private String control;
+
+   /* *//**
+     * 流程模版所属部门
+     *//*
+    @TableField(exist = false)
+    private String dept;*/
+}

+ 147 - 0
src/main/java/cn/com/v2/model/FlowModel.java

@@ -0,0 +1,147 @@
+package cn.com.v2.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+@TableName("bpm_flow_model")
+@Data
+public class FlowModel {
+    /**
+     * 流程模版id
+     */
+    @TableId(value = "l_model_id")
+    private Long modelId;
+    /**
+     * 流程模版名称
+     */
+    @TableField(value = "v_model_name")
+    private String modelName;
+    /**
+     * 流程类型
+     */
+    @TableField(value = "l_type_id")
+    private Long typeId;
+    /**
+     * 创建时间
+     */
+    @TableField(value = "d_createdate")
+    private Date createdate;
+    /**
+     * 注销时间
+     */
+    @TableField(value = "d_canceldate")
+    private Date canceldate;
+    /**
+     * 流程模版状态 1 启用 0 停用 -1 删除
+     */
+    @TableField(value = "n_state")
+    private Integer state;
+    /**
+     * 流程模版创建人
+     */
+    @TableField(value = "v_creator")
+    private String creator;
+    /**
+     * 流程模版备注
+     */
+    @TableField(value = "v_remark")
+    private String remark;
+
+    /**
+     * 流程模版所属部门
+     */
+    @TableField(value = "v_dept")
+    private String dept;
+    /**
+     * 流程控制方式 0 手写 1 引擎
+     */
+    @TableField(value = "n_control")
+    private Integer control;
+    /**
+     *
+     */
+    @TableField(value = "n_control_url")
+    private String controlUrl;
+
+    /**
+     * 是否自定义撤销0:否,1是
+     */
+    @TableField(value = "n_custom_cancel")
+    private Integer customCancel;
+
+    /**
+     * 是否默认0:否,1:是
+     */
+    @TableField(value = "n_is_default")
+    private Integer isDefault;
+    /**
+     * 流程允许撤销人员
+     */
+    @TableField(value = "v_allow_cancels")
+    private String allowCancels;
+
+    /**
+     * 流程对应表单
+     */
+    @TableField(value = "l_form_id")
+    private Long formId;
+    /**
+     * 是否含有office控件 1 是 0 否
+     */
+    @TableField(value = "n_has_office")
+    private Integer hasOffice;
+    /**
+     * 是否允许撤销流程 1 是 0 否
+     */
+    @TableField(value = "n_is_cancel")
+    private Integer isCancel;
+    /**
+     * 是否允许撤销办结流程 1 是 0 否
+     */
+    @TableField(value = "n_end_cancel")
+    private Integer endCancel;
+    /**
+     * 是否允许查看撤销流程 1 是 0 否
+     */
+    @TableField(value = "n_cancel_can_read")
+    private Integer cancelCanRead;
+    /**
+     * 是否图形化配置 1 是 0 否
+     */
+    @TableField(value = "n_is_graph")
+    private Integer isGraph;
+    /**
+     * 是否控制办结流程查看 -1 不限制 0 限制
+     */
+    @TableField(value = "n_is_view_limit")
+    private Integer isViewLimit;
+    /**
+     * 是否限定使用 -1 不限制 0 部门 1 人员 2 职位
+     */
+    @TableField(value = "n_limit_use_type")
+    private Integer limitUseType;
+    /**
+     * 限定使用的人员
+     */
+    @TableField(value = "v_limit_use")
+    private String limitUse;
+    /**
+     * 限定使用的职位的类型(-1不限制0指定部门)
+     */
+    @TableField(value = "n_limit_position_type")
+    private Integer limitPositionType;
+    /**
+     * 限定使用的职位所在的部门
+     */
+    @TableField(value = "v_limit_position_dept")
+    private String limitPositionDept;
+    /**
+     * 是否自定义打印
+     */
+    @TableField(value = "n_is_custom_print")
+    private Integer customPrint;
+}

+ 51 - 0
src/main/java/cn/com/v2/model/Group.java

@@ -0,0 +1,51 @@
+package cn.com.v2.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.List;
+
+@TableName("t_group")
+@Data
+public class Group {
+    @TableId(value = "UNIVERSALID")
+    private Long UNIVERSALID;
+
+    @TableField("GROUPNAME")
+    private String GROUPNAME;
+
+    @TableField("PID")
+    private String PID;
+
+    @TableField("DESCRIPTION")
+    private String DESCRIPTION;
+
+    @TableField("POS")
+    private Long POS;
+
+    private String groupnum;
+
+    private String phone;
+
+    private String person;
+
+    private String gtype;
+
+    private String glevel;
+
+    @TableField("companyId")
+    private Long companyId;
+
+    private String state;
+
+    private String relation;
+
+    private String bznum;
+
+    private String bak;
+
+    @TableField(exist = false)
+    private List<Group> children; // 子节点列表
+}

+ 103 - 0
src/main/java/cn/com/v2/model/ProjectInfo.java

@@ -0,0 +1,103 @@
+package cn.com.v2.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@TableName("pm_project_info")
+@Data
+public class ProjectInfo {
+    @TableId(value = "universalid")
+    private Long universalid;
+
+    private String projectCode;
+
+    private String projectName;
+
+    private String projectSource;
+
+    private Long projectType;
+
+    private Long responsible;
+
+    private String custorUnit;
+
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @JsonFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    private Date appDate;
+
+    private Long appDepId;
+
+    private String relateDepId;
+
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @JsonFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    private Date startDate;
+
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @JsonFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    private Date endDate;
+
+    private String projectAffix;
+
+    private String profile;
+
+    private String target;
+
+    private String state;
+
+    private Long createUser;
+
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @JsonFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    private Date createDate;
+
+    private Long flowId;
+
+    private Long projectTypeTwo;
+
+    private String loseFlag;
+
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @JsonFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    private Date poDate;
+
+    private String poNum;
+
+    private String proAmount;
+
+    private String projectNameSort;
+
+    private String projectShortName;
+
+    private Long unitId; //单位ID
+
+    private Double pettyCash;
+
+    private Long purchaseCost;
+}

+ 53 - 0
src/main/java/cn/com/v2/model/UserLogin.java

@@ -0,0 +1,53 @@
+package cn.com.v2.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+@TableName("t_user_login")
+@Data
+public class UserLogin {
+    private Long universalid;
+
+    @TableField("userId")
+    private String userId;
+
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @JsonFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @TableField("loginTime")
+    private Date loginTime;
+
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @JsonFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @TableField("logoutTime")
+    private Date logoutTime;
+
+    @TableField("loginState")
+    private String loginState;
+
+    @TableField("loginSessionId")
+    private String loginSessionId;
+
+    @TableField("loginIp")
+    private String loginIp;
+
+    private String remark;
+
+    @TableField("companyId")
+    private String companyId;
+
+}

+ 12 - 0
src/main/java/cn/com/v2/model/vo/AttendanceRecordResultVo.java

@@ -0,0 +1,12 @@
+package cn.com.v2.model.vo;
+
+import cn.com.v2.model.AttendanceRecordResult;
+import cn.com.v2.model.ProjectInfo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class AttendanceRecordResultVo extends AttendanceRecordResult {
+
+}

+ 22 - 0
src/main/java/cn/com/v2/model/vo/FlowInstanceVo.java

@@ -0,0 +1,22 @@
+package cn.com.v2.model.vo;
+
+import cn.com.v2.model.FlowInstance;
+import cn.com.v2.model.Group;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class FlowInstanceVo extends FlowInstance {
+    /**
+     * 流程模版所属部门
+     */
+    private String dept;
+
+    /**
+     * 流程模版名称
+     */
+    private String modelName;
+
+}

+ 13 - 0
src/main/java/cn/com/v2/model/vo/GroupVo.java

@@ -0,0 +1,13 @@
+package cn.com.v2.model.vo;
+
+import cn.com.v2.model.Group;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class GroupVo extends Group {
+
+}

+ 11 - 0
src/main/java/cn/com/v2/model/vo/ProjectInfoVo.java

@@ -0,0 +1,11 @@
+package cn.com.v2.model.vo;
+
+import cn.com.v2.model.ProjectInfo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ProjectInfoVo extends ProjectInfo {
+
+}

+ 17 - 0
src/main/java/cn/com/v2/service/IAttendanceRecordResultService.java

@@ -0,0 +1,17 @@
+package cn.com.v2.service;
+
+import cn.com.v2.model.AttendanceRecordResult;
+import cn.com.v2.model.Company;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ */
+public interface IAttendanceRecordResultService extends IService<AttendanceRecordResult> {
+
+    Map<String, Object> getResultMonth();
+}

+ 14 - 0
src/main/java/cn/com/v2/service/ICompanyService.java

@@ -0,0 +1,14 @@
+package cn.com.v2.service;
+
+import cn.com.v2.model.Company;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ */
+public interface ICompanyService extends IService<Company> {
+
+    Company getCompany();
+}

+ 29 - 0
src/main/java/cn/com/v2/service/IFlowInstanceService.java

@@ -0,0 +1,29 @@
+package cn.com.v2.service;
+
+import cn.com.v2.model.Company;
+import cn.com.v2.model.FlowInstance;
+import cn.com.v2.model.vo.FlowInstanceVo;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ */
+public interface IFlowInstanceService extends IService<FlowInstance> {
+
+    Map<String, Object> getSevenDayFlowIns();
+
+    IPage<FlowInstanceVo> pageAllDealing(Page<FlowInstanceVo> page);
+
+    List<Map<String, Object>> getMaxUseFlows();
+
+    Integer getTotalFlowInsCount();
+
+    List<FlowInstanceVo> listAllDealing();
+}

+ 14 - 0
src/main/java/cn/com/v2/service/IFlowModelService.java

@@ -0,0 +1,14 @@
+package cn.com.v2.service;
+
+import cn.com.v2.model.Company;
+import cn.com.v2.model.FlowModel;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ */
+public interface IFlowModelService extends IService<FlowModel> {
+
+}

+ 21 - 0
src/main/java/cn/com/v2/service/IGroupService.java

@@ -0,0 +1,21 @@
+package cn.com.v2.service;
+
+import cn.com.v2.model.Group;
+import cn.com.v2.model.vo.GroupVo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ */
+public interface IGroupService extends IService<Group> {
+
+    Group getDefaultGroup();
+
+    Group buildOrgStructure(Long rootId);
+
+    List<Group> findAllByPid(String pid);
+}

+ 21 - 0
src/main/java/cn/com/v2/service/IProjectInfoService.java

@@ -0,0 +1,21 @@
+package cn.com.v2.service;
+
+import cn.com.v2.model.ProjectInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ */
+public interface IProjectInfoService extends IService<ProjectInfo> {
+
+    Integer getProjectCount();
+
+    List<Map<String, Object>> getWeekProjectTaskCount();
+
+    List<Map<String, Object>> getProjectTaskCount();
+}

+ 16 - 0
src/main/java/cn/com/v2/service/IUserLoginService.java

@@ -0,0 +1,16 @@
+package cn.com.v2.service;
+
+import cn.com.v2.model.UserLogin;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ */
+public interface IUserLoginService extends IService<UserLogin> {
+
+    Map<String, Object> getUserLoginCount();
+}

+ 34 - 0
src/main/java/cn/com/v2/service/impl/AttendanceRecordResultServiceImpl.java

@@ -0,0 +1,34 @@
+package cn.com.v2.service.impl;
+
+import cn.com.v2.common.constant.DataService;
+import cn.com.v2.mapper.AttendanceRecordResultMapper;
+import cn.com.v2.model.AttendanceRecordResult;
+import cn.com.v2.model.Group;
+import cn.com.v2.model.vo.AttendanceRecordResultVo;
+import cn.com.v2.model.vo.ProjectInfoVo;
+import cn.com.v2.service.IAttendanceRecordResultService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ */
+@Service
+public class AttendanceRecordResultServiceImpl extends ServiceImpl<AttendanceRecordResultMapper, AttendanceRecordResult> implements IAttendanceRecordResultService {
+
+    @Override
+    public Map<String, Object> getResultMonth() {
+        Map constantData = DataService.getConstantData();
+        Group group = (Group)constantData.get("defaultGroup");
+        AttendanceRecordResultVo attendanceRecordResult = new AttendanceRecordResultVo();
+        attendanceRecordResult.setUnitId(group.getUNIVERSALID());
+        Map<String, Object> map = baseMapper.getResultMonth(attendanceRecordResult);
+        return map;
+    }
+}

+ 29 - 0
src/main/java/cn/com/v2/service/impl/CompanyServiceImpl.java

@@ -0,0 +1,29 @@
+package cn.com.v2.service.impl;
+
+import cn.com.v2.mapper.CompanyMapper;
+import cn.com.v2.mapper.GoviewProjectDataMapper;
+import cn.com.v2.model.Company;
+import cn.com.v2.model.GoviewProjectData;
+import cn.com.v2.service.ICompanyService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ */
+@Service
+public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements ICompanyService {
+    @Value("${oa.domain}")
+    private String oaDomain;
+    @Override
+    public Company getCompany() {
+        LambdaQueryWrapper<Company> lambdaQueryWrapper=new LambdaQueryWrapper<Company>();
+        lambdaQueryWrapper.eq(Company::getDomain, oaDomain).eq(Company::getState,"0");
+        return baseMapper.selectOne(lambdaQueryWrapper);
+    }
+}

+ 78 - 0
src/main/java/cn/com/v2/service/impl/FlowInstancelServiceImpl.java

@@ -0,0 +1,78 @@
+package cn.com.v2.service.impl;
+
+import cn.com.v2.common.constant.DataService;
+import cn.com.v2.mapper.FlowInstanceMapper;
+import cn.com.v2.model.Company;
+import cn.com.v2.model.FlowInstance;
+import cn.com.v2.model.Group;
+import cn.com.v2.model.vo.FlowInstanceVo;
+import cn.com.v2.service.IFlowInstanceService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ */
+@Service
+public class FlowInstancelServiceImpl extends ServiceImpl<FlowInstanceMapper, FlowInstance> implements IFlowInstanceService {
+
+    @Override
+    public Map<String, Object> getSevenDayFlowIns() {
+        Map constantData = DataService.getConstantData();
+        Group group = (Group)constantData.get("defaultGroup");
+        FlowInstanceVo flowInstance = new FlowInstanceVo();
+        flowInstance.setDept(group.getUNIVERSALID().toString());
+        List<Map<String,Object>> createList = baseMapper.getSevenDayFlowInsCreateCount(flowInstance);
+        List<Map<String,Object>> finishList = baseMapper.getSevenDayFlowInsFinishCount(flowInstance);
+        Map<String, Object> map = new HashMap<>();
+        map.put("createList",createList);
+        map.put("finishList",finishList);
+        return map;
+    }
+
+    @Override
+    public IPage<FlowInstanceVo> pageAllDealing(Page<FlowInstanceVo> page) {
+        Map constantData = DataService.getConstantData();
+        Group group = (Group)constantData.get("defaultGroup");
+        FlowInstanceVo flowInstance = new FlowInstanceVo();
+        flowInstance.setDept(group.getUNIVERSALID().toString());
+        return baseMapper.selectPageAllDealing(page,flowInstance);
+    }
+
+    @Override
+    public List<Map<String, Object>> getMaxUseFlows() {
+        Map constantData = DataService.getConstantData();
+        Group group = (Group)constantData.get("defaultGroup");
+        FlowInstanceVo flowInstance = new FlowInstanceVo();
+        flowInstance.setDept(group.getUNIVERSALID().toString());
+        List<Map<String,Object>> flowList = baseMapper.getMaxUseFlows(flowInstance);
+        return flowList;
+    }
+
+    @Override
+    public Integer getTotalFlowInsCount() {
+        Map constantData = DataService.getConstantData();
+        Group group = (Group)constantData.get("defaultGroup");
+        FlowInstanceVo flowInstance = new FlowInstanceVo();
+        flowInstance.setDept(group.getUNIVERSALID().toString());
+        Integer totalFlowInsCount = baseMapper.getTotalFlowInsCount(flowInstance);
+        return totalFlowInsCount;
+    }
+
+    @Override
+    public List<FlowInstanceVo> listAllDealing() {
+        Map constantData = DataService.getConstantData();
+        Group group = (Group)constantData.get("defaultGroup");
+        FlowInstanceVo flowInstance = new FlowInstanceVo();
+        flowInstance.setDept(group.getUNIVERSALID().toString());
+        return baseMapper.listAllDealing(flowInstance);
+    }
+}

+ 19 - 0
src/main/java/cn/com/v2/service/impl/FlowModelServiceImpl.java

@@ -0,0 +1,19 @@
+package cn.com.v2.service.impl;
+
+import cn.com.v2.mapper.FlowModelMapper;
+import cn.com.v2.model.FlowModel;
+import cn.com.v2.service.IFlowModelService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ */
+@Service
+public class FlowModelServiceImpl extends ServiceImpl<FlowModelMapper, FlowModel> implements IFlowModelService {
+
+}

+ 57 - 0
src/main/java/cn/com/v2/service/impl/GroupServiceImpl.java

@@ -0,0 +1,57 @@
+package cn.com.v2.service.impl;
+
+import cn.com.v2.mapper.GroupMapper;
+import cn.com.v2.model.Company;
+import cn.com.v2.model.Group;
+import cn.com.v2.model.vo.GroupVo;
+import cn.com.v2.service.ICompanyService;
+import cn.com.v2.service.IGroupService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ */
+@Service
+public class GroupServiceImpl extends ServiceImpl<GroupMapper, Group> implements IGroupService {
+    @Autowired
+    private ICompanyService companyService;
+    @Override
+    public Group getDefaultGroup() {
+        Company company = companyService.getCompany();
+        LambdaQueryWrapper<Group> lambdaQueryWrapper=new LambdaQueryWrapper<Group>();
+        lambdaQueryWrapper.eq(Group::getCompanyId, company.getUNIVERSALID())
+                .eq(Group::getState,"1")
+                .eq(Group::getGlevel,"2");
+        return baseMapper.selectOne(lambdaQueryWrapper);
+    }
+
+    public Group buildOrgStructure(Long rootId) {
+        LambdaQueryWrapper<Group> lambdaQueryWrapper=new LambdaQueryWrapper<Group>();
+        lambdaQueryWrapper.eq(Group::getUNIVERSALID, rootId);
+        Group rootGroup = baseMapper.selectOne(lambdaQueryWrapper);
+        if (rootGroup != null) {
+            List<Group> children = new ArrayList<>();
+            List<Group> subGroups = findAllByPid(rootGroup.getUNIVERSALID().toString());
+            for (Group subGroup : subGroups) {
+                children.add(buildOrgStructure(subGroup.getUNIVERSALID())); // 递归调用
+            }
+            rootGroup.setChildren(children);
+        }
+        return rootGroup;
+    }
+
+
+    public List<Group> findAllByPid(String pid) {
+        LambdaQueryWrapper<Group> lambdaQueryWrapper=new LambdaQueryWrapper<Group>();
+        lambdaQueryWrapper.eq(Group::getPID, pid).eq(Group::getState,"1");
+        return baseMapper.selectList(lambdaQueryWrapper);
+    }
+}

+ 55 - 0
src/main/java/cn/com/v2/service/impl/ProjectInfoServiceImpl.java

@@ -0,0 +1,55 @@
+package cn.com.v2.service.impl;
+
+import cn.com.v2.common.constant.DataService;
+import cn.com.v2.mapper.ProjectInfoMapper;
+import cn.com.v2.model.Group;
+import cn.com.v2.model.ProjectInfo;
+import cn.com.v2.model.vo.FlowInstanceVo;
+import cn.com.v2.model.vo.ProjectInfoVo;
+import cn.com.v2.service.IProjectInfoService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ */
+@Service
+public class ProjectInfoServiceImpl extends ServiceImpl<ProjectInfoMapper, ProjectInfo> implements IProjectInfoService {
+
+    @Override
+    public Integer getProjectCount() {
+        Map constantData = DataService.getConstantData();
+        Group group = (Group)constantData.get("defaultGroup");
+        ProjectInfoVo projectInfo = new ProjectInfoVo();
+        projectInfo.setUnitId(group.getUNIVERSALID());
+        Integer projectCount = baseMapper.getProjectCount(projectInfo);
+        return projectCount;
+    }
+
+    @Override
+    public List<Map<String, Object>> getWeekProjectTaskCount() {
+        Map constantData = DataService.getConstantData();
+        Group group = (Group)constantData.get("defaultGroup");
+        ProjectInfoVo projectInfo = new ProjectInfoVo();
+        projectInfo.setUnitId(group.getUNIVERSALID());
+        List<Map<String,Object>> taskList = baseMapper.getWeekProjectTaskCount(projectInfo);
+        return taskList;
+    }
+
+    @Override
+    public List<Map<String, Object>> getProjectTaskCount() {
+        Map constantData = DataService.getConstantData();
+        Group group = (Group)constantData.get("defaultGroup");
+        ProjectInfoVo projectInfo = new ProjectInfoVo();
+        projectInfo.setUnitId(group.getUNIVERSALID());
+        List<Map<String,Object>> taskList = baseMapper.getProjectTaskCount(projectInfo);
+        return taskList;
+    }
+}

+ 37 - 0
src/main/java/cn/com/v2/service/impl/UserLoginServiceImpl.java

@@ -0,0 +1,37 @@
+package cn.com.v2.service.impl;
+
+import cn.com.v2.common.constant.DataService;
+import cn.com.v2.mapper.UserLoginMapper;
+import cn.com.v2.model.Company;
+import cn.com.v2.model.UserLogin;
+import cn.com.v2.service.IUserLoginService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDate;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ */
+@Service
+public class UserLoginServiceImpl extends ServiceImpl<UserLoginMapper, UserLogin> implements IUserLoginService {
+
+    @Override
+    public Map<String, Object> getUserLoginCount() {
+        Map constantData = DataService.getConstantData();
+        Company company = (Company)constantData.get("company");
+        LambdaQueryWrapper<UserLogin> queryWrapper = new LambdaQueryWrapper<>();
+        LocalDate today = LocalDate.now();
+        queryWrapper.apply("DATE(loginTime) = {0}", today.toString())
+                .eq(UserLogin::getCompanyId,company.getUNIVERSALID());
+        int countToday = baseMapper.selectCount(queryWrapper);
+        Map<String,Object> userLoginCount = new HashMap<>();
+        userLoginCount.put("countToday",countToday);
+        return userLoginCount;
+    }
+}

+ 8 - 4
src/main/resources/application-dev.yml

@@ -1,12 +1,16 @@
 #dev环境  mysql7.0
 spring:
   datasource:
-    driver-class-name: org.sqlite.JDBC
-    url: jdbc:sqlite:D:\\ygtx\\go-view-serve\\sqllite\\goview.db
+    #driver-class-name: org.sqlite.JDBC
+    #url: jdbc:sqlite:D:\\ygtx\\go-view-serve\\sqllite\\goview.db
     #linux服务器
     #url: jdbc:sqlite://home/cqfy/project/OSSDATABASE/oss.db
-    username: 
-    password: 
+    #username:
+    #password:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://localhost:3306/ygoa?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
+    username: root
+    password: 123456
     ### 连接池配置
     druid:
       initial-size: 10

+ 3 - 1
src/main/resources/application.yml

@@ -107,4 +107,6 @@ sa-token:
     # token风格
     token-style: uuid
     # 是否输出操作日志 
-    is-log: false
+    is-log: false
+oa:
+  domain: yg

+ 106 - 0
src/main/resources/mapper/AttendanceRecordResultMapper.xml

@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.v2.mapper.AttendanceRecordResultMapper">
+
+    <select id="getResultMonth" resultType="java.util.Map">
+        SELECT
+            (
+                SELECT
+                    COUNT(*)
+                FROM
+                    hr_attendance_record_result
+                WHERE
+                    special_type = '1'
+                    <if test="attendanceRecordResult.unitId!=null">
+                        AND unit_id = #{attendanceRecordResult.unitId}
+                    </if>
+                  AND att_date BETWEEN DATE_FORMAT(CURDATE(), '%Y-%m-01') AND LAST_DAY(CURDATE())
+                  AND late1_num = 0
+                  AND late2_num = 0
+                  AND late3_num = 0
+                  AND late4_num = 0
+                  AND late5_num = 0
+                  AND leave_early1_num = 0
+                  AND absenteeism_num = 0
+            ) AS zcCount,
+            (
+                SELECT
+                    COUNT(*)
+                FROM
+                    hr_attendance_record_result
+                WHERE
+                    special_type = '1'
+                    <if test="attendanceRecordResult.unitId!=null">
+                        AND unit_id = #{attendanceRecordResult.unitId}
+                    </if>
+                  AND att_date BETWEEN DATE_FORMAT(CURDATE(), '%Y-%m-01') AND LAST_DAY(CURDATE())
+                  AND general_holiday_num > 0
+            ) AS gxCount,
+            (
+                SELECT
+                    COUNT(*)
+                FROM
+                    hr_attendance_record_result
+                WHERE
+                    special_type = '1'
+                    <if test="attendanceRecordResult.unitId!=null">
+                        AND unit_id = #{attendanceRecordResult.unitId}
+                    </if>
+                  AND att_date BETWEEN DATE_FORMAT(CURDATE(), '%Y-%m-01') AND LAST_DAY(CURDATE())
+                  AND out_num > 0
+            ) AS wcCount,
+            (
+                SELECT
+                    COUNT(*)
+                FROM
+                    hr_attendance_record_result
+                WHERE
+                    special_type = '1'
+                    <if test="attendanceRecordResult.unitId!=null">
+                        AND unit_id = #{attendanceRecordResult.unitId}
+                    </if>
+                  AND att_date BETWEEN DATE_FORMAT(CURDATE(), '%Y-%m-01') AND LAST_DAY(CURDATE())
+                  AND segment_name IS NULL
+                  AND general_holiday_num = 0
+            ) AS wpbCount,
+            (
+                SELECT
+                    COUNT(*)
+                FROM
+                    hr_attendance_record_result
+                WHERE
+                    special_type = '1'
+                    <if test="attendanceRecordResult.unitId!=null">
+                        AND unit_id = #{attendanceRecordResult.unitId}
+                    </if>
+                  AND att_date BETWEEN DATE_FORMAT(CURDATE(), '%Y-%m-01') AND LAST_DAY(CURDATE())
+                  AND (late1_num > 0 OR late2_num > 0 OR late3_num > 0 OR late4_num > 0 OR late5_num > 0)
+            ) AS cdCount,
+            (
+                SELECT
+                    COUNT(*)
+                FROM
+                    hr_attendance_record_result
+                WHERE
+                    special_type = '1'
+                    <if test="attendanceRecordResult.unitId!=null">
+                        AND unit_id = #{attendanceRecordResult.unitId}
+                    </if>
+                  AND att_date BETWEEN DATE_FORMAT(CURDATE(), '%Y-%m-01') AND LAST_DAY(CURDATE())
+                  AND leave_early1_num > 0
+            ) AS ztCount,
+            (
+                SELECT
+                    COUNT(*)
+                FROM
+                    hr_attendance_record_result
+                WHERE
+                    special_type = '1'
+                    <if test="attendanceRecordResult.unitId!=null">
+                        AND unit_id = #{attendanceRecordResult.unitId}
+                    </if>
+                  AND att_date BETWEEN DATE_FORMAT(CURDATE(), '%Y-%m-01') AND LAST_DAY(CURDATE())
+                  AND absenteeism_num > 0
+            ) AS qqCount
+    </select>
+</mapper>

+ 5 - 0
src/main/resources/mapper/CompanyMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.v2.mapper.CompanyMapper">
+
+</mapper>

+ 233 - 0
src/main/resources/mapper/FlowInstanceMapper.xml

@@ -0,0 +1,233 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.v2.mapper.FlowInstanceMapper">
+    <!-- 通用查询映射结果 -->
+    <resultMap id="flowInstanceResultMap" type="cn.com.v2.model.vo.FlowInstanceVo">
+        <result column="l_ins_id" property="insId"/>
+        <result column="v_ins_name" property="insName"/>
+        <result column="v_ins_remark" property="insRemark"/>
+        <result column="l_model_id" property="modelId"/>
+        <result column="n_state" property="state"/>
+        <result column="v_creator" property="creator"/>
+        <result column="d_createdate" property="createdate"/>
+        <result column="d_canceldate" property="canceldate"/>
+        <result column="d_finishdate" property="finishdate"/>
+        <result column="l_form_ins_id" property="formInsId"/>
+        <result column="l_form_id" property="formId"/>
+        <result column="l_groupid" property="groupid"/>
+        <result column="n_control" property="control"/>
+        <result column="v_model_name" property="modelName"/>
+    </resultMap>
+
+    <select id="getSevenDayFlowInsCreateCount" resultType="java.util.Map">
+        SELECT
+            DATE_FORMAT(a.total_date,'%Y-%m-%d') AS totalDate,
+            IFNULL(COUNT(filtered_t.l_ins_id), 0) AS totalCount
+        FROM
+            (SELECT CURDATE() - INTERVAL 0 DAY AS total_date
+             UNION ALL SELECT CURDATE() - INTERVAL 1 DAY
+             UNION ALL SELECT CURDATE() - INTERVAL 2 DAY
+             UNION ALL SELECT CURDATE() - INTERVAL 3 DAY
+             UNION ALL SELECT CURDATE() - INTERVAL 4 DAY
+             UNION ALL SELECT CURDATE() - INTERVAL 5 DAY
+             UNION ALL SELECT CURDATE() - INTERVAL 6 DAY) a
+                LEFT JOIN
+                (SELECT t.l_ins_id, DATE(t.d_createdate) AS createdate
+                    FROM bpm_flow_instance t
+                     JOIN bpm_flow_model c ON t.l_model_id = c.l_model_id
+                        WHERE t.n_state IN (1, 2)
+                        <if test="flowInstance.dept!=null">
+                            and c.v_dept = #{flowInstance.dept}
+                        </if>
+                          AND (c.n_control = -1
+                           OR c.n_control = 1
+                           OR (c.n_control = 0 AND c.n_control_url != '' AND c.n_control_url IS NOT NULL))
+                            ) AS filtered_t ON filtered_t.createdate = a.total_date
+        GROUP BY
+            a.total_date
+        ORDER BY
+            a.total_date;
+    </select>
+
+    <select id="getSevenDayFlowInsFinishCount" resultType="java.util.Map">
+        SELECT
+            DATE_FORMAT(a.total_date,'%Y-%m-%d')  AS totalDate,
+            IFNULL(COUNT(filtered_t.l_ins_id), 0) AS totalCount
+        FROM
+            (SELECT CURDATE() - INTERVAL 0 DAY AS total_date
+             UNION ALL SELECT CURDATE() - INTERVAL 1 DAY
+             UNION ALL SELECT CURDATE() - INTERVAL 2 DAY
+             UNION ALL SELECT CURDATE() - INTERVAL 3 DAY
+             UNION ALL SELECT CURDATE() - INTERVAL 4 DAY
+             UNION ALL SELECT CURDATE() - INTERVAL 5 DAY
+             UNION ALL SELECT CURDATE() - INTERVAL 6 DAY) a
+                LEFT JOIN
+                (SELECT t.l_ins_id, DATE(t.d_finishdate) AS finishdate
+                    FROM bpm_flow_instance t
+                             JOIN bpm_flow_model c ON t.l_model_id = c.l_model_id
+                WHERE t.n_state = 2
+                <if test="flowInstance.dept!=null">
+                    and c.v_dept = #{flowInstance.dept}
+                </if>
+                  AND (c.n_control = -1
+                   OR c.n_control = 1
+                   OR (c.n_control = 0 AND c.n_control_url != '' AND c.n_control_url IS NOT NULL))
+                    ) AS filtered_t ON filtered_t.finishdate = a.total_date
+        GROUP BY
+            a.total_date
+        ORDER BY
+            a.total_date;
+    </select>
+    <select id="selectPageAllDealing" resultMap="flowInstanceResultMap">
+        SELECT
+            *
+        FROM
+            (
+                SELECT
+                    t.l_ins_id,
+                    t.v_ins_name,
+                    t.v_ins_remark,
+                    t.be_careful,
+                    t.l_model_id,
+                    t.n_state,
+                    t.v_creator,
+                    t.d_createdate,
+                    t.d_canceldate,
+                    t.d_finishdate,
+                    c.v_allow_cancels,
+                    c.v_model_name,
+                    c.n_is_cancel,
+                    c.n_end_cancel,
+                    c.n_cancel_can_read,
+                    ( CASE WHEN t.n_control IS NOT NULL THEN t.n_control ELSE c.n_control END ) AS n_control,
+                    c.n_control_url,
+                    c.n_custom_cancel,
+                    t.l_form_ins_id,
+                    t.l_form_id,
+                    t.l_file_id,
+                    t.l_tache_ins_start,
+                    t.l_groupid,
+                    t.l_office_id,
+                    t.l_groupxuserid,
+                    t.l_pdf_id,
+                    c.n_is_custom_print
+                FROM
+                    bpm_flow_instance t
+                        LEFT JOIN bpm_flow_model c ON t.l_model_id = c.l_model_id
+                WHERE
+                    1 = 1
+                  AND t.n_state = 1
+                  <if test="flowInstance.dept!=null">
+                      AND c.v_dept = #{flowInstance.dept}
+                  </if>
+                  AND (
+                            c.n_control =- 1
+                        OR c.n_control = 1
+                        OR ( c.n_control = 0 AND c.n_control_url != '' AND c.n_control_url IS NOT NULL )
+                    )
+                GROUP BY
+                    t.l_ins_id
+            ) s
+        WHERE
+            1 = 1
+        ORDER BY
+            s.d_createdate DESC
+    </select>
+    <select id="getMaxUseFlows" resultType="java.util.Map">
+        SELECT
+            c.v_model_name AS modelName,
+            count( t.l_ins_id ) AS flowCount
+        FROM
+            bpm_flow_instance t
+                LEFT JOIN bpm_flow_model c ON t.l_model_id = c.l_model_id
+        WHERE
+            1 = 1
+          AND t.n_state IN ( 1, 2 )
+          <if test="flowInstance.dept!=null">
+             AND c.v_dept = #{flowInstance.dept}
+          </if>
+          AND (
+                    c.n_control =- 1
+                OR c.n_control = 1
+                OR ( c.n_control = 0 AND c.n_control_url != '' AND c.n_control_url IS NOT NULL )
+            )
+        GROUP BY
+            modelName
+        ORDER BY
+            flowCount DESC
+        LIMIT 5
+    </select>
+    <select id="getTotalFlowInsCount" resultType="java.lang.Integer">
+        SELECT
+            count( t.l_ins_id ) AS flowCount
+        FROM
+            bpm_flow_instance t
+                LEFT JOIN bpm_flow_model c ON t.l_model_id = c.l_model_id
+        WHERE
+            1 = 1
+          AND t.n_state IN ( 1, 2 )
+            <if test="flowInstance.dept!=null">
+                AND c.v_dept = #{flowInstance.dept}
+            </if>
+          AND (
+                    c.n_control =- 1
+                OR c.n_control = 1
+                OR ( c.n_control = 0 AND c.n_control_url != '' AND c.n_control_url IS NOT NULL )
+            )
+    </select>
+    <select id="listAllDealing" resultMap="flowInstanceResultMap">
+        SELECT
+        *
+        FROM
+        (
+        SELECT
+        t.l_ins_id,
+        t.v_ins_name,
+        t.v_ins_remark,
+        t.be_careful,
+        t.l_model_id,
+        t.n_state,
+        t.v_creator,
+        t.d_createdate,
+        t.d_canceldate,
+        t.d_finishdate,
+        c.v_allow_cancels,
+        c.v_model_name,
+        c.n_is_cancel,
+        c.n_end_cancel,
+        c.n_cancel_can_read,
+        ( CASE WHEN t.n_control IS NOT NULL THEN t.n_control ELSE c.n_control END ) AS n_control,
+        c.n_control_url,
+        c.n_custom_cancel,
+        t.l_form_ins_id,
+        t.l_form_id,
+        t.l_file_id,
+        t.l_tache_ins_start,
+        t.l_groupid,
+        t.l_office_id,
+        t.l_groupxuserid,
+        t.l_pdf_id,
+        c.n_is_custom_print
+        FROM
+        bpm_flow_instance t
+        LEFT JOIN bpm_flow_model c ON t.l_model_id = c.l_model_id
+        WHERE
+        1 = 1
+        AND t.n_state = 1
+        <if test="flowInstance.dept!=null">
+            AND c.v_dept = #{flowInstance.dept}
+        </if>
+        AND (
+        c.n_control =- 1
+        OR c.n_control = 1
+        OR ( c.n_control = 0 AND c.n_control_url != '' AND c.n_control_url IS NOT NULL )
+        )
+        GROUP BY
+        t.l_ins_id
+        ) s
+        WHERE
+        1 = 1
+        ORDER BY
+        s.d_createdate DESC
+    </select>
+</mapper>

+ 5 - 0
src/main/resources/mapper/FlowModelMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.v2.mapper.FlowModelMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/GroupMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.v2.mapper.GroupMapper">
+
+</mapper>

+ 76 - 0
src/main/resources/mapper/ProjectInfoMapper.xml

@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.v2.mapper.ProjectInfoMapper">
+
+    <select id="getProjectCount" resultType="java.lang.Integer">
+        SELECT
+            count( ppi.universalid ) AS projectCount
+        FROM
+            pm_project_info ppi
+        WHERE
+            1 = 1
+          AND ppi.state IN ( 3, 5, 6, 7, 8 )
+        <if test="projectInfo.unitId!=null">
+            AND ppi.unit_id = #{projectInfo.unitId}
+        </if>
+    </select>
+
+    <select id="getWeekProjectTaskCount" resultType="java.util.Map">
+        SELECT
+            CASE DAYOFWEEK(DATE_ADD(CURDATE() - INTERVAL WEEKDAY(CURDATE()) DAY, INTERVAL day_offset DAY))
+                WHEN 2 THEN '周一'
+                WHEN 3 THEN '周二'
+                WHEN 4 THEN '周三'
+                WHEN 5 THEN '周四'
+                WHEN 6 THEN '周五'
+                ELSE '未知'
+                END AS dayOfWeek,
+            SUM(CASE
+                    WHEN DATE(pt.plan_end_date) = DATE_ADD(CURDATE() - INTERVAL WEEKDAY(CURDATE()) DAY, INTERVAL day_offset DAY)
+                    <if test="projectInfo.unitId!=null">
+                        AND ppi.unit_id = #{projectInfo.unitId}
+                    </if>
+                THEN 1
+                ELSE 0
+                END) AS planEndCount,
+            SUM(CASE
+                    WHEN DATE(pt.prac_end_date) = DATE_ADD(CURDATE() - INTERVAL WEEKDAY(CURDATE()) DAY, INTERVAL day_offset DAY)
+                    <if test="projectInfo.unitId!=null">
+                        AND ppi.unit_id = #{projectInfo.unitId}
+                    </if>
+                THEN 1
+                ELSE 0
+                END) AS pracEndCount
+        FROM
+            (SELECT 0 AS day_offset UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4) AS days_of_week
+                LEFT JOIN
+            pm_task pt
+            ON (DATE(pt.plan_end_date) = DATE_ADD(CURDATE() - INTERVAL WEEKDAY(CURDATE()) DAY, INTERVAL day_offset DAY)
+                OR DATE(pt.prac_end_date) = DATE_ADD(CURDATE() - INTERVAL WEEKDAY(CURDATE()) DAY, INTERVAL day_offset DAY))
+                LEFT JOIN
+            pm_project_info ppi
+            ON pt.project_id = ppi.universalid
+        GROUP BY
+            day_offset
+        ORDER BY
+            day_offset;
+    </select>
+
+    <select id="getProjectTaskCount" resultType="java.util.Map">
+        SELECT
+            pi.project_name AS projectName,
+            COUNT(t.universalid) AS taskCount
+        FROM
+            pm_project_info pi
+                LEFT JOIN
+            pm_task t ON pi.universalid = t.project_id
+        WHERE 1 = 1 AND pi.state IN ( 3, 5, 6, 7, 8 )
+        <if test="projectInfo.unitId!=null">
+            AND pi.unit_id = #{projectInfo.unitId}
+        </if>
+        GROUP BY
+            pi.project_name, pi.universalid
+        ORDER BY
+            pi.project_name;
+    </select>
+</mapper>

+ 1 - 1
src/main/resources/mapper/SysFileMapper.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="cn.com.v2oss.mapper.SysFileMapper">
+<mapper namespace="cn.com.v2.mapper.SysFileMapper">
 
 </mapper>

+ 5 - 0
src/main/resources/mapper/UserLoginMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.v2.mapper.UserLoginMapper">
+
+</mapper>