seyason 2 年 前
コミット
a195758781
27 ファイル変更78 行追加95 行削除
  1. 26 26
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportExtraDegreeController.java
  2. 2 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java
  3. 25 3
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java
  4. BIN
      fhKeeper/formulahousekeeper/management-platform/人员导入模板.xlsx
  5. 0 52
      fhKeeper/formulahousekeeper/management-platform/南京火石闪信网络科技有限公司_财务人员成本模板 (2).xls
  6. BIN
      fhKeeper/formulahousekeeper/management-platform/员工项目分摊比例导入模板.xlsx
  7. BIN
      fhKeeper/formulahousekeeper/management-platform/导入成本2020.8.xlsx
  8. BIN
      fhKeeper/formulahousekeeper/management-platform/导入成本3月份.xlsx
  9. BIN
      fhKeeper/formulahousekeeper/management-platform/导入成本6月份(1).xlsx
  10. BIN
      fhKeeper/formulahousekeeper/management-platform/工时统计表示例.xlsx
  11. BIN
      fhKeeper/formulahousekeeper/management-platform/成都项目导入模板 (1).xlsx
  12. BIN
      fhKeeper/formulahousekeeper/management-platform/新增客户导入模板.xlsx
  13. BIN
      fhKeeper/formulahousekeeper/management-platform/新版任务模板.xlsx
  14. BIN
      fhKeeper/formulahousekeeper/management-platform/研究中心导入模板.xlsx
  15. BIN
      fhKeeper/formulahousekeeper/management-platform/财务人员成本模板 (1)(1).xlsx
  16. BIN
      fhKeeper/formulahousekeeper/management-platform/财务人员成本模板 (1).xlsx
  17. BIN
      fhKeeper/formulahousekeeper/management-platform/财务人员成本模板.xlsx
  18. BIN
      fhKeeper/formulahousekeeper/management-platform/财务人员成本模板2.xlsx
  19. BIN
      fhKeeper/formulahousekeeper/management-platform/财务人员成本模板_已填写.xlsx
  20. BIN
      fhKeeper/formulahousekeeper/management-platform/财务人员成本模板_测试.xlsx
  21. BIN
      fhKeeper/formulahousekeeper/management-platform/项目任务导入模板.xlsx
  22. BIN
      fhKeeper/formulahousekeeper/management-platform/项目导入模板.xlsx
  23. BIN
      fhKeeper/formulahousekeeper/management-platform/项目工时统计表.xlsx
  24. 8 2
      fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/entity/TimeType.java
  25. 2 1
      fhKeeper/formulahousekeeper/ops-platform/src/main/resources/mapper/TimeTypeMapper.xml
  26. 4 0
      fhKeeper/formulahousekeeper/timesheet/src/views/project/list.vue
  27. 11 10
      fhKeeper/formulahousekeeper/timesheet_h5/vue.config.js

+ 26 - 26
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportExtraDegreeController.java

@@ -67,7 +67,7 @@ public class ReportExtraDegreeController {
         TimeType timeType = timeTypeMapper.selectById(user.getCompanyId());
         if (info.getId() == null) {
             info.setCompanyId(user.getCompanyId());
-            int cut = reportExtraDegreeMapper.selectCount(new QueryWrapper<ReportExtraDegree>().eq("name",info.getName()));
+            int cut = reportExtraDegreeMapper.selectCount(new QueryWrapper<ReportExtraDegree>().eq("name",info.getName()).eq("company_id", user.getCompanyId()));
             if(cut>0){
                 msg.setError(timeType.getCustomDegreeName()+"名称重复");
                 return msg;
@@ -75,40 +75,40 @@ public class ReportExtraDegreeController {
             info.setCompanyId(user.getCompanyId());
             reportExtraDegreeMapper.insert(info);
         } else {
-            int cut = reportExtraDegreeMapper.selectCount(new QueryWrapper<ReportExtraDegree>().eq("name",info.getName()).ne("id",info.getId()));
+            int cut = reportExtraDegreeMapper.selectCount(new QueryWrapper<ReportExtraDegree>().eq("name",info.getName()).ne("id",info.getId()).eq("company_id", user.getCompanyId()));
             if(cut>0){
                 msg.setError(timeType.getCustomDegreeName()+"名称重复");
                 return msg;
             }
             //检查名字是否发生变化
-                int id = info.getId();
-                List<Project> existsProjects = projectMapper.selectList(new QueryWrapper<Project>()
-                        .eq("company_id", user.getCompanyId())
-                        .and(wrapper->wrapper.eq("associate_degrees", id)
-                                .or().likeRight("associate_degrees", id+",")
-                                .or().like("associate_degrees", ","+id+",")
-                                .or().likeLeft("associate_degrees", ","+id)));
-                if (existsProjects.size() > 0) {
-                    List<Project> updateList = new ArrayList<>();
-                    for (Project p : existsProjects) {
-                        String associateDegrees = p.getAssociateDegrees();
-                        String[] split = associateDegrees.split("\\,");
-                        String[] names = p.getAssociateDegreeNames().split("\\,");
+            int id = info.getId();
+            List<Project> existsProjects = projectMapper.selectList(new QueryWrapper<Project>()
+                    .eq("company_id", user.getCompanyId())
+                    .and(wrapper->wrapper.eq("associate_degrees", id)
+                            .or().likeRight("associate_degrees", id+",")
+                            .or().like("associate_degrees", ","+id+",")
+                            .or().likeLeft("associate_degrees", ","+id)));
+            if (existsProjects.size() > 0) {
+                List<Project> updateList = new ArrayList<>();
+                for (Project p : existsProjects) {
+                    String associateDegrees = p.getAssociateDegrees();
+                    String[] split = associateDegrees.split("\\,");
+                    String[] names = p.getAssociateDegreeNames().split("\\,");
 
-                        for (int i=0;i<split.length; i++) {
-                            if (split[i].equals(id+"")) {
-                                names[i] = info.getName();//更换新名字
-                            }
+                    for (int i=0;i<split.length; i++) {
+                        if (split[i].equals(id+"")) {
+                            names[i] = info.getName();//更换新名字
                         }
-                        String replaceNames = StringUtil.join(names, ",");
-                        Project newP = new Project();
-                        newP.setId(p.getId());
-                        newP.setAssociateDegreeNames(replaceNames);
-                        updateList.add(newP);
                     }
-                    projectService.updateBatchById(updateList);
+                    String replaceNames = StringUtil.join(names, ",");
+                    Project newP = new Project();
+                    newP.setId(p.getId());
+                    newP.setAssociateDegreeNames(replaceNames);
+                    updateList.add(newP);
                 }
-                reportExtraDegreeMapper.updateById(info);
+                projectService.updateBatchById(updateList);
+            }
+            reportExtraDegreeMapper.updateById(info);
         }
         return msg;
     }

+ 2 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -2175,7 +2175,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 String start_date = sdf.format((Date) map.get("start_date"));
                 String end_date = sdf.format((Date) map.get("end_date"));
                 String projectId = ""+ (Integer) map.get("id");
-                String exeId = "任务"+ (Integer) map.get("exe_id");
+                System.out.println(map);
+                String exeId = "任务_"+map.get("task_id") +"_"+ (type==0?(Integer) map.get("exe_id"):userId);
                 String taskId = ""+ (Integer) map.get("task_id");
 
                 GanttDataItem curItem = new GanttDataItem();;

+ 25 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -215,13 +215,29 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     map.put("reportTime", df.format(reportTime));
                     map.put("cost", total);
                     map.put("state", state);
+                    System.out.println("===========自己的=========");
                 }
                 List<Integer> allVisibleDeptIdList = getAllVisibleDeptIdList(user, null);
                 //需要看可见部门(部门主要负责人和其他负责人以及查看本部门工时权限)所有人员的日报
                 if (allVisibleDeptIdList.size() > 0) {
-                    nameList = reportMapper.getReportNameByDateAndDept(date,
-                            allVisibleDeptIdList, targetUid, null);
-
+                    System.out.println("有可见部门");
+                    for (Integer ids : allVisibleDeptIdList) {
+                        System.out.println(ids);
+                    }
+                    if (nameList.size() > 0) {
+                        //自己填写的日报
+                        List<Map<String, Object>> deptNameList = reportMapper.getReportNameByDateAndDept(date,
+                                allVisibleDeptIdList, targetUid, null);
+                        for (Map<String, Object> deptNameItem : deptNameList) {
+                            if (!deptNameItem.get("id").equals(user.getId())) {
+                                nameList.add(deptNameItem);
+                            }
+                        }
+                    } else {
+                        nameList = reportMapper.getReportNameByDateAndDept(date,
+                                allVisibleDeptIdList, targetUid, null);
+                    }
+                    System.out.println("有可见部门==="+nameList.size());
                     if (nameList.size() > 0) {
                         List<String> userIds = new ArrayList<>();
                         nameList.forEach(n->{
@@ -3236,6 +3252,12 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 }
                 allReportByDate = dealDataList;
             }
+            //HSSFRow条数范围限制0..65535
+            if (allReportByDate.size() > 60000) {
+                HttpRespMsg msg = new HttpRespMsg();
+                msg.setError("数据量过大,请分时间段导出");
+                return msg;
+            }
             DecimalFormat df = new DecimalFormat("#0.0");
             for (Map<String, Object> map : allReportByDate) {
                 HSSFRow row = sheet.createRow(rowNum);

BIN
fhKeeper/formulahousekeeper/management-platform/人员导入模板.xlsx


ファイルの差分が大きいため隠しています
+ 0 - 52
fhKeeper/formulahousekeeper/management-platform/南京火石闪信网络科技有限公司_财务人员成本模板 (2).xls


BIN
fhKeeper/formulahousekeeper/management-platform/员工项目分摊比例导入模板.xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/导入成本2020.8.xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/导入成本3月份.xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/导入成本6月份(1).xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/工时统计表示例.xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/成都项目导入模板 (1).xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/新增客户导入模板.xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/新版任务模板.xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/研究中心导入模板.xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/财务人员成本模板 (1)(1).xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/财务人员成本模板 (1).xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/财务人员成本模板.xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/财务人员成本模板2.xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/财务人员成本模板_已填写.xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/财务人员成本模板_测试.xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/项目任务导入模板.xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/项目导入模板.xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/项目工时统计表.xlsx


+ 8 - 2
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/entity/TimeType.java

@@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
  * </p>
  *
  * @author Seyason
- * @since 2022-08-07
+ * @since 2022-08-08
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -301,7 +301,7 @@ public class TimeType extends Model<TimeType> {
     private Integer needEvaluate;
 
     /**
-     * 0-未开启 1-开启
+     * 产值  0-未开启 1-开启
      */
     @TableField("output_value_status")
     private Integer outputValueStatus;
@@ -318,6 +318,12 @@ public class TimeType extends Model<TimeType> {
     @TableField("include_weekends")
     private Integer includeWeekends;
 
+    /**
+     * 从相册选择图片 0-未开启 1-开启
+     */
+    @TableField("chose_from_album")
+    private Integer choseFromAlbum;
+
 
     @Override
     protected Serializable pkVal() {

ファイルの差分が大きいため隠しています
+ 2 - 1
fhKeeper/formulahousekeeper/ops-platform/src/main/resources/mapper/TimeTypeMapper.xml


+ 4 - 0
fhKeeper/formulahousekeeper/timesheet/src/views/project/list.vue

@@ -311,8 +311,12 @@
             </template>
             <template v-if="user.company.packageProject && (showColumnWidth != '0' || permissions.projectManagement)">
                 <el-button size="small" type="primary" @click="addGroupPerson()" :loading="addGroupPersonBtnLoading">批量添加分组参与人</el-button>
+            </template>
+            <template v-if="(showColumnWidth != '0' || permissions.projectManagement)">
                 <el-button size="small" type="primary" @click="addProPreson()">批量添加项目参与人</el-button>
+                <!-- <el-button size="small" type="primary" @click="batchDelete()">批量删除项目</el-button> -->
             </template>
+            
             <el-pagination
                 @size-change="handleSizeChange"
                 @current-change="handleCurrentChange"

+ 11 - 10
fhKeeper/formulahousekeeper/timesheet_h5/vue.config.js

@@ -5,17 +5,18 @@ const themePath = path.resolve(__dirname,'src/assets/style/theme.less');
 const Timestamp = new Date().getTime();
 
 // var ip = '47.101.180.183'
-var ip = '192.168.2.7'
+// var ip = '192.168.2.7'
 // var ip = '127.0.0.1'
-// var os = require('os'), ip = '', ifaces = os.networkInterfaces() // 获取本机ip
-// for (var i in ifaces) {
-//     for (var j in ifaces[i]) {
-//         var val = ifaces[i][j]
-//         if (val.family === 'IPv4' && val.address !== '127.0.0.1') {
-//             ip = val.address
-//         }
-//     }
-// }
+
+var os = require('os'), ip = '', ifaces = os.networkInterfaces() // 获取本机ip
+for (var i in ifaces) {
+    for (var j in ifaces[i]) {
+        var val = ifaces[i][j]
+        if (val.family === 'IPv4' && val.address !== '127.0.0.1') {
+            ip = val.address
+        }
+    }
+}
 
 module.exports = {
     // 关闭eslint检查