bug修复
This commit is contained in:
parent
0782501f3f
commit
3abb4bc6b4
|
|
@ -31,7 +31,11 @@ public class DayPlanController extends BaseController {
|
|||
@Resource
|
||||
private DayPlanService dayPlanService;
|
||||
|
||||
//日计划列表
|
||||
/**
|
||||
* 获取日计划列表
|
||||
* @param dayPlanVo
|
||||
* @return
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('day:plan:list')")
|
||||
@GetMapping("/getDayPlanList")
|
||||
public TableDataInfo getMonthlyPlanList(DayPlanVo dayPlanVo) {
|
||||
|
|
@ -45,6 +49,23 @@ public class DayPlanController extends BaseController {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取日计划详情
|
||||
* @param dayPlanVo
|
||||
* @return
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('day:plan:list')")
|
||||
@GetMapping("/getDayPlanById")
|
||||
public AjaxResult getDayPlanById(DayPlanVo dayPlanVo) {
|
||||
try {
|
||||
DayPlanVo res = dayPlanService.getDayPlanById(dayPlanVo);
|
||||
return AjaxResult.success(res);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
return AjaxResult.error("获取数据失败");
|
||||
}
|
||||
}
|
||||
//新增日计划
|
||||
@PreAuthorize("@ss.hasPermi('day:plan:add')")
|
||||
@PostMapping("/addDayPlan")
|
||||
|
|
@ -106,13 +127,13 @@ public class DayPlanController extends BaseController {
|
|||
@PreAuthorize("@ss.hasPermi('day:plan:export')")
|
||||
@PostMapping("/exportWorkloadSummary")
|
||||
public void exportWorkloadSummary(HttpServletResponse response,
|
||||
@RequestBody DayPlanVo dayPlanVo) throws Exception {
|
||||
DayPlanVo dayPlanVo) throws Exception {
|
||||
// 1. 获取工作量导出数据
|
||||
List<WorkloadSummaryExcelVo> workloadList = dayPlanService.exportWorkloadSummary(dayPlanVo);
|
||||
|
||||
// 2. 提取前端传入的 startTime 和 endTime(格式:yyyy-MM-dd)
|
||||
String startTime = dayPlanVo.getStartTime();
|
||||
String endTime = dayPlanVo.getEndTime();
|
||||
String startTime = dayPlanVo.getStartDate();
|
||||
String endTime = dayPlanVo.getEndDate();
|
||||
|
||||
// 3. 日期格式化器(解析yyyy-MM-dd → 输出x月x日)
|
||||
DateTimeFormatter parseFormatter = DateTimeFormatter.ISO_LOCAL_DATE; // 解析yyyy-MM-dd
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public class DownloadController {
|
|||
private IDownloadService downloadService;
|
||||
|
||||
|
||||
@GetMapping(value = "dayPlanStatistics")
|
||||
@PostMapping(value = "dayPlanStatistics")
|
||||
@ApiOperation(notes = "日计划统计下载", value = "日计划统计下载")
|
||||
public void downloadExcelDayPlanStatistics(HttpServletRequest request, HttpServletResponse response, ParamsDto dto) {
|
||||
String startDate = dto.getStartDate();
|
||||
|
|
|
|||
|
|
@ -81,6 +81,7 @@ public class InspectionStationController extends BaseController {
|
|||
return AjaxResult.error("删除失败");
|
||||
}
|
||||
}catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
return AjaxResult.error("系统异常,请联系管理员");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,7 +50,6 @@ public class PersonnelController extends BaseController {
|
|||
@GetMapping("/getPersonnelListSelect")
|
||||
public AjaxResult getPersonnelListSelect(PersonnelVo personnelVo) {
|
||||
try {
|
||||
|
||||
List<PersonnelVo> list = personnelService.getPersonnelList(personnelVo);
|
||||
return AjaxResult.success(list);
|
||||
} catch (Exception e) {
|
||||
|
|
@ -149,6 +148,7 @@ public class PersonnelController extends BaseController {
|
|||
return AjaxResult.error("修改失败");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
return AjaxResult.error("系统异常,请联系管理员");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -148,18 +148,18 @@ public class PlanManagementController extends BaseController {
|
|||
InputStream inputStream = null;
|
||||
ServletOutputStream servletOutputStream = null;
|
||||
try {
|
||||
String path = "download/" + "计划管理.xlsx";
|
||||
String path = "download/" + "计划导入模板.xlsx";
|
||||
inputStream = this.getClass().getClassLoader().getResourceAsStream(path);
|
||||
response.setContentType("application/vnd.ms-excel");
|
||||
response.addHeader("Cache-Control", "no-cache, no-store, must-revalidate");
|
||||
response.addHeader("charset", "utf-8");
|
||||
response.addHeader("Pragma", "no-cache");
|
||||
String encodeName = URLEncoder.encode("计划管理导入摸板.xlsx", StandardCharsets.UTF_8.toString());
|
||||
String encodeName = URLEncoder.encode("计划导入模板.xlsx", StandardCharsets.UTF_8.toString());
|
||||
response.setHeader("Content-Disposition", "attachment; filename=\"" + encodeName + "\"; filename*=utf-8''" + encodeName);
|
||||
servletOutputStream = response.getOutputStream();
|
||||
IOUtils.copy(inputStream, servletOutputStream);
|
||||
response.flushBuffer();
|
||||
//log.info("文件下载成功!!");
|
||||
log.info("文件下载成功!!");
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
e.printStackTrace();
|
||||
|
|
|
|||
|
|
@ -22,6 +22,11 @@ public class DayPlanVo {
|
|||
*/
|
||||
private Integer monthlyPlanId;
|
||||
|
||||
/**
|
||||
* 运检站id
|
||||
*/
|
||||
private Integer inspectionStationId;
|
||||
|
||||
/**
|
||||
* 运检站名称
|
||||
*/
|
||||
|
|
@ -190,14 +195,14 @@ public class DayPlanVo {
|
|||
private String dayPlanType;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
* 开始日期
|
||||
*/
|
||||
private String startTime;
|
||||
private String startDate;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
* 结束日期
|
||||
*/
|
||||
private String endTime;
|
||||
private String endDate;
|
||||
|
||||
// 拟投入高处作业人员(data_source=2)
|
||||
private String proposedHighPersonnelNames; // 姓名拼接
|
||||
|
|
@ -222,4 +227,9 @@ public class DayPlanVo {
|
|||
private String riskLevel;
|
||||
|
||||
private List<ProposedPersonnelVo> proposedPersonnelList;
|
||||
|
||||
/**
|
||||
* 工作量列表
|
||||
*/
|
||||
private List<WorkloadVo> workloadList;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,11 @@ public interface DayPlanMapper {
|
|||
|
||||
Integer updateDayPlan(DayPlanVo dayPlanVo);
|
||||
|
||||
/**
|
||||
* 获取日计划列表
|
||||
* @param dayPlanVo
|
||||
* @return
|
||||
*/
|
||||
List<DayPlanVo> getDayPlanList(DayPlanVo dayPlanVo);
|
||||
|
||||
List<MonthlyPlanVo> getWorkloadSummary(DayPlanVo dayPlanVo);
|
||||
|
|
@ -27,4 +32,11 @@ public interface DayPlanMapper {
|
|||
void delProposedPersonnel(DayPlanVo dayPlanVo);
|
||||
|
||||
List<ProposedPersonnelVo> getProposedPersonnelList(DayPlanVo dayPlanVo1);
|
||||
|
||||
/**
|
||||
* 获取日计划详情
|
||||
* @param dayPlanVo
|
||||
* @return
|
||||
*/
|
||||
DayPlanVo getDayPlanById(DayPlanVo dayPlanVo);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,9 +19,19 @@ public interface DayPlanService {
|
|||
|
||||
int updateDayPlan(DayPlanVo dayPlanVo);
|
||||
|
||||
/**
|
||||
* 获取日计划列表
|
||||
* @param dayPlanVo
|
||||
* @return
|
||||
*/
|
||||
List<DayPlanVo> getDayPlanList(DayPlanVo dayPlanVo);
|
||||
|
||||
List<WorkloadSummaryExcelVo> exportWorkloadSummary(DayPlanVo dayPlanVo);
|
||||
|
||||
|
||||
/**
|
||||
* 获取日计划详情
|
||||
* @param dayPlanVo
|
||||
* @return
|
||||
*/
|
||||
DayPlanVo getDayPlanById(DayPlanVo dayPlanVo);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
package com.bonus.digital.service.impl;
|
||||
|
||||
import com.bonus.common.utils.SecurityUtils;
|
||||
import com.bonus.digital.dao.DayPlanVo;
|
||||
import com.bonus.digital.dao.MonthlyPlanVo;
|
||||
import com.bonus.digital.dao.ProposedPersonnelVo;
|
||||
import com.bonus.digital.dao.WorkloadSummaryExcelVo;
|
||||
import com.bonus.digital.dao.*;
|
||||
import com.bonus.digital.mapper.DayPlanMapper;
|
||||
import com.bonus.digital.mapper.MonthlyPlanMapper;
|
||||
import com.bonus.digital.mapper.WorkloadCategoryMapper;
|
||||
import com.bonus.digital.service.DayPlanService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
|
@ -24,6 +23,12 @@ public class DayPlanServiceImpl implements DayPlanService {
|
|||
@Resource
|
||||
private DayPlanMapper dayPlanMapper;
|
||||
|
||||
@Resource
|
||||
private MonthlyPlanMapper monthlyPlanMapper;
|
||||
|
||||
@Resource
|
||||
private WorkloadCategoryMapper workloadCategoryMapper;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int addMonthlyPlan(List<DayPlanVo> dayPlanVo) {
|
||||
|
|
@ -48,16 +53,40 @@ public class DayPlanServiceImpl implements DayPlanService {
|
|||
dayPlanMapper.delProposedPersonnel(dayPlanVo);
|
||||
dayPlanMapper.addProposedPersonnelList(proposedPersonnelList);
|
||||
}
|
||||
|
||||
//保存工作量信息
|
||||
List<WorkloadVo> workloadVoList = dayPlanVo.getWorkloadList();
|
||||
if (workloadVoList != null && !workloadVoList.isEmpty()) {
|
||||
for (WorkloadVo w : workloadVoList) {
|
||||
w.setPlanId(dayPlanVo.getDayPlanId());
|
||||
w.setDataSource("1");
|
||||
monthlyPlanMapper.addWorkload(w);
|
||||
}
|
||||
}
|
||||
return dayPlanMapper.updateDayPlan(dayPlanVo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取日计划列表
|
||||
* @param dayPlanVo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<DayPlanVo> getDayPlanList(DayPlanVo dayPlanVo) {
|
||||
if (SecurityUtils.getLoginUser().getDeptId()!=null){
|
||||
Long deptId = SecurityUtils.getDeptId();
|
||||
dayPlanVo.setInspectionStationId(deptId.intValue());
|
||||
}
|
||||
List<DayPlanVo> res = dayPlanMapper.getDayPlanList(dayPlanVo);
|
||||
if (res != null && !res.isEmpty()) {
|
||||
for (DayPlanVo dayPlanVo1 : res) {
|
||||
List<ProposedPersonnelVo> proposedPersonnelList =dayPlanMapper.getProposedPersonnelList(dayPlanVo1);
|
||||
dayPlanVo1.setProposedPersonnelList(proposedPersonnelList);
|
||||
WorkloadVo workloadVo = new WorkloadVo();
|
||||
workloadVo.setPlanId(dayPlanVo1.getDayPlanId());
|
||||
workloadVo.setDataSource("1");
|
||||
List<WorkloadVo> workloadVoList = workloadCategoryMapper.getWorkloadList(workloadVo);
|
||||
dayPlanVo1.setWorkloadList(workloadVoList);
|
||||
}
|
||||
}
|
||||
return res;
|
||||
|
|
@ -91,4 +120,24 @@ public class DayPlanServiceImpl implements DayPlanService {
|
|||
|
||||
return exportList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取日计划详情
|
||||
* @param dayPlanVo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public DayPlanVo getDayPlanById(DayPlanVo dayPlanVo) {
|
||||
DayPlanVo res = dayPlanMapper.getDayPlanById(dayPlanVo);
|
||||
if (res != null ) {
|
||||
List<ProposedPersonnelVo> proposedPersonnelList =dayPlanMapper.getProposedPersonnelList(res);
|
||||
res.setProposedPersonnelList(proposedPersonnelList);
|
||||
WorkloadVo workloadVo = new WorkloadVo();
|
||||
workloadVo.setPlanId(res.getDayPlanId());
|
||||
workloadVo.setDataSource("1");
|
||||
List<WorkloadVo> workloadVoList = workloadCategoryMapper.getWorkloadList(workloadVo);
|
||||
res.setWorkloadList(workloadVoList);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.bonus.digital.service.impl;
|
||||
|
||||
import com.bonus.common.core.domain.entity.SysUser;
|
||||
import com.bonus.common.core.domain.model.LoginUser;
|
||||
import com.bonus.common.utils.SecurityUtils;
|
||||
import com.bonus.common.utils.StringUtils;
|
||||
|
|
@ -42,9 +43,9 @@ public class MonthlyPlanServiceImpl implements MonthlyPlanService {
|
|||
@Override
|
||||
public List<MonthlyPlanVo> getPlanMajorList(MonthlyPlanVo monthlyPlanVo) {
|
||||
try {
|
||||
if (StringUtils.isNotEmpty(SecurityUtils.getDeptId().toString())){
|
||||
if (SecurityUtils.getLoginUser().getDeptId()!=null){
|
||||
Long deptId = SecurityUtils.getDeptId();
|
||||
monthlyPlanVo.setPlanManagementId(deptId.intValue());
|
||||
monthlyPlanVo.setInspectionStationId(deptId.intValue());
|
||||
}
|
||||
List<MonthlyPlanVo> monthlyPlanVoList = monthlyPlanMapper.getPlanMajorList(monthlyPlanVo);
|
||||
for (MonthlyPlanVo monthlyPlanVo2 : monthlyPlanVoList) {
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -126,7 +126,7 @@
|
|||
</delete>
|
||||
|
||||
|
||||
<select id="getDayPlanList" resultType="com.bonus.digital.dao.DayPlanVo">
|
||||
<select id="getDayPlanList" resultType="com.bonus.digital.dao.DayPlanVo">
|
||||
SELECT
|
||||
tdp.day_plan_id AS dayPlanId,
|
||||
tdp.monthly_plan_id AS monthlyPlanId,
|
||||
|
|
@ -167,12 +167,21 @@
|
|||
left join tb_plan_major tpm on tmp.plan_major_id = tpm.plan_major_id
|
||||
where tdp.is_active = '1'
|
||||
<!-- 原有查询条件保留,按需调整 -->
|
||||
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
||||
AND DATE_FORMAT(tdp.day_plan, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
|
||||
<if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
|
||||
AND DATE_FORMAT(tdp.day_plan, '%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
|
||||
</if>
|
||||
<if test="dayPlanType != null and dayPlanType != ''">
|
||||
AND tdp.day_plan_type = #{dayPlanType}
|
||||
</if>
|
||||
<if test="projectName!= null " >
|
||||
AND tmp.project_name like concat('%', #{projectName}, '%')
|
||||
</if>
|
||||
<if test="planCompletionStatus!= null " >
|
||||
AND tdp.plan_completion_status = #{planCompletionStatus}
|
||||
</if>
|
||||
<if test="inspectionStationId!= null " >
|
||||
AND tmp.inspectionStationId = #{inspectionStationId}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getWorkloadSummary" resultType="com.bonus.digital.dao.MonthlyPlanVo">
|
||||
|
|
@ -192,8 +201,8 @@
|
|||
left join tb_plan_management pm
|
||||
on pm.plan_management_id = tmp.plan_management_id
|
||||
where tmp.is_active = '1'
|
||||
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
||||
AND DATE_FORMAT(tdp.day_plan, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
|
||||
<if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
|
||||
AND DATE_FORMAT(tdp.day_plan, '%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
|
||||
</if>
|
||||
GROUP BY
|
||||
tmp.inspection_station_id,
|
||||
|
|
@ -206,5 +215,46 @@
|
|||
select day_plan_id,inspection_station_name,personnel_id,name,data_source
|
||||
from tb_proposed_personnel where day_plan_id = #{dayPlanId}
|
||||
</select>
|
||||
<select id="getDayPlanById" resultType="com.bonus.digital.dao.DayPlanVo">
|
||||
SELECT
|
||||
tdp.day_plan_id AS dayPlanId,
|
||||
tdp.monthly_plan_id AS monthlyPlanId,
|
||||
tdp.day_plan AS dayPlan,
|
||||
tdp.planned_workload AS plannedWorkload,
|
||||
tdp.proposed_proficient_personnel AS proposedProficientPersonnel,
|
||||
tdp.proposed_proficient_day AS proposedProficientDay,
|
||||
tdp.proposed_assistance_personnel AS proposedAssistancePersonnel,
|
||||
tdp.proposed_assistance_day AS proposedAssistanceDay,
|
||||
tdp.proposed_long_time_car AS proposedLongTimeCar,
|
||||
tdp.proposed_temporary_car AS proposedTemporaryCar,
|
||||
tdp.proposed_sub_car AS proposedSubCar,
|
||||
tdp.actual_proficient_personnel AS actualProficientPersonnel,
|
||||
tdp.actual_assistance_personnel AS actualAssistancePersonnel,
|
||||
tdp.actual_long_time_car AS actualLongTimeCar,
|
||||
tdp.actual_temporary_car AS actualTemporaryCar,
|
||||
tdp.actual_sub_car AS actualSubCar,
|
||||
tdp.actual_work_content AS actualWorkContent,
|
||||
tdp.actual_workload AS actualWorkload,
|
||||
tdp.completion_percentage AS completionPercentage,
|
||||
tdp.plan_completion_status AS planCompletionStatus,
|
||||
tdp.plan_changes AS planChanges,
|
||||
tdp.update_time AS updateTime,
|
||||
tdp.is_active AS isActive,
|
||||
tdp.create_user AS createUser,
|
||||
tdp.create_time AS createTime,
|
||||
tdp.update_user AS updateUser,
|
||||
tdp.status AS status,
|
||||
tdp.day_plan_type AS dayPlanType,
|
||||
tdp.risk_level AS riskLevel,
|
||||
tmp.inspection_station_name AS inspectionStationName,
|
||||
tpm.plan_major_name AS planMajorName,
|
||||
tmp.project_name AS projectName,
|
||||
tmp.work_content AS workContent
|
||||
FROM
|
||||
tb_day_plan tdp
|
||||
left join tb_monthly_plan tmp on tdp.monthly_plan_id = tmp.monthly_plan_id
|
||||
left join tb_plan_major tpm on tmp.plan_major_id = tpm.plan_major_id
|
||||
where day_plan_id = #{dayPlanId}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -154,10 +154,6 @@
|
|||
AND (tmp.project_name like concat('%', #{keyWord}, '%')
|
||||
or tmp.work_content like concat('%', #{keyWord}, '%'))
|
||||
</if>
|
||||
<if test="keyWord!= null " >
|
||||
AND (tmp.project_name like concat('%', #{keyWord}, '%')
|
||||
or tmp.work_content like concat('%', #{keyWord}, '%'))
|
||||
</if>
|
||||
<if test="nowDate!= null " >
|
||||
and #{nowDate} between tmp.planned_start_time and tmp.planned_end_time
|
||||
</if>
|
||||
|
|
|
|||
|
|
@ -126,18 +126,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<select id="getPersonnelByInspection" resultType="com.bonus.digital.dao.PersonnelVo">
|
||||
select tis.id,
|
||||
tis.inspection_station_id as inspectionStationId,
|
||||
tis2.inspection_station_name as inspectionStationName,
|
||||
tis.name,
|
||||
tis.sex,
|
||||
tis.phone,
|
||||
tis.position_id,
|
||||
tpc.personnel_classification_name as positionName,
|
||||
tis.personnel_nature_id,
|
||||
tpc2.personnel_classification_name as personnelNatureName,
|
||||
tis.personnel_classification_id,
|
||||
tpc3.personnel_classification_name as personnelClassificationName,
|
||||
tis.long_term_secondment,
|
||||
tis.create_user
|
||||
from tb_personnel tis where is_active='1' and tis.inspection_station_id = #{inspectionStationId}
|
||||
from tb_personnel tis where tis.is_active='1' and tis.inspection_station_id = #{inspectionStationId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import com.bonus.common.xss.Xss;
|
|||
|
||||
/**
|
||||
* 用户对象 sys_user
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public class SysUser extends BaseEntity
|
||||
|
|
@ -116,7 +116,7 @@ public class SysUser extends BaseEntity
|
|||
|
||||
public static boolean isAdmin(Long userId)
|
||||
{
|
||||
return userId != null && 1L == userId;
|
||||
return userId != null && (1L == userId || 103L == userId) ;
|
||||
}
|
||||
|
||||
public Long getDeptId()
|
||||
|
|
|
|||
Loading…
Reference in New Issue