From f7ea60d1aab053f47f901139bbb31be4a881bd3f Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Sun, 17 Dec 2023 13:21:21 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E4=BF=AE=E8=AF=95=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/RepairTestInputController.java | 50 ++++++ .../domain/RepairTestInputDetailVo.java | 47 ++++++ .../material/domain/RepairTestInputDto.java | 18 +++ .../material/domain/RepairTestInputVo.java | 28 ++++ .../domain/RepairTestWarehousingDto.java | 45 ++++++ .../mapper/RepairTestInputMapper.java | 108 +++++++++++++ .../service/RepairTestInputService.java | 41 +++++ .../impl/RepairTestInputServiceImpl.java | 125 +++++++++++++++ .../mapper/material/RepairTestInputMapper.xml | 144 ++++++++++++++++++ 9 files changed, 606 insertions(+) create mode 100644 sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/RepairTestInputController.java create mode 100644 sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestInputDetailVo.java create mode 100644 sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestInputDto.java create mode 100644 sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestInputVo.java create mode 100644 sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestWarehousingDto.java create mode 100644 sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairTestInputMapper.java create mode 100644 sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/RepairTestInputService.java create mode 100644 sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairTestInputServiceImpl.java create mode 100644 sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairTestInputMapper.xml diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/RepairTestInputController.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/RepairTestInputController.java new file mode 100644 index 00000000..2ed70666 --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/RepairTestInputController.java @@ -0,0 +1,50 @@ +package com.bonus.sgzb.material.controller; + +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 com.bonus.sgzb.material.domain.RepairTestInputDetailVo; +import com.bonus.sgzb.material.domain.RepairTestInputDto; +import com.bonus.sgzb.material.domain.RepairTestInputVo; +import com.bonus.sgzb.material.service.RepairTestInputService; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author 10488 + * 修试入库 + */ +@RestController +@RequestMapping("/RepairTestInput/") +public class RepairTestInputController extends BaseController { + + @Resource(name = "RepairTestInputService") + private RepairTestInputService service; + + @ApiOperation(value = "获取修试后入库列表") + @PostMapping("getRepairedList") + public TableDataInfo getRepairedList(RepairTestInputDto dto){ + startPage(); + List list = service.getRepairedList(dto); + return getDataTable(list); + } + + @ApiOperation(value = "获取修试后入库列表-详情") + @PostMapping("getRepairedDetailList") + public TableDataInfo getRepairedDetailList(RepairTestInputDto dto){ + startPage(); + List list = service.getRepairedDetailList(dto); + return getDataTable(list); + } + + @ApiOperation(value = "修试后入库-入库操作") + @PostMapping("inputByType") + public AjaxResult inputByType(String params){ + return service.inputByType(params); + } +} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestInputDetailVo.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestInputDetailVo.java new file mode 100644 index 00000000..958e41f6 --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestInputDetailVo.java @@ -0,0 +1,47 @@ +package com.bonus.sgzb.material.domain; + +import lombok.Data; + +/** + * @author 10488 + * 修试入库详细 + */ + +@Data +public class RepairTestInputDetailVo { + + private int id; + + /** 机具id*/ + private Integer maId; + + /** 规格ID*/ + private Integer typeId; + + /** 设备类型*/ + private String typeName; + + /** 规格型号*/ + private String typeName2; + + /** 管理方式(0编号 1计数)*/ + private String manageType; + + /** 数量*/ + private double repairNum; + + /** 编号*/ + private String maCode; + + /** 提交入库人员*/ + private String updateBy; + + /** 提交入库时间*/ + private String updateTime; + + /** 不通过原因*/ + private String remark; + + /** 状态*/ + private String status; +} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestInputDto.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestInputDto.java new file mode 100644 index 00000000..18fd86a6 --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestInputDto.java @@ -0,0 +1,18 @@ +package com.bonus.sgzb.material.domain; + +import lombok.Data; + +/** + * @author 10488 + * 修试入库-前端传参 + */ +@Data +public class RepairTestInputDto { + + /** 任务id*/ + private int taskId; + + /** 关键字*/ + private String keyWord; + +} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestInputVo.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestInputVo.java new file mode 100644 index 00000000..d21bcbba --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestInputVo.java @@ -0,0 +1,28 @@ +package com.bonus.sgzb.material.domain; + +import lombok.Data; + +/** + * @author 10488 + * 修试入库-Vo + */ +@Data +public class RepairTestInputVo { + + private int id; + + /** 维修单号*/ + private String repairCode; + + /** 工器具类型*/ + private String maTypeName; + + /** 维修人员*/ + private String wxName; + + /** 维修时间*/ + private String wxTime; + + /** 状态*/ + private String taskStatus; +} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestWarehousingDto.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestWarehousingDto.java new file mode 100644 index 00000000..5a0eaec6 --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestWarehousingDto.java @@ -0,0 +1,45 @@ +package com.bonus.sgzb.material.domain; + +import lombok.Data; + +/** + * @author 10488 + * 修试入库-审核入库-前端传参 + */ +@Data +public class RepairTestWarehousingDto { + + /** 任务id*/ + private String taskId; + + /** id*/ + private String id; + + /** 审核类型 1 审核通过 2 驳回*/ + private String checkType; + + /** 类型 0.编号 1.计数*/ + private String type; + + /** 机具id*/ + private String maId; + + /** 类型规格id*/ + private String typeId; + + /** 不通过原因*/ + private String remark; + + /** 数量*/ + private String repairNum; + + /**更新时间*/ + private String updateTime; + + /** 更新者*/ + private String updateBy; + + /** 数据所属组织*/ + private long companyId; + +} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairTestInputMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairTestInputMapper.java new file mode 100644 index 00000000..499d45f4 --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairTestInputMapper.java @@ -0,0 +1,108 @@ +package com.bonus.sgzb.material.mapper; + +import com.bonus.sgzb.material.domain.RepairTestInputDetailVo; +import com.bonus.sgzb.material.domain.RepairTestInputDto; +import com.bonus.sgzb.material.domain.RepairTestInputVo; +import com.bonus.sgzb.material.domain.RepairTestWarehousingDto; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Map; + +/** + * @author 10488 + * 修试入库 + */ +@Repository("RepairTestInputMapper") +public interface RepairTestInputMapper { + + /** + * @param dto + * @return List + * @description 获取修试后入库列表 + * @author cwchen + * @date 2023/12/16 16:05 + */ + List getRepairedList(RepairTestInputDto dto); + + /** + * @param dto + * @return List + * @description 获取修试后入库-详情列表 + * @author cwchen + * @date 2023/12/16 17:34 + */ + List getRepairedDetailList(RepairTestInputDto dto); + + /** + * @param dto + * @description 更新修试后入库-数据 + * @author cwchen + * @date 2023/12/16 19:17 + */ + void updateRepairInputDetails(RepairTestWarehousingDto dto); + + /** + * @param dto + * @description 新增入库任务详细表-数据 + * @author cwchen + * @date 2023/12/16 19:33 + */ + void addInputApplyDetails(RepairTestWarehousingDto dto); + + /** + * @param typeId + * @return Map + * @description 查询机具类型-库存数量 + * @author cwchen + * @date 2023/12/16 20:24 + */ + Map getMaTypeByNum(String typeId); + + /** + * @param typeId + * @param num + * @description 更新机具类型-库存数量 + * @author cwchen + * @date 2023/12/16 20:45 + */ + void updateMaTypeNum(@Param("typeId") String typeId, @Param("num") double num); + + /** + * @param ma_status + * @param status + * @return int + * @description 查询机具状态-在库的id + * @author cwchen + * @date 2023/12/16 20:52 + */ + int getDicByMaStatusId(@Param("maStatus") String ma_status, @Param("status") String status); + + /** + * @param dicId + * @param maId + * @description 管理方式为编号的需更新机具设备的机具状态 + * @author cwchen + * @date 2023/12/16 20:59 + */ + void updateMaMachineStatus(@Param("dicId") int dicId, @Param("maId") String maId); + + /** + * @param dto + * @return List + * @description 查询修试后入库的状态是否全部更新 + * @author cwchen + * @date 2023/12/16 21:03 + */ + Map getIsAllUpdate(RepairTestWarehousingDto dto); + + /** + * @param dto + * @param dicId + * @description 更新任务表状态 + * @author cwchen + * @date 2023/12/16 21:19 + */ + void updateTmTaskStatus(@Param("params") RepairTestWarehousingDto dto, @Param("dictId") int dicId); +} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/RepairTestInputService.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/RepairTestInputService.java new file mode 100644 index 00000000..17347552 --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/RepairTestInputService.java @@ -0,0 +1,41 @@ +package com.bonus.sgzb.material.service; + +import com.bonus.sgzb.common.core.web.domain.AjaxResult; +import com.bonus.sgzb.material.domain.RepairTestInputDetailVo; +import com.bonus.sgzb.material.domain.RepairTestInputDto; +import com.bonus.sgzb.material.domain.RepairTestInputVo; + +import java.util.List; + +/** + * @author 10488 + * 修试入库 + */ +public interface RepairTestInputService { + /** + * @param dto + * @return List + * @description 获取修试后入库列表 + * @author cwchen + * @date 2023/12/16 16:03 + */ + List getRepairedList(RepairTestInputDto dto); + + /** + * @param dto + * @return List + * @description 获取修试后入库列表-详情 + * @author cwchen + * @date 2023/12/16 17:33 + */ + List getRepairedDetailList(RepairTestInputDto dto); + + /** + * @param params + * @return AjaxResult + * @description 修试后入库-入库操作 + * @author cwchen + * @date 2023/12/16 18:35 + */ + AjaxResult inputByType(String params); +} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairTestInputServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairTestInputServiceImpl.java new file mode 100644 index 00000000..0e9c2076 --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairTestInputServiceImpl.java @@ -0,0 +1,125 @@ +package com.bonus.sgzb.material.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.bonus.sgzb.common.core.constant.HttpStatus; +import com.bonus.sgzb.common.core.utils.DateTimeHelper; +import com.bonus.sgzb.common.core.utils.StringUtils; +import com.bonus.sgzb.common.core.web.domain.AjaxResult; +import com.bonus.sgzb.common.security.utils.SecurityUtils; +import com.bonus.sgzb.material.domain.RepairTestInputDetailVo; +import com.bonus.sgzb.material.domain.RepairTestInputDto; +import com.bonus.sgzb.material.domain.RepairTestInputVo; +import com.bonus.sgzb.material.domain.RepairTestWarehousingDto; +import com.bonus.sgzb.material.mapper.RepairTestInputMapper; +import com.bonus.sgzb.material.service.RepairTestInputService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * @author 10488 + * 修试入库 + */ +@Service("RepairTestInputService") +@Slf4j +public class RepairTestInputServiceImpl implements RepairTestInputService { + + @Resource(name = "RepairTestInputMapper") + private RepairTestInputMapper mapper; + + @Override + public List getRepairedList(RepairTestInputDto dto) { + return mapper.getRepairedList(dto); + } + + @Override + public List getRepairedDetailList(RepairTestInputDto dto) { + return mapper.getRepairedDetailList(dto); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult inputByType(String params) { + try { + if (StringUtils.isEmpty(params)) { + return AjaxResult.error(HttpStatus.ERROR, "参数类型不正确"); + } + List list = JSONObject.parseArray(params, RepairTestWarehousingDto.class); + Long companyId = SecurityUtils.getLoginUser().getSysUser().getCompanyId(); + String updateTime = DateTimeHelper.getNowTime(); + String updateBy = SecurityUtils.getLoginUser().getUsername(); + for (RepairTestWarehousingDto dto : list) { + dto.setCompanyId(companyId); + dto.setUpdateTime(updateTime); + dto.setUpdateBy(updateBy); + if (Objects.equals("2", dto.getCheckType())) { + // 审核不通过-入库数量修改为0 + dto.setRepairNum("0"); + } + // 更新修试后入库数据 + mapper.updateRepairInputDetails(dto); + if (Objects.equals("1", dto.getCheckType())) { + // 审核通过-更新入库任务详细表 + mapper.addInputApplyDetails(dto); + // 查询机具类型-现有库存 + Map map = mapper.getMaTypeByNum(dto.getTypeId()); + // 更新机具类型-库存 + String repairNum = StringUtils.isNotEmpty(dto.getRepairNum()) ? dto.getRepairNum() : "0"; + double num = countNum(map.get("num"), repairNum); + mapper.updateMaTypeNum(dto.getTypeId(),num); + if(Objects.equals("0", dto.getType())){ + // 查询机具状态-在库的id、管理方式为编号的需更新机具设备的机具状态 + int dicId = mapper.getDicByMaStatusId("ma_status","在库"); + mapper.updateMaMachineStatus(dicId,dto.getMaId()); + } + } + // 查询修试后入库的状态是否全部更新、更新任务表状态 + Map numMap = mapper.getIsAllUpdate(dto); + // 总量、未审核数量、入库数量、驳回数量 + int totalNum = Integer.parseInt(String.valueOf(numMap.get("num"))); + int noCheckNum = Integer.parseInt(String.valueOf(numMap.get("noCheckNum"))); + int passNum = Integer.parseInt(String.valueOf(numMap.get("passNum"))); + int noPassNum = Integer.parseInt(String.valueOf(numMap.get("noPassNum"))); + if(passNum == totalNum){ + int dicId = mapper.getDicByMaStatusId("rk_task","入库完成"); + mapper.updateTmTaskStatus(dto,dicId); + }else if(noPassNum > 0){ + int dicId = mapper.getDicByMaStatusId("rk_task","入库驳回"); + mapper.updateTmTaskStatus(dto,dicId); + } + } + } catch (Exception e) { + //手动回滚异常 + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + log.error("修试后入库-入库操作", e); + return AjaxResult.error(); + } + return AjaxResult.success(); + } + + /** + * @param num + * @param repairNum + * @return double + * @description 添加库存 + * @author cwchen + * @date 2023/12/16 20:43 + */ + public double countNum(Object num, String repairNum) { + BigDecimal value = new BigDecimal(new Double(0).toString()); + BigDecimal repairNumValue = new BigDecimal(new Double(repairNum).toString()); + value = value.add(repairNumValue); + if (Objects.nonNull(num)) { + BigDecimal numValue = new BigDecimal(new Double(String.valueOf(num)).toString()); + value.add(numValue); + } + return value.doubleValue(); + } +} diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairTestInputMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairTestInputMapper.xml new file mode 100644 index 00000000..d9187995 --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairTestInputMapper.xml @@ -0,0 +1,144 @@ + + + + + + INSERT INTO input_apply_details + + task_id, + ma_id, + type_id, + input_num, + input_type, + create_by, + create_time, + update_by, + update_time, + company_id, + + + #{taskId}, + #{maId}, + #{typeId}, + #{repairNum}, + '3', + #{updateBy}, + #{updateTime}, + #{updateBy}, + #{updateTime}, + #{companyId}, + + + + + UPDATE repair_input_details + + input_num = #{repairNum}, + update_by = #{updateBy}, + update_time = #{status}, + `status` = #{checkType}, + `remark` = #{remark} + + WHERE id = #{id} + + + + UPDATE ma_type SET num = #{num} WHERE type_id = #{typeId} + + + + UPDATE ma_machine SET ma_status = #{dicId} WHERE ma_id = #{maId} + + + + UPDATE tm_task SET task_status = #{dictId} WHERE task_id = #{params.taskId} + + + + + + + + + + + + + + + \ No newline at end of file From fad9414a7baae7b418e4052039c441a63c097823 Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Sun, 17 Dec 2023 13:23:18 +0800 Subject: [PATCH 2/7] =?UTF-8?q?base=E4=BF=AE=E8=AF=95=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/RepairTestInputController.java | 50 ------ .../base/domain/RepairTestInputDetailVo.java | 47 ------ .../sgzb/base/domain/RepairTestInputDto.java | 18 --- .../sgzb/base/domain/RepairTestInputVo.java | 28 ---- .../base/domain/RepairTestWarehousingDto.java | 45 ------ .../base/mapper/RepairTestInputMapper.java | 108 ------------- .../base/service/RepairTestInputService.java | 41 ----- .../impl/RepairTestInputServiceImpl.java | 125 --------------- .../mapper/base/RepairTestInputMapper.xml | 144 ------------------ 9 files changed, 606 deletions(-) delete mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/RepairTestInputController.java delete mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/RepairTestInputDetailVo.java delete mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/RepairTestInputDto.java delete mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/RepairTestInputVo.java delete mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/RepairTestWarehousingDto.java delete mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/RepairTestInputMapper.java delete mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/RepairTestInputService.java delete mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/RepairTestInputServiceImpl.java delete mode 100644 sgzb-modules/sgzb-base/src/main/resources/mapper/base/RepairTestInputMapper.xml diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/RepairTestInputController.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/RepairTestInputController.java deleted file mode 100644 index d93fef5d..00000000 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/RepairTestInputController.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.bonus.sgzb.base.controller; - -import com.bonus.sgzb.base.domain.RepairTestInputDetailVo; -import com.bonus.sgzb.base.domain.RepairTestInputDto; -import com.bonus.sgzb.base.domain.RepairTestInputVo; -import com.bonus.sgzb.base.service.RepairTestInputService; -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.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import java.util.List; - -/** - * @author 10488 - * 修试入库 - */ -@RestController -@RequestMapping("/RepairTestInput/") -public class RepairTestInputController extends BaseController { - - @Resource(name = "RepairTestInputService") - private RepairTestInputService service; - - @ApiOperation(value = "获取修试后入库列表") - @PostMapping("getRepairedList") - public TableDataInfo getRepairedList(RepairTestInputDto dto){ - startPage(); - List list = service.getRepairedList(dto); - return getDataTable(list); - } - - @ApiOperation(value = "获取修试后入库列表-详情") - @PostMapping("getRepairedDetailList") - public TableDataInfo getRepairedDetailList(RepairTestInputDto dto){ - startPage(); - List list = service.getRepairedDetailList(dto); - return getDataTable(list); - } - - @ApiOperation(value = "修试后入库-入库操作") - @PostMapping("inputByType") - public AjaxResult inputByType(String params){ - return service.inputByType(params); - } -} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/RepairTestInputDetailVo.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/RepairTestInputDetailVo.java deleted file mode 100644 index 28f523be..00000000 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/RepairTestInputDetailVo.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.bonus.sgzb.base.domain; - -import lombok.Data; - -/** - * @author 10488 - * 修试入库详细 - */ - -@Data -public class RepairTestInputDetailVo { - - private int id; - - /** 机具id*/ - private Integer maId; - - /** 规格ID*/ - private Integer typeId; - - /** 设备类型*/ - private String typeName; - - /** 规格型号*/ - private String typeName2; - - /** 管理方式(0编号 1计数)*/ - private String manageType; - - /** 数量*/ - private double repairNum; - - /** 编号*/ - private String maCode; - - /** 提交入库人员*/ - private String updateBy; - - /** 提交入库时间*/ - private String updateTime; - - /** 不通过原因*/ - private String remark; - - /** 状态*/ - private String status; -} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/RepairTestInputDto.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/RepairTestInputDto.java deleted file mode 100644 index d868169d..00000000 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/RepairTestInputDto.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.bonus.sgzb.base.domain; - -import lombok.Data; - -/** - * @author 10488 - * 修试入库-前端传参 - */ -@Data -public class RepairTestInputDto { - - /** 任务id*/ - private int taskId; - - /** 关键字*/ - private String keyWord; - -} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/RepairTestInputVo.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/RepairTestInputVo.java deleted file mode 100644 index d7359a9a..00000000 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/RepairTestInputVo.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.bonus.sgzb.base.domain; - -import lombok.Data; - -/** - * @author 10488 - * 修试入库-Vo - */ -@Data -public class RepairTestInputVo { - - private int id; - - /** 维修单号*/ - private String repairCode; - - /** 工器具类型*/ - private String maTypeName; - - /** 维修人员*/ - private String wxName; - - /** 维修时间*/ - private String wxTime; - - /** 状态*/ - private String taskStatus; -} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/RepairTestWarehousingDto.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/RepairTestWarehousingDto.java deleted file mode 100644 index 369f662e..00000000 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/RepairTestWarehousingDto.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.bonus.sgzb.base.domain; - -import lombok.Data; - -/** - * @author 10488 - * 修试入库-审核入库-前端传参 - */ -@Data -public class RepairTestWarehousingDto { - - /** 任务id*/ - private String taskId; - - /** id*/ - private String id; - - /** 审核类型 1 审核通过 2 驳回*/ - private String checkType; - - /** 类型 0.编号 1.计数*/ - private String type; - - /** 机具id*/ - private String maId; - - /** 类型规格id*/ - private String typeId; - - /** 不通过原因*/ - private String remark; - - /** 数量*/ - private String repairNum; - - /**更新时间*/ - private String updateTime; - - /** 更新者*/ - private String updateBy; - - /** 数据所属组织*/ - private long companyId; - -} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/RepairTestInputMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/RepairTestInputMapper.java deleted file mode 100644 index f7b675df..00000000 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/RepairTestInputMapper.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.bonus.sgzb.base.mapper; - -import com.bonus.sgzb.base.domain.RepairTestInputDetailVo; -import com.bonus.sgzb.base.domain.RepairTestInputDto; -import com.bonus.sgzb.base.domain.RepairTestInputVo; -import com.bonus.sgzb.base.domain.RepairTestWarehousingDto; -import org.apache.ibatis.annotations.Param; -import org.springframework.stereotype.Repository; - -import java.util.List; -import java.util.Map; - -/** - * @author 10488 - * 修试入库 - */ -@Repository("RepairTestInputMapper") -public interface RepairTestInputMapper { - - /** - * @param dto - * @return List - * @description 获取修试后入库列表 - * @author cwchen - * @date 2023/12/16 16:05 - */ - List getRepairedList(RepairTestInputDto dto); - - /** - * @param dto - * @return List - * @description 获取修试后入库-详情列表 - * @author cwchen - * @date 2023/12/16 17:34 - */ - List getRepairedDetailList(RepairTestInputDto dto); - - /** - * @param dto - * @description 更新修试后入库-数据 - * @author cwchen - * @date 2023/12/16 19:17 - */ - void updateRepairInputDetails(RepairTestWarehousingDto dto); - - /** - * @param dto - * @description 新增入库任务详细表-数据 - * @author cwchen - * @date 2023/12/16 19:33 - */ - void addInputApplyDetails(RepairTestWarehousingDto dto); - - /** - * @param typeId - * @return Map - * @description 查询机具类型-库存数量 - * @author cwchen - * @date 2023/12/16 20:24 - */ - Map getMaTypeByNum(String typeId); - - /** - * @param typeId - * @param num - * @description 更新机具类型-库存数量 - * @author cwchen - * @date 2023/12/16 20:45 - */ - void updateMaTypeNum(@Param("typeId") String typeId, @Param("num") double num); - - /** - * @param ma_status - * @param status - * @return int - * @description 查询机具状态-在库的id - * @author cwchen - * @date 2023/12/16 20:52 - */ - int getDicByMaStatusId(@Param("maStatus") String ma_status, @Param("status") String status); - - /** - * @param dicId - * @param maId - * @description 管理方式为编号的需更新机具设备的机具状态 - * @author cwchen - * @date 2023/12/16 20:59 - */ - void updateMaMachineStatus(@Param("dicId") int dicId, @Param("maId") String maId); - - /** - * @param dto - * @return List - * @description 查询修试后入库的状态是否全部更新 - * @author cwchen - * @date 2023/12/16 21:03 - */ - Map getIsAllUpdate(RepairTestWarehousingDto dto); - - /** - * @param dto - * @param dicId - * @description 更新任务表状态 - * @author cwchen - * @date 2023/12/16 21:19 - */ - void updateTmTaskStatus(@Param("params") RepairTestWarehousingDto dto,@Param("dictId") int dicId); -} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/RepairTestInputService.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/RepairTestInputService.java deleted file mode 100644 index 95f29b66..00000000 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/RepairTestInputService.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.bonus.sgzb.base.service; - -import com.bonus.sgzb.base.domain.RepairTestInputDetailVo; -import com.bonus.sgzb.base.domain.RepairTestInputDto; -import com.bonus.sgzb.base.domain.RepairTestInputVo; -import com.bonus.sgzb.common.core.web.domain.AjaxResult; - -import java.util.List; - -/** - * @author 10488 - * 修试入库 - */ -public interface RepairTestInputService { - /** - * @param dto - * @return List - * @description 获取修试后入库列表 - * @author cwchen - * @date 2023/12/16 16:03 - */ - List getRepairedList(RepairTestInputDto dto); - - /** - * @param dto - * @return List - * @description 获取修试后入库列表-详情 - * @author cwchen - * @date 2023/12/16 17:33 - */ - List getRepairedDetailList(RepairTestInputDto dto); - - /** - * @param params - * @return AjaxResult - * @description 修试后入库-入库操作 - * @author cwchen - * @date 2023/12/16 18:35 - */ - AjaxResult inputByType(String params); -} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/RepairTestInputServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/RepairTestInputServiceImpl.java deleted file mode 100644 index e8527b2b..00000000 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/RepairTestInputServiceImpl.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.bonus.sgzb.base.service.impl; - -import com.alibaba.fastjson.JSONObject; -import com.bonus.sgzb.base.domain.RepairTestInputDetailVo; -import com.bonus.sgzb.base.domain.RepairTestInputDto; -import com.bonus.sgzb.base.domain.RepairTestInputVo; -import com.bonus.sgzb.base.domain.RepairTestWarehousingDto; -import com.bonus.sgzb.base.mapper.RepairTestInputMapper; -import com.bonus.sgzb.base.service.RepairTestInputService; -import com.bonus.sgzb.common.core.constant.HttpStatus; -import com.bonus.sgzb.common.core.utils.DateTimeHelper; -import com.bonus.sgzb.common.core.utils.StringUtils; -import com.bonus.sgzb.common.core.web.domain.AjaxResult; -import com.bonus.sgzb.common.security.utils.SecurityUtils; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.interceptor.TransactionAspectSupport; - -import javax.annotation.Resource; -import java.math.BigDecimal; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * @author 10488 - * 修试入库 - */ -@Service("RepairTestInputService") -@Slf4j -public class RepairTestInputServiceImpl implements RepairTestInputService { - - @Resource(name = "RepairTestInputMapper") - private RepairTestInputMapper mapper; - - @Override - public List getRepairedList(RepairTestInputDto dto) { - return mapper.getRepairedList(dto); - } - - @Override - public List getRepairedDetailList(RepairTestInputDto dto) { - return mapper.getRepairedDetailList(dto); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public AjaxResult inputByType(String params) { - try { - if (StringUtils.isEmpty(params)) { - return AjaxResult.error(HttpStatus.ERROR, "参数类型不正确"); - } - List list = JSONObject.parseArray(params, RepairTestWarehousingDto.class); - Long companyId = SecurityUtils.getLoginUser().getSysUser().getCompanyId(); - String updateTime = DateTimeHelper.getNowTime(); - String updateBy = SecurityUtils.getLoginUser().getUsername(); - for (RepairTestWarehousingDto dto : list) { - dto.setCompanyId(companyId); - dto.setUpdateTime(updateTime); - dto.setUpdateBy(updateBy); - if (Objects.equals("2", dto.getCheckType())) { - // 审核不通过-入库数量修改为0 - dto.setRepairNum("0"); - } - // 更新修试后入库数据 - mapper.updateRepairInputDetails(dto); - if (Objects.equals("1", dto.getCheckType())) { - // 审核通过-更新入库任务详细表 - mapper.addInputApplyDetails(dto); - // 查询机具类型-现有库存 - Map map = mapper.getMaTypeByNum(dto.getTypeId()); - // 更新机具类型-库存 - String repairNum = StringUtils.isNotEmpty(dto.getRepairNum()) ? dto.getRepairNum() : "0"; - double num = countNum(map.get("num"), repairNum); - mapper.updateMaTypeNum(dto.getTypeId(),num); - if(Objects.equals("0", dto.getType())){ - // 查询机具状态-在库的id、管理方式为编号的需更新机具设备的机具状态 - int dicId = mapper.getDicByMaStatusId("ma_status","在库"); - mapper.updateMaMachineStatus(dicId,dto.getMaId()); - } - } - // 查询修试后入库的状态是否全部更新、更新任务表状态 - Map numMap = mapper.getIsAllUpdate(dto); - // 总量、未审核数量、入库数量、驳回数量 - int totalNum = Integer.parseInt(String.valueOf(numMap.get("num"))); - int noCheckNum = Integer.parseInt(String.valueOf(numMap.get("noCheckNum"))); - int passNum = Integer.parseInt(String.valueOf(numMap.get("passNum"))); - int noPassNum = Integer.parseInt(String.valueOf(numMap.get("noPassNum"))); - if(passNum == totalNum){ - int dicId = mapper.getDicByMaStatusId("rk_task","入库完成"); - mapper.updateTmTaskStatus(dto,dicId); - }else if(noPassNum > 0){ - int dicId = mapper.getDicByMaStatusId("rk_task","入库驳回"); - mapper.updateTmTaskStatus(dto,dicId); - } - } - } catch (Exception e) { - //手动回滚异常 - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - log.error("修试后入库-入库操作", e); - return AjaxResult.error(); - } - return AjaxResult.success(); - } - - /** - * @param num - * @param repairNum - * @return double - * @description 添加库存 - * @author cwchen - * @date 2023/12/16 20:43 - */ - public double countNum(Object num, String repairNum) { - BigDecimal value = new BigDecimal(new Double(0).toString()); - BigDecimal repairNumValue = new BigDecimal(new Double(repairNum).toString()); - value = value.add(repairNumValue); - if (Objects.nonNull(num)) { - BigDecimal numValue = new BigDecimal(new Double(String.valueOf(num)).toString()); - value.add(numValue); - } - return value.doubleValue(); - } -} diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/base/RepairTestInputMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/base/RepairTestInputMapper.xml deleted file mode 100644 index b9df3f4a..00000000 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/base/RepairTestInputMapper.xml +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - INSERT INTO input_apply_details - - task_id, - ma_id, - type_id, - input_num, - input_type, - create_by, - create_time, - update_by, - update_time, - company_id, - - - #{taskId}, - #{maId}, - #{typeId}, - #{repairNum}, - '3', - #{updateBy}, - #{updateTime}, - #{updateBy}, - #{updateTime}, - #{companyId}, - - - - - UPDATE repair_input_details - - input_num = #{repairNum}, - update_by = #{updateBy}, - update_time = #{status}, - `status` = #{checkType}, - `remark` = #{remark} - - WHERE id = #{id} - - - - UPDATE ma_type SET num = #{num} WHERE type_id = #{typeId} - - - - UPDATE ma_machine SET ma_status = #{dicId} WHERE ma_id = #{maId} - - - - UPDATE tm_task SET task_status = #{dictId} WHERE task_id = #{params.taskId} - - - - - - - - - - - - - - - \ No newline at end of file From 92f726fee7659855fb265ad49e0159312a4b8910 Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Sun, 17 Dec 2023 16:10:04 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E4=BF=AE=E8=AF=95=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/largeScreen/LargeScreenMapper.xml | 8 ++-- .../material/domain/RepairTestInputDto.java | 3 ++ .../impl/RepairTestInputServiceImpl.java | 37 +++++++++++-------- .../mapper/material/RepairTestInputMapper.xml | 9 ++++- 4 files changed, 35 insertions(+), 22 deletions(-) diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/largeScreen/LargeScreenMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/largeScreen/LargeScreenMapper.xml index f58cd8ee..f459a440 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/largeScreen/LargeScreenMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/largeScreen/LargeScreenMapper.xml @@ -74,9 +74,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" /*入库*/ - SELECT mir.input_num, + SELECT iad.input_num, a.typeName - FROM ma_input_record mir + FROM input_apply_details iad LEFT JOIN ( SELECT mt.type_id,mt4.type_name AS typeName FROM ma_type mt @@ -84,8 +84,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN ma_type mt3 ON mt2.parent_id = mt3.type_id AND mt3.`level` = '2' LEFT JOIN ma_type mt4 ON mt3.parent_id = mt4.type_id AND mt4.`level` = '1' WHERE mt.`level` = '4' - )a ON mir.type_id = a.type_id - WHERE mir.create_time BETWEEN CONCAT(#{startDate}, ' 00:00:00') AND CONCAT(#{endDate}, ' 23:59:59') AND mir.input_type = '1' + )a ON iad.type_id = a.type_id + WHERE iad.create_time BETWEEN CONCAT(#{startDate}, ' 00:00:00') AND CONCAT(#{endDate}, ' 23:59:59') AND iad.input_type = '1' AND a.typeName = #{maTypeName} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestInputDto.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestInputDto.java index 18fd86a6..3e51867d 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestInputDto.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTestInputDto.java @@ -15,4 +15,7 @@ public class RepairTestInputDto { /** 关键字*/ private String keyWord; + /** 状态*/ + private String status; + } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairTestInputServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairTestInputServiceImpl.java index 0e9c2076..808539e8 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairTestInputServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairTestInputServiceImpl.java @@ -13,6 +13,7 @@ import com.bonus.sgzb.material.domain.RepairTestWarehousingDto; import com.bonus.sgzb.material.mapper.RepairTestInputMapper; import com.bonus.sgzb.material.service.RepairTestInputService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -52,6 +53,9 @@ public class RepairTestInputServiceImpl implements RepairTestInputService { return AjaxResult.error(HttpStatus.ERROR, "参数类型不正确"); } List list = JSONObject.parseArray(params, RepairTestWarehousingDto.class); + if(CollectionUtils.isEmpty(list)){ + return AjaxResult.error(HttpStatus.ERROR, "参数类型不正确"); + } Long companyId = SecurityUtils.getLoginUser().getSysUser().getCompanyId(); String updateTime = DateTimeHelper.getNowTime(); String updateBy = SecurityUtils.getLoginUser().getUsername(); @@ -60,7 +64,7 @@ public class RepairTestInputServiceImpl implements RepairTestInputService { dto.setUpdateTime(updateTime); dto.setUpdateBy(updateBy); if (Objects.equals("2", dto.getCheckType())) { - // 审核不通过-入库数量修改为0 + // 审核不通过-入库数量修改为 0 dto.setRepairNum("0"); } // 更新修试后入库数据 @@ -80,20 +84,21 @@ public class RepairTestInputServiceImpl implements RepairTestInputService { mapper.updateMaMachineStatus(dicId,dto.getMaId()); } } - // 查询修试后入库的状态是否全部更新、更新任务表状态 - Map numMap = mapper.getIsAllUpdate(dto); - // 总量、未审核数量、入库数量、驳回数量 - int totalNum = Integer.parseInt(String.valueOf(numMap.get("num"))); - int noCheckNum = Integer.parseInt(String.valueOf(numMap.get("noCheckNum"))); - int passNum = Integer.parseInt(String.valueOf(numMap.get("passNum"))); - int noPassNum = Integer.parseInt(String.valueOf(numMap.get("noPassNum"))); - if(passNum == totalNum){ - int dicId = mapper.getDicByMaStatusId("rk_task","入库完成"); - mapper.updateTmTaskStatus(dto,dicId); - }else if(noPassNum > 0){ - int dicId = mapper.getDicByMaStatusId("rk_task","入库驳回"); - mapper.updateTmTaskStatus(dto,dicId); - } + } + RepairTestWarehousingDto dto = list.get(0); + // 查询修试后入库的状态是否全部更新、更新任务表状态 + Map numMap = mapper.getIsAllUpdate(dto); + // 总量、未审核数量、入库数量、驳回数量 + int totalNum = Integer.parseInt(String.valueOf(numMap.get("totalNum"))); + int noCheckNum = Integer.parseInt(String.valueOf(numMap.get("noCheckNum"))); + int passNum = Integer.parseInt(String.valueOf(numMap.get("passNum"))); + int noPassNum = Integer.parseInt(String.valueOf(numMap.get("noPassNum"))); + if(passNum == totalNum){ + int dicId = mapper.getDicByMaStatusId("rk_task","入库完成"); + mapper.updateTmTaskStatus(dto,dicId); + }else if(noPassNum > 0){ + int dicId = mapper.getDicByMaStatusId("rk_task","入库驳回"); + mapper.updateTmTaskStatus(dto,dicId); } } catch (Exception e) { //手动回滚异常 @@ -118,7 +123,7 @@ public class RepairTestInputServiceImpl implements RepairTestInputService { value = value.add(repairNumValue); if (Objects.nonNull(num)) { BigDecimal numValue = new BigDecimal(new Double(String.valueOf(num)).toString()); - value.add(numValue); + value = value.add(numValue); } return value.doubleValue(); } diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairTestInputMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairTestInputMapper.xml index d9187995..c7c0d3a3 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairTestInputMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairTestInputMapper.xml @@ -37,7 +37,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" input_num = #{repairNum}, update_by = #{updateBy}, - update_time = #{status}, + update_time = #{updateTime}, `status` = #{checkType}, `remark` = #{remark} @@ -53,7 +53,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - UPDATE tm_task SET task_status = #{dictId} WHERE task_id = #{params.taskId} + UPDATE tm_task SET task_status = #{dictId},update_by = #{params.updateBy},update_time = #{params.updateTime} WHERE task_id = #{params.taskId} @@ -85,6 +85,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" GROUP BY rid.task_id + ORDER BY tt.create_time DESC + SELECT + lod.id,lod.parent_id,lod.type_id,lod.ma_id,lod.out_num,lod.out_type,lod.create_by, + lod.create_time,lod.update_by,lod.update_time,lod.remark,lod.company_id + FROM + lease_out_details lod + + + lod.parent_id = #{parentId} + + + + + + UPDATE + lease_apply_details + SET + al_num = al_num + 1, + + update_by = #{record.updateBy}, + + update_time = now(), + status = '2' + WHERE + parennt_id = #{record.parentId} and type_id = #{record.typeId} + + + + insert into lease_out_details(parent_id,type_id,ma_id,out_num,out_type,create_by,create_time,update_by,update_time,remark,company_id) + values(#{parentId},#{typeId},#{maId},#{outNum},#{outType},#{createBy},now(),#{updateBy},now(),#{remark},#{companyId}) + + + + insert into lease_out_details + + + parent_id, + + + type_id, + + + ma_id, + + + out_num, + + + out_type, + + + create_by, + + + update_by, + + + remark, + + + company_id, + + + + + #{parentId}, + + + #{typeId}, + + + #{maId}, + + + #{outNum}, + + + #{outType}, + + + #{createBy}, + + + #{updateBy}, + + + #{remark}, + + + #{companyId}, + + + + + + UPDATE + ma_type + SET + num = num - #{record.outNum} + WHERE + type_id = #{record.typeId} + + + + UPDATE + ma_machine + SET + ma_status = '16' + + type_id = #{record.typeId} + + and ma_id = #{record.maId} + + + + + + insert into tm_task_agreement + + + task_id, + + + agreement_id, + + + create_by, + + + update_by, + + + remark, + + + company_id, + + create_time + + + + #{record.parentId}, + + + #{record.typeId}, + + + #{record.createBy}, + + + #{record.updateBy}, + + + #{record.remark}, + + + #{record.companyId}, + + now() + + + \ No newline at end of file diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml index b70cd39f..52f1207d 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml @@ -447,4 +447,78 @@ + + + + + + + + UPDATE tm_task SET task_status = #{record.taskStatus} WHERE task_id = #{record.taskId} + + + + UPDATE + lease_apply_info + set + + + company_audit_by = #{record.companyAuditBy}, + company_audit_time = #{record.companyAuditTime}, + company_audit_remark = #{record.companyAuditRemark}, + + + dept_audit_by = #{record.companyAuditBy}, + dept_audit_time = #{record.companyAuditTime}, + dept_audit_remark = #{record.companyAuditRemark}, + + + direct_audit_by = #{record.directAuditBy}, + direct_audit_time = #{record.directAuditTime} + + + WHERE + task_id = #{record.taskId} + + + + update + lease_apply_details + set + + + audit_num = #{record.auditNum}, + + + al_num = #{record.alNum}, + + + status = #{record.status}, + + + update_by = #{record.updateBy}, + + + update_time = #{record.updateTime} + + + where + parennt_id = #{record.parenntId} + \ No newline at end of file diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SysUserController.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SysUserController.java index b75b5c57..8ad4cd7c 100644 --- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SysUserController.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SysUserController.java @@ -1,30 +1,10 @@ package com.bonus.sgzb.system.controller; -import java.io.IOException; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; - import com.bonus.sgzb.common.core.constant.Constants; import com.bonus.sgzb.common.core.constant.SecurityConstants; -import com.bonus.sgzb.common.core.exception.ServiceException; -import com.bonus.sgzb.system.api.RemoteUserService; -import com.bonus.sgzb.system.service.*; -import org.apache.commons.lang3.ArrayUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; +import com.bonus.sgzb.common.core.constant.UserConstants; import com.bonus.sgzb.common.core.domain.R; +import com.bonus.sgzb.common.core.exception.ServiceException; import com.bonus.sgzb.common.core.utils.StringUtils; import com.bonus.sgzb.common.core.utils.poi.ExcelUtil; import com.bonus.sgzb.common.core.web.controller.BaseController; @@ -35,10 +15,24 @@ import com.bonus.sgzb.common.log.enums.BusinessType; import com.bonus.sgzb.common.security.annotation.InnerAuth; import com.bonus.sgzb.common.security.annotation.RequiresPermissions; import com.bonus.sgzb.common.security.utils.SecurityUtils; +import com.bonus.sgzb.system.api.RemoteUserService; import com.bonus.sgzb.system.api.domain.SysDept; import com.bonus.sgzb.system.api.domain.SysRole; import com.bonus.sgzb.system.api.domain.SysUser; import com.bonus.sgzb.system.api.model.LoginUser; +import com.bonus.sgzb.system.service.*; +import org.apache.commons.lang3.ArrayUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; /** * 用户信息 @@ -292,12 +286,25 @@ public class SysUserController extends BaseController * 根据手机验证码重制密码 */ @RequiresPermissions("system:user:edit") - @Log(title = "用户管理", businessType = BusinessType.UPDATE) + @Log(title = "根据手机验证码重制密码", businessType = BusinessType.UPDATE) @PutMapping("/resetPwdByCode") - public AjaxResult resetPwdByCode(String phone, String code, String password) { - if (StringUtils.isEmpty(phone) || StringUtils.isEmpty(code) || StringUtils.isEmpty(password)) { - return AjaxResult.error("参数错误"); + public AjaxResult resetPwdByCode(String phone, Long userId, String code, String password) { + if (StringUtils.isEmpty(phone) || StringUtils.isEmpty(code) || StringUtils.isEmpty(password) || userId == null) { + return AjaxResult.error("参数不能为空"); } + if (password.length() < UserConstants.PASSWORD_MIN_LENGTH || password.length() > UserConstants.PASSWORD_MAX_LENGTH) { + throw new ServiceException("密码长度必须在6到19个字符之间"); + } + if (code.length() != UserConstants.CODE_MIN_LENGTH_LOGIN) { + throw new ServiceException("验证码长度需为6位"); + } + if (phone.length() != UserConstants.PHONE_DEFAULT_LENGTH_LOGIN) { + throw new ServiceException("手机号码长度不在指定范围"); + } + if (remoteUserService.checkCode(phone, code).getCode() != Constants.SUCCESS) { + throw new ServiceException("对不起,您输入的验证码:" + code + " 不存在,请重新输入有效的验证码"); + } + if (smsService.checkCode(phone, code)) { // 查询用户信息 R userResult = remoteUserService.getUserInfoByPhone(phone, SecurityConstants.INNER);