k94314517
2024-10-21 f8e96ddd8080e49105371b49f37b8d069778620f
代码初始化
已添加2个文件
已修改12个文件
356 ■■■■ 文件已修改
server/system_service/src/main/java/com/doumee/core/utils/Constants.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/PlatformWaterGasController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWaterGasCloudController.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/request/PlatformGasImport.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java 88 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWaterGas.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/PlatformWaterGasForExcelVO.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWaterGasService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -422,6 +422,7 @@
    public interface RedisKeys {
        public static final String IMPORTING_MEMBER ="IMPORTING_MEMBER";
        public static final String IMPORTING_GAS ="IMPORTING_GAS";
        public static final String ERP_TOKEN ="ERP_TOKEN";
        public static final long EXPIRE_TIME = 7200;
server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java
@@ -132,7 +132,6 @@
            queryWrapper.orderByDesc(Notices::getCreateDate);
        }
        PageData<Notices> pageData = PageData.from(noticesMapper.selectJoinPage(page,Notices.class, queryWrapper));
        return pageData;
    }
server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/PlatformWaterGasController.java
@@ -78,7 +78,8 @@
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:platformwatergas:exportExcel")
    public void exportExcel (@RequestBody PageWrap<PlatformWaterGas> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(PlatformWaterGas.class).export(platformWaterGasService.findPage(pageWrap).getRecords(), "月台_用水用气信息记录表", response);
        List<PlatformWaterGas>  waterGasPageData = platformWaterGasService.findPage(pageWrap).getRecords();
        ExcelExporter.build(PlatformWaterGas.class).export(waterGasPageData, "月台_用水用气信息记录表", response);
    }
    @ApiOperation("根据ID查询")
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java
@@ -12,12 +12,14 @@
import com.doumee.dao.web.reqeust.JobDetailDTO;
import com.doumee.dao.web.reqeust.SignInDTO;
import com.doumee.service.business.PlatformJobService;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 * @author æ±Ÿè¹„蹄
@@ -76,7 +78,13 @@
    @PostMapping("/exportExcel")
    @CloudRequiredPermission("business:platformjob:exportExcel")
    public void exportExcel (@RequestBody PageWrap<PlatformJob> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        ExcelExporter.build(PlatformJob.class).export(platformJobService.findPage(pageWrap).getRecords(), "月台调度作业信息表", response);
        List<PlatformJob> platformJobList = platformJobService.findPage(pageWrap).getRecords();
        if(CollectionUtils.isNotEmpty(platformJobList)){
            for (PlatformJob platformJob:platformJobList) {
                platformJob.setJobForm(Constants.ZERO);
            }
        }
        ExcelExporter.build(PlatformJob.class).export(platformJobList, "安泰物流作业任务", response);
    }
    @ApiOperation("根据ID查询")
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWaterGasCloudController.java
@@ -9,15 +9,19 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.PlatformWaterGas;
import com.doumee.dao.business.vo.PlatformWaterGasForExcelVO;
import com.doumee.service.business.PlatformWaterGasService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.*;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
 * @author æ±Ÿè¹„蹄
@@ -81,8 +85,33 @@
    @PostMapping("/exportExcel")
    @CloudRequiredPermission("business:platformwatergas:exportExcel")
    public void exportExcel (@RequestBody PageWrap<PlatformWaterGas> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        ExcelExporter.build(PlatformWaterGas.class).export(platformWaterGasService.findPage(pageWrap).getRecords(), "月台_用水用气信息记录表", response);
        List<PlatformWaterGas>  waterGasPageData = platformWaterGasService.findPage(pageWrap).getRecords();
        if(Objects.nonNull(pageWrap.getModel())
        && Objects.nonNull(pageWrap.getModel().getType()) && !Constants.equalsInteger(pageWrap.getModel().getType(),Constants.TWO)){
            List<PlatformWaterGasForExcelVO> pageData = new ArrayList<>();
            for (PlatformWaterGas platformWaterGas:waterGasPageData) {
                PlatformWaterGasForExcelVO platformWaterGasForExcelVO = new PlatformWaterGasForExcelVO();
                BeanUtils.copyProperties(platformWaterGas,platformWaterGasForExcelVO);
                pageData.add(platformWaterGasForExcelVO);
    }
            ExcelExporter.build(PlatformWaterGasForExcelVO.class).export(pageData, Constants.equalsInteger(pageWrap.getModel().getType(),Constants.ZERO)?"月台_用水信息记录表":"月台_用气信息记录表", response);
        }else{
            ExcelExporter.build(PlatformWaterGas.class).export(waterGasPageData, "月台_油耗信息记录表", response);
        }
    }
    @ApiOperation(value = "油耗信息导入")
    @PostMapping("/importExcel")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "file", value = "file", required = true, paramType = "query", dataType = "file", dataTypeClass = File.class),
    })
    @CloudRequiredPermission("business:platformwatergas:exportExcel")
    public ApiResponse<String> importExcel (@ApiParam(value = "file") MultipartFile file, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        return ApiResponse.success(platformWaterGasService.importBatch(file,this.getLoginUser(token)));
    }
    @ApiOperation("根据ID查询")
    @GetMapping("/{id}")
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/request/PlatformGasImport.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
package com.doumee.dao.admin.request;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
 * å‘˜å·¥ä¿¡æ¯å¯¼å…¥è¡¨
 * @author æ±Ÿè¹„蹄
 * @date 2024/01/16 10:03
 */
@Data
@ApiModel("油耗信息导入")
public class PlatformGasImport {
    @ExcelColumn(name="车牌号",value = "carCode",index = 1)
    private String carCode;
    @ExcelColumn(name="时间(年月)",value = "timeInfo",index = 2,dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date timeInfo;
    @ExcelColumn(name="数量",value = "num",index = 3)
    private String num;
    @ExcelColumn(name="说明",value = "content",index = 3)
    private String content;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -26,268 +26,213 @@
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键", example = "1")
    @ExcelColumn(name="主键")
    private Integer id;
    @ApiModelProperty(value = "创建人编码", example = "1")
    @ExcelColumn(name="创建人编码")
    private Integer creator;
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @ExcelColumn(name="创建时间",index = 7, dateFormat = "yyyy-MM-dd hh:mm:ss")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
    @ExcelColumn(name="更新人编码")
    private Integer editor;
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
    @ExcelColumn(name="是否删除0否 1是")
    private Integer isdeleted;
    @ApiModelProperty(value = "名称")
    @ExcelColumn(name="名称")
    private String name;
    @ApiModelProperty(value = "备注")
    @ExcelColumn(name="备注")
    private String remark;
    @ApiModelProperty(value = "状态 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 å·²è¿‡å·  12取消(WMS)" , example = "1")
    @ExcelColumn(name="状态 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 å·²è¿‡å·  12取消(WMS)")
    @ExcelColumn(name="状态",index = 8, valueMapping = "0:待确认;1:待签到;2:等待叫号;3:入园等待;4:已叫号;5:作业中;6:作业完成;7:转移中;8:异常挂起;9:已授权离园;10:已离园;11:已过号;12:取消(WMS);")
    private Integer status;
    @ApiModelProperty(value = "车辆进入状态 0不在 1进入 " , example = "1")
    @ExcelColumn(name="车辆进入状态 0不在 1进入 ")
    private Integer inOut;
    @ApiModelProperty(value = "排序码", example = "1")
    @ExcelColumn(name="排序码")
    private Integer sortnum;
    @ApiModelProperty(value = "作业单号")
    @ExcelColumn(name="作业单号")
    private String code;
    @ApiModelProperty(value = "作业唯一标识(承运单号)")
    @ExcelColumn(name="作业唯一标识(承运单号)")
    @ExcelColumn(name="运单号",index = 0)
    private String billCode;
    @ApiModelProperty(value = "司机编码", example = "1")
    @ExcelColumn(name="司机编码")
    private Integer driverId;
    @ApiModelProperty(value = "司机姓名")
    @ExcelColumn(name="司机姓名")
    @ExcelColumn(name="司机姓名",index = 4)
    private String driverName;
    @ApiModelProperty(value = "车牌号")
    @ExcelColumn(name="车牌号")
    private String plateNum;
    @ApiModelProperty(value = "司机手机号")
    @ExcelColumn(name="司机手机号")
    @ExcelColumn(name="司机电话",index = 5)
    private String drivierPhone;
    @ApiModelProperty(value = "签到时间")
    @ExcelColumn(name="签到时间")
    private Date signDate;
    @ApiModelProperty(value = "签到方式 0app签到 1扫码签到 2后台签到", example = "1")
    @ExcelColumn(name="签到方式 0app签到 1扫码签到 2后台签到")
    private Integer singType;
    @ApiModelProperty(value = "通知WMS作业绑定月台时间")
    @ExcelColumn(name="通知WMS作业绑定月台时间")
    private Date wmsSendDate;
    @ApiModelProperty(value = "通知WMS作业绑定月台状态 0待通知 1通知成功 2通知失败", example = "1")
    @ExcelColumn(name="通知WMS作业绑定月台状态 0待通知 1通知成功 2通知失败")
    private Integer wmsSendStatus;
    @ApiModelProperty(value = "通知WMS作业绑定月台編碼", example = "1")
    @ExcelColumn(name="通知WMS作业绑定月台編碼")
    private String wmsSendPlatformCode;
    @ApiModelProperty(value = "通知WMS作业绑定月台备注", example = "1")
    @ExcelColumn(name="通知WMS作业绑定月台备注")
    private String wmsSendInfo;
    @ApiModelProperty(value = "通知WMS作业绑定月台次数", example = "1")
    @ExcelColumn(name="通知WMS作业绑定月台次数")
    private Integer wmsSendNum;
    @ApiModelProperty(value = "签到距离(米)", example = "1")
    @ExcelColumn(name="签到距离(米)")
    private BigDecimal signDistance;
    @ApiModelProperty(value = "作业月台名称集合,多个使用英文逗号隔开")
    @ExcelColumn(name="作业月台名称集合,多个使用英文逗号隔开")
    private String platformNames;
    @ApiModelProperty(value = "作业月台编码集合,多个使用英文逗号隔开")
    @ExcelColumn(name="作业月台编码集合,多个使用英文逗号隔开")
    private String platforms;
    @ApiModelProperty(value = "最近分配月台编码(关联platform)", example = "1")
    @ExcelColumn(name="最近分配月台编码(关联platform)")
    private Integer platformId;
    @ApiModelProperty(value = "月台分组编码(关联platform_group)", example = "1")
    @ExcelColumn(name="月台分组编码(关联platform_group)")
    private Integer platformGroupId;
    @ApiModelProperty(value = "通知入园等待时间")
    @ExcelColumn(name="通知入园等待时间")
    private Date inwaitDate;
    @ApiModelProperty(value = "通知入园等待操作人编码", example = "1")
    @ExcelColumn(name="通知入园等待操作人编码")
    private Integer inwaitUserId;
    @ApiModelProperty(value = "叫号时间")
    @ExcelColumn(name="叫号时间")
    private Date callDate;
    @ApiModelProperty(value = "叫号人编码", example = "1")
    @ExcelColumn(name="叫号人编码")
    private Integer callUserId;
    @ApiModelProperty(value = "叫号备注")
    @ExcelColumn(name="叫号备注")
    private String callInfo;
    @ApiModelProperty(value = "开始作业时间")
    @ExcelColumn(name="开始作业时间")
    private Date startDate;
    @ApiModelProperty(value = "作业完成时间(最终时间)")
    @ExcelColumn(name="作业完成时间(最终时间)")
    private Date doneDate;
    @ApiModelProperty(value = "异常挂起时间")
    @ExcelColumn(name="异常挂起时间")
    private Date errorDate;
    @ApiModelProperty(value = "异常挂起人编码", example = "1")
    @ExcelColumn(name="异常挂起人编码")
    private Integer errorUserId;
    @ApiModelProperty(value = "异常挂起备注")
    @ExcelColumn(name="异常挂起备注")
    private String errorInfo;
    @ApiModelProperty(value = "月台转交时间")
    @ExcelColumn(name="月台转交时间")
    private Date transPlatformDate;
    @ApiModelProperty(value = "月台转交处理人", example = "1")
    @ExcelColumn(name="月台转交处理人")
    private Integer transPlatformUserId;
    @ApiModelProperty(value = "月台转交备注")
    @ExcelColumn(name="月台转交备注")
    private String transPlatformInfo;
    @ApiModelProperty(value = "车辆进厂时间")
    @ExcelColumn(name="车辆进厂时间")
    private Date inDate;
    @ApiModelProperty(value = "车辆离厂时间")
    @ExcelColumn(name="车辆离厂时间")
    private Date outDate;
    @ApiModelProperty(value = "离厂方式 0自动离厂 1手动离场", example = "1")
    @ExcelColumn(name="离厂方式 0自动离厂 1手动离场")
    private Integer outType;
    @ApiModelProperty(value = "车辆离厂下发状态 0待下发 1下发中 2下发成功 3下发失败", example = "1")
    @ExcelColumn(name="车辆离厂下发状态 0待下发 1下发中 2下发成功 3下发失败")
    private Integer outHkstatus;
    @ApiModelProperty(value = "车辆离厂下发时间")
    @ExcelColumn(name="车辆离厂下发时间")
    private Date outHkdate;
    @ApiModelProperty(value = "车辆离厂下发备注")
    @ExcelColumn(name="车辆离厂下发备注")
    private String outHkinfo;
    @ApiModelProperty(value = "离场下发操作人", example = "1")
    @ExcelColumn(name="离场下发操作人")
    private Integer outUserId;
    @ApiModelProperty(value = "车辆进厂下发状态 0待下发 1下发中 2下发成功 3下发失败", example = "1")
    @ExcelColumn(name="车辆进厂下发状态 0待下发 1下发中 2下发成功 3下发失败")
    private Integer inHkstatus;
    @ApiModelProperty(value = "车辆进厂下发备注")
    @ExcelColumn(name="车辆进厂下发备注")
    private String nHkinfo;
    @ApiModelProperty(value = "车辆进厂下发时间")
    @ExcelColumn(name="车辆进厂下发时间")
    private Date inHkdate;
    @ApiModelProperty(value = "作业类型 0自有车卸货 1自有车装货 2外协车卸货 3外协车装货 4市公司外协车卸货", example = "1")
    @ExcelColumn(name="作业类型 0自有车卸货 1自有车装货 2外协车卸货 3外协车装货 4市公司外协车卸货")
    @ExcelColumn(name="作业类型",index = 6,valueMapping = "0=自有车卸货;1=自有车装货;2=外协车卸货;3=外协车装货;4=市公司外协车卸货")
    private Integer type;
    @ApiModelProperty(value = "前车牌号")
    @ExcelColumn(name="前车牌号")
    @ExcelColumn(name="前车牌号",index = 2)
    private String carCodeFront;
    @ApiModelProperty(value = "后车牌号")
    @ExcelColumn(name="后车牌号")
    private String carCodeBack;
    @ApiModelProperty(value = "司机所属部门编码", example = "1")
    @ExcelColumn(name="司机所属部门编码")
    private Integer companyId;
    @ApiModelProperty(value = "司机所属部门名称路径")
    @ExcelColumn(name="司机所属部门名称路径")
    private String companyNamePath;
    @ApiModelProperty(value = "作废时间")
    @ExcelColumn(name="作废时间")
    private Date cancelDate;
    @ApiModelProperty(value = "作废处理人编码", example = "1")
    @ExcelColumn(name="作废处理人编码")
    private Integer cancelUserId;
    @ApiModelProperty(value = "作为处理备注")
    @ExcelColumn(name="作为处理备注")
    private String cancelInfo;
    @ApiModelProperty(value = "入园事由")
    @ExcelColumn(name="入园事由")
    private String reason;
    @ApiModelProperty(value = "合同号")
    @ExcelColumn(name="合同号")
    private String contractNum;
    @ApiModelProperty(value = "预计到场时间")
    @ExcelColumn(name="预计到场时间")
    private Date arriveDate;
    @ApiModelProperty(value = "入库类型 0整托盘 1件烟", example = "1")
    @ExcelColumn(name="入库类型 0整托盘 1件烟")
    private Integer inType;
    @ApiModelProperty(value = "总运输量", example = "1")
    @ExcelColumn(name="总运输量")
    private BigDecimal totalNum;
    @ApiModelProperty(value = "确认任务时间")
    @ExcelColumn(name="确认任务时间")
    private Date confirmTaskDate;
    @ApiModelProperty(value = "签到序号", example = "1")
    @ExcelColumn(name="签到序号")
    private Integer signNum;
    @ApiModelProperty(value = "最新叫号时间")
@@ -340,6 +285,7 @@
    private Integer groupType ;
    @ApiModelProperty(value = "承运商")
    @ExcelColumn(name="运输公司",index = 3)
    @TableField(exist = false)
    private String carrierName ;
@@ -428,6 +374,10 @@
    @TableField(exist = false)
    private String queryStatusForPower;
    @ApiModelProperty(value = "任务来源")
    @ExcelColumn(name="任务来源",index = 1,valueMapping = "0=WMS获取;1=自主预约;")
    @TableField(exist = false)
    private Integer jobForm;
    @ApiModelProperty(value = "作业类型查询 å¤šä¸ªä»¥,分割")
    @TableField(exist = false)
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWaterGas.java
@@ -25,55 +25,48 @@
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键", example = "1")
    @ExcelColumn(name="主键")
    private Integer id;
    @ApiModelProperty(value = "创建人编码", example = "1")
    @ExcelColumn(name="创建人编码")
    private Integer creator;
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
    @ExcelColumn(name="更新人编码")
    private Integer editor;
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @ExcelColumn(name="最近操作时间",index = 5,dateFormat="yyyy-MM-dd HH:mm")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
    @ExcelColumn(name="是否删除0否 1是")
    private Integer isdeleted;
    @ApiModelProperty(value = "备注")
    @ExcelColumn(name="备注")
    private String remark;
    @ApiModelProperty(value = "时间(年月)")
    @ExcelColumn(name="时间(年月)")
    @ExcelColumn(name="使用月份",index = 2,dateFormat="yyyy-MM")
    private Date timeInfo;
    @ApiModelProperty(value = "排序码", example = "1")
    @ExcelColumn(name="排序码")
    private Integer sortnum;
    @ApiModelProperty(value = "类型 0用水 1用气 2用油", example = "1")
    @ExcelColumn(name="类型 0用水 1用气 2用油")
    @ExcelColumn(name="类型",valueMapping = "0=用水;1=用气;2=用油;",index = 0)
    private Integer type;
    @ApiModelProperty(value = "数量 (用电顿,用电度; æ²¹è€—L)", example = "1")
    @ExcelColumn(name="数量 (用电顿,用电度; æ²¹è€—L)")
    @ExcelColumn(name="数量",index = 3)
    private BigDecimal num;
    @ApiModelProperty(value = "说明")
    @ExcelColumn(name="说明")
    @ExcelColumn(name="说明",index = 4)
    private String content;
    @ApiModelProperty(value = "车牌号")
    @ExcelColumn(name="车牌号")
    @ExcelColumn(name="车牌号",index = 1)
    private String carCode;
    @ApiModelProperty(value = "开始时间")
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/PlatformWaterGasForExcelVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
package com.doumee.dao.business.vo;
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 com.doumee.core.annotation.excel.ExcelColumn;
import com.doumee.core.model.LoginUserModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
 * æœˆå°_用水用气信息记录表
 * @author æ±Ÿè¹„蹄
 * @date 2024/08/26 16:22
 */
@Data
public class PlatformWaterGasForExcelVO {
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="最近操作时间",index = 5,dateFormat="yyyy-MM-dd HH:mm",width = -1)
    private Date editDate;
    @ApiModelProperty(value = "时间(年月)")
    @ExcelColumn(name="使用月份",index = 2,dateFormat="yyyy-MM")
    private Date timeInfo;
    @ApiModelProperty(value = "类型 0用水 1用气 2用油", example = "1")
    @ExcelColumn(name="类型",valueMapping = "0=用水;1=用气;2=用油;",index = 0)
    private Integer type;
    @ApiModelProperty(value = "数量 (用电顿,用电度; æ²¹è€—L)", example = "1")
    @ExcelColumn(name="数量",index = 3)
    private BigDecimal num;
    @ApiModelProperty(value = "说明")
    @ExcelColumn(name="说明",index = 4)
    private String content;
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWaterGasService.java
@@ -10,6 +10,7 @@
import com.doumee.dao.openapi.response.GasByMonthResponse;
import com.doumee.dao.openapi.response.PlatformLastMonthListResponse;
import com.doumee.dao.openapi.response.WaterByMonthResponse;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -110,4 +111,6 @@
    GasByMonthResponse gasDataByMonth(GasByMonthRequest param);
    List<PlatformLastMonthListResponse> getPlatformLastMonthListResponse(Integer type);
    String importBatch(MultipartFile file, LoginUserInfo loginUserInfo);
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
@@ -304,14 +304,28 @@
                platformWorkVO.setCallNum(
                        platformJobs.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),platform.getId())  && Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())).collect(Collectors.toList()).size()
                );
                System.out.printf(String.valueOf(platformJobs.stream().filter(i->
                        Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())
                ).collect(Collectors.toList()).size())
                );
                System.out.printf(String.valueOf(platformJobList.stream().filter(i->
                                Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey()) ||
                                        ( Constants.equalsInteger(platform.getId(),i.getPlatformId()) &&
                                                Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.TRANSFERING.getKey())
                                        )
                        ).collect(Collectors.toList()).size())
                );
                platformWorkVO.setWaitNum(
                        platformJobs.stream().filter(i->
                                 Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())
                        ).collect(Collectors.toList()).size()
                        +
                        platformJobList.stream().filter(i->Constants.equalsInteger(platform.getId(),i.getPlatformId())
                                && (Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey()) ||  Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.TRANSFERING.getKey())
                        platformJobList.stream().filter(i->
                                (  Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey()) && Constants.equalsInteger(i.getPlatformGroupId(),platform.getGroupId()) )||
                                 ( Constants.equalsInteger(platform.getId(),i.getPlatformId()) &&
                                 Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.TRANSFERING.getKey())
                               )
                        ).collect(Collectors.toList()).size()
                );
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -336,7 +336,7 @@
                                 " ( " +
                                         " ( t.`STATUS` = "+Constants.PlatformJobStatus.WAIT_CALL.getKey()+" and t.PLATFORM_GROUP_ID = ( SELECT p.group_id FROM platform p WHERE p.id = "+pageWrap.getModel().getPlatformId()+" LIMIT 1 )  )" +
                                         " or  " +
                                         " (t.`STATUS` = "+Constants.PlatformJobStatus.IN_WAIT.getKey()+" )" +
                                         " (t.`STATUS` = "+Constants.PlatformJobStatus.IN_WAIT.getKey()+" and t.PLATFORM_GROUP_ID = ( SELECT p.group_id FROM platform p WHERE p.id = "+pageWrap.getModel().getPlatformId()+" LIMIT 1 )  )" +
                                         " or " +
                                         "  (t.`STATUS` = "+Constants.PlatformJobStatus.TRANSFERING.getKey()+" and t.PLATFORM_ID = "+pageWrap.getModel().getPlatformId()+" )  " +
                                         ") "
@@ -1257,6 +1257,12 @@
                emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
                SmsConstants.platformJobContent.platformJobError,platform.getName(),null
        );
        platformJob.setPlatformName(platform.getName());
        this.broadcastAndLEed(platformJob, StringUtils.isBlank(platform.getRemark())?Constants.PlatformLedContent.IDEL_CONTNET.getName():platform.getLedContent(),
                null
        );
    }
@@ -1360,7 +1366,6 @@
                emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
                SmsConstants.platformJobContent.platformJobFinish,platform.getName(),null
        );
        //广播 led通知
        platformJob.setPlatformName(platform.getName());
        this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.DONE.getInfo(),
@@ -1637,7 +1642,6 @@
                .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
                .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
                .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getJobId,PlatformJob::getId)
                .eq(PlatformJob::getPlatformId,platformId)
                .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                .in(PlatformJob::getStatus,
                        Constants.PlatformJobStatus.WAIT_CALL.getKey(),
@@ -1645,9 +1649,9 @@
                        Constants.PlatformJobStatus.CALLED.getKey(),
                        Constants.PlatformJobStatus.WORKING.getKey(),
                        Constants.PlatformJobStatus.EXCEPTION.getKey(),
                        Constants.PlatformJobStatus.OVER_NUMBER.getKey()
                        Constants.PlatformJobStatus.OVER_NUMBER.getKey(),
                        Constants.PlatformJobStatus.TRANSFERING.getKey()
                )
                .like(PlatformJob::getArriveDate, DateUtil.getCurrDate())
                .orderByDesc(PlatformJob::getId)
        );
        for (PlatformJob platformJob:platformJobList) {
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java
@@ -1,5 +1,6 @@
package com.doumee.service.business.impl;
import com.doumee.core.annotation.excel.ExcelImporter;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
@@ -8,8 +9,13 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.ScientificNotationTUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.admin.request.MemberImport;
import com.doumee.dao.admin.request.PlatformGasImport;
import com.doumee.dao.business.PlatformWaterGasMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.PlatformReason;
import com.doumee.dao.business.model.PlatformWaterGas;
import com.doumee.dao.openapi.request.GasByMonthRequest;
@@ -22,12 +28,16 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;
import java.math.BigDecimal;
import java.util.*;
@@ -329,5 +339,70 @@
    @Autowired
    private RedisTemplate<String, Object> redisTemplate;
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public String importBatch(MultipartFile file, LoginUserInfo loginUserInfo){
        try {
            ExcelImporter ie = null;
            List<PlatformGasImport> dataList =null;
            try {
                ie = new ExcelImporter(file,0,0);
                dataList = ie.getDataList(PlatformGasImport.class,null);
            }  catch (Exception e) {
                e.printStackTrace();
            }
            if(dataList == null || dataList.size() ==0){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,录入数据为空!");
            }
            List<PlatformWaterGas> newList = new ArrayList<>();
            for(int i=0;i<dataList.size();i++){
                PlatformGasImport model = dataList.get(i);
                if(Objects.isNull(model.getTimeInfo())
                || StringUtils.isBlank(model.getCarCode())
                || StringUtils.isBlank(model.getNum()) ){
                    throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+i+2+"行数据参数错误!");
                }
                PlatformWaterGas platformWaterGas = new PlatformWaterGas();
                try {
                    BigDecimal num = new BigDecimal(model.getNum());
                    platformWaterGas.setNum(num);
                }catch (Exception e){
                    throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+i+2+"行数量错误!");
                }
                if( platformWaterGasMapper.selectCount(new QueryWrapper<PlatformWaterGas>().lambda()
                        .eq(PlatformWaterGas::getIsdeleted, Constants.ZERO)
                        .apply("to_days(time_info) = to_days('"+ DateUtil.getPlusTime2(model.getTimeInfo()) +"')")
                        .eq(PlatformWaterGas::getType,Constants.TWO)
                        .eq(PlatformWaterGas::getCarCode,model.getCarCode()))>0){
                    throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该["+DateUtil.getPlusTime2(model.getTimeInfo())+"]数据已存在,请勿重新录入,可以尝试搜索后进行数据修改!");
                }
                platformWaterGas.setTimeInfo(model.getTimeInfo());
                platformWaterGas.setCarCode(model.getCarCode());
                platformWaterGas.setContent(model.getContent());
                platformWaterGas.setIsdeleted(Constants.ZERO);
                platformWaterGas.setType(Constants.TWO);
                platformWaterGas.setCreator(loginUserInfo.getId());
                platformWaterGas.setCreateDate(new Date());
                platformWaterGas.setEditDate(platformWaterGas.getCreateDate());
                platformWaterGas.setEditor(platformWaterGas.getCreator());
                newList.add(platformWaterGas);
            }
            if(newList == null || newList.size() ==0){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,录入有效数据为空!");
            }
            platformWaterGasMapper.insert(newList);
            return "导入成功";
        }catch (BusinessException e){
            throw e;
        }catch (Exception e){
            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"信息导入失败,请稍后重试");
        }finally {
            redisTemplate.delete(Constants.RedisKeys.IMPORTING_MEMBER);
        }
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
@@ -277,7 +277,7 @@
                if(Objects.nonNull(visits)){
                    if(objCode.equals(SmsConstants.visitContent.visitAuditSuccess)){
                        //您的【访客申请】已经审批通过,请于{预约入园开始时间}前往门卫室访客机签到入园,如有疑问,请联系被访人
                        content = content.replace("{预约入园开始时间}",DateUtil.getDate(visits.getStarttime(),"yyyy-MM-dd HH:mm"));
                        content = content.replace("{预约入园开始时间}",DateUtil.getFomartDate(visits.getStarttime(),"yyyy-MM-dd HH:mm"));
                        sendBusinessSms(emayService,smsEmailMapper,
                                Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId());
                    }else if(objCode.equals(SmsConstants.visitContent.visitAuditFail)){
@@ -287,7 +287,7 @@
                                Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId());
                    }else if(objCode.equals(SmsConstants.visitContent.visitTimeOutSignOut)){
                        //您的【访客申请】已于{到期时间}到期,请及时离场并前往门卫室访客机签离,如有疑问,请联系被访人
                        content = content.replace("{到期时间}",DateUtil.getDate(visits.getEndtime(),"yyyy-MM-dd HH:mm"));
                        content = content.replace("{到期时间}",DateUtil.getFomartDate(visits.getEndtime(),"yyyy-MM-dd HH:mm"));
                        sendBusinessSms(emayService,smsEmailMapper,
                                Arrays.asList(visits.getPhone().split(",")),SmsConstants.visit,content,visits.getId());
                    }else if(objCode.equals(SmsConstants.visitContent.visitTimeOutSignOutNum)) {
@@ -331,7 +331,7 @@
                if(Objects.nonNull(visits)){
                    if(objCode.equals(SmsConstants.visitReportingContent.visitReportingAuditSuccess)){
                        // æ‚¨çš„【访客报备】已经审批通过,请通知访客于{预约入园开始时间}后乘坐{车牌号}入园,如有疑问,请联系被访人。
                        content = content.replace("{预约入园开始时间}",DateUtil.getDate(visits.getStarttime(),"yyyy-MM-dd HH:mm"))
                        content = content.replace("{预约入园开始时间}",DateUtil.getFomartDate(visits.getStarttime(),"yyyy-MM-dd HH:mm"))
                                .replace("{车牌号}",visits.getCarNos());
                        sendBusinessSms(emayService,smsEmailMapper,
                                Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId());
@@ -342,7 +342,7 @@
                                Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId());
                    }else if(objCode.equals(SmsConstants.visitReportingContent.visitReportingTimeOutSignOut)){
                        //您的【访客报备】已于{预约入园结束时间}到期,请及时离场,如有疑问,请联系被访人
                        content = content.replace("{预约入园结束时间}",DateUtil.getDate(visits.getEndtime(),"yyyy-MM-dd HH:mm"));
                        content = content.replace("{预约入园结束时间}",DateUtil.getFomartDate(visits.getEndtime(),"yyyy-MM-dd HH:mm"));
                        sendBusinessSms(emayService,smsEmailMapper,
                                Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId());
                    }else if(objCode.equals(SmsConstants.visitReportingContent.visitReportingTimeOutSignOutNum)) {
@@ -420,7 +420,7 @@
                if(Objects.nonNull(carUseBook)){
                    if(objCode.equals(SmsConstants.carUseBookContent.carUseBookAuditSuccess)){
                        //您的【用车申请】已经审批通过,出发时间为{提交的出发时间},请按时用车。如用车计划有变,请及时联系派车员。
                        content = content.replace("{提交的出发时间}",DateUtil.getDate(carUseBook.getStartTime(),"yyyy-MM-dd HH:mm"));
                        content = content.replace("{提交的出发时间}",DateUtil.getFomartDate(carUseBook.getStartTime(),"yyyy-MM-dd HH:mm"));
                    }else if(objCode.equals(SmsConstants.carUseBookContent.carUseBookAuditFail) || objCode.equals(SmsConstants.carUseBookContent.carUseBookCancel)){
                        //您的【用车申请】已被驳回,驳回原因为:{驳回原因}。如有疑问,请联系派车员。
                        content = content.replace("{驳回原因}",msg);
@@ -460,7 +460,7 @@
                if(Objects.nonNull(platformBooks)){
                    if(objCode.equals(SmsConstants.platformBookContent.platformBookAuditSuccess)){
                        //您的【车辆入园申请】已经审批通过,入园时间为{入园时间},请提前30分钟前往现场签到。如计划有变,请及时联系审核人员。
                        content = content.replace("{入园时间}",DateUtil.getDate(platformBooks.getArriveDate(),"yyyy-MM-dd HH:mm"));
                        content = content.replace("{入园时间}",DateUtil.getFomartDate(platformBooks.getArriveDate(),"yyyy-MM-dd HH:mm"));
                        sendBusinessSms(emayService,smsEmailMapper,
                                Arrays.asList(platformBooks.getDriverPhone().split(",")),SmsConstants.platformBook,content,platformBooks.getId());
                    }else if(objCode.equals(SmsConstants.platformBookContent.platformBookAuditFail) || objCode.equals(SmsConstants.platformBookContent.platformBookCancel)){