diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/MaWholeSetController.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/MaWholeSetController.java index 963f7c7..baa4262 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/MaWholeSetController.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/MaWholeSetController.java @@ -4,10 +4,12 @@ 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.config.PageResultVo; +import com.bonus.sgzb.material.domain.LeaseApplyDetails; import com.bonus.sgzb.material.domain.MaWholeSetDto; import com.bonus.sgzb.material.domain.MaWholeTreeVo; import com.bonus.sgzb.material.domain.MaWholeVo; import com.bonus.sgzb.material.service.MaWholeSetService; +import com.github.pagehelper.PageHelper; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; @@ -51,11 +53,11 @@ public class MaWholeSetController extends BaseController { * @return */ @ApiOperation("查询整套抱杆管理") - @PostMapping("/selectList") - public AjaxResult selectList(@ApiParam(value = "查询信息") @RequestBody MaWholeSetDto dto) { - log.info("查询整套抱杆管理:{}", dto); - PageResultVo result = maWholeSetService.selectList(dto); - return AjaxResult.success(result); + @GetMapping("/selectList") + public TableDataInfo selectList(MaWholeSetDto dto) { + PageHelper.startPage(dto.getPageNum() == 0 ? 1 : dto.getPageNum(), dto.getPageSize()); + List maWholeVos = maWholeSetService.selectList(dto); + return getDataTable(maWholeVos); } /** @@ -96,4 +98,16 @@ public class MaWholeSetController extends BaseController { log.info("根据id删除整套抱杆:{}", dto); return maWholeSetService.deleteById(dto); } + + /** + * 查询整套抱杆明细 + * @param wholeTypeName + * @return + */ + @ApiOperation("领料申请查询成套抱杆设备") + @GetMapping("/selectListByWholeTypeName") + public AjaxResult selectListByWholeTypeName(MaWholeSetDto wholeTypeName) { + List list = maWholeSetService.selectListByWholeTypeName(wholeTypeName); + return AjaxResult.success(list); + } } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/MaWhole.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/MaWhole.java index c88b336..1bcd1de 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/MaWhole.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/MaWhole.java @@ -1,9 +1,13 @@ package com.bonus.sgzb.material.domain; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; /** * 整套抱杆表单集合实体类 @@ -20,10 +24,38 @@ public class MaWhole { private Integer id; /** 父级ID */ - @ApiModelProperty(value = "父级ID") + @ApiModelProperty(value = "父级类型ID") private Integer parentId; + /** 父级ID */ + @ApiModelProperty(value = "类型ID") + private Integer typeId; + @ApiModelProperty(value = "数量") + private Integer deviceNum; /** 配套数量 */ @ApiModelProperty(value = "配套数量") private Integer totalNum; + /** 设备id */ + @ApiModelProperty(value = "设备id") + private Integer deviceTypeId; + /** 设备类型 */ + @ApiModelProperty(value = "设备类型(1主体设备 2配套设备)") + private Integer ascriptionType; + + /** 配套名称 */ + @ApiModelProperty(value = "配套名称") + private String wholeTypeName; + /** 配套名称 */ + @ApiModelProperty(value = "所属公司") + private String companyId; + + /** 创建时间 */ + @ApiModelProperty(value = "创建时间") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + /** 创建人 */ + @ApiModelProperty(value = "创建人") + private Integer createBy; + } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/MaWholeSetDto.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/MaWholeSetDto.java index 495b010..ecb64f1 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/MaWholeSetDto.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/MaWholeSetDto.java @@ -36,9 +36,22 @@ public class MaWholeSetDto { /** 关键字 */ @ApiModelProperty(value = "关键字") private String keyWord; + /** 配套名称 */ + @ApiModelProperty(value = "配套名称") + private String wholeTypeName; + /** 关键字 */ + @ApiModelProperty(value = "所属公司") + private String companyId; + /** 关键字 */ + @ApiModelProperty(value = "创建人") + private Integer createBy; + @ApiModelProperty(value = "开始时间") + private String startTime; + @ApiModelProperty(value = "结束时间") + private String endTime; /** 表单对象集合 */ @ApiModelProperty(value = "表单对象集合") - private List wholeList; + private List deviceInfo; } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/BackApplyMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/BackApplyMapper.java index 02555a5..69b857f 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/BackApplyMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/BackApplyMapper.java @@ -120,6 +120,12 @@ public interface BackApplyMapper { */ List getUseTypeTree(BackApplyInfo bean); + List getUseTypeTreeL4(BackApplyInfo bean); + + List getUseTypeTreeL3(List list); + + List getUseTypeTreeL21(List list); + /** * 退料申请导出 * @param bean diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/MaWholeSetMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/MaWholeSetMapper.java index ff532d9..6868a60 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/MaWholeSetMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/MaWholeSetMapper.java @@ -1,10 +1,7 @@ package com.bonus.sgzb.material.mapper; import com.bonus.sgzb.base.api.domain.MaType; -import com.bonus.sgzb.material.domain.MaWhole; -import com.bonus.sgzb.material.domain.MaWholeSetDto; -import com.bonus.sgzb.material.domain.MaWholeVo; -import com.bonus.sgzb.material.domain.TreeSelectId; +import com.bonus.sgzb.material.domain.*; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -46,10 +43,10 @@ public interface MaWholeSetMapper { /** * 根据id删除 - * @param id + * @param * @return */ - int deleteById(@Param("id") Integer id); + int deleteById(MaWholeSetDto dto); /** * 根据id去ma_whole_set表中查询typeid @@ -78,4 +75,8 @@ public interface MaWholeSetMapper { * @return */ List selectId(@Param("typeId") List typeId); + + int selectByWholeTypeName(MaWholeSetDto wholeTypeName); + + List selectListByWholeTypeName(MaWholeSetDto wholeTypeName); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/WorkSiteDirectManageMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/WorkSiteDirectManageMapper.java index 1b6f6ab..fc72833 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/WorkSiteDirectManageMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/WorkSiteDirectManageMapper.java @@ -44,7 +44,7 @@ public interface WorkSiteDirectManageMapper { int batchDel(@Param("ids") ArrayList ids); - String getMachineStatus(LeaseOutDetails leaseOutDetails); + DirectApplyInfo getMachineStatus(LeaseOutDetails leaseOutDetails); int updateLeaseApplyDetailsOutNum(@Param("record")LeaseOutDetails leaseOutDetails); diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/MaWholeSetService.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/MaWholeSetService.java index e511c21..d1d3e6f 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/MaWholeSetService.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/MaWholeSetService.java @@ -2,6 +2,7 @@ package com.bonus.sgzb.material.service; import com.bonus.sgzb.common.core.web.domain.AjaxResult; import com.bonus.sgzb.material.config.PageResultVo; +import com.bonus.sgzb.material.domain.LeaseApplyDetails; import com.bonus.sgzb.material.domain.MaWholeSetDto; import com.bonus.sgzb.material.domain.MaWholeTreeVo; import com.bonus.sgzb.material.domain.MaWholeVo; @@ -27,7 +28,7 @@ public interface MaWholeSetService { * @param dto * @return */ - PageResultVo selectList(MaWholeSetDto dto); + List selectList(MaWholeSetDto dto); /** * 查询整套抱杆明细 @@ -56,4 +57,6 @@ public interface MaWholeSetService { * @return */ MaWholeTreeVo selectListTree(Integer id); + + List selectListByWholeTypeName(MaWholeSetDto wholeTypeName); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/BackApplyServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/BackApplyServiceImpl.java index 66e71d9..e9eb008 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/BackApplyServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/BackApplyServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; /** * @author hay @@ -364,8 +365,19 @@ public class BackApplyServiceImpl implements BackApplyService { public AjaxResult getUseTypeTree(BackApplyInfo bean) { List groupList = new ArrayList<>(); List list = new ArrayList<>(); + List listL4 = new ArrayList<>(); + List listL3 = new ArrayList<>(); + List listL21 = new ArrayList<>(); try { - list = backApplyMapper.getUseTypeTree(bean); + //list = backApplyMapper.getUseTypeTree(bean); + listL4 = backApplyMapper.getUseTypeTreeL4(bean); + List list4ParentIds = listL4.stream().map(o -> o.getParentId()).collect(Collectors.toList()); + listL3 = backApplyMapper.getUseTypeTreeL3(list4ParentIds); + List list3ParentIds = listL3.stream().map(o -> o.getParentId()).collect(Collectors.toList()); + listL21 = backApplyMapper.getUseTypeTreeL21(list3ParentIds); + list.addAll(listL4); + list.addAll(listL3); + list.addAll(listL21); if (CollectionUtils.isNotEmpty(list)) { // 创建树形结构(数据集合作为参数) TypeTreeBuild treeBuild = new TypeTreeBuild(list); diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/MaWholeSetServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/MaWholeSetServiceImpl.java index af24e77..bf30c2d 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/MaWholeSetServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/MaWholeSetServiceImpl.java @@ -39,50 +39,51 @@ public class MaWholeSetServiceImpl implements MaWholeSetService { if (dto == null) { return AjaxResult.error("参数不能为空!!!"); } - if (dto.getParentId() == null) { - return AjaxResult.error("父级id不能为空"); + + //先查询是否有重复的配套名称 + if (selectByWholeTypeName(dto) > 0) { + return AjaxResult.error("成套名称已存在"); } - int count = selectByParentId(dto.getParentId()); - if (count != 0) { - return AjaxResult.error("该物品类型已经绑定相关配件,无法再次绑定,请重新选择!!!"); - } - if (CollectionUtils.isNotEmpty(dto.getWholeList())) { - for (MaWhole maWhole : dto.getWholeList()) { + + if (CollectionUtils.isNotEmpty(dto.getDeviceInfo())) { + for (MaWhole maWhole : dto.getDeviceInfo()) { + maWhole.setCreateBy(dto.getCreateBy()); + maWhole.setCompanyId(dto.getCompanyId()); + maWhole.setTypeId(maWhole.getDeviceTypeId()); + maWhole.setTotalNum(maWhole.getDeviceNum()); + maWhole.setWholeTypeName(dto.getWholeTypeName()); maWhole.setParentId(dto.getParentId()); } - } - int res = 0; - try { - res = insertMaWholeSet(dto.getWholeList()); - if (res == 0) { - log.error("insertMaWholeSet方法插入异常"); - throw new RuntimeException("insertMaWholeSet方法插入异常"); + int res = 0; + try { + res = insertMaWholeSet(dto.getDeviceInfo()); + if (res == 0) { + log.error("insertMaWholeSet方法插入异常"); + throw new RuntimeException("insertMaWholeSet方法插入异常"); + } + } catch (Exception e) { + log.error("新增计划管理异常:{}", e.getMessage()); + return AjaxResult.error(ExceptionEnum.SAVE_TO_DATABASE.getCode(), ExceptionEnum.SAVE_TO_DATABASE.getMsg()); } - } catch (Exception e) { - log.error("新增计划管理异常:{}",e.getMessage()); - return AjaxResult.error(ExceptionEnum.SAVE_TO_DATABASE.getCode(), ExceptionEnum.SAVE_TO_DATABASE.getMsg()); + return AjaxResult.success("新增成功", res); + } else { + return AjaxResult.error("请选择主/配套设备"); } - return AjaxResult.success("新增成功", res); + } + + private int selectByWholeTypeName(MaWholeSetDto wholeTypeName) { + return mapper.selectByWholeTypeName(wholeTypeName); } /** * 查询整套抱杆管理 + * * @param dto * @return */ @Override - public PageResultVo selectList(MaWholeSetDto dto) { - List list = mapper.selectList(dto); - PageHelper.startPage(dto.getPageNum() == 0 ? 1 : dto.getPageNum(), dto.getPageSize()); - PageResultVo pageResult = new PageResultVo(); - // 分页信息 - PageInfo pageInfo = new PageInfo<>(list); - pageResult.setTotalCount(pageInfo.getTotal()); - pageResult.setTotalPageCount(pageInfo.getPages()); - pageResult.setResult(list); - pageResult.setPageNum(dto.getPageNum()); - pageResult.setPageSize(dto.getPageSize()); - return pageResult; + public List selectList(MaWholeSetDto dto) { + return mapper.selectList(dto); } /** @@ -103,17 +104,17 @@ public class MaWholeSetServiceImpl implements MaWholeSetService { @Override @Transactional(rollbackFor = Exception.class) public AjaxResult deleteById(MaWholeSetDto dto) { - if (dto.getId() == null) { + if (dto == null) { return AjaxResult.error("删除标识id为空,无法进行删除"); } int res = 0; try { - res = deleteMaWhole(dto.getId()); + res = deleteMaWhole(dto); if (res == 0) { throw new RuntimeException("删除失败"); } } catch (Exception e) { - log.error("删除异常:{}",e.getMessage()); + log.error("删除异常:{}", e.getMessage()); return AjaxResult.error(ExceptionEnum.DELETE_TO_DATABASE.getCode(), ExceptionEnum.DELETE_TO_DATABASE.getMsg()); } return AjaxResult.success("删除成功", res); @@ -121,11 +122,11 @@ public class MaWholeSetServiceImpl implements MaWholeSetService { /** * 根据id删除整套配件信息 - * @param id + * @param * @return */ - private int deleteMaWhole(Integer id) { - return mapper.deleteById(id); + private int deleteMaWhole(MaWholeSetDto dto) { + return mapper.deleteById(dto); } /** @@ -137,32 +138,34 @@ public class MaWholeSetServiceImpl implements MaWholeSetService { @Transactional(rollbackFor = Exception.class) public AjaxResult update(MaWholeSetDto dto) { log.info("修改整套抱杆管理传参:{}", dto); - int count = selectByParentId(dto.getParentId()); - if (!dto.getId().equals(dto.getParentId()) && count != 0) { - return AjaxResult.error("该物品类型已经配套相关配件,无法再次绑定,请重新提交修改!!!"); - } - if (CollectionUtils.isNotEmpty(dto.getWholeList())) { - for (MaWhole maWhole : dto.getWholeList()) { + if (CollectionUtils.isNotEmpty(dto.getDeviceInfo())) { + for (MaWhole maWhole : dto.getDeviceInfo()) { + maWhole.setCreateBy(dto.getCreateBy()); + maWhole.setTypeId(maWhole.getDeviceTypeId()); + maWhole.setTotalNum(maWhole.getDeviceNum()); + maWhole.setWholeTypeName(dto.getWholeTypeName()); maWhole.setParentId(dto.getParentId()); } - } - int res = 0; - try { - res = deleteMaWhole(dto.getId()); - if (res == 0) { - log.error("deleteById方法删除异常"); - throw new RuntimeException("deleteById方法删除异常"); + int res = 0; + try { + deleteMaWhole(dto); + res = insertMaWholeSet(dto.getDeviceInfo()); + if (res == 0) { + log.error("insertMaWholeSet方法插入异常"); + throw new RuntimeException("insertMaWholeSet方法插入异常"); + } + /* int count = selectByWholeTypeName(dto); + if (count > 1) { + throw new RuntimeException("配套名称已重复,请重新输入"); + }*/ + } catch (Exception e) { + e.printStackTrace(); + return AjaxResult.error(ExceptionEnum.UPDATE_TO_DATABASE.getCode(), ExceptionEnum.UPDATE_TO_DATABASE.getMsg()); } - res = insertMaWholeSet(dto.getWholeList()); - if (res == 0) { - log.error("insertMaWholeSet方法插入异常"); - throw new RuntimeException("insertMaWholeSet方法插入异常"); - } - } catch (Exception e) { - e.printStackTrace(); - return AjaxResult.error(ExceptionEnum.UPDATE_TO_DATABASE.getCode(), ExceptionEnum.UPDATE_TO_DATABASE.getMsg()); + return AjaxResult.success("修改成功", res); + } else { + return AjaxResult.error("请选择主/配套设备"); } - return AjaxResult.success("修改成功", res); } /** @@ -186,12 +189,20 @@ public class MaWholeSetServiceImpl implements MaWholeSetService { return treeVo; } + @Override + public List selectListByWholeTypeName(MaWholeSetDto wholeTypeName) { + return mapper.selectListByWholeTypeName(wholeTypeName); + } + /** * 方法提取,新增ma_whole_set表 + * * @param wholeList * @return */ - private int insertMaWholeSet(List wholeList) { return mapper.insert(wholeList); } + private int insertMaWholeSet(List wholeList) { + return mapper.insert(wholeList); + } /** * 根据parentId查询,去重 diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/WorkSiteDirectManageImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/WorkSiteDirectManageImpl.java index 0d03f25..379471c 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/WorkSiteDirectManageImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/WorkSiteDirectManageImpl.java @@ -13,7 +13,6 @@ import com.bonus.sgzb.material.service.*; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -179,7 +178,7 @@ public class WorkSiteDirectManageImpl implements WorkSiteDirectManageService { @Transactional(rollbackFor = Exception.class) public int insertLeaseOutDetail(List leaseOutDetails, TmTask lTask) { int res = 0; - String maStatus = "15"; + String maStatus = "16"; double outNum = 0.1; if (StringUtils.isNull(leaseOutDetails)) { log.info("领料出库失败,请检查参数是否填写完整!"); @@ -187,9 +186,9 @@ public class WorkSiteDirectManageImpl implements WorkSiteDirectManageService { } for (LeaseOutDetails leaseOutDetail : leaseOutDetails) { if (!(Objects.equals(Integer.valueOf(0), leaseOutDetail.getMaId()) || leaseOutDetail.getMaId() == null)) { - String status = workSiteDirectManageMapper.getMachineStatus(leaseOutDetail); - if (!maStatus.equals(status)) { - log.info("领料出库失败,该设备不是在库状态!"); + DirectApplyInfo directApplyInfo = workSiteDirectManageMapper.getMachineStatus(leaseOutDetail); + if (!maStatus.equals(directApplyInfo.getStatus())) { + log.info("领料出库失败,该设备不是再用状态!"); return res; } } diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/BackApplyMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/BackApplyMapper.xml index e0a9c7c..840872b 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/BackApplyMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/BackApplyMapper.xml @@ -690,6 +690,82 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEVEL ASC, type_id; + + + + + + @@ -67,11 +56,15 @@ + + \ No newline at end of file diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/WorkSiteDirectManageMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/WorkSiteDirectManageMapper.xml index e9e9686..ab00e53 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/WorkSiteDirectManageMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/WorkSiteDirectManageMapper.xml @@ -431,8 +431,8 @@ - + select ma_status as status from ma_machine where ma_id = #{maId}