ソースを参照

增加日报删除的记录功能

seyason 1 年間 前
コミット
2f94586f29
14 ファイル変更508 行追加5 行削除
  1. 21 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportDeleteController.java
  2. 347 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ReportDelete.java
  3. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ReportDeleteMapper.java
  4. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ReportDeleteService.java
  5. 20 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportDeleteServiceImpl.java
  6. 14 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java
  7. 2 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java
  8. 66 0
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportDeleteMapper.xml
  9. 2 2
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml
  10. 1 0
      fhKeeper/formulahousekeeper/timesheet/src/i18n/en.json
  11. 1 0
      fhKeeper/formulahousekeeper/timesheet/src/i18n/zh.json
  12. 1 0
      fhKeeper/formulahousekeeper/timesheet/src/views/settings/timetype.vue
  13. 1 1
      fhKeeper/formulahousekeeper/timesheet/src/views/team/index.vue
  14. 0 2
      fhKeeper/formulahousekeeper/timesheet_h5/src/views/login/index.vue

+ 21 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportDeleteController.java

@@ -0,0 +1,21 @@
+package com.management.platform.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-03-05
+ */
+@RestController
+@RequestMapping("/report-delete")
+public class ReportDeleteController {
+
+}
+

+ 347 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ReportDelete.java

@@ -0,0 +1,347 @@
+package com.management.platform.entity;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+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 2024-03-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class ReportDelete extends Model<ReportDelete> {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 主键
+     */
+    @TableId("id")
+    private Integer id;
+
+    /**
+     * user表外键 报告的作者
+     */
+    @TableField("creator_id")
+    private String creatorId;
+
+    /**
+     * project表外键 相关项目
+     */
+    @TableField("project_id")
+    private Integer projectId;
+
+    /**
+     * 日期
+     */
+    @TableField("create_date")
+    private LocalDate createDate;
+
+    /**
+     * 工作时间
+     */
+    @TableField("working_time")
+    private Double workingTime;
+
+    /**
+     * 报告内容; 根据multi_worktime的取值,形式有差别
+     */
+    @TableField("content")
+    private String content;
+
+    /**
+     * 审查状态 0-未审核 1-已通过 2-未通过, -1-导入待审核, 3草稿
+     */
+    @TableField("state")
+    private Integer state;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    /**
+     * 0-全天, 1-上午,2-下午
+     */
+    @TableField("time_type")
+    private Integer timeType;
+
+    /**
+     * 成本
+     */
+    @TableField("cost")
+    private BigDecimal cost;
+
+    /**
+     * 开始时间
+     */
+    @TableField("start_time")
+    private String startTime;
+
+    /**
+     * 结束时间
+     */
+    @TableField("end_time")
+    private String endTime;
+
+    /**
+     * 员工填写时长类型
+     */
+    @TableField("report_time_type")
+    private Integer reportTimeType;
+
+    /**
+     * 子项目id
+     */
+    @TableField("sub_project_id")
+    private Integer subProjectId;
+
+    /**
+     * 任务id
+     */
+    @TableField("task_id")
+    private Integer taskId;
+
+    /**
+     * 是否是加班
+     */
+    @TableField("is_overtime")
+    private Integer isOvertime;
+
+    /**
+     * 用时占比
+     */
+    @TableField("progress")
+    private Integer progress;
+
+    /**
+     * 部门审核状态: -1 专业未审核,0-部门未审核,1-已通过,2-未通过
+     */
+    @TableField("department_audit_state")
+    private Integer departmentAuditState;
+
+    /**
+     * 阶段/岗位/工序
+     */
+    @TableField("stage")
+    private String stage;
+
+    /**
+     * 图片的数组字符串
+     */
+    @TableField("pic_str")
+    private String picStr;
+
+    /**
+     * 是否是多个时间工作事项
+     */
+    @TableField("multi_worktime")
+    private Integer multiWorktime;
+
+    /**
+     * 驳回原因
+     */
+    @TableField("reject_reason")
+    private String rejectReason;
+
+    /**
+     * 驳回人姓名
+     */
+    @TableField("reject_username")
+    private String rejectUsername;
+
+    /**
+     * 驳回人id
+     */
+    @TableField("reject_userid")
+    private String rejectUserid;
+
+    /**
+     * 选择的自定义维度
+     */
+    @TableField("degree_id")
+    private Integer degreeId;
+
+    /**
+     * 公司id
+     */
+    @TableField("company_id")
+    private Integer companyId;
+
+    /**
+     * 代填或者导入的用户id
+     */
+    @TableField("fill_userid")
+    private String fillUserid;
+
+    /**
+     * 审核流程:当前审核的部门id
+     */
+    @TableField("audit_deptid")
+    private Integer auditDeptid;
+
+    /**
+     * 审核流程: 是否是部门审核
+     */
+    @TableField("is_dept_audit")
+    private Integer isDeptAudit;
+
+    /**
+     * 审核流程:当前审核的部门负责人id
+     */
+    @TableField("audit_dept_managerid")
+    private String auditDeptManagerid;
+
+    /**
+     * 是否是最后一步审核
+     */
+    @TableField("is_final_audit")
+    private Integer isFinalAudit;
+
+    /**
+     * 审核流程:审核过程中,项目的审核状态; 0-待审核,1-审核通过
+     */
+    @TableField("project_audit_state")
+    private Integer projectAuditState;
+
+    /**
+     * 任务分组id
+     */
+    @TableField("group_id")
+    private Integer groupId;
+
+    /**
+     * 自定义的数值
+     */
+    @TableField("custom_data")
+    private Double customData;
+
+    /**
+     * 项目审核人id
+     */
+    @TableField("project_auditor_id")
+    private String projectAuditorId;
+
+    /**
+     * 工时日报所属部门id
+     */
+    @TableField("dept_id")
+    private Integer deptId;
+
+    /**
+     * 加班时长
+     */
+    @TableField("overtime_hours")
+    private Double overtimeHours;
+
+    /**
+     * 加班薪资
+     */
+    @TableField("overtime_cost")
+    private BigDecimal overtimeCost;
+
+    /**
+     * 自定义文本信息内容
+     */
+    @TableField("custom_text")
+    private String customText;
+
+    /**
+     * 对应成本项的id
+     */
+    @TableField("basecost_id")
+    private Integer basecostId;
+
+    /**
+     * 项目日报审核时间
+     */
+    @TableField("project_audit_time")
+    private LocalDateTime projectAuditTime;
+
+    /**
+     * 任务分组负责人审核状态: 0-待审核,1-审核通过
+     */
+    @TableField("group_audit_state")
+    private Integer groupAuditState;
+
+    /**
+     * 评价
+     */
+    @TableField("evaluate")
+    private String evaluate;
+
+    /**
+     * 是否属于自动审核通过  0-不属于 1-属于
+     */
+    @TableField("report_auto_approve")
+    private Integer reportAutoApprove;
+
+    /**
+     * 批量填报时的report_batch表id
+     */
+    @TableField("batch_id")
+    private Integer batchId;
+
+    /**
+     * 昱众-角色类型:0-PM,1-CRC
+     */
+    @TableField("extra_field1")
+    private Integer extraField1;
+
+    /**
+     * 昱众-工作职责
+     */
+    @TableField("extra_field2")
+    private Integer extraField2;
+
+    /**
+     * 昱众-工作内容
+     */
+    @TableField("extra_field3")
+    private Integer extraField3;
+
+    /**
+     * SAP项目服务ID
+     */
+    @TableField("sap_service_id")
+    private Integer sapServiceId;
+
+    /**
+     * 多选自定义维度id
+     */
+    @TableField("multi_degr_id")
+    private String multiDegrId;
+
+    /**
+     * 删除的人员id
+     */
+    @TableField("delete_user_id")
+    private String deleteUserId;
+
+    /**
+     * 删除时间
+     */
+    @TableField("delete_time")
+    private LocalDateTime deleteTime;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

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

@@ -0,0 +1,16 @@
+package com.management.platform.mapper;
+
+import com.management.platform.entity.ReportDelete;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-03-05
+ */
+public interface ReportDeleteMapper extends BaseMapper<ReportDelete> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.management.platform.service;
+
+import com.management.platform.entity.ReportDelete;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-03-05
+ */
+public interface ReportDeleteService extends IService<ReportDelete> {
+
+}

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

@@ -0,0 +1,20 @@
+package com.management.platform.service.impl;
+
+import com.management.platform.entity.ReportDelete;
+import com.management.platform.mapper.ReportDeleteMapper;
+import com.management.platform.service.ReportDeleteService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2024-03-05
+ */
+@Service
+public class ReportDeleteServiceImpl extends ServiceImpl<ReportDeleteMapper, ReportDelete> implements ReportDeleteService {
+
+}

+ 14 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -87,6 +87,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     public String appSecret;
     public String appSecret;
     @Resource
     @Resource
     private TaskGroupMapper taskGroupMapper;
     private TaskGroupMapper taskGroupMapper;
+    @Resource
+    private ReportDeleteService reportDeleteService;
+
     @Resource
     @Resource
     private DepartmentService departmentService;
     private DepartmentService departmentService;
     @Resource
     @Resource
@@ -1593,6 +1596,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     @Override
     @Override
     public HttpRespMsg deleteReport(String userId, String date) {
     public HttpRespMsg deleteReport(String userId, String date) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         HttpRespMsg httpRespMsg = new HttpRespMsg();
+        String delUserId = request.getHeader("TOKEN");
         Company company = companyMapper.selectById(userMapper.selectById(userId).getCompanyId());
         Company company = companyMapper.selectById(userMapper.selectById(userId).getCompanyId());
         //某人删除自己某天的全部报告
         //某人删除自己某天的全部报告
         QueryWrapper<Report> queryWrapper = new QueryWrapper<Report>().eq("creator_id", userId).eq("create_date", date);
         QueryWrapper<Report> queryWrapper = new QueryWrapper<Report>().eq("creator_id", userId).eq("create_date", date);
@@ -1610,6 +1614,16 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         } else {
         } else {
             //删除日报的日志
             //删除日报的日志
             reportLogMapper.delete(new QueryWrapper<ReportLog>().eq("creator_id", userId).eq("create_date", date));
             reportLogMapper.delete(new QueryWrapper<ReportLog>().eq("creator_id", userId).eq("create_date", date));
+            //存入日报删除表
+            List<ReportDelete> delList = new ArrayList<>();
+            for (Report r : reportList) {
+                //从report对象中复制所有字段到report_delete对象中
+                ReportDelete delLog = new ReportDelete();
+                BeanUtils.copyProperties(r, delLog);
+                delLog.setDeleteUserId(delUserId);
+                delList.add(delLog);
+            }
+            reportDeleteService.saveBatch(delList);
         }
         }
         //不需要调绎维的删除接口了。工时在我们这边系统内管理控制。
         //不需要调绎维的删除接口了。工时在我们这边系统内管理控制。
 //        if(company.getId()==862){
 //        if(company.getId()==862){

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java

@@ -2024,4 +2024,6 @@ public class TimingTask {
         }
         }
     }
     }
 
 
+
+    //TODO: 日报删除表report_delete,需要定期清理
 }
 }

ファイルの差分が大きいため隠しています
+ 66 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportDeleteMapper.xml


+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml

@@ -75,7 +75,7 @@
         JOIN project AS b ON a.project_id=b.id
         JOIN project AS b ON a.project_id=b.id
         LEFT JOIN project_separate AS ps on b.id=ps.id
         LEFT JOIN project_separate AS ps on b.id=ps.id
         LEFT JOIN user AS c ON a.creator_id=c.id
         LEFT JOIN user AS c ON a.creator_id=c.id
-        LEFT JOIN user_with_beisen AS uwb ON c.job_number=c.job_number
+        LEFT JOIN user_with_beisen AS uwb ON uwb.job_number=c.job_number
         left join sub_project as d on d.id = a.sub_project_id
         left join sub_project as d on d.id = a.sub_project_id
         left join task on task.id = a.task_id
         left join task on task.id = a.task_id
         left join report_extra_degree on report_extra_degree.id = a.degree_id
         left join report_extra_degree on report_extra_degree.id = a.degree_id
@@ -132,7 +132,7 @@
         JOIN project AS b ON a.project_id=b.id
         JOIN project AS b ON a.project_id=b.id
         LEFT JOIN project_separate AS ps on b.id=ps.id
         LEFT JOIN project_separate AS ps on b.id=ps.id
         LEFT JOIN user AS c ON a.creator_id=c.id
         LEFT JOIN user AS c ON a.creator_id=c.id
-        LEFT JOIN user_with_beisen AS uwb ON c.job_number=c.job_number
+        LEFT JOIN user_with_beisen AS uwb ON uwb.job_number=c.job_number
         left join sub_project as d on d.id = a.sub_project_id
         left join sub_project as d on d.id = a.sub_project_id
         left join task on task.id = a.task_id
         left join task on task.id = a.task_id
         left join report_extra_degree on report_extra_degree.id = a.degree_id
         left join report_extra_degree on report_extra_degree.id = a.degree_id

+ 1 - 0
fhKeeper/formulahousekeeper/timesheet/src/i18n/en.json

@@ -935,6 +935,7 @@
   "missingfill": "Daily reminder missed filling on the day",
   "missingfill": "Daily reminder missed filling on the day",
   "missingfills": "Daily reminder missed yesterday",
   "missingfills": "Daily reminder missed yesterday",
   "lastDayOfWeek": "Remind on the last day of current week",
   "lastDayOfWeek": "Remind on the last day of current week",
+  "alertLastWeek": "Remind last week's missing report",
   "monthAlert": "Remind last month's missed report on fixed day",
   "monthAlert": "Remind last month's missed report on fixed day",
   "morningtime": "morning time",
   "morningtime": "morning time",
   "owntimeframe": "Choose your own time frame",
   "owntimeframe": "Choose your own time frame",

+ 1 - 0
fhKeeper/formulahousekeeper/timesheet/src/i18n/zh.json

@@ -945,6 +945,7 @@
   "missingfill": "每日提醒当天漏填",
   "missingfill": "每日提醒当天漏填",
   "missingfills": "每日提醒昨天漏填",
   "missingfills": "每日提醒昨天漏填",
   "lastDayOfWeek": "每周最后一个工作日",
   "lastDayOfWeek": "每周最后一个工作日",
+  "alertLastWeek": "每周提醒上周漏填",
   "monthAlert": "每月固定日期提醒上个月",
   "monthAlert": "每月固定日期提醒上个月",
   "remindertext": "提醒文本",
   "remindertext": "提醒文本",
   "personneltoset": "不提醒人员设置",
   "personneltoset": "不提醒人员设置",

+ 1 - 0
fhKeeper/formulahousekeeper/timesheet/src/views/settings/timetype.vue

@@ -217,6 +217,7 @@
                             <el-option :label="$t('missingfills')" :value="1"></el-option>
                             <el-option :label="$t('missingfills')" :value="1"></el-option>
                             <el-option :label="$t('lastDayOfWeek')" :value="2"></el-option>
                             <el-option :label="$t('lastDayOfWeek')" :value="2"></el-option>
                             <el-option :label="$t('monthAlert')" :value="3"></el-option>
                             <el-option :label="$t('monthAlert')" :value="3"></el-option>
+                            <el-option :label="$t('alertLastWeek')" :value="4"></el-option>
                         </el-select>
                         </el-select>
                         <span v-if="timeType.alertType == 3" style="color:#606266;">(每月
                         <span v-if="timeType.alertType == 3" style="color:#606266;">(每月
                         <el-select v-model="timeType.alertDay" style="width:80px;">
                         <el-select v-model="timeType.alertDay" style="width:80px;">

+ 1 - 1
fhKeeper/formulahousekeeper/timesheet/src/views/team/index.vue

@@ -3764,7 +3764,7 @@ export default {
 
 
 <style scoped>
 <style scoped>
 .deteee{
 .deteee{
-  font-size: 25px;
+  font-size: 18px;
   margin-bottom: 20px;
   margin-bottom: 20px;
 }
 }
 .deteeeAce {
 .deteeeAce {

+ 0 - 2
fhKeeper/formulahousekeeper/timesheet_h5/src/views/login/index.vue

@@ -108,7 +108,6 @@
                         console.log('urlRight=' + urlRight);
                         console.log('urlRight=' + urlRight);
                         urlRight = urlRight.substring(0, urlRight.indexOf('#/'));
                         urlRight = urlRight.substring(0, urlRight.indexOf('#/'));
                         // window.location = urlLeft + "#/home" + urlRight;//拼接跳转
                         // window.location = urlLeft + "#/home" + urlRight;//拼接跳转
-                        alert(url);
                         //获取code
                         //获取code
                         var code = urlRight.substring('?code='.length,urlRight.indexOf('&state='));
                         var code = urlRight.substring('?code='.length,urlRight.indexOf('&state='));
                         var passUserId = urlRight.substring(urlRight.indexOf('&state=')+'&state='.length);
                         var passUserId = urlRight.substring(urlRight.indexOf('&state=')+'&state='.length);
@@ -303,7 +302,6 @@
                                 }else{
                                 }else{
                                     corpId = url.substring(url.indexOf(key)+key.length,url.indexOf('#'));
                                     corpId = url.substring(url.indexOf(key)+key.length,url.indexOf('#'));
                                 }
                                 }
-                                alert('钉钉登录==='+corpId);
                                 this.isDingding = true
                                 this.isDingding = true
                                 dd.ready(function() {
                                 dd.ready(function() {
                                     dd.runtime.permission.requestAuthCode({
                                     dd.runtime.permission.requestAuthCode({