From 195277638c9a9d5ff844bbc41b0f8b6878f4e030 Mon Sep 17 00:00:00 2001 From: bonus <1203338439@qq.com> Date: Thu, 12 Jun 2025 14:12:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E8=AF=95=E5=90=8E=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E6=89=AB=E6=8F=8F=E4=BA=8C=E7=BB=B4=E7=A0=81=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InputApplyDetailsController.java | 21 +++- .../input/domain/InputApplyDetails.java | 6 +- .../input/mapper/InputApplyDetailsMapper.java | 10 ++ .../service/IInputApplyDetailsService.java | 16 +-- .../impl/InputApplyDetailsServiceImpl.java | 105 ++++++++++++++++-- .../material/ma/mapper/MachineMapper.java | 19 ++-- .../input/InputApplyDetailsMapper.xml | 59 +++++++++- .../mapper/material/ma/MachineMapper.xml | 26 ++++- 8 files changed, 231 insertions(+), 31 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/controller/InputApplyDetailsController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/controller/InputApplyDetailsController.java index cdcff0aa..364d96af 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/controller/InputApplyDetailsController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/controller/InputApplyDetailsController.java @@ -26,7 +26,7 @@ import com.bonus.common.core.web.page.TableDataInfo; /** * 入库任务详细Controller - * + * * @author xsheng * @date 2024-10-16 */ @@ -116,4 +116,23 @@ public class InputApplyDetailsController extends BaseController { public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(inputApplyDetailsService.deleteInputApplyDetailsByIds(ids)); } + + + + + /** + * 修试入库二维码扫描 + */ + @ApiOperation(value = "新增入库任务详细") + @PreventRepeatSubmit + @RequiresPermissions("input:details:code") + @SysLog(title = "扫描入库", businessType = OperaType.UPDATE, logType = 1,module = "修试入库->增加库存") + @PostMapping + public AjaxResult sanQrcodeInput(@RequestBody InputApplyDetails inputApplyDetails) { + try { + return toAjax(inputApplyDetailsService.sanInput(inputApplyDetails)); + } catch (Exception e) { + return error("系统错误, " + e.getMessage()); + } + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/domain/InputApplyDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/domain/InputApplyDetails.java index 8e270dbd..e70a991e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/domain/InputApplyDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/domain/InputApplyDetails.java @@ -8,7 +8,7 @@ import com.bonus.common.core.web.domain.BaseEntity; /** * 入库任务详细对象 input_apply_details - * + * * @author xsheng * @date 2024-10-16 */ @@ -56,5 +56,9 @@ public class InputApplyDetails extends BaseEntity { @ApiModelProperty(value = "数据所属组织") private Long companyId; + @ApiModelProperty(value = "入库人") + private String auditBy; + @ApiModelProperty(value = "二维码") + private String qrCode; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/mapper/InputApplyDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/mapper/InputApplyDetailsMapper.java index 12abbf86..4e5622d6 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/mapper/InputApplyDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/mapper/InputApplyDetailsMapper.java @@ -57,4 +57,14 @@ public interface InputApplyDetailsMapper { * @return 结果 */ public int deleteInputApplyDetailsByIds(Long[] ids); + + int updateTaskStatus(InputApplyDetails inputApplyDetails); + + int updateStorageNum(InputApplyDetails inputApplyDetails); + + int updateInputNum(InputApplyDetails inputApplyDetails); + + InputApplyDetails selectInputInfoByMaId(InputApplyDetails inputApplyDetails); + + List selectInputTaskStatus(InputApplyDetails inputApplyDetails); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/service/IInputApplyDetailsService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/service/IInputApplyDetailsService.java index 626e752d..0ae1acad 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/service/IInputApplyDetailsService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/service/IInputApplyDetailsService.java @@ -5,14 +5,14 @@ import com.bonus.material.input.domain.InputApplyDetails; /** * 入库任务详细Service接口 - * + * * @author xsheng * @date 2024-10-16 */ public interface IInputApplyDetailsService { /** * 查询入库任务详细 - * + * * @param id 入库任务详细主键 * @return 入库任务详细 */ @@ -20,7 +20,7 @@ public interface IInputApplyDetailsService { /** * 查询入库任务详细列表 - * + * * @param inputApplyDetails 入库任务详细 * @return 入库任务详细集合 */ @@ -28,7 +28,7 @@ public interface IInputApplyDetailsService { /** * 新增入库任务详细 - * + * * @param inputApplyDetails 入库任务详细 * @return 结果 */ @@ -36,7 +36,7 @@ public interface IInputApplyDetailsService { /** * 修改入库任务详细 - * + * * @param inputApplyDetails 入库任务详细 * @return 结果 */ @@ -44,7 +44,7 @@ public interface IInputApplyDetailsService { /** * 批量删除入库任务详细 - * + * * @param ids 需要删除的入库任务详细主键集合 * @return 结果 */ @@ -52,9 +52,11 @@ public interface IInputApplyDetailsService { /** * 删除入库任务详细信息 - * + * * @param id 入库任务详细主键 * @return 结果 */ public int deleteInputApplyDetailsById(Long id); + + int sanInput(InputApplyDetails inputApplyDetails); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/service/impl/InputApplyDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/service/impl/InputApplyDetailsServiceImpl.java index cbf872cf..ca7d2554 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/service/impl/InputApplyDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/input/service/impl/InputApplyDetailsServiceImpl.java @@ -3,15 +3,19 @@ package com.bonus.material.input.service.impl; import java.util.List; import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.material.ma.domain.Machine; +import com.bonus.material.ma.mapper.MachineMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.bonus.material.input.mapper.InputApplyDetailsMapper; import com.bonus.material.input.domain.InputApplyDetails; import com.bonus.material.input.service.IInputApplyDetailsService; +import org.springframework.transaction.annotation.Transactional; /** * 入库任务详细Service业务层处理 - * + * * @author xsheng * @date 2024-10-16 */ @@ -20,9 +24,11 @@ public class InputApplyDetailsServiceImpl implements IInputApplyDetailsService { @Autowired private InputApplyDetailsMapper inputApplyDetailsMapper; + @Autowired + private MachineMapper machineMapper; /** * 查询入库任务详细 - * + * * @param id 入库任务详细主键 * @return 入库任务详细 */ @@ -33,7 +39,7 @@ public class InputApplyDetailsServiceImpl implements IInputApplyDetailsService { /** * 查询入库任务详细列表 - * + * * @param inputApplyDetails 入库任务详细 * @return 入库任务详细 */ @@ -44,7 +50,7 @@ public class InputApplyDetailsServiceImpl implements IInputApplyDetailsService { /** * 新增入库任务详细 - * + * * @param inputApplyDetails 入库任务详细 * @return 结果 */ @@ -60,7 +66,7 @@ public class InputApplyDetailsServiceImpl implements IInputApplyDetailsService { /** * 修改入库任务详细 - * + * * @param inputApplyDetails 入库任务详细 * @return 结果 */ @@ -76,7 +82,7 @@ public class InputApplyDetailsServiceImpl implements IInputApplyDetailsService { /** * 批量删除入库任务详细 - * + * * @param ids 需要删除的入库任务详细主键 * @return 结果 */ @@ -87,7 +93,7 @@ public class InputApplyDetailsServiceImpl implements IInputApplyDetailsService { /** * 删除入库任务详细信息 - * + * * @param id 入库任务详细主键 * @return 结果 */ @@ -95,4 +101,89 @@ public class InputApplyDetailsServiceImpl implements IInputApplyDetailsService { public int deleteInputApplyDetailsById(Long id) { return inputApplyDetailsMapper.deleteInputApplyDetailsById(id); } + + @Override + @Transactional(rollbackFor = Exception.class) + public int sanInput(InputApplyDetails inputApplyDetails) { + int result = 0; + try { + //1查询入参设备是否为待入库设备 + + InputApplyDetails inputInfo = new InputApplyDetails(); + + inputInfo = checkMachineStatus(inputApplyDetails.getQrCode()); + if(inputInfo !=null){ + throw new ServiceException("设备不是修试后待入库状态"); + } + //2更新入库设备数量 + result = updateInputNum(inputInfo); + if(result <= 0){ + throw new ServiceException("更新入库数量失败"); + } + //3更新库存数量 + result = updateStorageNum(inputInfo); + if(result <= 0){ + throw new ServiceException("更新库存数量失败"); + } + //4更新任务状态 + result = updateTaskStatus(inputInfo); + if(result <= 0){ + throw new ServiceException("更新任务状态失败"); + } + } catch (Exception e) { + throw new ServiceException("系统错误, " + e.getMessage()); + } + + return result; + } + + private int updateTaskStatus(InputApplyDetails inputApplyDetails) { + int result = 0; + + List inputList = inputApplyDetailsMapper.selectInputTaskStatus(inputApplyDetails); + + if(inputList.size() > 0 && inputList!=null){ + result = 1; + }else{ + result = inputApplyDetailsMapper.updateTaskStatus(inputApplyDetails); + } + + + return result; + } + + private int updateStorageNum(InputApplyDetails inputApplyDetails) { + int result = 0; + result = inputApplyDetailsMapper.updateStorageNum(inputApplyDetails); + result = machineMapper.updateStatus(inputApplyDetails.getMaId(), 141); + return result; + } + + private int updateInputNum(InputApplyDetails inputApplyDetails) { + int result = 0; + String auditBy = SecurityUtils.getLoginUser().getUserid().toString(); + result = inputApplyDetailsMapper.updateInputNum(inputApplyDetails); + return result; + } + + private InputApplyDetails checkMachineStatus(String qrCode) { + InputApplyDetails inputInfo = new InputApplyDetails(); + + Machine ma = new Machine(); + ma.setQrCode(qrCode); + ma = machineMapper.selectMachineByQrCode(ma); + long maId = ma.getId(); + + String status = ma.getMaStatus(); + if("145".equals(status)){ + InputApplyDetails inputApplyDetails = new InputApplyDetails(); + inputApplyDetails.setMaId(maId); + inputInfo = inputApplyDetailsMapper.selectInputInfoByMaId(inputApplyDetails); + + + }else{ + inputInfo = null; + } + return inputInfo; + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/MachineMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/MachineMapper.java index 106a3c19..609c5801 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/MachineMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/MachineMapper.java @@ -12,15 +12,15 @@ import org.apache.ibatis.annotations.Param; /** * 机具设备管理Mapper接口 - * + * * @author xsheng * @date 2024-09-27 */ -public interface MachineMapper +public interface MachineMapper { /** * 查询机具设备管理 - * + * * @param maId 机具设备管理主键 * @return 机具设备管理 */ @@ -36,7 +36,7 @@ public interface MachineMapper /** * 查询机具设备管理列表 - * + * * @param machine 机具设备管理 * @return 机具设备管理集合 */ @@ -44,7 +44,7 @@ public interface MachineMapper /** * 新增机具设备管理 - * + * * @param machine 机具设备管理 * @return 结果 */ @@ -52,7 +52,7 @@ public interface MachineMapper /** * 修改机具设备管理 - * + * * @param machine 机具设备管理 * @return 结果 */ @@ -60,7 +60,7 @@ public interface MachineMapper /** * 删除机具设备管理 - * + * * @param maId 机具设备管理主键 * @return 结果 */ @@ -75,7 +75,7 @@ public interface MachineMapper /** * 批量删除机具设备管理 - * + * * @param maIds 需要删除的数据主键集合 * @return 结果 */ @@ -149,4 +149,7 @@ public interface MachineMapper * @return 结果 */ int editAssetsCode(Machine machine); + + + Machine selectMachineByQrCode(Machine ma); } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/input/InputApplyDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/input/InputApplyDetailsMapper.xml index d6efb256..c99b077d 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/input/InputApplyDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/input/InputApplyDetailsMapper.xml @@ -25,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + - + insert into input_apply_details @@ -97,9 +97,58 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from input_apply_details where id in + delete from input_apply_details where id in #{id} - \ No newline at end of file + + + update tm_task set task_status = 1 + where task_id = #{taskId} + + + + update ma_type set storage_num = storage_num + #{inputNum} + where id = #{typeId} + + + + update repair_input_details set input_num = 1,audit_by = #{auditBy},status = 1,audit_time = now() + where task_id = #{taskId} and ma_id = #{maId} + + + + + + diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml index 18234418..2753fd28 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml @@ -321,7 +321,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from ma_machine where ma_id in + delete from ma_machine where ma_id in #{maId} @@ -501,4 +501,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" assets_code = #{assetsCode} where ma_id = #{maId} - \ No newline at end of file + + + + +