班组质量评价

This commit is contained in:
cwchen 2024-03-13 19:05:42 +08:00
parent 490f1a2af7
commit 10286f7f9f
22 changed files with 888 additions and 22 deletions

View File

@ -0,0 +1,24 @@
package com.securitycontrol.entity.system.base.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @authorcwchen
* @date2024-03-13-15:45
* @version1.0
* @description工序计划-dto
*/
@Data
public class GxPlanDto {
@ApiModelProperty(value = "工程ID")
private String planId;
@ApiModelProperty(value = "标段编码")
private String bidCode;
@ApiModelProperty(value = "关键字")
private String keyWord;
}

View File

@ -20,4 +20,7 @@ public class ProDto {
@ApiModelProperty(value = "关键字")
private String keyWord;
@ApiModelProperty(value = "标段编码")
private String bidCode;
}

View File

@ -0,0 +1,23 @@
package com.securitycontrol.entity.system.base.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @authorcwchen
* @date2024-03-13-17:59
* @version1.0
* @description班组质量评价-dto
*/
@Data
public class TeamQuEvalDto {
@ApiModelProperty(value = "评价ID")
private String evalId;
@ApiModelProperty(value = "班组名称")
private String teamName;
@ApiModelProperty(value = "班组长")
private String teamLeader;
@ApiModelProperty(value = "评价日期")
private String evalTime;
}

View File

@ -0,0 +1,53 @@
package com.securitycontrol.entity.system.base.vo;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @authorcwchen
* @date2024-03-13-15:45
* @version1.0
* @description工序计划表-vo
*/
@Data
public class GxPlanVo {
@ApiModelProperty(value = "计划ID")
private String planId;
@ApiModelProperty(value = "标段工程编码")
private String bidCode;
@ApiModelProperty(value = "工序id")
private String gxId;
@ApiModelProperty(value = "工序名称")
private String gxName;
@ApiModelProperty(value = "工序作业权重")
private String gxWeight;
@ApiModelProperty(value = "计划开始时间")
private String planStartTime;
@ApiModelProperty(value = "计划结束时间")
private String planEndTime;
@ApiModelProperty(value = "实际开始时间")
private String startTime;
@ApiModelProperty(value = "实际结束时间")
private String endTime;
@ApiModelProperty(value = "延期原因")
private String delaReason;
@ApiModelProperty(value = "删除状态")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private Integer delFlag;
@ApiModelProperty(value = "1. 新增 2.修改")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private Integer type;
}

View File

@ -1,10 +0,0 @@
package com.securitycontrol.entity.system.base.vo;
/**
* @authorcwchen
* @date2024-03-11-14:46
* @version1.0
* @description工程工序计划-vo
*/
public class ProGxPlanVo {
}

View File

@ -0,0 +1,46 @@
package com.securitycontrol.entity.system.base.vo;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @authorcwchen
* @date2024-03-13-17:58
* @version1.0
* @description班组质量评价-vo
*/
@Data
public class TeamQuEvalVo {
@ApiModelProperty(value = "评价ID")
private String evalId;
@ApiModelProperty(value = "班组ID")
private String teamId;
@ApiModelProperty(value = "班组名称")
private String teamName;
@ApiModelProperty(value = "班组长")
private String teamLeader;
@ApiModelProperty(value = "班组长手机号")
private String teamLeaderPhone;
@ApiModelProperty(value = "评价日期")
private String evalTime;
@ApiModelProperty(value = "评价人")
private String evaluator;
@ApiModelProperty(value = "星级分")
private String score;
@ApiModelProperty(value = "评价内容")
private String content;
@ApiModelProperty(value = "1.新增 2.修改")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private Integer type;
}

View File

@ -15,13 +15,13 @@ public class SelectVo {
@ApiModelProperty(value = "id")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private Integer id;
private String id;
@ApiModelProperty(value = "名称")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private String name;
@ApiModelProperty(value = "建管单位orgID")
@ApiModelProperty(value = "建管单位orgId")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private String orgId;
}

View File

@ -1,13 +1,13 @@
package com.securitycontrol.system.base.controller;
import com.alibaba.fastjson2.JSONObject;
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.system.base.dto.GxPlanDto;
import com.securitycontrol.entity.system.base.dto.ProDto;
import com.securitycontrol.entity.system.base.dto.ProGxPlanDto;
import com.securitycontrol.entity.system.base.vo.GxPlanVo;
import com.securitycontrol.entity.system.base.vo.ProVo;
import com.securitycontrol.system.base.service.IProService;
import io.swagger.annotations.ApiOperation;
@ -64,16 +64,10 @@ public class ProController extends BaseController {
@ApiOperation(value = "删除工程")
@PostMapping("delPro")
@Log(title = "基础管理", menu = "基础管理->工程管理", grade = OperationType.DELETE_BUSINESS, details = "删除工程", type = "业务日志")
public AjaxResult delPro(ProDto dto) {
public AjaxResult delPro(@RequestBody ProDto dto) {
return service.delPro(dto);
}
@ApiOperation(value = "删除工程工序计划")
@PostMapping("delProGxPlan")
@Log(title = "基础管理", menu = "基础管理->工程管理", grade = OperationType.DELETE_BUSINESS, details = "删除工程工序计划", type = "业务日志")
public AjaxResult delProGxPlan(ProGxPlanDto dto) {
return service.delProGxPlan(dto);
}
@ApiOperation(value = "工程图片/平面图预览")
@GetMapping("viewProFile")
@ -87,4 +81,47 @@ public class ProController extends BaseController {
public AjaxResult importProData(MultipartFile file, HttpServletRequest request, HttpServletResponse response) {
return service.importProData(file,request,response);
}
@ApiOperation(value = "工程完工")
@PostMapping("editProStatus")
@Log(title = "基础管理", menu = "基础管理->工程管理", grade = OperationType.IMPORT_BUSINESS, details = "工程完工")
public AjaxResult editProStatus(@RequestBody ProVo vo) {
return service.editProStatus(vo);
}
@ApiOperation(value = "获取工序列表")
@GetMapping("getGxPlanLists")
@Log(title = "基础管理", menu = "基础管理->工程管理", grade = OperationType.QUERY_BUSINESS, details = "查询工序计划", type = "业务日志")
public TableDataInfo getGxPlanLists(GxPlanDto dto) {
startPage();
List<GxPlanVo> list = service.getGxPlanLists(dto);
return getDataTable(list);
}
@ApiOperation(value = "新增工序计划")
@PostMapping("addGxPlan")
@Log(title = "基础管理", menu = "基础管理->工程管理", grade = OperationType.ADD_BUSINESS, details = "新增工序计划", type = "业务日志")
public AjaxResult addGxPlan(@RequestBody GxPlanVo vo) {
return service.addOrUpdateGxPlan(vo);
}
@ApiOperation(value = "修改工序计划")
@PostMapping("editGxPlan")
@Log(title = "基础管理", menu = "基础管理->工程管理", grade = OperationType.UPDATE_BUSINESS, details = "修改工序计划", type = "业务日志")
public AjaxResult editGxPlan(@RequestBody GxPlanVo vo) {
return service.addOrUpdateGxPlan(vo);
}
@ApiOperation(value = "工序计划详情")
@GetMapping("getGxPlanById")
public AjaxResult getGxPlanById(GxPlanDto dto) {
return service.getGxPlanById(dto);
}
@ApiOperation(value = "删除工序计划")
@PostMapping("delGxPlanById")
@Log(title = "基础管理", menu = "基础管理->工程管理", grade = OperationType.DELETE_BUSINESS, details = "删除工序计划", type = "业务日志")
public AjaxResult delGxPlanById(@RequestBody GxPlanDto dto) {
return service.delGxPlanById(dto);
}
}

View File

@ -3,6 +3,7 @@ package com.securitycontrol.system.base.controller;
import com.securitycontrol.common.core.web.controller.BaseController;
import com.securitycontrol.common.core.web.domain.AjaxResult;
import com.securitycontrol.entity.system.dto.MenuDto;
import com.securitycontrol.entity.system.dto.SelectDto;
import com.securitycontrol.system.base.service.ISelectService;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
@ -53,4 +54,10 @@ public class SelectController extends BaseController {
public AjaxResult getBuildLists(){
return service.getBuildLists();
}
@ApiOperation(value = "字典表下拉选")
@GetMapping("getDictLists")
public AjaxResult getDictLists(SelectDto dto){
return service.getDictLists(dto);
}
}

View File

@ -0,0 +1,65 @@
package com.securitycontrol.system.base.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.system.base.dto.TeamQuEvalDto;
import com.securitycontrol.entity.system.base.vo.TeamQuEvalVo;
import com.securitycontrol.system.base.service.ITeamQuEvalService;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* @authorcwchen
* @date2024-03-13-17:50
* @version1.0
* @description班组质量评价-web
*/
@RestController
@RequestMapping("/base/teamQuEval/")
public class TeamQuEvalController extends BaseController {
@Resource(name = "ITeamQuEvalService")
private ITeamQuEvalService service;
@ApiOperation(value = "获取班组质量评价列表")
@GetMapping("getTeamQuEvalLists")
@Log(title = "基础管理", menu = "基础管理->班组质量评价", grade = OperationType.QUERY_BUSINESS, details = "查询班组质量评价", type = "业务日志")
public TableDataInfo getTeamQuEvalLists(TeamQuEvalDto dto) {
startPage();
List<TeamQuEvalVo> list = service.getTeamQuEvalLists(dto);
return getDataTable(list);
}
@ApiOperation(value = "新增班组质量评价")
@PostMapping("addTeamEval")
@Log(title = "基础管理", menu = "基础管理->班组质量评价", grade = OperationType.ADD_BUSINESS, details = "新增班组质量评价", type = "业务日志")
public AjaxResult addTeamEval(@RequestBody TeamQuEvalVo vo) {
return service.addOrUpdateTeamEval(vo);
}
@ApiOperation(value = "修改班组质量评价")
@PostMapping("editTeamEval")
@Log(title = "基础管理", menu = "基础管理->班组质量评价", grade = OperationType.UPDATE_BUSINESS, details = "修改班组质量评价", type = "业务日志")
public AjaxResult editTeamEval(@RequestBody TeamQuEvalVo vo) {
return service.addOrUpdateTeamEval(vo);
}
@ApiOperation(value = "班组质量评价详情")
@GetMapping("getTeamEvalById")
public AjaxResult getTeamEvalById(TeamQuEvalDto dto) {
return service.getTeamEvalById(dto);
}
@ApiOperation(value = "删除质量评价详情")
@PostMapping("delTeamEvalById")
@Log(title = "基础管理", menu = "基础管理->班组质量评价", grade = OperationType.DELETE_BUSINESS, details = "删除班组质量评价", type = "业务日志")
public AjaxResult delTeamEvalById(@RequestBody TeamQuEvalDto dto) {
return service.delTeamEvalById(dto);
}
}

View File

@ -1,7 +1,9 @@
package com.securitycontrol.system.base.mapper;
import com.securitycontrol.entity.system.base.dto.GxPlanDto;
import com.securitycontrol.entity.system.base.dto.ProDto;
import com.securitycontrol.entity.system.base.dto.ProGxPlanDto;
import com.securitycontrol.entity.system.base.vo.GxPlanVo;
import com.securitycontrol.entity.system.base.vo.ProVo;
import com.securitycontrol.entity.system.vo.ResourceFileVo;
import org.springframework.stereotype.Repository;
@ -101,6 +103,7 @@ public interface IProMapper {
/**
* 获取工程图片/平面图
*
* @param proId
* @return List<ResourceFileVo>
* @description
@ -108,4 +111,66 @@ public interface IProMapper {
* @date 2024/3/12 10:55
*/
List<ResourceFileVo> getFiles(String proId);
/**
* 工程完工
*
* @param vo
* @description
* @author cwchen
* @date 2024/3/13 15:25
*/
void editProStatus(ProVo vo);
/**
* 获取工序列表
*
* @param dto
* @return List<GxPlanVo>
* @description
* @author cwchen
* @date 2024/3/13 15:55
*/
List<GxPlanVo> getGxPlanLists(GxPlanDto dto);
/**
* 新增/修改 工序计划
*
* @param vo
* @description
* @author cwchen
* @date 2024/3/13 16:16
*/
void addOrUpdateGxPlan(GxPlanVo vo);
/**
* 工序计划详情
*
* @param dto
* @return GxPlanVo
* @description
* @author cwchen
* @date 2024/3/13 16:27
*/
GxPlanVo getGxPlanById(GxPlanDto dto);
/**
* 删除工序计划
*
* @param dto
* @description
* @author cwchen
* @date 2024/3/13 16:32
*/
void delGxPlanById(GxPlanDto dto);
/**
* 工程是否包含工序计划
* @param dto
* @return int
* @description
* @author cwchen
* @date 2024/3/13 16:34
*/
int isHasGxPlan(ProDto dto);
}

View File

@ -1,5 +1,6 @@
package com.securitycontrol.system.base.mapper;
import com.securitycontrol.entity.system.dto.SelectDto;
import com.securitycontrol.entity.system.vo.SelectVo;
import com.securitycontrol.entity.system.vo.TreeNode;
import org.apache.ibatis.annotations.Param;
@ -57,10 +58,21 @@ public interface ISelectMapper {
/**
* 建管单位下拉选
*
* @return List<SelectVo>
* @description
* @author cwchen
* @date 2024/3/12 11:24
*/
List<SelectVo> getBuildLists();
/**
* 字典表下拉选
* @param dto
* @return List<SelectVo>
* @description
* @author cwchen
* @date 2024/3/13 17:09
*/
List<SelectVo> getDictLists(SelectDto dto);
}

View File

@ -0,0 +1,56 @@
package com.securitycontrol.system.base.mapper;
import com.securitycontrol.entity.system.base.dto.TeamQuEvalDto;
import com.securitycontrol.entity.system.base.vo.TeamQuEvalVo;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @authorcwchen
* @date2024-03-13-17:52
* @version1.0
* @description班组质量评价-数据库访问层
*/
@Repository(value = "ITeamQuEvalMapper")
public interface ITeamQuEvalMapper {
/**
* 获取班组质量评价列表
*
* @param dto
* @return List<TeamQuEvalVo>
* @description
* @author cwchen
* @date 2024/3/13 18:01
*/
List<TeamQuEvalVo> getTeamQuEvalLists(TeamQuEvalDto dto);
/**
* 班组质量评价详情
* @param dto
* @return TeamQuEvalVo
* @description
* @author cwchen
* @date 2024/3/13 18:26
*/
TeamQuEvalVo getTeamEvalById(TeamQuEvalDto dto);
/**
* 新增/修改班组质量评价
* @param vo
* @description
* @author cwchen
* @date 2024/3/13 18:26
*/
void addOrUpdateTeamEval(TeamQuEvalVo vo);
/**
* 删除质量评价详情
* @param dto
* @description
* @author cwchen
* @date 2024/3/13 18:26
*/
void delTeamEvalById(TeamQuEvalDto dto);
}

View File

@ -1,8 +1,10 @@
package com.securitycontrol.system.base.service;
import com.securitycontrol.common.core.web.domain.AjaxResult;
import com.securitycontrol.entity.system.base.dto.GxPlanDto;
import com.securitycontrol.entity.system.base.dto.ProDto;
import com.securitycontrol.entity.system.base.dto.ProGxPlanDto;
import com.securitycontrol.entity.system.base.vo.GxPlanVo;
import com.securitycontrol.entity.system.base.vo.ProVo;
import org.springframework.web.multipart.MultipartFile;
@ -88,6 +90,7 @@ public interface IProService {
/**
* 工程信息导入
*
* @param file
* @param request
* @param response
@ -97,4 +100,58 @@ public interface IProService {
* @date 2024/3/13 9:10
*/
AjaxResult importProData(MultipartFile file, HttpServletRequest request, HttpServletResponse response);
/**
* 工程完工
*
* @param vo
* @return AjaxResult
* @description
* @author cwchen
* @date 2024/3/13 15:23
*/
AjaxResult editProStatus(ProVo vo);
/**
* 获取工序列表
*
* @param dto
* @return List<GxPlanVo>
* @description
* @author cwchen
* @date 2024/3/13 15:53
*/
List<GxPlanVo> getGxPlanLists(GxPlanDto dto);
/**
* 新增/修改 工序计划
*
* @param vo
* @return AjaxResult
* @description
* @author cwchen
* @date 2024/3/13 16:07
*/
AjaxResult addOrUpdateGxPlan(GxPlanVo vo);
/**
* 工序计划详情
*
* @param dto
* @return AjaxResult
* @description
* @author cwchen
* @date 2024/3/13 16:25
*/
AjaxResult getGxPlanById(GxPlanDto dto);
/**
* 删除工序计划
* @param dto
* @return AjaxResult
* @description
* @author cwchen
* @date 2024/3/13 16:31
*/
AjaxResult delGxPlanById(GxPlanDto dto);
}

View File

@ -2,6 +2,7 @@ package com.securitycontrol.system.base.service;
import com.securitycontrol.common.core.web.domain.AjaxResult;
import com.securitycontrol.entity.system.dto.MenuDto;
import com.securitycontrol.entity.system.dto.SelectDto;
/**
* @authorcwchen
@ -53,10 +54,21 @@ public interface ISelectService {
/**
* 建管单位下拉选
*
* @return AjaxResult
* @description
* @author cwchen
* @date 2024/3/12 11:23
*/
AjaxResult getBuildLists();
/**
* 字典表下拉选
* @param dto
* @return AjaxResult
* @description
* @author cwchen
* @date 2024/3/13 17:08
*/
AjaxResult getDictLists(SelectDto dto);
}

View File

@ -0,0 +1,57 @@
package com.securitycontrol.system.base.service;
import com.securitycontrol.common.core.web.domain.AjaxResult;
import com.securitycontrol.entity.system.base.dto.TeamQuEvalDto;
import com.securitycontrol.entity.system.base.vo.TeamQuEvalVo;
import java.util.List;
/**
* @authorcwchen
* @date2024-03-13-17:51
* @version1.0
* @description班组质量评价-业务层
*/
public interface ITeamQuEvalService {
/**
* 获取班组质量评价列表
*
* @param dto
* @return List<TeamQuEvalVo>
* @description
* @author cwchen
* @date 2024/3/13 18:00
*/
List<TeamQuEvalVo> getTeamQuEvalLists(TeamQuEvalDto dto);
/**
* 新增/修改班组质量评价
* @param vo
* @return AjaxResult
* @description
* @author cwchen
* @date 2024/3/13 18:21
*/
AjaxResult addOrUpdateTeamEval(TeamQuEvalVo vo);
/**
* 班组质量评价详情
* @param dto
* @return AjaxResult
* @description
* @author cwchen
* @date 2024/3/13 18:21
*/
AjaxResult getTeamEvalById(TeamQuEvalDto dto);
/**
* 删除质量评价详情
* @param dto
* @return AjaxResult
* @description
* @author cwchen
* @date 2024/3/13 18:21
*/
AjaxResult delTeamEvalById(TeamQuEvalDto dto);
}

View File

@ -8,8 +8,10 @@ import com.securitycontrol.common.core.utils.StringUtils;
import com.securitycontrol.common.core.utils.aes.DateTimeHelper;
import com.securitycontrol.common.core.web.domain.AjaxResult;
import com.securitycontrol.common.security.utils.ValidatorsUtils;
import com.securitycontrol.entity.system.base.dto.GxPlanDto;
import com.securitycontrol.entity.system.base.dto.ProDto;
import com.securitycontrol.entity.system.base.dto.ProGxPlanDto;
import com.securitycontrol.entity.system.base.vo.GxPlanVo;
import com.securitycontrol.entity.system.base.vo.ProImportVo;
import com.securitycontrol.entity.system.base.vo.ProVo;
import com.securitycontrol.entity.system.vo.ResourceFileVo;
@ -160,11 +162,28 @@ public class ProServiceImpl implements IProService {
@Transactional(rollbackFor = Exception.class)
public AjaxResult delPro(ProDto dto) {
try {
if(StringUtils.isEmpty(dto.getProId()) || StringUtils.isEmpty(dto.getBidCode())){
return AjaxResult.error("参数不完整");
}
int num = mapper.isHasGxPlan(dto);
if(num > 0){
return AjaxResult.error("工程下包含工序计划");
}
mapper.delPro(dto);
// 查询工程文件
List<ResourceFileVo> files = mapper.getFiles(dto.getProId());
if(CollectionUtils.isNotEmpty(files)){
files.forEach(item->{
mapper.delFile(item.getFileId());
mongoService.removeFile(item.getFileId());
});
}
} catch (Exception e) {
log.error("删除工程", e);
//手动回滚异常
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return AjaxResult.error();
}
return AjaxResult.success();
}
@ -315,4 +334,64 @@ public class ProServiceImpl implements IProService {
return fileVo;
}
@Override
@Transactional(rollbackFor = Exception.class)
public AjaxResult editProStatus(ProVo vo) {
try {
mapper.editProStatus(vo);
} catch (Exception e) {
log.error("工程完工",e);
//手动回滚异常
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return AjaxResult.error();
}
return AjaxResult.success();
}
@Override
public List<GxPlanVo> getGxPlanLists(GxPlanDto dto) {
List<GxPlanVo> list = new ArrayList<>();
list = mapper.getGxPlanLists(dto);
return list;
}
@Override
@Transactional(rollbackFor = Exception.class)
public AjaxResult addOrUpdateGxPlan(GxPlanVo vo) {
try {
if(StringUtils.isEmpty(vo.getPlanId())){
String gxPlanId = UUID.randomUUID().toString().replace("-", "");
vo.setPlanId(gxPlanId);
vo.setType(1);
}else{
vo.setType(2);
}
mapper.addOrUpdateGxPlan(vo);
} catch (Exception e) {
log.error("工序计划",e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return AjaxResult.error();
}
return AjaxResult.success();
}
@Override
public AjaxResult getGxPlanById(GxPlanDto dto) {
GxPlanVo vo = new GxPlanVo();
vo = mapper.getGxPlanById(dto);
return AjaxResult.success(vo);
}
@Override
@Transactional(rollbackFor = Exception.class)
public AjaxResult delGxPlanById(GxPlanDto dto) {
try {
mapper.delGxPlanById(dto);
} catch (Exception e) {
log.error("工序计划",e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return AjaxResult.error();
}
return AjaxResult.success();
}
}

View File

@ -3,6 +3,7 @@ package com.securitycontrol.system.base.service.impl;
import com.securitycontrol.common.core.web.domain.AjaxResult;
import com.securitycontrol.entity.system.TreeBuild;
import com.securitycontrol.entity.system.dto.MenuDto;
import com.securitycontrol.entity.system.dto.SelectDto;
import com.securitycontrol.entity.system.vo.SelectVo;
import com.securitycontrol.entity.system.vo.TreeNode;
import com.securitycontrol.system.base.mapper.ISelectMapper;
@ -102,4 +103,11 @@ public class SelectServiceImpl implements ISelectService {
list = mapper.getBuildLists();
return AjaxResult.success(list);
}
@Override
public AjaxResult getDictLists(SelectDto dto) {
List<SelectVo> list = new ArrayList<>();
list = mapper.getDictLists(dto);
return AjaxResult.success(list);
}
}

View File

@ -0,0 +1,83 @@
package com.securitycontrol.system.base.service.impl;
import com.securitycontrol.common.core.utils.StringUtils;
import com.securitycontrol.common.core.utils.aes.DateTimeHelper;
import com.securitycontrol.common.core.web.domain.AjaxResult;
import com.securitycontrol.common.security.utils.SecurityUtils;
import com.securitycontrol.entity.system.base.dto.TeamQuEvalDto;
import com.securitycontrol.entity.system.base.vo.TeamQuEvalVo;
import com.securitycontrol.system.base.mapper.ITeamQuEvalMapper;
import com.securitycontrol.system.base.service.ITeamQuEvalService;
import lombok.extern.slf4j.Slf4j;
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.UUID;
/**
* @authorcwchen
* @date2024-03-13-17:51
* @version1.0
* @description班组质量评价-业务逻辑层
*/
@Service(value = "ITeamQuEvalService")
@Slf4j
public class TeamQuEvalServiceImpl implements ITeamQuEvalService {
@Resource(name = "ITeamQuEvalMapper")
private ITeamQuEvalMapper mapper;
@Override
public List<TeamQuEvalVo> getTeamQuEvalLists(TeamQuEvalDto dto) {
List<TeamQuEvalVo> list = new ArrayList<>();
list = mapper.getTeamQuEvalLists(dto);
return list;
}
@Override
@Transactional(rollbackFor = Exception.class)
public AjaxResult addOrUpdateTeamEval(TeamQuEvalVo vo) {
try {
if (SecurityUtils.getLoginUser() != null && SecurityUtils.getLoginUser().getSysUser() != null) {
vo.setEvaluator(SecurityUtils.getLoginUser().getSysUser().getUserName());
}
if (StringUtils.isEmpty(vo.getEvalId())) {
String evalId = UUID.randomUUID().toString().replace("-", "");
vo.setEvalId(evalId);
vo.setType(1);
vo.setEvalTime(DateTimeHelper.getNowDate());
} else {
vo.setType(2);
}
mapper.addOrUpdateTeamEval(vo);
} catch (Exception e) {
log.error("新增/修改班组质量评价", e);
return AjaxResult.error();
}
return AjaxResult.success();
}
@Override
public AjaxResult getTeamEvalById(TeamQuEvalDto dto) {
TeamQuEvalVo vo = new TeamQuEvalVo();
vo = mapper.getTeamEvalById(dto);
return AjaxResult.success(vo);
}
@Override
@Transactional(rollbackFor = Exception.class)
public AjaxResult delTeamEvalById(TeamQuEvalDto dto) {
try {
mapper.delTeamEvalById(dto);
} catch (Exception e) {
log.error("删除班组质量评价", e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return AjaxResult.error();
}
return AjaxResult.success();
}
}

View File

@ -0,0 +1,88 @@
<?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.system.base.mapper.ITeamQuEvalMapper">
<!--新增/修改班组质量评价-->
<insert id="addOrUpdateTeamEval">
<if test="type == 1">
INSERT INTO tb_team_eval
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="evalId != null and evalId != ''">id,</if>
<if test="teamId != null and teamId!=''">team_id,</if>
<if test="teamName != null and teamName!=''">team_name,</if>
<if test="content != null and content!=''">content,</if>
<if test="teamLeader != null and teamLeader!=''">leader,</if>
<if test="score != null and score!=''">score,</if>
<if test="evalTime != null and evalTime!=''">eval_time,</if>
<if test="evaluator != null and evaluator!=''">evaluator,</if>
del_falge,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="evalId != null and evalId != ''">#{evalId},</if>
<if test="teamId != null and teamId!=''">#{teamId},</if>
<if test="teamName != null and teamName!=''">#{teamName},</if>
<if test="content != null and content!=''">#{content},</if>
<if test="teamLeader != null and teamLeader != ''">#{teamLeader},</if>
<if test="score != null and score!=''">#{score},</if>
<if test="evalTime != null and evalTime!=''">#{evalTime},</if>
<if test="evaluator != null and evaluator!=''">#{evaluator},</if>
0,
</trim>
</if>
<if test="type == 2">
UPDATE tb_team_eval
<set>
<if test="teamId != null and teamId != ''">team_id = #{teamId},</if>
<if test="teamName != null and teamName != ''">team_name = #{teamName},</if>
<if test="content != null and content != ''">content = #{content},</if>
<if test="teamLeader != null and teamLeader != ''">leader = #{teamLeader},</if>
<if test="score != null and score != ''">score = #{score},</if>
<if test="evalTime != null and evalTime != ''">eval_time = #{evalTime},</if>
<if test="evaluator != null and evaluator != ''">evaluator = #{evaluator},</if>
</set>
WHERE id = #{evalId}
</if>
</insert>
<!--删除质量评价详情-->
<delete id="delTeamEvalById">
DELETE FROM tb_team_eval WHERE id = #{evalId}
</delete>
<!--获取班组质量评价列表-->
<select id="getTeamQuEvalLists" resultType="com.securitycontrol.entity.system.base.vo.TeamQuEvalVo">
SELECT tte.id AS evalId,
twt.team_name AS teamName,
twt.team_leader AS teamLeader,
twt.team_leader_phone AS teamLeaderPhone,
tte.eval_time AS evalTime,
tte.evaluator,
tte.score,
tte.content
FROM tb_team_eval tte
LEFT JOIN tb_work_team twt ON tte.team_id = twt.team_id
<where>
<if test="teamName!=null and teamName!=''">
AND INSTR(twt.team_name,#{teamName}) > 0
</if>
<if test="teamLeader!=null and teamLeader!=''">
AND INSTR(twt.team_leader,#{teamLeader}) > 0
</if>
<if test="evalTime!=null and evalTime!=''">
AND tte.eval_time BETWEEN CONCAT(#{evalTime},' 00:00:00') AND CONCAT(#{evalTime},' 23:59:59')
</if>
</where>
</select>
<!--班组质量评价详情-->
<select id="getTeamEvalById" resultType="com.securitycontrol.entity.system.base.vo.TeamQuEvalVo">
SELECT tte.id AS evalId,
twt.team_name AS teamName,
twt.team_leader AS teamLeader,
twt.team_leader_phone AS teamLeaderPhone,
tte.eval_time AS evalTime,
tte.evaluator,
tte.score,
tte.content
FROM tb_team_eval tte
LEFT JOIN tb_work_team twt ON tte.team_id = twt.team_id
WHERE tte.id = #{evalId}
</select>
</mapper>

View File

@ -101,9 +101,62 @@
<if test="updateTime != null and updateTime!=''">#{updateTime},</if>
</trim>
</insert>
<!--新增/修改 工序计划-->
<insert id="addOrUpdateGxPlan">
<if test="type == 1">
INSERT INTO tb_gx_plan
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="planId != null and planId != ''">plan_id,</if>
<if test="bidCode != null and bidCode!=''">bid_code,</if>
<if test="gxId != null and gxId!=''">gx_id,</if>
<if test="gxWeight != null and gxWeight!=''">gx_weight,</if>
<if test="planStartTime != null and planStartTime!=''">plan_start_time,</if>
<if test="planEndTime != null and planEndTime!=''">plan_end_time,</if>
<if test="startTime != null and startTime!=''">start_time,</if>
<if test="endTime != null and endTime!=''">end_time,</if>
<if test="delaReason != null and delaReason!=''">dela_reason,</if>
del_flag,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="planId != null and planId != ''">#{planId},</if>
<if test="bidCode != null and bidCode!=''">#{bidCode},</if>
<if test="gxId != null and gxId!=''">#{gxId},</if>
<if test="gxWeight != null and gxWeight!=''">#{gxWeight},</if>
<if test="planStartTime != null and planStartTime != ''">#{planStartTime},</if>
<if test="planEndTime != null and planEndTime!=''">#{planEndTime},</if>
<if test="startTime != null and startTime!=''">#{startTime},</if>
<if test="endTime != null and endTime!=''">#{endTime},</if>
<if test="delaReason != null and delaReason!=''">#{delaReason},</if>
0,
</trim>
</if>
<if test="type == 2">
UPDATE tb_gx_plan
<set>
<if test="gxId != null and gxId != ''">gx_id = #{gxId},</if>
<if test="gxWeight != null and gxWeight != ''">gx_weight = #{gxWeight},</if>
<if test="planStartTime != null and planStartTime != ''">plan_start_time = #{planStartTime},</if>
<if test="planEndTime != null and planEndTime != ''">plan_end_time = #{planEndTime},</if>
<if test="startTime != null and startTime != ''">start_time = #{startTime},</if>
<if test="endTime != null and endTime != ''">end_time = #{endTime},</if>
<if test="delaReason != null and delaReason != ''">dela_reason = #{delaReason},</if>
</set>
WHERE plan_id = #{planId}
</if>
</insert>
<!--工程完工-->
<update id="editProStatus">
UPDATE tb_project
<set>
<if test="startTime != null and startTime!=''">start_time = #{startTime},</if>
<if test="endTime != null and endTime!=''">end_time = #{endTime},</if>
<if test="status != null and status != ''">status = '完工',</if>
</set>
WHERE pro_id = #{proId}
</update>
<!--删除工程-->
<delete id="delPro">
DELETE FROM tb_project WHERE pro_id = #{proId}
</delete>
<!--删除工程工序计划-->
<delete id="delProGxPlan">
@ -113,6 +166,10 @@
<delete id="delFile">
DELETE FROM tb_resource_file WHERE file_id = #{fileId}
</delete>
<!--删除工序计划-->
<delete id="delGxPlanById">
DELETE FROM tb_gx_plan WHERE plan_id = #{planId}
</delete>
<!--获取工程列表-->
<select id="getProLists" resultType="com.securitycontrol.entity.system.base.vo.ProVo">
@ -184,4 +241,39 @@
CASE source_type WHEN '工程图片' THEN '1' WHEN '工程平面图' THEN '2' END AS sourceType
FROM tb_resource_file WHERE source_id = #{proId}
</select>
<!--获取工序列表-->
<select id="getGxPlanLists" resultType="com.securitycontrol.entity.system.base.vo.GxPlanVo">
SELECT tgp.plan_id AS planId,
gx_weight AS gxWeight,
tgp.plan_start_time AS planStartTime,
tgp.plan_end_time AS planEndTime,
tgp.start_time AS startTime,
tgp.end_time AS endTime,
tgp.dela_reason AS delaReason,
tgp.bid_code AS bidCode,
sd.dict_name AS gxName
FROM tb_gx_plan tgp
LEFT JOIN sys_dict sd ON sd.dict_code = tgp.gx_id
WHERE tgp.bid_code = #{bidCode}
<if test="keyWord!=null and keyWord!=''">
AND INSTR(gx_weight,#{keyWord}) > 0
</if>
</select>
<!--工序计划详情-->
<select id="getGxPlanById" resultType="com.securitycontrol.entity.system.base.vo.GxPlanVo">
SELECT tgp.plan_id AS planId,
gx_weight AS gxWeight,
tgp.plan_start_time AS planStartTime,
tgp.plan_end_time AS planEndTime,
tgp.start_time AS startTime,
tgp.end_time AS endTime,
tgp.dela_reason AS delaReason,
tgp.bid_code AS bidCode
FROM tb_gx_plan tgp
WHERE tgp.bid_code = #{bidCode} AND tgp.plan_id =#{planId}
</select>
<!--工程是否包含工序计划-->
<select id="isHasGxPlan" resultType="java.lang.Integer">
SELECT COUNT(*) FROM tb_gx_plan WHERE bid_code = #{bidCode}
</select>
</mapper>

View File

@ -43,4 +43,13 @@
org_id AS orgId
FROM sys_build
</select>
<!--字典表下拉选-->
<select id="getDictLists" resultType="com.securitycontrol.entity.system.vo.SelectVo">
SELECT sd2.dict_code AS id,
sd2.dict_name AS name
FROM sys_dict sd
LEFT JOIN sys_dict sd2 ON sd.dict_code = sd2.p_code AND sd2.del_flag = 0
WHERE sd.dict_code = #{param} AND sd.del_flag = 0
ORDER BY sd2.dict_sort
</select>
</mapper>