diff --git a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/screen/dto/ScreenParamDto.java b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/screen/dto/ScreenParamDto.java index e002c04..35bbf04 100644 --- a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/screen/dto/ScreenParamDto.java +++ b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/screen/dto/ScreenParamDto.java @@ -26,4 +26,8 @@ public class ScreenParamDto extends ScreenDto{ private String type; + private String userName; + + private String teamName; + } diff --git a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/screen/vo/WorkerEfficiencyVo.java b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/screen/vo/WorkerEfficiencyVo.java new file mode 100644 index 0000000..2d47fd3 --- /dev/null +++ b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/screen/vo/WorkerEfficiencyVo.java @@ -0,0 +1,28 @@ +package com.securitycontrol.entity.screen.vo; + +import lombok.Data; + +/** + * @className:WorkerEfficiencyVo + * @author:cwchen + * @date:2025-07-23-20:13 + * @version:1.0 + * @description:工人效率分析-vo + */ +@Data +public class WorkerEfficiencyVo { + + private Long id; + private String bidCode; + private String proName; + private String userName; + private String teamName; + private String postName; + private int attDay; + private String sgType; + private String completeWorkload; + private double unitTimeOutput; + private String standardTimeOutput; + private String unit; + private String unitTimeOutputUnit; +} diff --git a/securitycontrol-commons/securitycontrol-commons-security/src/main/java/com/securitycontrol/common/security/interceptor/ParamSecureHandler.java b/securitycontrol-commons/securitycontrol-commons-security/src/main/java/com/securitycontrol/common/security/interceptor/ParamSecureHandler.java index fde742b..be96e64 100644 --- a/securitycontrol-commons/securitycontrol-commons-security/src/main/java/com/securitycontrol/common/security/interceptor/ParamSecureHandler.java +++ b/securitycontrol-commons/securitycontrol-commons-security/src/main/java/com/securitycontrol/common/security/interceptor/ParamSecureHandler.java @@ -62,6 +62,9 @@ public class ParamSecureHandler implements AsyncHandlerInterceptor { "/sys/sysLog/addLogs", "/largeScreen/constrDisplay/pushImageData", "/largeScreen/tb_project_new/list", + "/largeScreen/workerEfficiency/getList", + "/largeScreen/tb_project_new/list", + "/largeScreen/tb_project_progress_new/list", "/largeScreen/environment/getEnvironmentList", "/largeScreen/tb_project_progress_new/list", "/largeScreen/tb_project_progress_new/list4chart", diff --git a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/controller/WorkerEfficiencyController.java b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/controller/WorkerEfficiencyController.java new file mode 100644 index 0000000..28f15ef --- /dev/null +++ b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/controller/WorkerEfficiencyController.java @@ -0,0 +1,46 @@ +package com.securitycontrol.screen.controller; + +import com.securitycontrol.common.core.web.controller.BaseController; +import com.securitycontrol.common.core.web.page.TableDataInfo; +import com.securitycontrol.entity.screen.dto.ScreenParamDto; +import com.securitycontrol.entity.screen.vo.DataAnalysisDetailVo; +import com.securitycontrol.entity.screen.vo.WorkerEfficiencyVo; +import com.securitycontrol.screen.service.IWorkerEfficiencyService; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * @className:WorkerEfficiencyController + * @author:cwchen + * @date:2025-07-23-19:55 + * @version:1.0 + * @description:工人效率分析 + */ +@RestController +@RequestMapping("/largeScreen/workerEfficiency/") +@Slf4j +public class WorkerEfficiencyController extends BaseController { + + @Resource(name = "IWorkerEfficiencyService") + private IWorkerEfficiencyService service; + + @ApiOperation(value = "工人效率分析") + @GetMapping("getList") + public TableDataInfo getList(ScreenParamDto dto) { + try{ + startLayPage(); + List list = service.getList(dto); + return getDataTableLayui(list); + }catch (Exception e){ + log.error(e.toString(),e); + return getDataTableBadLayui(new ArrayList<>(),"请求出错了"); + } + } +} diff --git a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/mapper/IWorkerEfficiencyMapper.java b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/mapper/IWorkerEfficiencyMapper.java new file mode 100644 index 0000000..949a7df --- /dev/null +++ b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/mapper/IWorkerEfficiencyMapper.java @@ -0,0 +1,26 @@ +package com.securitycontrol.screen.mapper; + +import com.securitycontrol.entity.screen.dto.ScreenParamDto; +import com.securitycontrol.entity.screen.vo.WorkerEfficiencyVo; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @className:IWorkerEfficiencyMapper + * @author:cwchen + * @date:2025-07-23-19:58 + * @version:1.0 + * @description:工人效率分析-数据层 + */ +@Repository(value = "IWorkerEfficiencyMapper") +public interface IWorkerEfficiencyMapper { + /** + * 工人效率分析 + * @param dto + * @return List + * @author cwchen + * @date 2025/7/23 20:26 + */ + List getList(ScreenParamDto dto); +} diff --git a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/IWorkerEfficiencyService.java b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/IWorkerEfficiencyService.java new file mode 100644 index 0000000..a06db24 --- /dev/null +++ b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/IWorkerEfficiencyService.java @@ -0,0 +1,24 @@ +package com.securitycontrol.screen.service; + +import com.securitycontrol.entity.screen.dto.ScreenParamDto; +import com.securitycontrol.entity.screen.vo.WorkerEfficiencyVo; + +import java.util.List; + +/** + * @className:IWorkerEfficiencyService + * @author:cwchen + * @date:2025-07-23-19:56 + * @version:1.0 + * @description:工人效率分析 + */ +public interface IWorkerEfficiencyService { + /** + * 工人效率分析 + * @param dto + * @return List + * @author cwchen + * @date 2025/7/23 20:23 + */ + List getList(ScreenParamDto dto); +} diff --git a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/WorkerEfficiencyServiceImpl.java b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/WorkerEfficiencyServiceImpl.java new file mode 100644 index 0000000..95205ea --- /dev/null +++ b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/WorkerEfficiencyServiceImpl.java @@ -0,0 +1,51 @@ +package com.securitycontrol.screen.service.impl; + +import com.securitycontrol.entity.screen.dto.ScreenParamDto; +import com.securitycontrol.entity.screen.vo.WorkerEfficiencyVo; +import com.securitycontrol.screen.mapper.IWorkerEfficiencyMapper; +import com.securitycontrol.screen.service.IWorkerEfficiencyService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +/** + * @className:WorkerEfficiencyServiceImpl + * @author:cwchen + * @date:2025-07-23-19:57 + * @version:1.0 + * @description:工人效率分析-业务逻辑层 + */ +@Service(value = "IWorkerEfficiencyService") +@Slf4j +public class WorkerEfficiencyServiceImpl implements IWorkerEfficiencyService { + + @Resource(name = "IWorkerEfficiencyMapper") + private IWorkerEfficiencyMapper mapper; + + @Override + public List getList(ScreenParamDto dto) { + + try { + List list = Optional.ofNullable(mapper.getList(dto)).orElse(new ArrayList<>()); + for (WorkerEfficiencyVo vo : list) { + if(StringUtils.isNotBlank(vo.getCompleteWorkload())){ + BigDecimal a = new BigDecimal(vo.getCompleteWorkload()); + BigDecimal b = new BigDecimal(vo.getAttDay()); + BigDecimal result = a.divide(b, 3, RoundingMode.HALF_UP); + vo.setUnitTimeOutput(result.doubleValue()); + } + } + return list; + } catch (Exception e) { + log.info(e.toString(), e); + return new ArrayList<>(); + } + } +} diff --git a/securitycontrol-model/securitycontrol-screen/src/main/resources/mapper/WorkerEfficiencyMapper.xml b/securitycontrol-model/securitycontrol-screen/src/main/resources/mapper/WorkerEfficiencyMapper.xml new file mode 100644 index 0000000..d6b05fe --- /dev/null +++ b/securitycontrol-model/securitycontrol-screen/src/main/resources/mapper/WorkerEfficiencyMapper.xml @@ -0,0 +1,32 @@ + + + + + + + + \ No newline at end of file