From daf5a28d644cece1e19972521f0d6f19dfef20a4 Mon Sep 17 00:00:00 2001 From: lius <Lius2225@163.com> Date: 星期五, 07 七月 2023 09:57:01 +0800 Subject: [PATCH] 率参数标签接口 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcUtilizationRateController.java | 34 +++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java | 6 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcUtilizationRateDto.java | 20 ++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java | 12 + lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcTorqueConfig.java | 22 -- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyReportShiftQueryVo.java | 48 ++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcUtilizationRateServiceImpl.java | 24 ++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcTorqueConfigVo.java | 5 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java | 192 +++++++++++++++++++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEfficiencyReportController.java | 21 ++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java | 8 + lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcUtilizationRateService.java | 15 + lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml | 38 ++++ 13 files changed, 398 insertions(+), 47 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEfficiencyReportController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEfficiencyReportController.java index 2016911..f518d2b 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEfficiencyReportController.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEfficiencyReportController.java @@ -9,6 +9,7 @@ import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.mdc.service.MdcEfficiencyReportService; import org.jeecg.modules.mdc.vo.MdcEfficiencyReportQueryVo; +import org.jeecg.modules.mdc.vo.MdcEfficiencyReportShiftQueryVo; import org.jeecg.modules.mdc.vo.MdcEfficiencyVo; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -39,13 +40,23 @@ return Result.OK(result); } - @AutoLog(value = "璁惧鏁堢巼鎶ヨ〃-鐝鍒╃敤鐜囧垪琛ㄦ煡璇�") - @ApiOperation(value = "璁惧鏁堢巼鎶ヨ〃-鐝鍒╃敤鐜囧垪琛ㄦ煡璇�", notes = "璁惧鏁堢巼鎶ヨ〃-鐝鍒╃敤鐜囧垪琛ㄦ煡璇�") - @GetMapping("/shiftEfficiencyList") - public Result shiftEfficiencyList(MdcEfficiencyReportQueryVo vo) { + @AutoLog(value = "璁惧鏁堢巼鎶ヨ〃-寮�鍔ㄧ巼鍒楄〃鏌ヨ") + @ApiOperation(value = "璁惧鏁堢巼鎶ヨ〃-寮�鍔ㄧ巼鍒楄〃鏌ヨ", notes = "璁惧鏁堢巼鎶ヨ〃-寮�鍔ㄧ巼鍒楄〃鏌ヨ") + @GetMapping("/efficiencyPOList") + public Result efficiencyPOList(MdcEfficiencyReportQueryVo vo) { LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String userId = user.getId(); - MdcEfficiencyVo result = mdcEfficiencyReportService.shiftEfficiencyList(userId, vo); + MdcEfficiencyVo result = mdcEfficiencyReportService.efficiencyPOList(userId, vo); + return Result.OK(result); + } + + @AutoLog(value = "璁惧鏁堢巼鎶ヨ〃-鐝鍒╃敤鐜囧垪琛ㄦ煡璇�") + @ApiOperation(value = "璁惧鏁堢巼鎶ヨ〃-鐝鍒╃敤鐜囧垪琛ㄦ煡璇�", notes = "璁惧鏁堢巼鎶ヨ〃-鐝鍒╃敤鐜囧垪琛ㄦ煡璇�") + @GetMapping("/efficiencyShiftList") + public Result efficiencyShiftList(MdcEfficiencyReportShiftQueryVo vo) { + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String userId = user.getId(); + MdcEfficiencyVo result = mdcEfficiencyReportService.efficiencyShiftList(userId, vo); return Result.OK(result); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcUtilizationRateController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcUtilizationRateController.java index 69156e5..aaf1068 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcUtilizationRateController.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcUtilizationRateController.java @@ -8,6 +8,7 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.modules.mdc.dto.MdcUtilizationRateDto; import org.jeecg.modules.mdc.entity.MdcUtilizationRate; import org.jeecg.modules.mdc.service.IMdcUtilizationRateService; import org.springframework.web.bind.annotation.*; @@ -16,6 +17,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * @Description: 鐜囧弬鏁拌缃� @@ -33,6 +35,7 @@ /** * 鍒嗛〉鏌ヨ + * * @param mdcUtilizationRate * @param pageNo * @param pageSize @@ -45,7 +48,7 @@ public Result<?> queryPageList(MdcUtilizationRate mdcUtilizationRate, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - HttpServletRequest req){ + HttpServletRequest req) { //灏嗛〉闈㈣幏鍙栫殑椤靛�煎皝瑁呰嚦Page瀵硅薄鍐� Page page = new Page(pageNo, pageSize); IPage<MdcUtilizationRate> mdcUtilizationRateIPage = mdcUtilizationRateService.queryPageList(page, req); @@ -54,69 +57,75 @@ /** * 鏂板 + * * @param mdcUtilizationRate * @return */ @AutoLog("鐜囧弬鏁拌缃�-鏂板") @ApiOperation(value = "鐜囧弬鏁拌缃�-鏂板", notes = "鐜囧弬鏁拌缃�-鏂板") @PostMapping("/addUtilization") - public Result<?> addUtilization(@RequestBody MdcUtilizationRate mdcUtilizationRate){ + public Result<?> addUtilization(@RequestBody MdcUtilizationRate mdcUtilizationRate) { Boolean flag = mdcUtilizationRateService.addUtilization(mdcUtilizationRate); return flag ? Result.OK("鏂板鎴愬姛") : Result.error("鏂板澶辫触"); } /** * 缂栬緫 + * * @param mdcUtilizationRate * @return */ @AutoLog("鐜囧弬鏁拌缃�-缂栬緫") @ApiOperation(value = "鐜囧弬鏁拌缃�-缂栬緫", notes = "鐜囧弬鏁拌缃�-缂栬緫") @PutMapping("/editUtilization") - public Result<?> editUtilization(@RequestBody MdcUtilizationRate mdcUtilizationRate){ + public Result<?> editUtilization(@RequestBody MdcUtilizationRate mdcUtilizationRate) { Boolean flag = mdcUtilizationRateService.editUtilization(mdcUtilizationRate); return flag ? Result.OK("淇敼鎴愬姛") : Result.error("淇敼澶辫触"); } /** * 鏍规嵁id鍒犻櫎 + * * @param id * @return */ @AutoLog("鐜囧弬鏁拌缃�-鏍规嵁id鍒犻櫎") @ApiOperation(value = "鐜囧弬鏁拌缃�-鏍规嵁id鍒犻櫎", notes = "鐜囧弬鏁拌缃�-鏍规嵁id鍒犻櫎") @DeleteMapping("/deleteUtilization") - public Result<?> deleteUtilization(@RequestParam(name = "id", required = true) String id){ + public Result<?> deleteUtilization(@RequestParam(name = "id", required = true) String id) { Boolean flag = mdcUtilizationRateService.deleteUtilization(id); return flag ? Result.OK("鍒犻櫎鎴愬姛") : Result.error("鍒犻櫎澶辫触"); } /** * 鎵归噺鍒犻櫎 + * * @param ids * @return */ @AutoLog("鐜囧弬鏁拌缃�-鎵归噺鍒犻櫎") @ApiOperation(value = "鐜囧弬鏁拌缃�-鎵归噺鍒犻櫎", notes = "鐜囧弬鏁拌缃�-鎵归噺鍒犻櫎") @DeleteMapping("/deleteBatchUtilization") - public Result<?> deleteBatchUtilization(@RequestParam(name = "ids", required = true) String ids){ + public Result<?> deleteBatchUtilization(@RequestParam(name = "ids", required = true) String ids) { Boolean flag = mdcUtilizationRateService.deleteBatchUtilization(ids); return flag ? Result.OK("鎵归噺鍒犻櫎鎴愬姛") : Result.error("鎵归噺鍒犻櫎澶辫触"); } /** * 瀵煎嚭excel + * * @param request * @param mdcUtilizationRate * @return */ @RequestMapping("/exportXls") - public ModelAndView exportXls(HttpServletRequest request, MdcUtilizationRate mdcUtilizationRate){ + public ModelAndView exportXls(HttpServletRequest request, MdcUtilizationRate mdcUtilizationRate) { return super.exportXls(request, mdcUtilizationRate, MdcUtilizationRate.class, "鐜囧弬鏁拌缃鍑�"); } /** * 瀵煎叆excel + * * @param request * @param response * @return @@ -125,4 +134,17 @@ public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, MdcUtilizationRate.class); } + + /** + * 鏍规嵁绫诲瀷鑾峰彇棰滆壊鏍囩 + * + * @param type + * @return + */ + @ApiOperation(value = "鐜囧弬鏁拌缃�-鏍规嵁绫诲瀷鑾峰彇棰滆壊鏍囩", notes = "鐜囧弬鏁拌缃�-鏍规嵁绫诲瀷鑾峰彇棰滆壊鏍囩") + @GetMapping("/getByType") + public Result<List<MdcUtilizationRateDto>> getByType(@RequestParam(name = "type", required = true) String type) { + List<MdcUtilizationRateDto> list = mdcUtilizationRateService.getByType(type); + return Result.OK(list); + } } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcUtilizationRateDto.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcUtilizationRateDto.java new file mode 100644 index 0000000..25591fc --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcUtilizationRateDto.java @@ -0,0 +1,20 @@ +package org.jeecg.modules.mdc.dto; + +import lombok.Data; + +/** + * @author: LiuS + * @create: 2023-07-07 09:41 + */ +@Data +public class MdcUtilizationRateDto { + /** + * 棰滆壊 + */ + private String color; + /** + * 鏍囬 + */ + private String title; + +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcTorqueConfig.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcTorqueConfig.java index 6676982..9501577 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcTorqueConfig.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcTorqueConfig.java @@ -53,29 +53,11 @@ private String equipmentName; /** - * 寮�濮嬫椂闂� - */ - @Excel(name = "寮�濮嬫椂闂�", width = 15) - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty("寮�濮嬫椂闂�") - private Date startTime; - - /** - * 缁撴潫鏃堕棿 - */ - @Excel(name = "缁撴潫鏃堕棿", width = 15) - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty("缁撴潫鏃堕棿") - private Date endTime; - - /** - * 鏃ユ湡 + * 鏃堕棿 */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value = "鏃ユ湡") + @ApiModelProperty(value = "鏃堕棿") private Date torqueDate; /** diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java index 73d6da4..7462e8e 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java @@ -19,4 +19,12 @@ * @return */ List<MdcEfficiencyDto> efficiencyList(@Param("vo") MdcEfficiencyReportQueryVo vo); + + /** + * 鏌ヨ寮�鍔ㄧ巼鏁版嵁 + * + * @param vo + * @return + */ + List<MdcEfficiencyDto> efficiencyPOList(@Param("vo") MdcEfficiencyReportQueryVo vo); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml index 66aa54f..f930d30 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml @@ -31,7 +31,41 @@ #{ id } </foreach> </if> - ORDER BY - t1.the_date + ORDER BY t1.the_date + </select> + + <!--鏌ヨ寮�鍔ㄧ巼鏁版嵁--> + <select id="efficiencyPOList" resultType="org.jeecg.modules.mdc.dto.MdcEfficiencyDto"> + SELECT + t2.equipment_id equipmentId, + t2.equipment_name equipmentName, + t2.equipment_type equipmentType, + t1.the_date, + t1.process_long processLong, + CASE + WHEN t1.open_long > 0 THEN + t1.process_long / t1.open_long ELSE 0 + END utilizationRate, + CASE + WHEN t1.open_long > 0 THEN + t1.process_long / t1.open_long ELSE 0 + END startRate, + t1.open_long / 86400 openRate, + t1.open_long openLong, + t1.wait_long waitLong, + t1.close_long closeLong + FROM + mdc_equipment t2 + LEFT JOIN mdc_equipment_statistical_info t1 ON t1.equipment_id = t2.equipment_id + WHERE + t1.the_date <= #{ vo.endTime } + AND t1.the_date >= #{ vo.startTime } + <if test="vo.equipmentIdList != null and vo.equipmentIdList.size() > 0 "> + AND t2.equipment_id IN + <foreach collection="vo.equipmentIdList" item="id" index="index" open="(" close=")" separator=","> + #{ id } + </foreach> + </if> + ORDER BY t1.the_date </select> </mapper> \ No newline at end of file diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcUtilizationRateService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcUtilizationRateService.java index fee7d2b..db5cbae 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcUtilizationRateService.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcUtilizationRateService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.mdc.dto.MdcUtilizationRateDto; import org.jeecg.modules.mdc.entity.MdcUtilizationRate; import javax.servlet.http.HttpServletRequest; @@ -18,6 +19,7 @@ /** * 鍒嗛〉鏌ヨ + * * @param page * @param req * @return @@ -26,6 +28,7 @@ /** * 鏂板鍙傛暟 + * * @param mdcUtilizationRate * @return */ @@ -33,6 +36,7 @@ /** * 缂栬緫鍙傛暟 + * * @param mdcUtilizationRate * @return */ @@ -40,6 +44,7 @@ /** * 鏍规嵁id鍒犻櫎 + * * @param id * @return */ @@ -47,6 +52,7 @@ /** * 鎵归噺鍒犻櫎 + * * @param ids * @return */ @@ -54,8 +60,17 @@ /** * 鏍规嵁绫诲瀷鏌ヨ + * * @param type * @return */ List<MdcUtilizationRate> listByType(String type); + + /** + * 鏍规嵁绫诲瀷鑾峰彇棰滆壊鏍囩 + * + * @param type + * @return + */ + List<MdcUtilizationRateDto> getByType(String type); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java index a3a1a15..496075f 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java @@ -1,6 +1,7 @@ package org.jeecg.modules.mdc.service; import org.jeecg.modules.mdc.vo.MdcEfficiencyReportQueryVo; +import org.jeecg.modules.mdc.vo.MdcEfficiencyReportShiftQueryVo; import org.jeecg.modules.mdc.vo.MdcEfficiencyVo; /** @@ -19,11 +20,20 @@ MdcEfficiencyVo efficiencyList(String userId, MdcEfficiencyReportQueryVo vo); /** + * 寮�鏈虹巼鎶ヨ〃 + * + * @param userId + * @param vo + * @return + */ + MdcEfficiencyVo efficiencyPOList(String userId, MdcEfficiencyReportQueryVo vo); + + /** * 鐝鍒╃敤鐜囨姤琛� * * @param userId * @param vo * @return */ - MdcEfficiencyVo shiftEfficiencyList(String userId, MdcEfficiencyReportQueryVo vo); + MdcEfficiencyVo efficiencyShiftList(String userId, MdcEfficiencyReportShiftQueryVo vo); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java index 583d480..7cddfa0 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java @@ -12,6 +12,7 @@ import org.jeecg.modules.mdc.service.MdcEfficiencyReportService; import org.jeecg.modules.mdc.util.DateUtils; import org.jeecg.modules.mdc.vo.MdcEfficiencyReportQueryVo; +import org.jeecg.modules.mdc.vo.MdcEfficiencyReportShiftQueryVo; import org.jeecg.modules.mdc.vo.MdcEfficiencyVo; import org.jeecg.modules.system.entity.MdcProduction; import org.jeecg.modules.system.entity.SysDepart; @@ -225,8 +226,195 @@ return result; } + /** + * 寮�鏈虹巼鎶ヨ〃 + * + * @param userId + * @param vo + * @return + */ @Override - public MdcEfficiencyVo shiftEfficiencyList(String userId, MdcEfficiencyReportQueryVo vo) { + public MdcEfficiencyVo efficiencyPOList(String userId, MdcEfficiencyReportQueryVo vo) { + MdcEfficiencyVo result = new MdcEfficiencyVo(); + List<MdcEfficiencyListDto> listDtos = new ArrayList<>(); + List<String> equipmentIds = new ArrayList<>(); + if (StringUtils.isNotEmpty(vo.getParentId()) && StringUtils.isEmpty(vo.getEquipmentId())) { + if ("2".equals(vo.getTypeTree())) { + // 閮ㄩ棬灞傜骇 + equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, vo.getParentId()); + } else { + // 浜х嚎灞傜骇 + equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, vo.getParentId()); + } + } else if (StringUtils.isNotEmpty(vo.getEquipmentId())) { + // 鍗曞彴璁惧淇℃伅 + vo.setEquipmentIdList(Collections.singletonList(vo.getEquipmentId())); + } else { + // 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭� + if ("2".equals(vo.getTypeTree())) { + // 閮ㄩ棬灞傜骇 + equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null); + } else { + // 浜х嚎灞傜骇 + equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null); + } + } + if (vo.getEquipmentIdList() == null || vo.getEquipmentIdList().isEmpty()) { + vo.setEquipmentIdList(equipmentIds); + } + + List<String> dates = DateUtils.getDatesStringList2(DateUtils.getShortDate2(vo.getStartTime()), DateUtils.getShortDate2(vo.getEndTime())); + result.setDates(dates); + + if (vo.getEquipmentIdList() == null || vo.getEquipmentIdList().isEmpty()) { + result.setMdcEfficiencyList(listDtos); + } else { + // 鏌ヨ鍒╃敤鐜囨暟鎹� + List<MdcEfficiencyDto> efficiencyList = mdcEfficiencyReportMapper.efficiencyPOList(vo); + // 鍒╃敤鐜囩瓑绾� + List<MdcUtilizationRate> mdcUtilizationRateList = mdcUtilizationRateService.listByType("kdl"); + + // 灏佽缁撴灉 + if ("2".equals(vo.getTypeTree())) { + // 閮ㄩ棬灞傜骇 + List<MdcEquDepDto> equipmentList = mdcEquipmentService.findEquDepList(vo.getEquipmentIdList()); + // 鏌ヨ鎵�鏈夐儴闂ㄤ俊鎭� + List<SysDepart> departList = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString())); + + for (MdcEquDepDto mdcEquDepDto : equipmentList) { + MdcEfficiencyListDto mdcEfficiencyListDto = new MdcEfficiencyListDto(); + mdcEfficiencyListDto.setEquipmentId(mdcEquDepDto.getEquipmentId()); + mdcEfficiencyListDto.setEquipmentName(mdcEquDepDto.getEquipmentName()); + mdcEfficiencyListDto.setEquipmentType(mdcEquDepDto.getEquipmentType()); + switch (mdcEquDepDto.getOrgType()) { + case "1": + mdcEfficiencyListDto.setLevel1(mdcEquDepDto.getDepartName()); + break; + case "2": + mdcEfficiencyListDto.setLevel2(mdcEquDepDto.getDepartName()); + break; + case "3": + mdcEfficiencyListDto.setLevel3(mdcEquDepDto.getDepartName()); + break; + default: + } + + SysDepart sysDepart = departList.stream().filter(depart -> depart.getId().equals(mdcEquDepDto.getParentId())).findAny().orElse(null); + if (sysDepart != null) { + switch (sysDepart.getOrgType()) { + case "1": + mdcEfficiencyListDto.setLevel1(sysDepart.getDepartName()); + break; + case "2": + mdcEfficiencyListDto.setLevel2(sysDepart.getDepartName()); + break; + case "3": + mdcEfficiencyListDto.setLevel3(sysDepart.getDepartName()); + break; + default: + } + if (StringUtils.isNotEmpty(sysDepart.getParentId())) { + departList.stream().filter(depart -> depart.getId().equals(sysDepart.getParentId())).findAny().ifPresent(depart1 -> { + switch (depart1.getOrgType()) { + case "1": + mdcEfficiencyListDto.setLevel1(depart1.getDepartName()); + break; + case "2": + mdcEfficiencyListDto.setLevel2(depart1.getDepartName()); + break; + case "3": + mdcEfficiencyListDto.setLevel3(depart1.getDepartName()); + break; + default: + } + }); + } + } + List<MdcEfficiencyResultDto> list = new ArrayList<>(); + for (String date : dates) { + list.add(this.efficiencyRate(efficiencyList, date, mdcEquDepDto.getEquipmentId(), mdcUtilizationRateList)); + } + mdcEfficiencyListDto.setDataList(list); + listDtos.add(mdcEfficiencyListDto); + } + } else { + // 浜х嚎灞傜骇 + List<MdcEquProDto> equipmentList = mdcEquipmentService.findEquProList(vo.getEquipmentIdList()); + // 鏌ヨ鎵�鏈変骇绾夸俊鎭� + List<MdcProduction> productionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString())); + + for (MdcEquProDto mdcEquProDto : equipmentList) { + MdcEfficiencyListDto mdcEfficiencyListDto = new MdcEfficiencyListDto(); + mdcEfficiencyListDto.setEquipmentId(mdcEquProDto.getEquipmentId()); + mdcEfficiencyListDto.setEquipmentName(mdcEquProDto.getEquipmentName()); + mdcEfficiencyListDto.setEquipmentType(mdcEquProDto.getEquipmentType()); + switch (mdcEquProDto.getOrgType()) { + case "1": + mdcEfficiencyListDto.setLevel1(mdcEquProDto.getProductionName()); + break; + case "2": + mdcEfficiencyListDto.setLevel2(mdcEquProDto.getProductionName()); + break; + case "3": + mdcEfficiencyListDto.setLevel3(mdcEquProDto.getProductionName()); + break; + default: + } + MdcProduction mdcProduction = productionList.stream().filter(production -> production.getId().equals(mdcEquProDto.getParentId())).findAny().orElse(null); + if (mdcProduction != null) { + switch (mdcProduction.getOrgType()) { + case "1": + mdcEfficiencyListDto.setLevel1(mdcProduction.getProductionName()); + break; + case "2": + mdcEfficiencyListDto.setLevel2(mdcProduction.getProductionName()); + break; + case "3": + mdcEfficiencyListDto.setLevel3(mdcProduction.getProductionName()); + break; + default: + } + if (StringUtils.isNotEmpty(mdcProduction.getParentId())) { + productionList.stream().filter(production -> production.getId().equals(mdcProduction.getParentId())).findAny().ifPresent(production1 -> { + switch (production1.getOrgType()) { + case "1": + mdcEfficiencyListDto.setLevel1(production1.getProductionName()); + break; + case "2": + mdcEfficiencyListDto.setLevel2(production1.getProductionName()); + break; + case "3": + mdcEfficiencyListDto.setLevel3(production1.getProductionName()); + break; + default: + } + }); + } + } + List<MdcEfficiencyResultDto> list = new ArrayList<>(); + for (String date : dates) { + list.add(this.efficiencyRate(efficiencyList, date, mdcEquProDto.getEquipmentId(), mdcUtilizationRateList)); + } + mdcEfficiencyListDto.setDataList(list); + listDtos.add(mdcEfficiencyListDto); + } + } + + result.setMdcEfficiencyList(listDtos); + } + + return result; + } + + /** + * 鐝鍒╃敤鐜囨姤琛� + * + * @param userId + * @param vo + * @return + */ + @Override + public MdcEfficiencyVo efficiencyShiftList(String userId, MdcEfficiencyReportShiftQueryVo vo) { return null; } @@ -238,7 +426,6 @@ mdcEfficiencyResultDto.setTheDate(efficiencyDto.getTheDate()); mdcEfficiencyResultDto.setProcessLong(efficiencyDto.getProcessLong()); mdcEfficiencyResultDto.setUtilizationRate(efficiencyDto.getUtilizationRate()); - mdcEfficiencyResultDto.setStartRate(efficiencyDto.getStartRate()); mdcEfficiencyResultDto.setStartRate(efficiencyDto.getStartRate()); mdcEfficiencyResultDto.setOpenRate(efficiencyDto.getOpenRate()); mdcEfficiencyResultDto.setOpenLong(efficiencyDto.getOpenLong()); @@ -256,7 +443,6 @@ mdcEfficiencyResultDto.setTheDate(date); mdcEfficiencyResultDto.setProcessLong(new BigDecimal("0")); mdcEfficiencyResultDto.setUtilizationRate(new BigDecimal("0")); - mdcEfficiencyResultDto.setStartRate(new BigDecimal("0")); mdcEfficiencyResultDto.setStartRate(new BigDecimal("0")); mdcEfficiencyResultDto.setOpenRate(new BigDecimal("0")); mdcEfficiencyResultDto.setOpenLong(new BigDecimal("0")); diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java index dc553a2..56756e0 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java @@ -38,14 +38,8 @@ public Boolean addTorque(MdcTorqueConfigVo torqueVo) { boolean result = false; String[] equipmentIds = torqueVo.getEquipmentIds().split(","); - List<MdcTorqueConfig> mdcTorqueConfigList = new ArrayList<>(); for (String equipmentId : equipmentIds) { MdcEquipment mdcEquipment = mdcEquipmentService.findEquipmentNameByEquipmentId(equipmentId); - //鏍规嵁Id鏌ヨ姝よ澶囦俊鎭� - LambdaQueryWrapper<MdcTorqueConfig> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(MdcTorqueConfig::getEquipmentId, equipmentId); - queryWrapper.orderByAsc(MdcTorqueConfig::getStartTime); - List<MdcTorqueConfig> mdcTorqueConfigs = this.baseMapper.selectList(queryWrapper); MdcTorqueConfig mdcTorqueConfig = new MdcTorqueConfig(); mdcTorqueConfig.setEquipmentId(equipmentId); mdcTorqueConfig.setEquipmentName(mdcEquipment.getEquipmentName()); diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcUtilizationRateServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcUtilizationRateServiceImpl.java index b9d4024..8c00020 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcUtilizationRateServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcUtilizationRateServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; +import org.jeecg.modules.mdc.dto.MdcUtilizationRateDto; import org.jeecg.modules.mdc.entity.MdcUtilizationRate; import org.jeecg.modules.mdc.mapper.MdcUtilizationRateMapper; import org.jeecg.modules.mdc.service.IMdcUtilizationRateService; @@ -13,6 +14,7 @@ import javax.servlet.http.HttpServletRequest; import java.sql.Array; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -28,7 +30,7 @@ //鍒涘缓鏌ヨ鍣� QueryWrapper<MdcUtilizationRate> queryWrapper = new QueryWrapper(); //妫�鏌TTP璇锋眰浣撲腑鏄惁瀛樺湪鍚嶄负椹卞姩绫诲瀷鐨勫弬鏁�,瀛樺湪鍒檛rue,鑾峰彇绗竴涓暟鎹娇鐢ㄦā绯婃煡璇㈡坊鍔犲埌鍒版煡璇㈠櫒涓� - if (req.getParameterMap().containsKey("rateParameterCategory")){ + if (req.getParameterMap().containsKey("rateParameterCategory")) { String rateParameterCategory = req.getParameterMap().get("rateParameterCategory")[0]; queryWrapper.like(StringUtils.isNotBlank(rateParameterCategory), "rate_parameter_category", rateParameterCategory); } @@ -61,6 +63,7 @@ /** * 鏍规嵁绫诲瀷鏌ヨ鍒╃敤鐜囧眰绾� + * * @param type * @return */ @@ -68,4 +71,23 @@ public List<MdcUtilizationRate> listByType(String type) { return this.baseMapper.selectList(new LambdaQueryWrapper<MdcUtilizationRate>().eq(MdcUtilizationRate::getRateParameterType, type)); } + + /** + * 鏍规嵁绫诲瀷鑾峰彇棰滆壊鏍囩 + * + * @param type + * @return + */ + @Override + public List<MdcUtilizationRateDto> getByType(String type) { + List<MdcUtilizationRateDto> result = new ArrayList<>(); + List<MdcUtilizationRate> list = this.list(new LambdaQueryWrapper<MdcUtilizationRate>().eq(MdcUtilizationRate::getRateParameterType, type).orderByAsc(MdcUtilizationRate::getRateParameterLevel)); + for (MdcUtilizationRate mdcUtilizationRate : list) { + MdcUtilizationRateDto mdcUtilizationRateDto = new MdcUtilizationRateDto(); + mdcUtilizationRateDto.setColor(mdcUtilizationRate.getRateParameterColor()); + mdcUtilizationRateDto.setTitle(mdcUtilizationRate.getMinimumRange() + "% <= " + mdcUtilizationRate.getRateParameterCategory() + " < " + mdcUtilizationRate.getMaximumRange() + "%"); + result.add(mdcUtilizationRateDto); + } + return result; + } } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyReportShiftQueryVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyReportShiftQueryVo.java new file mode 100644 index 0000000..464c650 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyReportShiftQueryVo.java @@ -0,0 +1,48 @@ +package org.jeecg.modules.mdc.vo; + +import lombok.Data; + +import java.util.List; + +/** + * @author: LiuS + * @create: 2023-07-05 14:31 + */ +@Data +public class MdcEfficiencyReportShiftQueryVo { + + /** + * 寮�濮嬫椂闂� -> 20220101 + */ + private String startTime; + /** + * 缁撴潫鏃堕棿 -> 20220101 + */ + private String endTime; + /** + * 鏍戠被鍨� -> 1:杞﹂棿灞傜骇 2:閮ㄩ棬灞傜骇 + */ + private String typeTree; + /** + * 灞傜骇ID + */ + private String parentId; + /** + * 璁惧Id + */ + private String equipmentId; + /** + * 鐝埗Id + */ + private String shiftId; + /** + * 鐝Id + */ + private String shiftSubId; + + /** + * 璁惧ids + */ + private List<String> equipmentIdList; + +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcTorqueConfigVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcTorqueConfigVo.java index a85d387..5337c45 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcTorqueConfigVo.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcTorqueConfigVo.java @@ -9,13 +9,12 @@ @Data public class MdcTorqueConfigVo { - /*璁惧鍚嶇О*/ - private String equipmentName; + /*璁惧缁�*/ private String equipmentIds; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date torqueDate; - private float torqueValue; + private Float torqueValue; private String notes; } -- Gitblit v1.9.3