From a5f1b1a39132ab9a4f1b36cfeb0ed9bd125942cf Mon Sep 17 00:00:00 2001 From: "liang.chao" <1360241448@qq.com> Date: Thu, 25 Jul 2024 15:19:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=8E=A8=E9=80=81=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/controller/MaReceiveController.java | 77 +++++++++++++++++++ .../sgzb/base/domain/DataReceiveDetail.java | 68 ++++++++++++++++ .../sgzb/base/domain/DataReceiveInfo.java | 38 +++++++++ .../sgzb/base/mapper/MaReceiveMapper.java | 21 +++++ .../sgzb/base/service/MaReceiveService.java | 19 +++++ .../service/impl/MaReceiveServiceImpl.java | 53 +++++++++++++ .../resources/mapper/base/MaReceiveMapper.xml | 27 +++++++ 7 files changed, 303 insertions(+) create mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/MaReceiveController.java create mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/DataReceiveDetail.java create mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/DataReceiveInfo.java create mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/MaReceiveMapper.java create mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/MaReceiveService.java create mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/MaReceiveServiceImpl.java create mode 100644 sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaReceiveMapper.xml diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/MaReceiveController.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/MaReceiveController.java new file mode 100644 index 00000000..f75ca4ef --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/MaReceiveController.java @@ -0,0 +1,77 @@ +package com.bonus.sgzb.base.controller; + +import cn.hutool.core.collection.CollUtil; +import com.bonus.sgzb.base.api.domain.MaMachine; +import com.bonus.sgzb.base.domain.DataReceiveDetail; +import com.bonus.sgzb.base.domain.DataReceiveInfo; +import com.bonus.sgzb.base.service.MaReceiveService; +import com.bonus.sgzb.common.core.utils.poi.ExcelUtil; +import com.bonus.sgzb.common.core.web.controller.BaseController; +import com.bonus.sgzb.common.core.web.domain.AjaxResult; +import com.bonus.sgzb.common.core.web.page.TableDataInfo; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * @Author:liang.chao + * @Date:2024/7/24 - 10:47 + */ + +@RestController +@RequestMapping("/receive") +public class MaReceiveController extends BaseController { + + @Resource + private MaReceiveService maReceiveService; + + /** + * 数据推送接收 + */ + @ApiOperation(value = "获取推送数据") + @PostMapping("/dataReceive") + public AjaxResult getProjectInfoAll(@RequestBody List dataReceiveDetails) { + if (CollUtil.isEmpty(dataReceiveDetails)) { + return AjaxResult.error("推送数据为空"); + } + DataReceiveInfo dataReceiveInfo = new DataReceiveInfo(); + dataReceiveInfo.setPushNum(dataReceiveDetails.size()); + int id = maReceiveService.saveDataReceiveInfo(dataReceiveInfo); + if (id == 0) { + return AjaxResult.error("推送数据失败"); + } + for (DataReceiveDetail dataReceiveDetail : dataReceiveDetails) { + dataReceiveDetail.setReceiveId(id); + maReceiveService.saveDataReceiveDetails(dataReceiveDetail); + } + return AjaxResult.success("数据推送成功"); + } + + + @ApiOperation(value = "获取推送数据") + @GetMapping("/getDataReceive") + public TableDataInfo getDataReceive(DataReceiveInfo dataReceiveInfo) { + startPage(); + List list = maReceiveService.getDataReceive(dataReceiveInfo); + return getDataTable(list); + } + + @ApiOperation(value = "导出推送数据") + @PostMapping("/export") + public void export(HttpServletResponse response, DataReceiveInfo dataReceiveInfo) { + List list = maReceiveService.getDataReceive(dataReceiveInfo); + ExcelUtil util = new ExcelUtil<>(DataReceiveInfo.class); + util.exportExcel(response, list, "推送数据列表"); + } + + @ApiOperation(value = "获取推送详情") + @GetMapping("/getDataReceiveDetails") + public TableDataInfo getDataReceiveDetails(Integer receiveId) { + startPage(); + List dataReceiveDetails = maReceiveService.getDataReceiveDetails(receiveId); + return getDataTable(dataReceiveDetails); + } +} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/DataReceiveDetail.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/DataReceiveDetail.java new file mode 100644 index 00000000..fa172368 --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/DataReceiveDetail.java @@ -0,0 +1,68 @@ +package com.bonus.sgzb.base.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @Author:liang.chao + * @Date:2024/7/24 - 10:53 + */ +@Data +public class DataReceiveDetail { + @ApiModelProperty(value = "ID") + private Integer id; + + @ApiModelProperty(value = "推送ID") + private Integer receiveId; + + @ApiModelProperty(value = "机具类型id") + private Integer typeId; + + @ApiModelProperty(value = "机具编码ID") + private Integer maId; + + @ApiModelProperty(value = "租赁日期") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date rentTime; + + @ApiModelProperty(value = "租赁价格") + private String rentPrice; + + @ApiModelProperty(value = "所属单位") + private Integer unitId; + + @ApiModelProperty(value = "生产厂家") + private String supplier; + + @ApiModelProperty(value = "出厂日期") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date outFactoryTime; + + @ApiModelProperty(value = "是否新装备(0 是 1否)") + private Integer isNew; + + @ApiModelProperty(value = "检验证编号") + private String checkCode; + + @ApiModelProperty(value = "检验单位") + private String checkUnit; + + @ApiModelProperty(value = "检验日期") + private Date checkDate; + + @ApiModelProperty(value = "下次检验日期") + private Date nextCheckDate; + + @ApiModelProperty(value = "机手姓名") + private String maUserName; + + @ApiModelProperty(value = "状态(0 未接收 1已接收)") + private Integer status; + +} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/DataReceiveInfo.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/DataReceiveInfo.java new file mode 100644 index 00000000..76e52358 --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/DataReceiveInfo.java @@ -0,0 +1,38 @@ +package com.bonus.sgzb.base.domain; + +import com.bonus.sgzb.common.core.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @Author:liang.chao + * @Date:2024/7/24 - 13:11 + */ + +@Data +public class DataReceiveInfo { + @ApiModelProperty(value = "id") + private Integer id; + + @ApiModelProperty(value = "接收状态(0 未完成 1已完成)") + @Excel(name = "接收状态", readConverterExp = "0=未完成,1=已完成") + private Integer receiveStatus; + + @ApiModelProperty(value = "推送数量") + @Excel(name = "推送数量") + private Integer pushNum; + + @ApiModelProperty(value = "接收数量") + @Excel(name = "接收数量") + private Integer receiveNum; + + @ApiModelProperty(value = "接收日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "推送日期") + private Date receiveDate; +} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/MaReceiveMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/MaReceiveMapper.java new file mode 100644 index 00000000..29c30daf --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/MaReceiveMapper.java @@ -0,0 +1,21 @@ +package com.bonus.sgzb.base.mapper; + +import com.bonus.sgzb.base.domain.DataReceiveDetail; +import com.bonus.sgzb.base.domain.DataReceiveInfo; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * @Author:liang.chao + * @Date:2024/7/24 - 13:21 + */ + +@Mapper +public interface MaReceiveMapper { + int saveDataReceiveInfo(DataReceiveInfo dataReceiveInfo); + int saveDataReceiveDetails(DataReceiveDetail dataReceiveDetail); + List getDataReceive(DataReceiveInfo dataReceiveInfo); + + List getDataReceiveDetails(Integer receiveId); +} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/MaReceiveService.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/MaReceiveService.java new file mode 100644 index 00000000..bbafdfea --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/MaReceiveService.java @@ -0,0 +1,19 @@ +package com.bonus.sgzb.base.service; + +import com.bonus.sgzb.base.domain.DataReceiveDetail; +import com.bonus.sgzb.base.domain.DataReceiveInfo; + +import java.util.List; + +/** + * @Author:liang.chao + * @Date:2024/7/24 - 13:20 + */ +public interface MaReceiveService { + int saveDataReceiveInfo(DataReceiveInfo dataReceiveInfo); + + int saveDataReceiveDetails(DataReceiveDetail dataReceiveDetail); + + List getDataReceive(DataReceiveInfo dataReceiveInfo); + List getDataReceiveDetails(Integer receiveId); +} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/MaReceiveServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/MaReceiveServiceImpl.java new file mode 100644 index 00000000..fad7cd7a --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/MaReceiveServiceImpl.java @@ -0,0 +1,53 @@ +package com.bonus.sgzb.base.service.impl; + +import com.bonus.sgzb.base.domain.DataReceiveDetail; +import com.bonus.sgzb.base.domain.DataReceiveInfo; +import com.bonus.sgzb.base.mapper.MaReceiveMapper; +import com.bonus.sgzb.base.service.MaReceiveService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @Author:liang.chao + * @Date:2024/7/24 - 13:20 + */ +@Service +public class MaReceiveServiceImpl implements MaReceiveService { + + @Resource + private MaReceiveMapper maReceiveMapper; + + @Override + public int saveDataReceiveInfo(DataReceiveInfo dataReceiveInfo) { + maReceiveMapper.saveDataReceiveInfo(dataReceiveInfo); + if (dataReceiveInfo.getId() != null) { + return dataReceiveInfo.getId(); + } else { + return 0; + } + } + + @Override + @Transactional + public int saveDataReceiveDetails(DataReceiveDetail dataReceiveDetail) { + int i = 0; + i = maReceiveMapper.saveDataReceiveDetails(dataReceiveDetail); + if (i == 0) { + throw new RuntimeException("保存失败"); + } + return i; + } + + @Override + public List getDataReceive(DataReceiveInfo dataReceiveInfo) { + return maReceiveMapper.getDataReceive(dataReceiveInfo); + } + + @Override + public List getDataReceiveDetails(Integer receiveId) { + return maReceiveMapper.getDataReceiveDetails(receiveId); + } +} diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaReceiveMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaReceiveMapper.xml new file mode 100644 index 00000000..e9bb055a --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaReceiveMapper.xml @@ -0,0 +1,27 @@ + + + + + + insert into data_receive_info(push_num,receive_date) + values(#{pushNum},now()) + + + insert into data_receive_detail(receiveId,check_code,check_unit,check_date,is_new,ma_id,ma_user_name,next_check_date,out_factory_time,rent_price,rent_time,supplier,type_id,unit_id) + values(#{receiveId},#{checkCode},#{checkUnit},#{checkDate},#{isNew},#{maId},#{maUserName},#{nextCheckDate},#{outFactoryTime},#{rentPrice},#{rentTime},#{supplier},#{typeId},#{unitId}) + + + + \ No newline at end of file