فهرست منبع

导入版相关修改

Min 1 سال پیش
والد
کامیت
f2de919a50
13فایلهای تغییر یافته به همراه557 افزوده شده و 128 حذف شده
  1. 105 0
      fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/controller/ReportCustomController.java
  2. 15 0
      fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/entity/Report.java
  3. 45 0
      fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/entity/ReportCustom.java
  4. 16 0
      fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/mapper/ReportCustomMapper.java
  5. 16 0
      fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/service/ReportCustomService.java
  6. 20 0
      fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/service/impl/ReportCustomServiceImpl.java
  7. 93 119
      fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java
  8. 0 7
      fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/service/impl/UserServiceImpl.java
  9. 1 1
      fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/util/CodeGenerator.java
  10. 17 0
      fhKeeper/formulahousekeeper/management-platform-import/src/main/resources/mapper/ReportCustomMapper.xml
  11. 6 1
      fhKeeper/formulahousekeeper/management-platform-import/src/main/resources/mapper/ReportMapper.xml
  12. 4 0
      fhKeeper/formulahousekeeper/timesheet-import/src/routes.js
  13. 219 0
      fhKeeper/formulahousekeeper/timesheet-import/src/views/corpreport/reportForm.vue

+ 105 - 0
fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/controller/ReportCustomController.java

@@ -0,0 +1,105 @@
+package com.management.platform.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.management.platform.entity.Report;
+import com.management.platform.entity.ReportCustom;
+import com.management.platform.mapper.*;
+import com.management.platform.service.ReportCustomService;
+import com.management.platform.util.HttpRespMsg;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Seyason
+ * @since 2023-06-27
+ */
+@RestController
+@RequestMapping("/report-custom")
+public class ReportCustomController {
+    @Autowired
+    private ReportCustomService reportCustomService;
+    @Resource
+    private UserMapper userMapper;
+    @Resource
+    private ReportCustomMapper reportCustomMapper;
+    @Resource
+    private HttpServletRequest request;
+    @Resource
+    private ReportMapper reportMapper;
+    @RequestMapping("/editReportCustom")
+    public HttpRespMsg editProjectCustom(ReportCustom reportCustom){
+        HttpRespMsg httpRespMsg=new HttpRespMsg();
+        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        List<ReportCustom> reportCustomList = reportCustomMapper.selectList(new QueryWrapper<ReportCustom>().eq("company_id", companyId));
+        List<String> nameList=new ArrayList<>();
+        reportCustomList.forEach(pc->{
+            nameList.add(pc.getCustomName());
+        });
+        if(nameList.contains(reportCustom.getCustomName())){
+            httpRespMsg.setError("名称已存在");
+            return httpRespMsg;
+        }
+        reportCustomService.saveOrUpdate(reportCustom);
+        return httpRespMsg;
+    }
+    @RequestMapping("/getReportCustom")
+    public HttpRespMsg getProjectCustom(HttpServletRequest request){
+        HttpRespMsg httpRespMsg=new HttpRespMsg();
+        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        List<ReportCustom> reportCustomList = reportCustomMapper.selectList(new QueryWrapper<ReportCustom>().eq("company_id", companyId));
+        httpRespMsg.data=reportCustomList;
+        return httpRespMsg;
+    }
+    @RequestMapping("/delete")
+    public HttpRespMsg delete(Integer id,HttpServletRequest request){
+        HttpRespMsg httpRespMsg=new HttpRespMsg();
+        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        List<ReportCustom> reportCustomList = reportCustomMapper.selectList(new QueryWrapper<ReportCustom>().eq("company_id", companyId));
+        Integer num=null;
+        Object result=null;
+        for(int i=0;i<reportCustomList.size();i++){
+            if(id.equals(reportCustomList.get(i).getId())){
+                num=i;
+            }
+        }
+        List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().eq("company_id", companyId));
+        for(Report report:reportList) {
+            switch (num){
+                case 0:
+                    result=report.getPlate1();
+                    break;
+                case 1:
+                    result=report.getPlate2();
+                    break;
+                case 2:
+                    result=report.getPlate3();
+                    break;
+                case 3:
+                    result=report.getPlate4();
+                    break;
+                case 4:
+                    result=report.getPlate5();
+                    break;
+            }
+            if(result!=null){
+                httpRespMsg.setError("当前配置下已存在数据");
+                return httpRespMsg;
+            }
+        }
+        reportCustomService.removeById(id);
+        return new HttpRespMsg();
+    }
+}
+

+ 15 - 0
fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/entity/Report.java

@@ -351,6 +351,21 @@ public class Report extends Model<Report> {
     @TableField("report_auto_approve")
     private Integer reportAutoApprove;
 
+    @TableField("plate1")
+    private String plate1;
+
+    @TableField("plate2")
+    private String plate2;
+
+    @TableField("plate3")
+    private String plate3;
+
+    @TableField("plate4")
+    private String plate4;
+
+    @TableField("plate5")
+    private String plate5;
+
 
     @TableField(exist = false)
     private ReportAuditorSetting auditorSetting;

+ 45 - 0
fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/entity/ReportCustom.java

@@ -0,0 +1,45 @@
+package com.management.platform.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Seyason
+ * @since 2023-06-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class ReportCustom extends Model<ReportCustom> {
+
+    private static final long serialVersionUID=1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 公司ID
+     */
+    @TableField("company_id")
+    private Integer companyId;
+
+    @TableField("custom_name")
+    private String customName;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/mapper/ReportCustomMapper.java

@@ -0,0 +1,16 @@
+package com.management.platform.mapper;
+
+import com.management.platform.entity.ReportCustom;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author Seyason
+ * @since 2023-06-27
+ */
+public interface ReportCustomMapper extends BaseMapper<ReportCustom> {
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/service/ReportCustomService.java

@@ -0,0 +1,16 @@
+package com.management.platform.service;
+
+import com.management.platform.entity.ReportCustom;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2023-06-27
+ */
+public interface ReportCustomService extends IService<ReportCustom> {
+
+}

+ 20 - 0
fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/service/impl/ReportCustomServiceImpl.java

@@ -0,0 +1,20 @@
+package com.management.platform.service.impl;
+
+import com.management.platform.entity.ReportCustom;
+import com.management.platform.mapper.ReportCustomMapper;
+import com.management.platform.service.ReportCustomService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2023-06-27
+ */
+@Service
+public class ReportCustomServiceImpl extends ServiceImpl<ReportCustomMapper, ReportCustom> implements ReportCustomService {
+
+}

+ 93 - 119
fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -3853,8 +3853,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 msg.setError(MessageUtils.message("report.data"));
                 return msg;
             }
-            List<String> projectList = new ArrayList<>();
-            List<String> subProjectList = new ArrayList<>();
             List<Project> allProjectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId));
             List<SubProject> allSubProjectList = subProjectMapper.selectList(new QueryWrapper<SubProject>().eq("company_id", companyId));
             List<Report> reportList = new ArrayList<>();
@@ -3870,10 +3868,12 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 if (ExcelUtil.isRowEmpty(row)) {
                     continue;
                 }
-                String username = withCheckIn==null?row.getCell(1).getStringCellValue().trim():row.getCell(2).getStringCellValue().trim();
+//                String username = withCheckIn==null?row.getCell(1).getStringCellValue().trim():row.getCell(2).getStringCellValue().trim();
+                String username =row.getCell(1).getStringCellValue().trim();
 
                 if (rowIndex == 0) {
-                    String deptName = withCheckIn==null?row.getCell(1).getStringCellValue().trim():row.getCell(3).getStringCellValue().trim();
+//                    String deptName = withCheckIn==null?row.getCell(1).getStringCellValue().trim():row.getCell(3).getStringCellValue().trim();
+                    String deptName =row.getCell(1).getStringCellValue().trim();
                     if ("部门".equals(deptName)) {
                         hasDept = true;
                     }
@@ -3886,8 +3886,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 }
             }
             int deptColumnExtra = (hasDept?1:0);
-            //下标从0开始
-            int projectNameStartIndex = (withCheckIn==null?2:(6 + deptColumnExtra));
+//            //下标从0开始
+//            int projectNameStartIndex = (withCheckIn==null?2:(6 + deptColumnExtra));
             HttpRespMsg respMsg=new HttpRespMsg();
             if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1&&userNameList.size()>0){
                 respMsg = wxCorpInfoService.getBatchSearchUserInfo(wxCorpInfo, userNameList,null);
@@ -3908,125 +3908,99 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     continue;
                 }
                 if (rowIndex == 0) {
-                    //第一行是标题,获取项目名称
-                    int pIndex = projectNameStartIndex;
-                    boolean projectNotExists = false;
-                    String neProjectName = null;
-                    boolean subPNotExists = false;
-                    String neSubPName = null;
-                    while(pIndex < row.getLastCellNum() && row.getCell(pIndex).getCellTypeEnum() != CellType._NONE &&  row.getCell(pIndex).getCellTypeEnum() != CellType.BLANK) {
-                        row.getCell(pIndex).setCellType(CellType.STRING);
-                        String stringCellValue = row.getCell(pIndex).getStringCellValue().trim();
-                        final String projectName = stringCellValue.contains("/")?stringCellValue.split("/")[0].trim():stringCellValue;
-                        projectList.add(projectName);
-                        String subProject = stringCellValue.contains("/")?stringCellValue.split("/")[1].trim():"";
-
-                        subProjectList.add(subProject);
-                        if (!allProjectList.stream().filter(p->p.getProjectName().equals(projectName)).findAny().isPresent()) {
-                            projectNotExists = true;
-                            neProjectName = projectName;
-                            break;
-                        }
-                        //检查子项目是否存在
-                        if (!StringUtils.isEmpty(subProject) && !allSubProjectList.stream().anyMatch(subp->subp.getName().equals(subProject))) {
-                            subPNotExists = true;
-                            neSubPName = subProject;
-                            break;
-                        }
-                        pIndex++;
-                    }
-                    if (projectNotExists) {
-                        //返回错误提示
-                        //msg.setError("项目["+neProjectName+"]不存在,请先在项目管理中添加或导入。");
-                        msg.setError(MessageUtils.message("project.noExist",neProjectName));
-                        return msg;
-                    }
-                    if (subPNotExists) {
-                        //返回错误提示
-                        //msg.setError("子项目["+neSubPName+"]不存在,请先在项目管理中添加或导入。");
-                        msg.setError(MessageUtils.message("project.sonNoExist",neSubPName));
-                        return msg;
-                    }
-                } else {
-                    dataCount++;
-                    //数据行
-                    for (int i=1;i<projectNameStartIndex+projectList.size(); i++) {
-                        if (row.getCell(i) != null) {
-                            row.getCell(i).setCellType(CellType.STRING);
-                        }
+                    continue;
+                }
+                dataCount++;
+                //数据行
+                for (int i=1;i<13; i++) {
+                    if (row.getCell(i) != null) {
+                        row.getCell(i).setCellType(CellType.STRING);
                     }
+                }
 
-                    if (row.getCell(0) == null) {
-                        //msg.setError("第"+dataCount+"行缺少日期");
-                        msg.setError(MessageUtils.message("data.NullErrorByRow",dataCount));
-                        return msg;
-                    }
-                    boolean isDateFormat = row.getCell(0).getCellTypeEnum() == CellType.NUMERIC;
-                    String reportDate = isDateFormat?sdf.format(row.getCell(0).getDateCellValue()):row.getCell(0).getStringCellValue();
-                    if (StringUtils.isEmpty(reportDate)) {
-                        //msg.setError("第"+dataCount+"行缺少日期");
-                        msg.setError(MessageUtils.message("data.NullErrorByRow",dataCount));
-                        return msg;
-                    }
-                    String username = withCheckIn==null?row.getCell(1).getStringCellValue().trim():row.getCell(2).getStringCellValue().trim();
-                    //检查人员是否存在
-                    Optional<User> any;
-                    if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
-                        Optional<User> optional = targetUserList.stream().filter(tl -> tl.getName().equals(username)).findFirst();
-                        any = allUserList.stream().filter(u -> u.getName().equals(username)||(u.getJobNumber()!=null&&u.getJobNumber().equals(username))||(optional.isPresent()&&u.getCorpwxUserid()!=null&&u.getCorpwxUserid().equals(optional.get().getCorpwxUserid()))).findAny();
-                    }else {
-                        any = allUserList.stream().filter(u -> u.getName().equals(username)||(u.getJobNumber()!=null&&u.getJobNumber().equals(username))).findAny();
-                    }
-                    if (!any.isPresent()) {
-                        //msg.setError("人员["+username+"]不存在,请先在组织结构中添加或者通过钉钉同步导入");
-                        msg.setError(MessageUtils.message("staff.peopleNullAndAdd",username));
+                if (row.getCell(0) == null) {
+                    //msg.setError("第"+dataCount+"行缺少日期");
+                    msg.setError(MessageUtils.message("data.NullErrorByRow",dataCount));
+                    return msg;
+                }
+                boolean isDateFormat = row.getCell(0).getCellTypeEnum() == CellType.NUMERIC;
+                String reportDate = isDateFormat?sdf.format(row.getCell(0).getDateCellValue()):row.getCell(0).getStringCellValue();
+                if (StringUtils.isEmpty(reportDate)) {
+                    //msg.setError("第"+dataCount+"行缺少日期");
+                    msg.setError(MessageUtils.message("data.NullErrorByRow",dataCount));
+                    return msg;
+                }
+//                String username = withCheckIn==null?row.getCell(1).getStringCellValue().trim():row.getCell(2).getStringCellValue().trim();
+                String username = row.getCell(1).getStringCellValue().trim();
+                //检查人员是否存在
+                Optional<User> any;
+                if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
+                    Optional<User> optional = targetUserList.stream().filter(tl -> tl.getName().equals(username)).findFirst();
+                    any = allUserList.stream().filter(u -> u.getName().equals(username)||(u.getJobNumber()!=null&&u.getJobNumber().equals(username))||(optional.isPresent()&&u.getCorpwxUserid()!=null&&u.getCorpwxUserid().equals(optional.get().getCorpwxUserid()))).findAny();
+                }else {
+                    any = allUserList.stream().filter(u -> u.getName().equals(username)||(u.getJobNumber()!=null&&u.getJobNumber().equals(username))).findAny();
+                }
+                if (!any.isPresent()) {
+                    //msg.setError("人员["+username+"]不存在,请先在组织结构中添加或者通过钉钉同步导入");
+                    msg.setError(MessageUtils.message("staff.peopleNullAndAdd",username));
+                    return msg;
+                }
+                User reportCreator = any.get();
+                if(!StringUtils.isEmpty(row.getCell(2).getStringCellValue())&&!reportCreator.getJobNumber().equals(row.getCell(2).getStringCellValue())){
+                    msg.setError("人员["+username+"]所填工号与系统不一致");
+                    return msg;
+                }
+                if(StringUtils.isEmpty(row.getCell(3).getStringCellValue())){
+                    msg.setError("项目列不能为空");
+                    return msg;
+                }
+                if(!StringUtils.isEmpty(row.getCell(3).getStringCellValue())&&!allProjectList.stream().anyMatch(al->al.getProjectName().equals(row.getCell(3).getStringCellValue()))){
+                    msg.setError("项目["+row.getCell(3).getStringCellValue()+"]不存在");
+                    return msg;
+                }
+                Optional<Project> project = allProjectList.stream().filter(al -> al.getProjectName().equals(row.getCell(3).getStringCellValue())).findFirst();
+                SubProject subP=new SubProject();
+                if(!StringUtils.isEmpty(row.getCell(4).getStringCellValue())){
+                    if(!allSubProjectList.stream().anyMatch(al->al.getName().equals(row.getCell(4).getStringCellValue()))){
+                        msg.setError("子项目["+row.getCell(4).getStringCellValue()+"]不存在");
                         return msg;
                     }
-                    User reportCreator = any.get();
-                    for (int i=projectNameStartIndex; i < projectNameStartIndex + projectList.size(); i++) {
-                        if (row.getCell(i) == null) {
-                            continue;
+                    Optional<SubProject> subProject = allSubProjectList.stream().filter(al -> al.getName().equals(row.getCell(4).getStringCellValue())).findFirst();
+                    subP=subProject.get();
+                    if(!subProject.get().getProjectId().equals(project.get().getId())){
+                        msg.setError("子项目["+subProject.get().getName()+"]不属于项目["+project.get().getProjectName()+"]");
+                    }
+                }
+                String stringCellValue = row.getCell(6).getStringCellValue();
+                double time=0;
+                if(!StringUtils.isEmpty(stringCellValue)){
+                    time=Double.valueOf(stringCellValue);
+                    if(time>0){
+                        Report report = new Report();
+                        report.setCompanyId(companyId);
+                        report.setCreatorId(reportCreator.getId());
+                        report.setDeptId(reportCreator.getDepartmentId());
+                        report.setProjectId(project.get().getId());
+                        //子项目
+                        if (!StringUtils.isEmpty(subP.getName())) {
+                            report.setSubProjectId(subP.getId());
                         }
-                        String stringCellValue = row.getCell(i).getStringCellValue();
-                        double time = 0;
-                        if (!StringUtils.isEmpty(stringCellValue)) {
-                            time = Double.parseDouble(stringCellValue);
-                            if (time > 0) {
-                                String pName = projectList.get(i-projectNameStartIndex);
-                                Project project = allProjectList.stream().filter(p -> p.getProjectName().equals(pName)).findFirst().get();
-                                String subPName = subProjectList.get(i-projectNameStartIndex);
-                                Report report = new Report();
-                                report.setCompanyId(companyId);
-                                report.setCreatorId(reportCreator.getId());
-                                report.setDeptId(reportCreator.getDepartmentId());
-                                report.setProjectId(project.getId());
-                                //子项目
-                                if (!StringUtils.isEmpty(subPName)) {
-                                    Optional<SubProject> first = allSubProjectList.stream()
-                                            .filter(sub -> sub.getProjectId().equals(project.getId()) && sub.getName().equals(subPName)).findFirst();
-                                    if (first.isPresent()) {
-                                        report.setSubProjectId(first.get().getId());
-                                    }
-                                }
-                                report.setReportTimeType(1);
-                                report.setWorkingTime(time);
-                                report.setMultiWorktime(timeType.getMultiWorktime());
-                                report.setFillUserid(user.getId());
-                                if (timeType.getNeedDeptAudit() == 0) {
-                                    report.setState(1);//导入的直接算审核通过
-                                } else {
-                                    report.setState(-1);//待部门上级审核员审核
-                                    report.setDepartmentAuditState(1);//部门已审核,到上层领导审核
-                                }
-                                report.setCreateDate(LocalDate.parse(reportDate, dtf));
-                                report.setCost(reportCreator.getCost()==null?new BigDecimal(0) : reportCreator.getCost().multiply(new BigDecimal(time)));
-                                reportList.add(report);
-                            } else if (time < 0) {
-                                //msg.setError(username + "的工时存在负数,请检查修改");
-                                msg.setError(MessageUtils.message("report.negativeError",username));
-                                return msg;
-                            }
+                        report.setReportTimeType(1);
+                        report.setWorkingTime(time);
+                        report.setMultiWorktime(timeType.getMultiWorktime());
+                        report.setFillUserid(user.getId());
+                        if (timeType.getNeedDeptAudit() == 0) {
+                            report.setState(1);//导入的直接算审核通过
+                        } else {
+                            report.setState(-1);//待部门上级审核员审核
+                            report.setDepartmentAuditState(1);//部门已审核,到上层领导审核
                         }
+                        report.setCreateDate(LocalDate.parse(reportDate, dtf));
+                        report.setCost(reportCreator.getCost()==null?new BigDecimal(0) : reportCreator.getCost().multiply(new BigDecimal(time)));
+                        reportList.add(report);
+                    }else {
+                        msg.setError(MessageUtils.message("report.negativeError",username));
+                        return msg;
                     }
                 }
             }

+ 0 - 7
fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -580,13 +580,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         //返回菜单
         List<SysRoleModule> rModules = sysRoleModuleMapper.selectList(new QueryWrapper<SysRoleModule>().eq("role_id", roleId));
         List<Integer> ids = rModules.stream().map(SysRoleModule::getModuleId).collect(Collectors.toList());
-        //项目报告审核模块,如果参与日报的审核,需要自动加上, 或者担任任务分组负责人
-        if (user.isLeader() || user.isHasAuditDept() || (company.getPackageProject() == 1 && taskGroupMapper.selectCount(new QueryWrapper<TaskGroup>().eq("incharger_id", user.getId())) > 0)) {
-            SysModule projectAuditModule = sysModuleMapper.selectOne(new QueryWrapper<SysModule>().eq("name", "项目报告审核"));
-            if (!ids.contains(projectAuditModule.getId())) {
-                ids.add(projectAuditModule.getId());
-            }
-        }
 
         List<SysModule> moduleList = sysModuleMapper.selectList(queryWrapper);
 

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform-import/src/main/java/com/management/platform/util/CodeGenerator.java

@@ -92,7 +92,7 @@ public class CodeGenerator {
 
         // 数据源配置
         DataSourceConfig dsc = new DataSourceConfig();
-        dsc.setUrl("jdbc:mysql://47.101.180.183:3306/man_dev?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8");
+        dsc.setUrl("jdbc:mysql://47.101.180.183:3306/man_import?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8");
 //        dsc.setSchemaName("public");
         dsc.setDriverName("com.mysql.cj.jdbc.Driver");
         dsc.setUsername("root");

+ 17 - 0
fhKeeper/formulahousekeeper/management-platform-import/src/main/resources/mapper/ReportCustomMapper.xml

@@ -0,0 +1,17 @@
+<?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="com.management.platform.mapper.ReportCustomMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.management.platform.entity.ReportCustom">
+        <id column="id" property="id" />
+        <result column="company_id" property="companyId" />
+        <result column="custom_name" property="customName" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, company_id, custom_name
+    </sql>
+
+</mapper>

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 6 - 1
fhKeeper/formulahousekeeper/management-platform-import/src/main/resources/mapper/ReportMapper.xml


+ 4 - 0
fhKeeper/formulahousekeeper/timesheet-import/src/routes.js

@@ -52,6 +52,9 @@ import centerManage from './views/centerManage/centerManage'
 // 项目表单设置
 import projectForm from './views/project/projectForm'
 
+// 日报表单设置
+import reportForm from './views/corpreport/reportForm'
+
 Vue.use(Router)
 
 export const fixedRouter = [
@@ -264,6 +267,7 @@ export const allRouters = [//组织架构
             { path: '/timetype', component: timetype, name: '系统基础设置', iconCls: 'iconfont firerock-iconxitong-', meta: { text: 'navigation.basicSystemSettings' }},
             { path: '/role', component: quanx, name: '角色权限管理', iconCls: 'iconfont firerock-iconquanxian1', meta: { text: 'navigation.roleRightsManagement' } },
             { path: '/projectForm', component: projectForm, name: '项目表单设置', iconCls: 'iconfont firerock-iconquanxian1', meta: { text: 'navigation.projectFormSettings' } },
+            { path: '/reportForm', component: reportForm, name: '日报表单设置', iconCls: 'iconfont firerock-iconquanxian1', meta: { text: 'navigation.reportFormSettings' } },
         ],
         // 其他信息
         meta: { text: 'navigation.basicDataManagement' }

+ 219 - 0
fhKeeper/formulahousekeeper/timesheet-import/src/views/corpreport/reportForm.vue

@@ -0,0 +1,219 @@
+<template>
+  <div class="infrastructures">
+      <div class="til">
+          <p>日报表单设置</p>
+          <div style="display: flex;">
+            <p style="cursor:pointer;margin-left: 30px;color: #20A0FF;" @click="addJa('添加表单字段', 'ruleForm')"><i class="el-icon-circle-plus-outline"></i>添加</p>
+          </div>
+      </div>
+      <div class="tabl">
+        <el-table :data="dataList" highlight-current-row v-loading="listLoading" :height="heightDoms" style="width: 100%;">
+            <el-table-column type="index" label="序号" width="250px">
+                <template slot-scope="scope" >
+                    {{scope.$index + 1}}
+                </template>
+            </el-table-column>
+            <el-table-column prop="customName" label="自定义名称" sortable></el-table-column>
+            <!-- <el-table-column prop="customType" label="类型" sortable>
+                <template slot-scope="scope">
+                    {{scope.row.customType == '2' ? '日期' : (scope.row.customType == '1' ? '图片' : '文本')}}
+                </template>
+            </el-table-column> -->
+            <el-table-column label="操作" width="280">
+                <template slot-scope="scope">
+                    <el-button size="mini" type="primary" @click="editor(scope.row, '编辑表单字段')">编辑</el-button>
+                    <el-button size="mini" type="danger" @click="deteles(scope.row)">删除</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+      </div>
+      <!-- 弹窗 -->
+      <el-dialog :title="titleTex" :visible.sync="dialogVisible" width="400px" :before-close="handleClose">
+        <div>
+            <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="80px" class="demo-ruleForm">
+                <!-- <el-form-item label="类型">
+                    <el-radio-group v-model="ruleForm.customType">
+                        <el-radio-button label="0">文本</el-radio-button>
+                        <el-radio-button label="1">图片</el-radio-button>
+                        <el-radio-button label="2">日期</el-radio-button>
+                    </el-radio-group>
+                </el-form-item> -->
+                <el-form-item label="名称" prop="customName">
+                    <el-input placeholder="请输入自定义名称" v-model.trim="ruleForm.customName" clearable></el-input>
+                </el-form-item>
+            </el-form>
+        </div>
+        <span slot="footer" class="dialog-footer">
+            <el-button @click="dialogVisible = false">取 消</el-button>
+            <el-button type="primary" @click="determine('ruleForm')" v-loading="listLoading">确 定</el-button>
+        </span>
+      </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  props: {},
+  components: {},
+  data() {
+    return {
+      heightDoms: document.documentElement.clientHeight - 130,
+      titleTex: '添加表单字段',
+      dialogVisible: false,
+      ruleForm: {
+          id: '',
+          companyId: '',
+          customName: '',
+          customType: '0'
+      },
+      rules: {customName: [{required: true, message: '请输入自定义名称', trigger: 'blur'}]},
+      listLoading: false,
+      user: JSON.parse(sessionStorage.getItem("user")),
+      dataList: []
+    };
+  },
+  computed: {},
+  watch: {},
+  created() {},
+  mounted() {
+      this.getObtain()
+  },
+  methods: {
+    getObtain() {
+        this.listLoading = true
+        this.http.post('/report-custom/getReportCustom', this.ruleForm,
+        res => {
+            this.listLoading = false
+            if(res.code == 'ok') {
+                this.dataList = res.data
+            } else {
+                this.$message({
+                    message: error,
+                    type: "error"
+                });
+            }
+        },
+        error => {
+            this.listLoading = false;
+            this.$message({
+                message: error,
+                type: "error"
+            });
+        });
+    },
+    addJa(tex) {
+        if(this.dataList.length >= 5) {
+            this.$message({
+                message: '最多只能存在5个自定义字段',
+                type: 'warning'
+            });
+            return
+        }
+        if(this.$refs['ruleForm']) {
+            this.$refs['ruleForm'].resetFields();
+        }
+        this.titleTex = tex
+        this.ruleForm = {
+            id: '',
+            companyId: '',
+            customName: '',
+            customType: '0'
+        },
+        this.dialogVisible = true
+    },
+    editor(item, tex) {
+        if(this.$refs['ruleForm']) {
+            this.$refs['ruleForm'].resetFields();
+        }
+        this.titleTex = tex
+        this.ruleForm = JSON.parse(JSON.stringify(item))
+        this.dialogVisible = true
+    },
+    determine(formName) {
+        this.$refs[formName].validate((valid) => {
+          if (valid) {
+            this.listLoading = true
+            this.ruleForm.companyId = this.user.companyId
+            this.http.post( '/report-custom/editReportCustom', this.ruleForm,
+            res => {
+                this.listLoading = false
+                if(res.code == 'ok') {
+                    this.$message({
+                        message: this.titleTex == '添加表单字段' ? '添加成功' : '编辑成功',
+                        type: 'success'
+                    });
+                    this.dialogVisible = false
+                    this.getObtain()
+                } else {
+                    this.$message({
+                        message: this.titleTex == '添加表单字段' ? '添加失败: ' + res.msg : '编辑失败: ' + res.msg,
+                        type: 'error'
+                    });
+                }
+            },
+            error => {
+                this.listLoading = false;
+                this.$message({
+                    message: error,
+                    type: "error"
+                });
+            });
+          } else {
+            console.log('error submit!!');
+            return false;
+          }
+        });
+    },
+    deteles(item) {
+        this.http.post( '/report-custom/delete', {
+            id: item.id
+        },
+        res => {
+            if(res.code == 'ok') {
+                this.$message({
+                    message: '删除成功',
+                    type: 'success'
+                });
+                this.getObtain()
+            } else {
+                this.$message({
+                    message: '删除失败:' + res.msg,
+                    type: 'error'
+                });
+            }
+        },
+        error => {
+            this.$message({
+                message: error,
+                type: "error"
+            });
+        });
+    }
+  },
+};
+</script>
+
+<style scoped lang="scss">
+.infrastructures {
+    color: #666;
+    .til {
+        display: flex;
+        justify-content: space-between;
+        line-height: 0;
+        background: #f2f2f2;
+        padding: 10px 25px 10px 25px;
+        align-items: center;
+        p {
+          font-size: 14px;
+          i {
+            display: inline-block;
+            margin-right: 5px;
+          }
+        }
+    }
+    .tabl {
+      padding-left: 15px;
+      box-sizing: border-box;
+    }
+}
+</style>