inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -50,6 +50,7 @@ import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.CompletableFuture; @@ -79,6 +80,10 @@ private InsOrderStateMapper insOrderStateMapper; @Resource private InsProductMapper insProductMapper; @Resource private ShiftTimeMapper shiftTimeMapper; @Resource private PerformanceShiftMapper performanceShiftMapper; @Value("${wordUrl}") private String wordUrl; @@ -100,6 +105,9 @@ @Resource AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper; @Resource AuxiliaryOutputWorkingHoursService auxiliaryOutputWorkingHoursService; @Resource private InformationNotificationService informationNotificationService; @@ -495,6 +503,7 @@ map.put("v", JSON.parseObject(JSON.toJSONString(insValue.get("v"))).get("v")); map.put("r", JSON.toJSONString(insValue.get("r"))); map.put("c", JSON.toJSONString(insValue.get("c"))); map.put("w", insValue.get("w")); try { if ((insValue.get("u") == null || insValue.get("u").equals("")) && StrUtil.isNotEmpty(JSON.parseObject(JSON.toJSONString(insValue.get("v"))).get("v").toString())) { map.put("u", userId + ""); @@ -572,31 +581,80 @@ //æ¥è¯¢æ£éªåä¿¡æ¯ InsOrder insOrder = insOrderMapper.selectById(insSampleMapper.selectById(insProduct.getInsSampleId()).getInsOrderId()); //æ ¡éªå¦æè¿ä¸ªäººè¿ä¸ªæ£æµé¡¹ç®å·²ç»æ·»å è¿äºåä¸éè¦åæ°å¢ Long count = auxiliaryOutputWorkingHoursMapper.selectCount(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery() .eq(AuxiliaryOutputWorkingHours::getCheck, userId) .eq(AuxiliaryOutputWorkingHours::getInspectionItem, insProduct.getInspectionItem()) .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, insProduct.getInspectionItemSubclass()) .eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode())); if (count == 0 && ObjectUtils.isNotEmpty(insProduct.getManHour())) { //æ·»å æ¯ä¸ªäººç产éå·¥æ¶,è¦å¤æå½åæ¶é´æ¯å¦æ¯è¿ä¸ªäººçæçæ¶é´,妿䏿¯åæ¯å ç AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours(); auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//æ£æµç¶é¡¹ auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//æ£æµå项 auxiliaryOutputWorkingHours.setSample(insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode());//æ ·åç¼å· auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//éå çå§æåå· auxiliaryOutputWorkingHours.setWorkTime(insProduct.getManHour());//éå çå·¥æ¶ auxiliaryOutputWorkingHours.setAmount(1);//éå çæ°é auxiliaryOutputWorkingHours.setOutputWorkTime(insProduct.getManHour());//产éå·¥æ¶ auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//å·¥æ¶åç» DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//æ¥æ LocalDateTime localDateTime = LocalDateTime.now(); DateTime parse = DateUtil.parse(localDateTime.format(formatter)); auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//ææ auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//卿¬¡ auxiliaryOutputWorkingHours.setCheck(userId);//æ£æµäºº auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours); //é¦å 夿å½å人çå½åæ¶é´æ¯å¦æ¯æçæ¶é´å ,妿䏿¯å°±æ¯å ç LocalDateTime today = LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT); PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery() .eq(PerformanceShift::getUserId, userId) .eq(PerformanceShift::getWorkTime, today)); if (ObjectUtils.isNotEmpty(performanceShift)){ ShiftTime shiftTime = shiftTimeMapper.selectOne(Wrappers.<ShiftTime>lambdaQuery().eq(ShiftTime::getShift, performanceShift.getShift())); if (ObjectUtils.isNotEmpty(shiftTime)){ DateTimeFormatter forma = DateTimeFormatter.ofPattern("HH:mm"); LocalTime now = LocalTime.now(); LocalTime startTime = LocalTime.parse(shiftTime.getStartTime(), forma); LocalTime endTime = LocalTime.parse(shiftTime.getEndTime(), forma); // æ£æ¥å½åæ¶é´æ¯å¦å¨èå´å ï¼å æ¬è¾¹çï¼ boolean isWithinRange = !now.isBefore(startTime) && !now.isAfter(endTime); //å ç AuxiliaryOutputWorkingHours count1 = auxiliaryOutputWorkingHoursMapper.selectOne(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery() .eq(AuxiliaryOutputWorkingHours::getCheck, userId) .eq(AuxiliaryOutputWorkingHours::getInspectionItem, insProduct.getInspectionItem()) .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, insProduct.getInspectionItemSubclass()) .eq(AuxiliaryOutputWorkingHours::getOvertimeOrderNo, insOrder.getEntrustCode())); //éå ç AuxiliaryOutputWorkingHours count2 = auxiliaryOutputWorkingHoursMapper.selectOne(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery() .eq(AuxiliaryOutputWorkingHours::getCheck, userId) .eq(AuxiliaryOutputWorkingHours::getInspectionItem, insProduct.getInspectionItem()) .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, insProduct.getInspectionItemSubclass()) .eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode())); AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours(); if (ObjectUtils.isNotEmpty(count1) ){ auxiliaryOutputWorkingHours = count1; } else if (ObjectUtils.isNotEmpty(count2) ){ auxiliaryOutputWorkingHours = count2; } if (ObjectUtils.isNotEmpty(insProduct.getManHour())) { if (isWithinRange && ObjectUtils.isEmpty(count2)) { //卿¶é´å å°±æ¯æ£å¸¸ä¸ç auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//æ£æµç¶é¡¹ auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//æ£æµå项 auxiliaryOutputWorkingHours.setSample(insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode());//æ ·åç¼å· auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//éå çå§æåå· auxiliaryOutputWorkingHours.setWorkTime(insProduct.getManHour());//éå çå·¥æ¶ auxiliaryOutputWorkingHours.setAmount(1);//éå çæ°é auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime())?auxiliaryOutputWorkingHours.getOvertimeWorkTime():0)+(ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime())?auxiliaryOutputWorkingHours.getWorkTime():0));//产éå·¥æ¶ auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//å·¥æ¶åç» DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//æ¥æ LocalDateTime localDateTime = LocalDateTime.now(); DateTime parse = DateUtil.parse(localDateTime.format(formatter)); auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//ææ auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//卿¬¡ auxiliaryOutputWorkingHours.setCheck(userId);//æ£æµäºº } else if(ObjectUtils.isEmpty(count1)) { //å ç auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//æ£æµç¶é¡¹ auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//æ£æµå项 auxiliaryOutputWorkingHours.setSample(insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode());//æ ·åç¼å· auxiliaryOutputWorkingHours.setOvertimeOrderNo(insOrder.getEntrustCode());//å çå§æåå· auxiliaryOutputWorkingHours.setOvertimeWorkTime(insProduct.getManHour());//å çå·¥æ¶ auxiliaryOutputWorkingHours.setOvertimeAmount(1);//å çæ°é auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime())?auxiliaryOutputWorkingHours.getOvertimeWorkTime():0)+(ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime())?auxiliaryOutputWorkingHours.getWorkTime():0));//产éå·¥æ¶ auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//å·¥æ¶åç» DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//æ¥æ LocalDateTime localDateTime = LocalDateTime.now(); DateTime parse = DateUtil.parse(localDateTime.format(formatter)); auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//ææ auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//卿¬¡ auxiliaryOutputWorkingHours.setCheck(userId);//æ£æµäºº } auxiliaryOutputWorkingHoursService.saveOrUpdate(auxiliaryOutputWorkingHours); } } } InsSample insSample = insSampleMapper.selectById(insProductMapper.selectById(insProduct.getId()).getInsSampleId()); performance-server/src/main/java/com/yuanchu/mom/controller/ShiftTimeController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,63 @@ package com.yuanchu.mom.controller; import com.yuanchu.mom.annotation.ValueAuth; import com.yuanchu.mom.annotation.ValueClassify; import com.yuanchu.mom.dto.PerformanceShiftAddDto; import com.yuanchu.mom.pojo.ShiftTime; import com.yuanchu.mom.service.PerformanceShiftService; import com.yuanchu.mom.service.ShiftTimeService; import com.yuanchu.mom.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * <p> * çæ¬¡å¯¹åºçæ¶é´ å端æ§å¶å¨ * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-07-24 11:22:17 */ @Api(tags = "绩æç®¡ç-çæ¬¡") @RestController @RequestMapping("/shiftTime") public class ShiftTimeController { @Autowired private ShiftTimeService shiftTimeService; @ValueAuth @ApiOperation(value = "æçæ¶é´é ç½®") @PostMapping("add") public Result<?> shiftTimeAdd(@RequestBody ShiftTime shiftTime) { shiftTimeService.shiftTimeAdd(shiftTime); return Result.success(); } @ValueClassify("çæ¬¡") @ApiOperation(value = "æçæ¶é´é ç½®æ¥è¯¢") @PostMapping("list") public Result<?> shiftTimeList() { return Result.success(shiftTimeService.shiftTimeList()); } @ValueAuth @ApiOperation(value = "æçæ¶é´é ç½®å é¤") @PostMapping("remove") public Result<?> shiftTimeRemove(Long id) { return Result.success(shiftTimeService.removeById(id)); } @ValueAuth @ApiOperation(value = "æçæ¶é´é 置修æ¹") @PostMapping("update") public Result<?> shiftTimeUpdate(@RequestBody ShiftTime shiftTime) { return Result.success(shiftTimeService.updateById(shiftTime)); } } performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java
@@ -30,7 +30,7 @@ List<AuxiliaryOutputWorkingHoursDto> selectDataByUser(@Param("ids") List<Integer> ids); //æ¥è¯¢è¯¥æç产éå·¥æ¶ List<Map<String, Object>> totalHours(@Param("month") String month, @Param("ids") List<Integer> ids); List<Map<String, Object>> totalHours(@Param("month") String month, @Param("ids") List<Integer> ids, @Param("type") String type); List<AuxiliaryOutputWorkingHours> selectListByIds(@Param("ids") List<Integer> ids); performance-server/src/main/java/com/yuanchu/mom/mapper/ShiftTimeMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.yuanchu.mom.mapper; import com.yuanchu.mom.pojo.ShiftTime; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * <p> * çæ¬¡å¯¹åºçæ¶é´ Mapper æ¥å£ * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-07-24 11:22:17 */ public interface ShiftTimeMapper extends BaseMapper<ShiftTime> { } performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryCorrectionHours.java
@@ -41,157 +41,157 @@ @ExcelProperty(value = "ç±»å") private String type; @ApiModelProperty("1æ¥") @ApiModelProperty("1") @ValueTableShow(4) @ExcelProperty(value = "1æ¥") private Double oneHours; @ApiModelProperty("2æ¥") @ApiModelProperty("2") @ValueTableShow(5) @ExcelProperty(value = "2æ¥") private Double twoHours; @ApiModelProperty("3æ¥") @ApiModelProperty("3") @ValueTableShow(6) @ExcelProperty(value = "3æ¥") private Double threeHours; @ApiModelProperty("4æ¥") @ApiModelProperty("4") @ValueTableShow(7) @ExcelProperty(value = "4æ¥") private Double fourHours; @ApiModelProperty("5æ¥") @ApiModelProperty("5") @ValueTableShow(8) @ExcelProperty(value = "5æ¥") private Double fiveHours; @ApiModelProperty("6æ¥") @ApiModelProperty("6") @ValueTableShow(9) @ExcelProperty(value = "6æ¥") private Double sixHours; @ApiModelProperty("7æ¥") @ApiModelProperty("7") @ValueTableShow(10) @ExcelProperty(value = "7æ¥") private Double sevenHours; @ApiModelProperty("8æ¥") @ApiModelProperty("8") @ValueTableShow(11) @ExcelProperty(value = "8æ¥") private Double eightHours; @ApiModelProperty("9æ¥") @ApiModelProperty("9") @ValueTableShow(12) @ExcelProperty(value = "9æ¥") private Double nineHours; @ApiModelProperty("10æ¥") @ApiModelProperty("10") @ValueTableShow(13) @ExcelProperty(value = "10æ¥") private Double tenHours; @ApiModelProperty("11æ¥") @ApiModelProperty("11") @ValueTableShow(14) @ExcelProperty(value = "11æ¥") private Double elevenHours; @ApiModelProperty("12æ¥") @ApiModelProperty("12") @ValueTableShow(15) @ExcelProperty(value = "12æ¥") private Double twelveHours; @ApiModelProperty("13æ¥") @ApiModelProperty("13") @ValueTableShow(16) @ExcelProperty(value = "13æ¥") private Double thirteenHours; @ApiModelProperty("14æ¥") @ApiModelProperty("14") @ValueTableShow(17) @ExcelProperty(value = "14æ¥") private Double fourteenHours; @ApiModelProperty("15æ¥") @ApiModelProperty("15") @ValueTableShow(18) @ExcelProperty(value = "15æ¥") private Double fifteenHours; @ApiModelProperty("16æ¥") @ApiModelProperty("16") @ValueTableShow(19) @ExcelProperty(value = "16æ¥") private Double sixteenHours; @ApiModelProperty("17æ¥") @ApiModelProperty("17") @ValueTableShow(20) @ExcelProperty(value = "17æ¥") private Double seventeenHours; @ApiModelProperty("18æ¥") @ApiModelProperty("18") @ValueTableShow(21) @ExcelProperty(value = "18æ¥") private Double eighteenHours; @ApiModelProperty("19æ¥") @ApiModelProperty("19") @ValueTableShow(22) @ExcelProperty(value = "19æ¥") private Double nineteenHours; @ApiModelProperty("20æ¥") @ApiModelProperty("20") @ValueTableShow(23) @ExcelProperty(value = "20æ¥") private Double twentyHours; @ApiModelProperty("21æ¥") @ApiModelProperty("21") @ValueTableShow(24) @ExcelProperty(value = "21æ¥") private Double twentyOneHours; @ApiModelProperty("22æ¥") @ApiModelProperty("22") @ValueTableShow(25) @ExcelProperty(value = "22æ¥") private Double twentyTwoHours; @ApiModelProperty("23æ¥") @ApiModelProperty("23") @ValueTableShow(26) @ExcelProperty(value = "23æ¥") private Double twentyThreeHours; @ApiModelProperty("24æ¥") @ApiModelProperty("24") @ValueTableShow(27) @ExcelProperty(value = "24æ¥") private Double twentyFourHours; @ApiModelProperty("25æ¥") @ApiModelProperty("25") @ValueTableShow(28) @ExcelProperty(value = "25æ¥") private Double twentyFiveHours; @ApiModelProperty("26æ¥") @ApiModelProperty("26") @ValueTableShow(29) @ExcelProperty(value = "26æ¥") private Double twentySixHours; @ApiModelProperty("27æ¥") @ApiModelProperty("27") @ValueTableShow(30) @ExcelProperty(value = "27æ¥") private Double twentySevenHours; @ApiModelProperty("28æ¥") @ApiModelProperty("28") @ValueTableShow(31) @ExcelProperty(value = "28æ¥") private Double twentyEightHours; @ApiModelProperty("29æ¥") @ApiModelProperty("29") @ValueTableShow(32) @ExcelProperty(value = "29æ¥") private Double twentyNineHours; @ApiModelProperty("30æ¥") @ApiModelProperty("30") @ValueTableShow(33) @ExcelProperty(value = "30æ¥") private Double thirtyHours; @ApiModelProperty("31æ¥") @ApiModelProperty("31") @ValueTableShow(34) @ExcelProperty(value = "31æ¥") private Double thirtyOneHours; performance-server/src/main/java/com/yuanchu/mom/pojo/PerformanceShift.java
@@ -1,6 +1,7 @@ package com.yuanchu.mom.pojo; import com.baomidou.mybatisplus.annotation.*; import com.yuanchu.mom.common.OrderBy; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -19,7 +20,7 @@ @Data @TableName("performance_shift") @ApiModel(value = "PerformanceShift对象", description = "绩æç®¡ç-çæ¬¡") public class PerformanceShift implements Serializable { public class PerformanceShift extends OrderBy implements Serializable { private static final long serialVersionUID = 1L; performance-server/src/main/java/com/yuanchu/mom/pojo/ShiftTime.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,59 @@ package com.yuanchu.mom.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; import com.yuanchu.mom.common.OrderBy; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; /** * <p> * çæ¬¡å¯¹åºçæ¶é´ * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-07-24 11:22:17 */ @Getter @Setter @TableName("shift_time") @ApiModel(value = "ShiftTime对象", description = "çæ¬¡å¯¹åºçæ¶é´") public class ShiftTime extends OrderBy implements Serializable { @ApiModelProperty("主é®ID") @TableId(value = "id", type = IdType.AUTO) private Integer id; @ApiModelProperty("çæ¬¡") private String shift; @ApiModelProperty("å¼å§æ¶é´") private String startTime; @ApiModelProperty("ç»ææ¶é´") private String endTime; @ApiModelProperty("å建人Id") @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty("åå»ºæ¥æ") @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; @ApiModelProperty("æ´æ°äººId") @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @ApiModelProperty("æ´æ°æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; } performance-server/src/main/java/com/yuanchu/mom/service/ShiftTimeService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,22 @@ package com.yuanchu.mom.service; import com.yuanchu.mom.pojo.ShiftTime; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; /** * <p> * çæ¬¡å¯¹åºçæ¶é´ æå¡ç±» * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-07-24 11:22:17 */ public interface ShiftTimeService extends IService<ShiftTime> { void shiftTimeAdd(ShiftTime shiftTime); List<ShiftTime> shiftTimeList(); } performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java
@@ -110,8 +110,9 @@ List<AuxiliaryOriginalHoursDto> auxiliaryOriginalHoursDtos = new ArrayList<>(); Map<String, AuxiliaryOriginalHoursDto> data1 = new HashMap<>(); Map<String, AuxiliaryOriginalHoursDto> data2 = new HashMap<>(); Map<String, AuxiliaryOriginalHoursDto> data3 = new HashMap<>(); //产éå·¥æ¶ List<Map<String, Object>> maps = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids); List<Map<String, Object>> maps = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids,"产éå·¥æ¶"); if (ObjectUtils.isNotEmpty(maps)) { data1 = getData(maps, "产éå·¥æ¶"); auxiliaryOriginalHoursDtos.addAll(data1.values()); @@ -123,70 +124,23 @@ auxiliaryOriginalHoursDtos.addAll(data2.values()); } //å çå·¥æ¶ List<Map<String, Object>> maps2 = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids,"å çå·¥æ¶"); if (ObjectUtils.isNotEmpty(maps2)) { data3 = getData(maps2, "å çå·¥æ¶"); auxiliaryOriginalHoursDtos.addAll(data3.values()); } //æ»å·¥æ¶=产éå·¥æ¶+è¾ å©å·¥æ¶+å çå·¥æ¶ Map<String, AuxiliaryOriginalHoursDto> data4 = new HashMap<String, AuxiliaryOriginalHoursDto>(); Map<String, AuxiliaryOriginalHoursDto> data3 = data1; if (data1.size()>0) { Map<String, AuxiliaryOriginalHoursDto> data5 = data1; if (data2.size() > 0) { for (Map.Entry<String, AuxiliaryOriginalHoursDto> entry : data2.entrySet()) { String key = entry.getKey(); AuxiliaryOriginalHoursDto value = entry.getValue(); if (data3.containsKey(key)) { for (Map.Entry<String, AuxiliaryOriginalHoursDto> dtoEntry : data3.entrySet()) { if (dtoEntry.getKey().equals(key)) { AuxiliaryOriginalHoursDto auxiliaryOriginalHoursDto = new AuxiliaryOriginalHoursDto(); AuxiliaryOriginalHoursDto hoursDto = data3.get(key); BeanUtils.copyProperties(hoursDto, auxiliaryOriginalHoursDto); auxiliaryOriginalHoursDto.setType("æ»å·¥æ¶"); auxiliaryOriginalHoursDto.setOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getOneHours()) ? auxiliaryOriginalHoursDto.getOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getOneHours()) ? value.getOneHours() : 0)); auxiliaryOriginalHoursDto.setTwoHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwoHours()) ? auxiliaryOriginalHoursDto.getTwoHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwoHours()) ? value.getTwoHours() : 0)); auxiliaryOriginalHoursDto.setThreeHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThreeHours()) ? auxiliaryOriginalHoursDto.getThreeHours() : 0) + (ObjectUtils.isNotEmpty(value.getThreeHours()) ? value.getThreeHours() : 0)); auxiliaryOriginalHoursDto.setFourHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourHours()) ? auxiliaryOriginalHoursDto.getFourHours() : 0) + (ObjectUtils.isNotEmpty(value.getFourHours()) ? value.getFourHours() : 0)); auxiliaryOriginalHoursDto.setFiveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFiveHours()) ? auxiliaryOriginalHoursDto.getFiveHours() : 0) + (ObjectUtils.isNotEmpty(value.getFiveHours()) ? value.getFiveHours() : 0)); auxiliaryOriginalHoursDto.setSixHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixHours()) ? auxiliaryOriginalHoursDto.getSixHours() : 0) + (ObjectUtils.isNotEmpty(value.getSixHours()) ? value.getSixHours() : 0)); auxiliaryOriginalHoursDto.setSevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSevenHours()) ? auxiliaryOriginalHoursDto.getSevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSevenHours()) ? value.getSevenHours() : 0)); auxiliaryOriginalHoursDto.setEightHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEightHours()) ? auxiliaryOriginalHoursDto.getEightHours() : 0) + (ObjectUtils.isNotEmpty(value.getEightHours()) ? value.getEightHours() : 0)); auxiliaryOriginalHoursDto.setNineHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineHours()) ? auxiliaryOriginalHoursDto.getNineHours() : 0) + (ObjectUtils.isNotEmpty(value.getNineHours()) ? value.getNineHours() : 0)); auxiliaryOriginalHoursDto.setTenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTenHours()) ? auxiliaryOriginalHoursDto.getTenHours() : 0) + (ObjectUtils.isNotEmpty(value.getTenHours()) ? value.getTenHours() : 0)); auxiliaryOriginalHoursDto.setElevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getElevenHours()) ? auxiliaryOriginalHoursDto.getElevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getElevenHours()) ? value.getElevenHours() : 0)); auxiliaryOriginalHoursDto.setTwelveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwelveHours()) ? value.getTwelveHours() : 0)); auxiliaryOriginalHoursDto.setThirteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirteenHours()) ? auxiliaryOriginalHoursDto.getThirteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirteenHours()) ? value.getThirteenHours() : 0)); auxiliaryOriginalHoursDto.setFourteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourteenHours()) ? auxiliaryOriginalHoursDto.getFourteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getFourteenHours()) ? value.getFourteenHours() : 0)); auxiliaryOriginalHoursDto.setFifteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFifteenHours()) ? auxiliaryOriginalHoursDto.getFifteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getFifteenHours()) ? value.getFifteenHours() : 0)); auxiliaryOriginalHoursDto.setSixteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixteenHours()) ? auxiliaryOriginalHoursDto.getSixteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSixteenHours()) ? value.getSixteenHours() : 0)); auxiliaryOriginalHoursDto.setSeventeenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSeventeenHours()) ? auxiliaryOriginalHoursDto.getSeventeenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSeventeenHours()) ? value.getSeventeenHours() : 0)); auxiliaryOriginalHoursDto.setEighteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEighteenHours()) ? auxiliaryOriginalHoursDto.getEighteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getEighteenHours()) ? value.getEighteenHours() : 0)); auxiliaryOriginalHoursDto.setNineteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineteenHours()) ? auxiliaryOriginalHoursDto.getNineteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getNineteenHours()) ? value.getNineteenHours() : 0)); auxiliaryOriginalHoursDto.setTwelveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwelveHours()) ? value.getTwelveHours() : 0)); auxiliaryOriginalHoursDto.setTwentyOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyOneHours()) ? auxiliaryOriginalHoursDto.getTwentyOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyOneHours()) ? value.getTwentyOneHours() : 0)); auxiliaryOriginalHoursDto.setTwentyTwoHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyTwoHours()) ? auxiliaryOriginalHoursDto.getTwentyTwoHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyTwoHours()) ? value.getTwentyTwoHours() : 0)); auxiliaryOriginalHoursDto.setTwentyThreeHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyThreeHours()) ? auxiliaryOriginalHoursDto.getTwentyThreeHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyThreeHours()) ? value.getTwentyThreeHours() : 0)); auxiliaryOriginalHoursDto.setTwentyFourHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyFourHours()) ? value.getTwentyFourHours() : 0)); auxiliaryOriginalHoursDto.setTwentyFiveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFiveHours()) ? auxiliaryOriginalHoursDto.getTwentyFiveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyFiveHours()) ? value.getTwentyFiveHours() : 0)); auxiliaryOriginalHoursDto.setTwentySixHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySixHours()) ? auxiliaryOriginalHoursDto.getTwentySixHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentySixHours()) ? value.getTwentySixHours() : 0)); auxiliaryOriginalHoursDto.setTwentySevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySevenHours()) ? auxiliaryOriginalHoursDto.getTwentySevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentySevenHours()) ? value.getTwentySevenHours() : 0)); auxiliaryOriginalHoursDto.setTwentyEightHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyEightHours()) ? auxiliaryOriginalHoursDto.getTwentyEightHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyEightHours()) ? value.getTwentyEightHours() : 0)); auxiliaryOriginalHoursDto.setTwentyNineHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyNineHours()) ? auxiliaryOriginalHoursDto.getTwentyNineHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyNineHours()) ? value.getTwentyNineHours() : 0)); auxiliaryOriginalHoursDto.setThirtyHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyHours()) ? auxiliaryOriginalHoursDto.getThirtyHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirtyHours()) ? value.getThirtyHours() : 0)); auxiliaryOriginalHoursDto.setThirtyOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyOneHours()) ? auxiliaryOriginalHoursDto.getThirtyOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirtyOneHours()) ? value.getThirtyOneHours() : 0)); auxiliaryOriginalHoursDto.setTotal((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTotal()) ? auxiliaryOriginalHoursDto.getTotal() : 0) + (ObjectUtils.isNotEmpty(value.getTotal()) ? value.getTotal() : 0)); data4.put(key, auxiliaryOriginalHoursDto); } else { AuxiliaryOriginalHoursDto hoursDto = data3.get(dtoEntry.getKey()); AuxiliaryOriginalHoursDto dto = new AuxiliaryOriginalHoursDto(); BeanUtils.copyProperties(hoursDto, dto); dto.setType("æ»å·¥æ¶"); data4.put(dtoEntry.getKey(), dto); } } } else { value.setType("æ»å·¥æ¶"); data4.put(key, value); } } merge(data5,data4,data2); } else { for (Map.Entry<String, AuxiliaryOriginalHoursDto> entry : data3.entrySet()) { if (data3.size()>0){ merge(data5,data4,data3); } if(data2.size()==0 && data3.size()==0) { for (Map.Entry<String, AuxiliaryOriginalHoursDto> entry : data5.entrySet()) { AuxiliaryOriginalHoursDto dto = entry.getValue(); AuxiliaryOriginalHoursDto originalHoursDto = new AuxiliaryOriginalHoursDto(); BeanUtils.copyProperties(dto, originalHoursDto); @@ -196,17 +150,6 @@ } auxiliaryOriginalHoursDtos.addAll(data4.values()); } /*List<Map<String, Object>> maps2 = auxiliaryOriginalHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids); if (ObjectUtils.isNotEmpty(maps2)) { //产éå·¥æ¶+è¾ å©å·¥æ¶é½ä¸ä¸ºç©º auxiliaryOriginalHoursDtos.addAll(getData(maps2, "æ»å·¥æ¶").values()); } //å¦æè¾ å©å·¥æ¶ä¸ä¸ºç©º else if (ObjectUtils.isNotEmpty(maps1)) { auxiliaryOriginalHoursDtos.addAll(getData(maps1, "æ»å·¥æ¶").values()); } else if (ObjectUtils.isNotEmpty(maps)) { auxiliaryOriginalHoursDtos.addAll(getData(maps, "æ»å·¥æ¶").values()); }*/ auxiliaryOriginalHoursDtos = auxiliaryOriginalHoursDtos.stream().sorted(Comparator.comparing(AuxiliaryOriginalHoursDto::getName)).collect(Collectors.toList()); // æ£æ¥æ¯ä¸ªäººçå·¥æ¶ç±»åï¼è¡¥å ¨ç¼ºå°çå·¥æ¶ @@ -586,4 +529,67 @@ } return dtoMap; } //åå¹¶ private void merge(Map<String, AuxiliaryOriginalHoursDto> data5,Map<String, AuxiliaryOriginalHoursDto> data4,Map<String, AuxiliaryOriginalHoursDto> data2) { for (Map.Entry<String, AuxiliaryOriginalHoursDto> entry : data2.entrySet()) { String key = entry.getKey(); AuxiliaryOriginalHoursDto value = entry.getValue(); if (data5.containsKey(key)) { for (Map.Entry<String, AuxiliaryOriginalHoursDto> dtoEntry : data5.entrySet()) { if (dtoEntry.getKey().equals(key)) { AuxiliaryOriginalHoursDto auxiliaryOriginalHoursDto = new AuxiliaryOriginalHoursDto(); AuxiliaryOriginalHoursDto hoursDto = data5.get(key); BeanUtils.copyProperties(hoursDto, auxiliaryOriginalHoursDto); auxiliaryOriginalHoursDto.setType("æ»å·¥æ¶"); auxiliaryOriginalHoursDto.setOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getOneHours()) ? auxiliaryOriginalHoursDto.getOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getOneHours()) ? value.getOneHours() : 0)); auxiliaryOriginalHoursDto.setTwoHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwoHours()) ? auxiliaryOriginalHoursDto.getTwoHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwoHours()) ? value.getTwoHours() : 0)); auxiliaryOriginalHoursDto.setThreeHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThreeHours()) ? auxiliaryOriginalHoursDto.getThreeHours() : 0) + (ObjectUtils.isNotEmpty(value.getThreeHours()) ? value.getThreeHours() : 0)); auxiliaryOriginalHoursDto.setFourHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourHours()) ? auxiliaryOriginalHoursDto.getFourHours() : 0) + (ObjectUtils.isNotEmpty(value.getFourHours()) ? value.getFourHours() : 0)); auxiliaryOriginalHoursDto.setFiveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFiveHours()) ? auxiliaryOriginalHoursDto.getFiveHours() : 0) + (ObjectUtils.isNotEmpty(value.getFiveHours()) ? value.getFiveHours() : 0)); auxiliaryOriginalHoursDto.setSixHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixHours()) ? auxiliaryOriginalHoursDto.getSixHours() : 0) + (ObjectUtils.isNotEmpty(value.getSixHours()) ? value.getSixHours() : 0)); auxiliaryOriginalHoursDto.setSevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSevenHours()) ? auxiliaryOriginalHoursDto.getSevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSevenHours()) ? value.getSevenHours() : 0)); auxiliaryOriginalHoursDto.setEightHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEightHours()) ? auxiliaryOriginalHoursDto.getEightHours() : 0) + (ObjectUtils.isNotEmpty(value.getEightHours()) ? value.getEightHours() : 0)); auxiliaryOriginalHoursDto.setNineHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineHours()) ? auxiliaryOriginalHoursDto.getNineHours() : 0) + (ObjectUtils.isNotEmpty(value.getNineHours()) ? value.getNineHours() : 0)); auxiliaryOriginalHoursDto.setTenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTenHours()) ? auxiliaryOriginalHoursDto.getTenHours() : 0) + (ObjectUtils.isNotEmpty(value.getTenHours()) ? value.getTenHours() : 0)); auxiliaryOriginalHoursDto.setElevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getElevenHours()) ? auxiliaryOriginalHoursDto.getElevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getElevenHours()) ? value.getElevenHours() : 0)); auxiliaryOriginalHoursDto.setTwelveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwelveHours()) ? value.getTwelveHours() : 0)); auxiliaryOriginalHoursDto.setThirteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirteenHours()) ? auxiliaryOriginalHoursDto.getThirteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirteenHours()) ? value.getThirteenHours() : 0)); auxiliaryOriginalHoursDto.setFourteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourteenHours()) ? auxiliaryOriginalHoursDto.getFourteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getFourteenHours()) ? value.getFourteenHours() : 0)); auxiliaryOriginalHoursDto.setFifteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFifteenHours()) ? auxiliaryOriginalHoursDto.getFifteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getFifteenHours()) ? value.getFifteenHours() : 0)); auxiliaryOriginalHoursDto.setSixteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixteenHours()) ? auxiliaryOriginalHoursDto.getSixteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSixteenHours()) ? value.getSixteenHours() : 0)); auxiliaryOriginalHoursDto.setSeventeenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSeventeenHours()) ? auxiliaryOriginalHoursDto.getSeventeenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSeventeenHours()) ? value.getSeventeenHours() : 0)); auxiliaryOriginalHoursDto.setEighteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEighteenHours()) ? auxiliaryOriginalHoursDto.getEighteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getEighteenHours()) ? value.getEighteenHours() : 0)); auxiliaryOriginalHoursDto.setNineteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineteenHours()) ? auxiliaryOriginalHoursDto.getNineteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getNineteenHours()) ? value.getNineteenHours() : 0)); auxiliaryOriginalHoursDto.setTwelveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwelveHours()) ? value.getTwelveHours() : 0)); auxiliaryOriginalHoursDto.setTwentyOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyOneHours()) ? auxiliaryOriginalHoursDto.getTwentyOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyOneHours()) ? value.getTwentyOneHours() : 0)); auxiliaryOriginalHoursDto.setTwentyTwoHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyTwoHours()) ? auxiliaryOriginalHoursDto.getTwentyTwoHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyTwoHours()) ? value.getTwentyTwoHours() : 0)); auxiliaryOriginalHoursDto.setTwentyThreeHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyThreeHours()) ? auxiliaryOriginalHoursDto.getTwentyThreeHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyThreeHours()) ? value.getTwentyThreeHours() : 0)); double v = ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : 0; double v1 = ObjectUtils.isNotEmpty(value.getTwentyFourHours()) ? value.getTwentyFourHours() : 0; double v2 = v + v1; auxiliaryOriginalHoursDto.setTwentyFourHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyFourHours()) ? value.getTwentyFourHours() : 0)); auxiliaryOriginalHoursDto.setTwentyFiveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFiveHours()) ? auxiliaryOriginalHoursDto.getTwentyFiveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyFiveHours()) ? value.getTwentyFiveHours() : 0)); auxiliaryOriginalHoursDto.setTwentySixHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySixHours()) ? auxiliaryOriginalHoursDto.getTwentySixHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentySixHours()) ? value.getTwentySixHours() : 0)); auxiliaryOriginalHoursDto.setTwentySevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySevenHours()) ? auxiliaryOriginalHoursDto.getTwentySevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentySevenHours()) ? value.getTwentySevenHours() : 0)); auxiliaryOriginalHoursDto.setTwentyEightHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyEightHours()) ? auxiliaryOriginalHoursDto.getTwentyEightHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyEightHours()) ? value.getTwentyEightHours() : 0)); auxiliaryOriginalHoursDto.setTwentyNineHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyNineHours()) ? auxiliaryOriginalHoursDto.getTwentyNineHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyNineHours()) ? value.getTwentyNineHours() : 0)); auxiliaryOriginalHoursDto.setThirtyHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyHours()) ? auxiliaryOriginalHoursDto.getThirtyHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirtyHours()) ? value.getThirtyHours() : 0)); auxiliaryOriginalHoursDto.setThirtyOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyOneHours()) ? auxiliaryOriginalHoursDto.getThirtyOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirtyOneHours()) ? value.getThirtyOneHours() : 0)); auxiliaryOriginalHoursDto.setTotal((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTotal()) ? auxiliaryOriginalHoursDto.getTotal() : 0) + (ObjectUtils.isNotEmpty(value.getTotal()) ? value.getTotal() : 0)); data4.put(key, auxiliaryOriginalHoursDto); } /*else { AuxiliaryOriginalHoursDto hoursDto = data5.get(dtoEntry.getKey()); AuxiliaryOriginalHoursDto dto = new AuxiliaryOriginalHoursDto(); BeanUtils.copyProperties(hoursDto, dto); dto.setType("æ»å·¥æ¶"); data4.put(dtoEntry.getKey(), dto); }*/ } } else { value.setType("æ»å·¥æ¶"); data4.put(key, value); } } } } performance-server/src/main/java/com/yuanchu/mom/service/impl/ShiftTimeServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,35 @@ package com.yuanchu.mom.service.impl; import com.yuanchu.mom.pojo.ShiftTime; import com.yuanchu.mom.mapper.ShiftTimeMapper; import com.yuanchu.mom.service.ShiftTimeService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * <p> * çæ¬¡å¯¹åºçæ¶é´ æå¡å®ç°ç±» * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-07-24 11:22:17 */ @Service public class ShiftTimeServiceImpl extends ServiceImpl<ShiftTimeMapper, ShiftTime> implements ShiftTimeService { @Resource ShiftTimeMapper shiftTimeMapper; @Override public void shiftTimeAdd(ShiftTime shiftTime) { shiftTimeMapper.insert(shiftTime); } @Override public List<ShiftTime> shiftTimeList() { return shiftTimeMapper.selectList(null); } } performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
@@ -76,7 +76,8 @@ order_no, sample, man_hour_group, output_work_time as manHours case when #{type}='å çå·¥æ¶' then case when overtime_work_time is null then 0 else overtime_work_time end else case when work_time is null then 0 else work_time end end as manHours -- FORMAT(SUM(output_work_time), 4) as manHours from auxiliary_output_working_hours aowh left join user on user.id=aowh.`check` performance-server/src/main/resources/mapper/ShiftTimeMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ <?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.yuanchu.mom.mapper.ShiftTimeMapper"> <!-- éç¨æ¥è¯¢æ å°ç»æ --> <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.ShiftTime"> <id column="id" property="id" /> <result column="shift" property="shift" /> <result column="start_time" property="startTime" /> <result column="end_time" property="endTime" /> <result column="create_user" property="createUser" /> <result column="create_time" property="createTime" /> <result column="update_user" property="updateUser" /> <result column="update_time" property="updateTime" /> </resultMap> </mapper> system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java
@@ -16,11 +16,11 @@ // æ¼ç¤ºä¾åï¼æ§è¡ main æ¹æ³æ§å¶å°è¾å ¥æ¨¡å表åå车èªå¨çæå¯¹åºé¡¹ç®ç®å½ä¸ public class CodeGenerator { public static String database_url = "jdbc:mysql://10.1.200.86:3306/center-lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8"; public static String database_url = "jdbc:mysql://localhost:3306/aaa?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8"; public static String database_username = "root"; public static String database_password= "zttZTT123!"; public static String database_password= "123456"; public static String author = "æ±èéµ·éç½ç»ç§ææéå ¬å¸"; public static String model_name = "/cnas-server"; // å¦æä¸ºåå¸å¼å¡«å模ååç§°ï¼å¦æä¸æ¯åå¸å¼ä¸ºç©ºå³å¯ public static String model_name = "/performance-server"; // å¦æä¸ºåå¸å¼å¡«å模ååç§°ï¼å¦æä¸æ¯åå¸å¼ä¸ºç©ºå³å¯ public static String setParent = "com.yuanchu.mom"; // å è·¯å¾ public static String tablePrefix = "device_"; // è®¾ç½®è¿æ»¤è¡¨åç¼ public static void main(String[] args) { system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
@@ -6,6 +6,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAdjusters; import java.time.temporal.WeekFields; import java.util.Locale; @@ -16,29 +17,16 @@ @Test void contextLoads() { // è·åå½åæ¥æ LocalDate today = LocalDate.now(); // è·åæ¬æç第ä¸å¤©åæåä¸å¤© LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth()); LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth()); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss"); String a = "09:00:00"; String b = "17:00:00"; LocalTime now = LocalTime.now(); LocalTime startTime = LocalTime.parse(a, formatter); LocalTime endTime = LocalTime.parse(b, formatter); // è·åå¨å段信æ¯ï¼æ ¹æ®åºåè®¾ç½®ï¼ WeekFields weekFields = WeekFields.of(Locale.getDefault()); // è·åæ¬æç¬¬ä¸å¤©çå¨ä¸ LocalDate startOfWeek = firstDayOfMonth.with(TemporalAdjusters.previousOrSame(weekFields.getFirstDayOfWeek())); // éåæ¬æææå¤©æ°ï¼æ¾åºæ¯å¨ç第ä¸å¤©åæåä¸å¤© LocalDate endOfWeek; while (startOfWeek.isBefore(firstDayOfMonth.plusMonths(1))) { endOfWeek = startOfWeek.plusDays(6); LocalDateTime startDateTime = LocalDateTime.of(startOfWeek, LocalTime.MIDNIGHT); LocalDateTime endDateTime = LocalDateTime.of(endOfWeek, LocalTime.MIDNIGHT); System.out.println("Week starts on " + startDateTime + " and ends on " + endDateTime); startOfWeek = startOfWeek.plusWeeks(1); } // æ£æ¥å½åæ¶é´æ¯å¦å¨èå´å ï¼å æ¬è¾¹çï¼ boolean isWithinRange = !now.isBefore(startTime) && !now.isAfter(endTime); System.out.println(isWithinRange); } }