From 6b4ca45b4a3178dc1b221ab6374c8b5e8f855da9 Mon Sep 17 00:00:00 2001 From: "liang.chao" <1360241448@qq.com> Date: Mon, 5 Aug 2024 10:33:52 +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=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/sgzb/base/api/domain/MaMachine.java | 4 ++ .../base/controller/MaReceiveController.java | 28 +++++++- .../sgzb/base/domain/DataReceiveDetail.java | 34 ++++++--- .../sgzb/base/domain/DataReceiveInfo.java | 8 +++ .../sgzb/base/mapper/MaReceiveMapper.java | 9 ++- .../bonus/sgzb/base/mapper/MaTypeMapper.java | 3 + .../sgzb/base/service/MaReceiveService.java | 6 +- .../service/impl/MaReceiveServiceImpl.java | 70 ++++++++++++++++++- .../resources/mapper/base/MaMachineMapper.xml | 12 ++-- .../mapper/base/MaMachineTypeMapper.xml | 3 + .../resources/mapper/base/MaReceiveMapper.xml | 68 ++++++++++++++++-- 11 files changed, 220 insertions(+), 25 deletions(-) diff --git a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/MaMachine.java b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/MaMachine.java index a8e1ddff..b2ab0edb 100644 --- a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/MaMachine.java +++ b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/MaMachine.java @@ -239,6 +239,10 @@ public class MaMachine extends BaseEntity { @ApiModelProperty(value = "1:二维码绑定标识 2:rfid绑定标识") private Integer flag; + @ApiModelProperty(value = "数据来源(0新购 1盘点 2数据推送)") + private Integer souceBy; + @ApiModelProperty(value = "数据推送id") + private Integer dataReceiveId; /** 导出选中列表 */ private List dataCondition; 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 index f75ca4ef..f3095281 100644 --- 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 @@ -1,7 +1,6 @@ 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; @@ -69,9 +68,32 @@ public class MaReceiveController extends BaseController { @ApiOperation(value = "获取推送详情") @GetMapping("/getDataReceiveDetails") - public TableDataInfo getDataReceiveDetails(Integer receiveId) { + public TableDataInfo getDataReceiveDetails(DataReceiveDetail dataReceiveDetail) { startPage(); - List dataReceiveDetails = maReceiveService.getDataReceiveDetails(receiveId); + List dataReceiveDetails = maReceiveService.getDataReceiveDetails(dataReceiveDetail); return getDataTable(dataReceiveDetails); } + + @ApiOperation(value = "数据接收") + @PostMapping("/saveMachine") + public AjaxResult saveMachine(@RequestBody DataReceiveInfo dataReceiveInfo) { + if (CollUtil.isEmpty(dataReceiveInfo.getDataReceiveDetailList())) { + return AjaxResult.error("接收数据为空"); + } + int res = maReceiveService.saveMachine(dataReceiveInfo); + if (res == 0) { + return AjaxResult.error("接收失败"); + } else { + return AjaxResult.success("接收成功"); + } + } + + + @ApiOperation(value = "数据接收") + @GetMapping("/getDateReceiveMachine") + public TableDataInfo getDateReceiveMachine(DataReceiveDetail dataReceiveDetail) { + startPage(); + List dateReceiveMachine = maReceiveService.getDateReceiveMachine(dataReceiveDetail); + return getDataTable(dateReceiveMachine); + } } 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 index 73d17340..8c4ccde8 100644 --- 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 @@ -17,7 +17,7 @@ public class DataReceiveDetail { private Integer id; @ApiModelProperty(value = "推送ID") - private Integer receiveId; + private Integer receiveId; @ApiModelProperty(value = "机具类型id") private Integer typeId; @@ -25,9 +25,20 @@ public class DataReceiveDetail { @ApiModelProperty(value = "机具编码ID") private Integer maId; + @ApiModelProperty(value = "机具编码") + private String maCode; + @ApiModelProperty(value = "机具名称") + private String machineName; + @ApiModelProperty(value = "机具类型") + private String typeName; + @ApiModelProperty(value = "机具类型") + private String modelName; + @ApiModelProperty(value = "机具状态") + private String maStatus; + @ApiModelProperty(value = "租赁日期") - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date rentTime; @ApiModelProperty(value = "租赁价格") @@ -40,8 +51,8 @@ public class DataReceiveDetail { private String supplier; @ApiModelProperty(value = "出厂日期") - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date outFactoryTime; @ApiModelProperty(value = "是否新装备(0 是 1否)") @@ -54,19 +65,24 @@ public class DataReceiveDetail { private String checkUnit; @ApiModelProperty(value = "检验日期") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date checkDate; @ApiModelProperty(value = "下次检验日期") - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date nextCheckDate; @ApiModelProperty(value = "机手姓名") private String maUserName; + @ApiModelProperty(value = "关键字") + private String keyWord; + @ApiModelProperty(value = "状态(0 未接收 1已接收)") private Integer status; + @ApiModelProperty(value = "数据来源(0新购 1盘点 2数据推送)") + private Integer souceBy; } 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 index 76e52358..c721f761 100644 --- 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 @@ -7,6 +7,7 @@ import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; +import java.util.List; /** * @Author:liang.chao @@ -35,4 +36,11 @@ public class DataReceiveInfo { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "推送日期") private Date receiveDate; + + @ApiModelProperty(value = "开始时间") + private String startTime; + @ApiModelProperty(value = "结束时间") + private String endTime; + + private List dataReceiveDetailList; } 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 index 29c30daf..d574a3cf 100644 --- 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 @@ -17,5 +17,12 @@ public interface MaReceiveMapper { int saveDataReceiveDetails(DataReceiveDetail dataReceiveDetail); List getDataReceive(DataReceiveInfo dataReceiveInfo); - List getDataReceiveDetails(Integer receiveId); + List getDataReceiveDetails(DataReceiveDetail dataReceiveDetail); + List getDataReceiveDetailsById(Integer receiveId); + + int updateStatus(DataReceiveDetail dataReceiveDetail); + + List getDateReceiveMachine(DataReceiveDetail dataReceiveDetail); + + int updateInfoStatus(Integer id); } diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/MaTypeMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/MaTypeMapper.java index d22163dc..d0d1ae21 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/MaTypeMapper.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/MaTypeMapper.java @@ -1,5 +1,6 @@ package com.bonus.sgzb.base.mapper; +import com.bonus.sgzb.base.api.domain.MaMachine; import com.bonus.sgzb.base.api.domain.MaType; import com.bonus.sgzb.base.domain.MaPropSet; import com.bonus.sgzb.base.domain.MaTypeKeeper; @@ -81,4 +82,6 @@ public interface MaTypeMapper { int deleteKeeperByTypeId(Long typeId); int deletePropSetByTypeId(Long typeId); + + int updateTypeNum(MaMachine maMachine); } \ No newline at end of file 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 index bbafdfea..087cf154 100644 --- 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 @@ -15,5 +15,9 @@ public interface MaReceiveService { int saveDataReceiveDetails(DataReceiveDetail dataReceiveDetail); List getDataReceive(DataReceiveInfo dataReceiveInfo); - List getDataReceiveDetails(Integer receiveId); + List getDataReceiveDetails(DataReceiveDetail dataReceiveDetail); + + int saveMachine(DataReceiveInfo dataReceiveInfo); + + List getDateReceiveMachine(DataReceiveDetail dataReceiveDetail); } 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 index 5fbfd83a..59032f37 100644 --- 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 @@ -1,13 +1,18 @@ package com.bonus.sgzb.base.service.impl; +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.mapper.MaMachineMapper; import com.bonus.sgzb.base.mapper.MaReceiveMapper; +import com.bonus.sgzb.base.mapper.MaTypeMapper; +import com.bonus.sgzb.base.service.MaMachineService; 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.Date; import java.util.List; /** @@ -20,6 +25,12 @@ public class MaReceiveServiceImpl implements MaReceiveService { @Resource private MaReceiveMapper maReceiveMapper; + @Resource + private MaMachineMapper maMachineMapper; + + @Resource + private MaTypeMapper maTypeMapper; + @Override @Transactional public int saveDataReceiveInfo(DataReceiveInfo dataReceiveInfo) { @@ -44,11 +55,64 @@ public class MaReceiveServiceImpl implements MaReceiveService { @Override public List getDataReceive(DataReceiveInfo dataReceiveInfo) { - return maReceiveMapper.getDataReceive(dataReceiveInfo); + List dataReceive = maReceiveMapper.getDataReceive(dataReceiveInfo); + for (DataReceiveInfo receiveInfo : dataReceive) { + List dataReceiveDetails = maReceiveMapper.getDataReceiveDetailsById(receiveInfo.getId()); + long num = dataReceiveDetails.stream() + .filter(t -> t.getStatus() == 1) + .count(); + receiveInfo.setReceiveNum((int) num); + } + return dataReceive; } @Override - public List getDataReceiveDetails(Integer receiveId) { - return maReceiveMapper.getDataReceiveDetails(receiveId); + public List getDataReceiveDetails(DataReceiveDetail dataReceiveDetail) { + return maReceiveMapper.getDataReceiveDetails(dataReceiveDetail); + } + + @Override + public int saveMachine(DataReceiveInfo dataReceiveInfo) { + for (DataReceiveDetail dataReceiveDetail : dataReceiveInfo.getDataReceiveDetailList()) { + MaMachine maMachine = new MaMachine(); + maMachine.setMaCode(dataReceiveDetail.getMaCode()); + maMachine.setTypeId(dataReceiveDetail.getTypeId()); + maMachine.setMaCode(dataReceiveDetail.getMaCode()); + maMachine.setMaStatus("15"); + maMachine.setCreateTime(new Date()); + maMachine.setSouceBy(2); + maMachine.setDataReceiveId(dataReceiveInfo.getId()); + // 添加机具 + int i = maMachineMapper.maMachineAdd(maMachine); + if (i == 0) { + return i; + } + // 增加库存 + int j = maTypeMapper.updateTypeNum(maMachine); + if (j == 0) { + return j; + } + // 修改状态为已接收 + dataReceiveDetail.setMaId((int) maMachine.getMaId()); + int k = maReceiveMapper.updateStatus(dataReceiveDetail); + if (k == 0) { + return k; + } + } + List dataReceiveDetails = maReceiveMapper.getDataReceiveDetailsById(dataReceiveInfo.getId()); + if (dataReceiveDetails.stream().allMatch(t -> t.getStatus() == 1)) { + int i = maReceiveMapper.updateInfoStatus(dataReceiveInfo.getId()); + if (i == 0) { + return i; + } + } + return 1; + + } + + @Override + public List getDateReceiveMachine(DataReceiveDetail dataReceiveDetail) { + List dateReceiveMachine = maReceiveMapper.getDateReceiveMachine(dataReceiveDetail); + return dateReceiveMachine; } } diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaMachineMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaMachineMapper.xml index 528d3b75..bb7563d8 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaMachineMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaMachineMapper.xml @@ -212,8 +212,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" in_out_num, buy_task, own_house, - company_id - create_time + company_id, + create_time, + souce_by + data_receive_id #{typeId}, @@ -236,8 +238,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{inOutNum}, #{buyTask}, #{ownHouse}, - #{companyId} - #{createTime} + #{companyId}, + #{createTime}, + #{souceBy} + #{dataReceiveId} diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaMachineTypeMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaMachineTypeMapper.xml index 9ce2f4b3..f09641a7 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaMachineTypeMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaMachineTypeMapper.xml @@ -307,6 +307,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update ma_prop_set set prop_id = #{propId} where type_id = #{typeId} + + update ma_type set num = IFNULL( num, 0 ) + 1 where type_id = #{typeId} + select * from data_receive_info where 1=1 - + AND receive_status = #{receiveStatus} @@ -22,6 +34,54 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + \ No newline at end of file