| src/main/java/com/ruoyi/unattended/controller/UnattendedOperationController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/unattended/mapper/UnattendedOperationMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/unattended/pojo/UnattendedOperation.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/unattended/pojo/vo/UnattendedOperationVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/unattended/service/UnattendedOperationService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/unattended/service/impl/UnattendedOperationServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ruoyi/unattended/controller/UnattendedOperationController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,111 @@ package com.ruoyi.unattended.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.pojo.Account; import com.ruoyi.account.service.AccountService; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.unattended.pojo.UnattendedOperation; import com.ruoyi.unattended.service.UnattendedOperationService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; /** * æ 人å¼å® */ @RestController @RequestMapping("/environmentAccess") @Api(tags = "æ 人å¼å®") public class UnattendedOperationController { @Resource private UnattendedOperationService unattendedOperationService; /** * æ°å¢ * @param unattendedOperation * @return */ @PostMapping("/weighbridgeSystemAdd") @ApiOperation("æ°å¢") public AjaxResult add(@RequestBody UnattendedOperation unattendedOperation) { return AjaxResult.success(unattendedOperationService.save(unattendedOperation)); } /** * å é¤ * @param ids * @return */ @DeleteMapping("/weighbridgeSystemDelete") @ApiOperation("å é¤") public AjaxResult delQualityInspect(@RequestBody List<Integer> ids) { if(CollectionUtils.isEmpty(ids)){ return AjaxResult.error("è¯·éæ©è³å°ä¸æ¡æ°æ®"); } //å 餿£éªå return AjaxResult.success(unattendedOperationService.removeBatchByIds(ids)); } /** * ä¿®æ¹ * @param unattendedOperation * @return */ @PutMapping("/weighbridgeSystemUpdate") @ApiOperation("ä¿®æ¹") public AjaxResult update(@RequestBody UnattendedOperation unattendedOperation) { return AjaxResult.success(unattendedOperationService.updateById(unattendedOperation)); } /** *å页æ¥è¯¢ * @param page * @return */ @GetMapping("/weighbridgeSystemPage") @ApiOperation("å页æ¥è¯¢") public AjaxResult weighbridgeSystemPage(Page page,UnattendedOperation unattendedOperation) { if (ObjectUtils.isNotNull(unattendedOperation.getPlateNumber())){ return AjaxResult.success(unattendedOperationService.page(page, new QueryWrapper<UnattendedOperation>().lambda() .eq(UnattendedOperation::getPlateNumber, unattendedOperation.getPlateNumber()))); } return AjaxResult.success(unattendedOperationService.page(page)); } /** *详æ * @return */ @GetMapping("/weighbridgeSystemInfo") @ApiOperation("详æ ") public AjaxResult accountListPage(Long id) { return AjaxResult.success(unattendedOperationService.getById(id)); } /** *ç»è®¡ * @return */ @GetMapping("/weighbridgeDailyReport") @ApiOperation("ç»è®¡") public AjaxResult weighbridgeDailyReport(String startDate,String endDate) { DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime startDateTime = LocalDateTime.parse(startDate, dateTimeFormatter); LocalDateTime endDateTime = LocalDateTime.parse(endDate, dateTimeFormatter); return AjaxResult.success(unattendedOperationService.weighbridgeDailyReport(startDateTime,endDateTime)); } } src/main/java/com/ruoyi/unattended/mapper/UnattendedOperationMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ package com.ruoyi.unattended.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.pojo.AccountReconciliation; import com.ruoyi.unattended.pojo.UnattendedOperation; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @Mapper public interface UnattendedOperationMapper extends BaseMapper<UnattendedOperation> { } src/main/java/com/ruoyi/unattended/pojo/UnattendedOperation.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,106 @@ package com.ruoyi.unattended.pojo; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.framework.aspectj.lang.annotation.Excel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotBlank; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; /** * æ 人å¼å® */ @TableName(value = "unattended_operation") @Data public class UnattendedOperation implements Serializable { private static final long serialVersionUID = 1L; /** * åºå· */ @TableId(type = IdType.AUTO) private Long id; /** * 车çå· */ @Excel(name = "车çå·") private String plateNumber; @ApiModelProperty(value = "ç§°éæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime weightTime; /** * ç®é */ @Excel(name = "ç®é") private BigDecimal tareWeight; /** * æ¯é */ @Excel(name = "æ¯é") private BigDecimal grossWeight; /** * åç§» */ private BigDecimal positionOffset; /** * 叿º */ private String driverName; /** * èç³»çµè¯ */ private String contactPhone; /** * è´§ç© */ private String cargoName; /** * å°ç£ ç¼å· */ private String weighbridgeNumber; /** * 夿³¨ */ @Excel(name = "夿³¨") private String remark; @ApiModelProperty(value = "å建æ¶é´") @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; @ApiModelProperty(value = "åå»ºç¨æ·") @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty(value = "ä¿®æ¹æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; @ApiModelProperty(value = "ä¿®æ¹ç¨æ·") @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @ApiModelProperty(value = "ç§æ·ID") @TableField(fill = FieldFill.INSERT) private Long tenantId; } src/main/java/com/ruoyi/unattended/pojo/vo/UnattendedOperationVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.ruoyi.unattended.pojo.vo; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDate; @Data public class UnattendedOperationVo { private Long tripCount; private Long cargoVolume; private BigDecimal deviationRate; @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate date; } src/main/java/com/ruoyi/unattended/service/UnattendedOperationService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ package com.ruoyi.unattended.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.account.pojo.AccountReconciliation; import com.ruoyi.unattended.pojo.UnattendedOperation; import com.ruoyi.unattended.pojo.vo.UnattendedOperationVo; import java.time.LocalDateTime; import java.util.List; public interface UnattendedOperationService extends IService<UnattendedOperation> { List<UnattendedOperationVo> weighbridgeDailyReport(LocalDateTime startDate, LocalDateTime endDate); } src/main/java/com/ruoyi/unattended/service/impl/UnattendedOperationServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,46 @@ package com.ruoyi.unattended.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.mapper.AccountReconciliationMapper; import com.ruoyi.account.pojo.AccountReconciliation; import com.ruoyi.account.service.AccountReconciliationService; import com.ruoyi.unattended.mapper.UnattendedOperationMapper; import com.ruoyi.unattended.pojo.UnattendedOperation; import com.ruoyi.unattended.pojo.vo.UnattendedOperationVo; import com.ruoyi.unattended.service.UnattendedOperationService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @AllArgsConstructor @Service public class UnattendedOperationServiceImpl extends ServiceImpl<UnattendedOperationMapper, UnattendedOperation> implements UnattendedOperationService { private UnattendedOperationMapper unattendedOperationMapper; @Override public List<UnattendedOperationVo> weighbridgeDailyReport(LocalDateTime startDate, LocalDateTime endDate) { List<UnattendedOperation> unattendedOperations = unattendedOperationMapper.selectList(Wrappers.<UnattendedOperation>lambdaQuery().between(UnattendedOperation::getWeightTime, startDate, endDate)); Map<LocalDateTime, List<UnattendedOperation>> listMap = unattendedOperations.stream().collect(Collectors.groupingBy(UnattendedOperation::getWeightTime)); List<UnattendedOperationVo> list = listMap.entrySet().stream().map(entry -> { UnattendedOperationVo unattendedOperationVo = new UnattendedOperationVo(); unattendedOperationVo.setDate(entry.getKey().toLocalDate()); unattendedOperationVo.setTripCount((long) entry.getValue().size()); unattendedOperationVo.setCargoVolume(entry.getValue().stream().map(UnattendedOperation::getGrossWeight).mapToLong(BigDecimal::longValue).sum()); long sum = entry.getValue().stream().map(UnattendedOperation::getPositionOffset).mapToLong(BigDecimal::longValue).sum(); unattendedOperationVo.setDeviationRate(BigDecimal.valueOf(sum).divide(BigDecimal.valueOf(entry.getValue().size()), 4, BigDecimal.ROUND_HALF_UP)); return unattendedOperationVo; }).collect(Collectors.toList()); return list; } }