工作填报

This commit is contained in:
cwchen 2025-05-16 10:36:51 +08:00
parent 1982b45069
commit da9dd83d29
6 changed files with 229 additions and 0 deletions

View File

@ -0,0 +1,31 @@
package com.securitycontrol.entity.screen.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @className:WorkReportVo
* @author:cwchen
* @date:2025-05-16-9:17
* @version:1.0
* @description:工作完成情况填报-vo
*/
@Data
public class WorkReportVo {
private String id;
private String workContent;
@JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
private Date workDate;
private String completionStatus;
private String fillStatus;
private Date fillTime = new Date();
}

View File

@ -0,0 +1,45 @@
package com.securitycontrol.screen.controller;
import com.securitycontrol.common.core.web.controller.BaseController;
import com.securitycontrol.common.core.web.domain.AjaxResult;
import com.securitycontrol.common.core.web.page.TableDataInfo;
import com.securitycontrol.common.log.annotation.Log;
import com.securitycontrol.common.log.enums.OperationType;
import com.securitycontrol.entity.screen.dto.ScreenParamDto;
import com.securitycontrol.entity.screen.vo.WorkReportVo;
import com.securitycontrol.screen.service.IWorkReportService;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* @className:WorkReportController
* @author:cwchen
* @date:2025-05-15-19:42
* @version:1.0
* @description:工作完成情况填报
*/
@RestController
@RequestMapping("/largeScreen/workReport/")
public class WorkReportController extends BaseController {
@Resource(name = "IWorkReportService")
private IWorkReportService service;
@ApiOperation(value = "工作完成情况填报列表")
@GetMapping("getWorkLists")
@Log(title = "工作完成情况填报列表", menu = "工作完成情况填报->工作完成情况填报列表", grade = OperationType.QUERY_BUSINESS, details = "查询告警管理列表", type = "业务日志")
public TableDataInfo getWorkLists(ScreenParamDto dto) {
startLayPage();
List<WorkReportVo> list = service.getWorkLists(dto);
return getDataTableLayui(list);
}
@ApiOperation(value = "填报工作情况")
@PostMapping("fillWorkSituation")
public AjaxResult fillWorkSituation(@RequestBody WorkReportVo vo){
return service.fillWorkSituation(vo);
}
}

View File

@ -0,0 +1,35 @@
package com.securitycontrol.screen.mapper;
import com.securitycontrol.entity.screen.dto.ScreenParamDto;
import com.securitycontrol.entity.screen.vo.WorkReportVo;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @className:IWorkReportMapper
* @author:cwchen
* @date:2025-05-15-19:43
* @version:1.0
* @description:工作完成情况-数据层
*/
@Repository("IWorkReportMapper")
public interface IWorkReportMapper {
/**
* 工作完成情况填报列表
* @param dto
* @return List<WorkReportVo>
* @author cwchen
* @date 2025/5/16 9:20
*/
List<WorkReportVo> getWorkLists(ScreenParamDto dto);
/**
* 填写工作情况
* @param vo
* @return void
* @author cwchen
* @date 2025/5/16 9:40
*/
void fillWorkSituation(WorkReportVo vo);
}

View File

@ -0,0 +1,34 @@
package com.securitycontrol.screen.service;
import com.securitycontrol.common.core.web.domain.AjaxResult;
import com.securitycontrol.entity.screen.dto.ScreenParamDto;
import com.securitycontrol.entity.screen.vo.WorkReportVo;
import java.util.List;
/**
* @className:WorkReportService
* @author:cwchen
* @date:2025-05-15-19:42
* @version:1.0
* @description:工作完成情况填报-业务层
*/
public interface IWorkReportService {
/**
* 工作完成情况填报列表
* @param dto
* @return List<WorkReportVo>
* @author cwchen
* @date 2025/5/16 9:18
*/
List<WorkReportVo> getWorkLists(ScreenParamDto dto);
/**
* 填报工作情况
* @param vo
* @return AjaxResult
* @author cwchen
* @date 2025/5/16 9:37
*/
AjaxResult fillWorkSituation(WorkReportVo vo);
}

View File

@ -0,0 +1,57 @@
package com.securitycontrol.screen.service.impl;
import com.securitycontrol.common.core.web.domain.AjaxResult;
import com.securitycontrol.entity.screen.dto.ScreenParamDto;
import com.securitycontrol.entity.screen.vo.WorkReportVo;
import com.securitycontrol.screen.mapper.IWorkReportMapper;
import com.securitycontrol.screen.service.IWorkReportService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
/**
* @className:WorkReportServiceImpl
* @author:cwchen
* @date:2025-05-15-19:43
* @version:1.0
* @description:工作完成情况填报-业务逻辑层
*/
@Service(value = "IWorkReportService")
@Slf4j
public class WorkReportServiceImpl implements IWorkReportService {
@Resource(name = "IWorkReportMapper")
private IWorkReportMapper mapper;
@Override
public List<WorkReportVo> getWorkLists(ScreenParamDto dto) {
List<WorkReportVo> list = null;
try {
list = Optional.ofNullable(mapper.getWorkLists(dto)).orElseGet(ArrayList::new);
return list;
} catch (Exception e) {
log.error(e.toString(),e);
return new ArrayList<>();
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public AjaxResult fillWorkSituation(WorkReportVo vo) {
try {
mapper.fillWorkSituation(vo);
return AjaxResult.success("操作成功");
} catch (Exception e) {
log.error(e.toString(), e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return AjaxResult.error("操作失败");
}
}
}

View File

@ -0,0 +1,27 @@
<?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.securitycontrol.screen.mapper.IWorkReportMapper">
<!--填写工作情况-->
<insert id="fillWorkSituation">
INSERT INTO jj_class_completion(class_id,completion_status,fill_time) VALUES (
#{id},#{completionStatus},#{fillTime}
)
</insert>
<!--工作完成情况填报列表-->
<select id="getWorkLists" resultType="com.securitycontrol.entity.screen.vo.WorkReportVo">
SELECT jjcm.id,
jjcmi.work_content AS workContent,
current_constr_date AS workDate,
jjcc.completion_status AS completionStatus,
IFNULL(jjcc.class_id,'0') AS fillStatus
FROM jj_class_meetting jjcm
LEFT JOIN jj_class_metting_info jjcmi ON jjcm.id = jjcmi.class_id
LEFT JOIN jj_class_completion jjcc ON jjcm.id = jjcc.class_id
WHERE jjcm.single_project_code = '1612P021000T01' AND jjcm.delete_flag = '0'
<if test="startTime !=null and startTime!='' and endTime!=null and endTime!=''">
AND DATE_FORMAT(current_constr_date,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
</if>
</select>
</mapper>