From 9ddaa2d7b888068342f5ad75c8b0c30fe96dbb19 Mon Sep 17 00:00:00 2001 From: mashuai Date: Mon, 14 Oct 2024 13:52:48 +0800 Subject: [PATCH 01/28] =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E5=92=8C=E5=8D=95?= =?UTF-8?q?=E4=BD=8D=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/constant/MaterialConstants.java | 15 ++++ .../bonus/common/biz/enums/HttpCodeEnum.java | 6 ++ .../basic/controller/BmProjectController.java | 20 ++++- .../basic/controller/BmUnitController.java | 6 +- .../basic/mapper/BmProjectMapper.java | 7 ++ .../material/basic/mapper/BmUnitMapper.java | 7 ++ .../basic/service/IBmProjectService.java | 10 ++- .../basic/service/IBmUnitService.java | 10 ++- .../service/impl/BmProjectServiceImpl.java | 79 ++++++++++++++++--- .../basic/service/impl/BmUnitServiceImpl.java | 61 ++++++++++++-- .../mapper/material/basic/BmProjectMapper.xml | 21 ++--- .../mapper/material/basic/BmUnitMapper.xml | 21 ++--- 12 files changed, 212 insertions(+), 51 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java index 27b49a68..9db1b115 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java @@ -13,5 +13,20 @@ public class MaterialConstants */ public static final String UTF8 = "UTF-8"; + /** + * 身份证正则表达式 + */ + public static final String CREDENTIALS_CODE_PATTERN = "^[1-9]\\d{5}[1-9]\\d{3}((0[1-9])|(1[0-2]))(0[1-9]|([1|2][0-9])|3[0-1])((\\d{4})|\\d{3}X)$"; + + /** + * 经度正则表达式 + */ + public static final String LONGITUDE_PATTERN = "^(-?(180(\\.0+)?|1[0-7][0-9](\\.\\d{1,6})?|[1-9]?\\d(\\.\\d{1,6})?))$"; + + /** + * 纬度正则表达式 + */ + public static final String LATITUDE_PATTERN = "^(-?(90(\\.0+)?|[1-8]?\\d(\\.\\d{1,6})?))$"; + } diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/HttpCodeEnum.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/HttpCodeEnum.java index df53128d..1001abf8 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/HttpCodeEnum.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/HttpCodeEnum.java @@ -3,6 +3,8 @@ package com.bonus.common.biz.enums; public enum HttpCodeEnum { // 成功 SUCCESS(200, "操作成功"), + //失败 + FAIL(400, "操作失败,请联系管理员"), // 登录 NEED_LOGIN(401, "需要登录后操作"), NO_OPERATOR_AUTH(403, "无权限操作"), @@ -19,6 +21,10 @@ public enum HttpCodeEnum { EMAIL_NOT_NULL(511, "邮箱不能为空"), NICKNAME_EXIST(512, "昵称已存在"), LOGIN_ERROR(505, "用户名或密码错误"), + NAME_DUPLICATE(1000, "名称重复,请重新输入"), + INVALID_LONGITUDE_FORMAT(1001, "经度格式不正确"), + INVALID_LATITUDE_FORMAT(1002, "纬度格式不正确"), + INVALID_PHONE_FORMAT(1003, "手机号格式不正确"), REPEATE_ERROR(600, "不允许重复提交,请稍候再试"); int code; String msg; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java index 4ece383c..37db8080 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java @@ -1,9 +1,11 @@ package com.bonus.material.basic.controller; import java.util.List; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import com.bonus.common.log.enums.OperaType; import com.bonus.material.common.annotation.PreventRepeatSubmit; +import com.bonus.system.api.RemoteDictDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -38,6 +40,9 @@ public class BmProjectController extends BaseController @Autowired private IBmProjectService bmProjectService; + @Resource + private RemoteDictDataService remoteDictDataService; + /** * 查询标段工程管理列表 */ @@ -51,6 +56,15 @@ public class BmProjectController extends BaseController return getDataTable(list); } + /** + * 查询工程类型列表 + */ + @ApiOperation(value = "查询工程类型列表") + @GetMapping("/getProjectTypeList") + public AjaxResult getProjectTypeList() { + return remoteDictDataService.dictType("bm_project_type", null); + } + /** * 导出标段工程管理列表 */ @@ -87,7 +101,7 @@ public class BmProjectController extends BaseController @PostMapping public AjaxResult add(@RequestBody BmProject bmProject) { - return toAjax(bmProjectService.insertBmProject(bmProject)); + return bmProjectService.insertBmProject(bmProject); } /** @@ -100,7 +114,7 @@ public class BmProjectController extends BaseController @PutMapping public AjaxResult edit(@RequestBody BmProject bmProject) { - return toAjax(bmProjectService.updateBmProject(bmProject)); + return bmProjectService.updateBmProject(bmProject); } /** @@ -113,6 +127,6 @@ public class BmProjectController extends BaseController @DeleteMapping("/{proIds}") public AjaxResult remove(@PathVariable Long[] proIds) { - return toAjax(bmProjectService.deleteBmProjectByProIds(proIds)); + return bmProjectService.deleteBmProjectByProIds(proIds); } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java index bed25a46..bf64ef37 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java @@ -87,7 +87,7 @@ public class BmUnitController extends BaseController @PostMapping public AjaxResult add(@RequestBody BmUnit bmUnit) { - return toAjax(bmUnitService.insertBmUnit(bmUnit)); + return bmUnitService.insertBmUnit(bmUnit); } /** @@ -100,7 +100,7 @@ public class BmUnitController extends BaseController @PutMapping public AjaxResult edit(@RequestBody BmUnit bmUnit) { - return toAjax(bmUnitService.updateBmUnit(bmUnit)); + return bmUnitService.updateBmUnit(bmUnit); } /** @@ -113,6 +113,6 @@ public class BmUnitController extends BaseController @DeleteMapping("/{unitIds}") public AjaxResult remove(@PathVariable Long[] unitIds) { - return toAjax(bmUnitService.deleteBmUnitByUnitIds(unitIds)); + return bmUnitService.deleteBmUnitByUnitIds(unitIds); } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmProjectMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmProjectMapper.java index 203054ca..59f73250 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmProjectMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmProjectMapper.java @@ -58,4 +58,11 @@ public interface BmProjectMapper * @return 结果 */ public int deleteBmProjectByProIds(Long[] proIds); + + /** + * 根据工程名称查询工程信息 + * @param proName + * @return + */ + BmProject selectBmProjectByProName(String proName); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitMapper.java index 7f81e013..2144acfe 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitMapper.java @@ -58,4 +58,11 @@ public interface BmUnitMapper * @return 结果 */ public int deleteBmUnitByUnitIds(Long[] unitIds); + + /** + * 根据单位名查询单位信息 + * @param unitName + * @return + */ + BmUnit selectBmUnitByProName(String unitName); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmProjectService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmProjectService.java index 1a47f98a..01870b76 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmProjectService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmProjectService.java @@ -1,6 +1,8 @@ package com.bonus.material.basic.service; import java.util.List; + +import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.basic.domain.BmProject; /** @@ -33,7 +35,7 @@ public interface IBmProjectService * @param bmProject 标段工程管理 * @return 结果 */ - public int insertBmProject(BmProject bmProject); + public AjaxResult insertBmProject(BmProject bmProject); /** * 修改标段工程管理 @@ -41,7 +43,7 @@ public interface IBmProjectService * @param bmProject 标段工程管理 * @return 结果 */ - public int updateBmProject(BmProject bmProject); + public AjaxResult updateBmProject(BmProject bmProject); /** * 批量删除标段工程管理 @@ -49,7 +51,7 @@ public interface IBmProjectService * @param proIds 需要删除的标段工程管理主键集合 * @return 结果 */ - public int deleteBmProjectByProIds(Long[] proIds); + public AjaxResult deleteBmProjectByProIds(Long[] proIds); /** * 删除标段工程管理信息 @@ -57,5 +59,5 @@ public interface IBmProjectService * @param proId 标段工程管理主键 * @return 结果 */ - public int deleteBmProjectByProId(Long proId); + public AjaxResult deleteBmProjectByProId(Long proId); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitService.java index 3e50f779..e2bf2270 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitService.java @@ -1,6 +1,8 @@ package com.bonus.material.basic.service; import java.util.List; + +import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.basic.domain.BmUnit; /** @@ -33,7 +35,7 @@ public interface IBmUnitService * @param bmUnit 往来单位管理 * @return 结果 */ - public int insertBmUnit(BmUnit bmUnit); + public AjaxResult insertBmUnit(BmUnit bmUnit); /** * 修改往来单位管理 @@ -41,7 +43,7 @@ public interface IBmUnitService * @param bmUnit 往来单位管理 * @return 结果 */ - public int updateBmUnit(BmUnit bmUnit); + public AjaxResult updateBmUnit(BmUnit bmUnit); /** * 批量删除往来单位管理 @@ -49,7 +51,7 @@ public interface IBmUnitService * @param unitIds 需要删除的往来单位管理主键集合 * @return 结果 */ - public int deleteBmUnitByUnitIds(Long[] unitIds); + public AjaxResult deleteBmUnitByUnitIds(Long[] unitIds); /** * 删除往来单位管理信息 @@ -57,5 +59,5 @@ public interface IBmUnitService * @param unitId 往来单位管理主键 * @return 结果 */ - public int deleteBmUnitByUnitId(Long unitId); + public AjaxResult deleteBmUnitByUnitId(Long unitId); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java index cf749ba3..4359246a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java @@ -1,13 +1,22 @@ package com.bonus.material.basic.service.impl; import java.util.List; +import java.util.Objects; + +import com.bonus.common.biz.constant.MaterialConstants; +import com.bonus.common.biz.enums.HttpCodeEnum; +import com.bonus.common.biz.exception.BusinessException; import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.security.utils.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.bonus.material.basic.mapper.BmProjectMapper; import com.bonus.material.basic.domain.BmProject; import com.bonus.material.basic.service.IBmProjectService; +import javax.annotation.Resource; + /** * 标段工程管理Service业务层处理 * @@ -17,7 +26,7 @@ import com.bonus.material.basic.service.IBmProjectService; @Service public class BmProjectServiceImpl implements IBmProjectService { - @Autowired + @Resource private BmProjectMapper bmProjectMapper; /** @@ -51,10 +60,31 @@ public class BmProjectServiceImpl implements IBmProjectService * @return 结果 */ @Override - public int insertBmProject(BmProject bmProject) + public AjaxResult insertBmProject(BmProject bmProject) { + //首先根据工程名称去表中查询,看是否重复 + BmProject project = bmProjectMapper.selectBmProjectByProName(bmProject.getProName()); + if (project != null) { + return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), HttpCodeEnum.NAME_DUPLICATE.getMsg()); + } + //校验输入的经纬度是否合规 + if (bmProject.getLon() != null) { + if (!bmProject.getLon().matches(MaterialConstants.LONGITUDE_PATTERN)){ + return AjaxResult.error(HttpCodeEnum.INVALID_LONGITUDE_FORMAT.getCode(), HttpCodeEnum.INVALID_LONGITUDE_FORMAT.getMsg()); + } + } + if (bmProject.getLat() != null) { + if (!bmProject.getLat().matches(MaterialConstants.LATITUDE_PATTERN)){ + return AjaxResult.error(HttpCodeEnum.INVALID_LATITUDE_FORMAT.getCode(), HttpCodeEnum.INVALID_LATITUDE_FORMAT.getMsg()); + } + } bmProject.setCreateTime(DateUtils.getNowDate()); - return bmProjectMapper.insertBmProject(bmProject); + bmProject.setCreateBy(SecurityUtils.getUserId().toString()); + int result = bmProjectMapper.insertBmProject(bmProject); + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } /** @@ -64,10 +94,33 @@ public class BmProjectServiceImpl implements IBmProjectService * @return 结果 */ @Override - public int updateBmProject(BmProject bmProject) + public AjaxResult updateBmProject(BmProject bmProject) { + //首先根据工程名称去表中查询,看是否重复 + BmProject project = bmProjectMapper.selectBmProjectByProName(bmProject.getProName()); + if (project != null) { + if (!Objects.equals(project.getProId(), bmProject.getProId())) { + return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), HttpCodeEnum.NAME_DUPLICATE.getMsg()); + } + } + //校验输入的经纬度是否合规 + if (bmProject.getLon() != null) { + if (!bmProject.getLon().matches(MaterialConstants.LONGITUDE_PATTERN)){ + return AjaxResult.error(HttpCodeEnum.INVALID_LONGITUDE_FORMAT.getCode(), HttpCodeEnum.INVALID_LONGITUDE_FORMAT.getMsg()); + } + } + if (bmProject.getLat() != null) { + if (!bmProject.getLat().matches(MaterialConstants.LATITUDE_PATTERN)){ + return AjaxResult.error(HttpCodeEnum.INVALID_LATITUDE_FORMAT.getCode(), HttpCodeEnum.INVALID_LATITUDE_FORMAT.getMsg()); + } + } bmProject.setUpdateTime(DateUtils.getNowDate()); - return bmProjectMapper.updateBmProject(bmProject); + bmProject.setUpdateBy(SecurityUtils.getUserId().toString()); + int result = bmProjectMapper.updateBmProject(bmProject); + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } /** @@ -77,9 +130,13 @@ public class BmProjectServiceImpl implements IBmProjectService * @return 结果 */ @Override - public int deleteBmProjectByProIds(Long[] proIds) + public AjaxResult deleteBmProjectByProIds(Long[] proIds) { - return bmProjectMapper.deleteBmProjectByProIds(proIds); + int result = bmProjectMapper.deleteBmProjectByProIds(proIds); + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } /** @@ -89,8 +146,12 @@ public class BmProjectServiceImpl implements IBmProjectService * @return 结果 */ @Override - public int deleteBmProjectByProId(Long proId) + public AjaxResult deleteBmProjectByProId(Long proId) { - return bmProjectMapper.deleteBmProjectByProId(proId); + int result = bmProjectMapper.deleteBmProjectByProId(proId); + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java index cbe9869a..063ed8a6 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java @@ -1,7 +1,14 @@ package com.bonus.material.basic.service.impl; import java.util.List; +import java.util.Objects; + +import cn.hutool.core.util.PhoneUtil; +import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.security.utils.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.bonus.material.basic.mapper.BmUnitMapper; @@ -51,10 +58,24 @@ public class BmUnitServiceImpl implements IBmUnitService * @return 结果 */ @Override - public int insertBmUnit(BmUnit bmUnit) + public AjaxResult insertBmUnit(BmUnit bmUnit) { + //根据单位名称查询去重 + BmUnit unit = bmUnitMapper.selectBmUnitByProName(bmUnit.getUnitName()); + if (unit != null) { + return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), HttpCodeEnum.NAME_DUPLICATE.getMsg()); + } + //判断手机号是否合法 + if (StringUtils.isNotBlank(bmUnit.getTelphone()) && !PhoneUtil.isMobile(bmUnit.getTelphone())) { + return AjaxResult.error(HttpCodeEnum.INVALID_PHONE_FORMAT.getCode(), HttpCodeEnum.INVALID_PHONE_FORMAT.getMsg()); + } bmUnit.setCreateTime(DateUtils.getNowDate()); - return bmUnitMapper.insertBmUnit(bmUnit); + bmUnit.setCreateBy(SecurityUtils.getUserId().toString()); + int result = bmUnitMapper.insertBmUnit(bmUnit); + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } /** @@ -64,10 +85,26 @@ public class BmUnitServiceImpl implements IBmUnitService * @return 结果 */ @Override - public int updateBmUnit(BmUnit bmUnit) + public AjaxResult updateBmUnit(BmUnit bmUnit) { + //根据单位名称查询去重 + BmUnit unit = bmUnitMapper.selectBmUnitByProName(bmUnit.getUnitName()); + if (unit != null) { + if (!Objects.equals(unit.getUnitId(), bmUnit.getUnitId())) { + return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), HttpCodeEnum.NAME_DUPLICATE.getMsg()); + } + } + //判断手机号是否合法 + if (StringUtils.isNotBlank(bmUnit.getTelphone()) && !PhoneUtil.isMobile(bmUnit.getTelphone())) { + return AjaxResult.error(HttpCodeEnum.INVALID_PHONE_FORMAT.getCode(), HttpCodeEnum.INVALID_PHONE_FORMAT.getMsg()); + } bmUnit.setUpdateTime(DateUtils.getNowDate()); - return bmUnitMapper.updateBmUnit(bmUnit); + bmUnit.setUpdateBy(SecurityUtils.getUserId().toString()); + int result = bmUnitMapper.updateBmUnit(bmUnit); + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } /** @@ -77,9 +114,13 @@ public class BmUnitServiceImpl implements IBmUnitService * @return 结果 */ @Override - public int deleteBmUnitByUnitIds(Long[] unitIds) + public AjaxResult deleteBmUnitByUnitIds(Long[] unitIds) { - return bmUnitMapper.deleteBmUnitByUnitIds(unitIds); + int result = bmUnitMapper.deleteBmUnitByUnitIds(unitIds); + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } /** @@ -89,8 +130,12 @@ public class BmUnitServiceImpl implements IBmUnitService * @return 结果 */ @Override - public int deleteBmUnitByUnitId(Long unitId) + public AjaxResult deleteBmUnitByUnitId(Long unitId) { - return bmUnitMapper.deleteBmUnitByUnitId(unitId); + int result = bmUnitMapper.deleteBmUnitByUnitId(unitId); + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmProjectMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmProjectMapper.xml index ecb05b6c..46e82911 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmProjectMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmProjectMapper.xml @@ -31,7 +31,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - where pro_id = #{proId} + where del_flag = 0 and pro_id = #{proId} - + + insert into bm_project @@ -73,7 +77,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update_by, update_time, remark, - del_flag, + del_flag #{proId}, @@ -94,7 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{updateBy}, #{updateTime}, #{remark}, - #{delFlag}, + 0 @@ -113,22 +117,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" plan_end_date = #{planEndDate}, actual_start_date = #{actualStartDate}, actual_end_date = #{actualEndDate}, - create_by = #{createBy}, - create_time = #{createTime}, update_by = #{updateBy}, update_time = #{updateTime}, remark = #{remark}, - del_flag = #{delFlag}, where pro_id = #{proId} - delete from bm_project where pro_id = #{proId} + update bm_project set del_flag = 2 where pro_id = #{proId} - delete from bm_project where pro_id in + update bm_project set del_flag = 2 where pro_id in #{proId} diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitMapper.xml index a24c1171..936f445e 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitMapper.xml @@ -25,7 +25,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - where unit_id = #{unitId} + where del_flag = 0 and unit_id = #{unitId} - + + insert into bm_unit @@ -49,7 +53,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" link_man, telphone, dept_id, - del_flag, + del_flag, create_by, create_time, update_by, @@ -63,7 +67,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{linkMan}, #{telphone}, #{deptId}, - #{delFlag}, + 0, #{createBy}, #{createTime}, #{updateBy}, @@ -81,9 +85,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" link_man = #{linkMan}, telphone = #{telphone}, dept_id = #{deptId}, - del_flag = #{delFlag}, - create_by = #{createBy}, - create_time = #{createTime}, update_by = #{updateBy}, update_time = #{updateTime}, remark = #{remark}, @@ -92,11 +93,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from bm_unit where unit_id = #{unitId} + update bm_unit set del_flag = 2 where unit_id = #{unitId} - delete from bm_unit where unit_id in + update bm_unit set del_flag = 2 where unit_id in #{unitId} From 36ea48192699fc6dafa6e87bc5fd7d1ab381029a Mon Sep 17 00:00:00 2001 From: mashuai Date: Mon, 14 Oct 2024 16:16:22 +0800 Subject: [PATCH 02/28] =?UTF-8?q?=E5=8D=95=E4=BD=8D=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/constant/MaterialConstants.java | 10 + .../controller/BmUnitTypeController.java | 116 ++++++++ .../material/basic/domain/BmUnitType.java | 29 ++ .../basic/mapper/BmUnitTypeMapper.java | 53 ++++ .../basic/service/IBmUnitTypeService.java | 64 +++++ .../service/impl/BmUnitTypeServiceImpl.java | 256 ++++++++++++++++++ .../material/basic/BmUnitTypeMapper.xml | 64 +++++ .../material/template/BmUnitTypeTemplate.xlsx | Bin 0 -> 9870 bytes 8 files changed, 592 insertions(+) create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitType.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitTypeMapper.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitTypeService.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java create mode 100644 bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml create mode 100644 bonus-modules/bonus-material/src/main/resources/mapper/material/template/BmUnitTypeTemplate.xlsx diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java index 9db1b115..1f4b9a9e 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java @@ -13,6 +13,16 @@ public class MaterialConstants */ public static final String UTF8 = "UTF-8"; + /** + * xls + */ + public static final String XLS = "xls"; + + /** + * XLSX + */ + public static final String XLSX = "xlsx"; + /** * 身份证正则表达式 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java new file mode 100644 index 00000000..bfc36b1a --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java @@ -0,0 +1,116 @@ +package com.bonus.material.basic.controller; + +import com.bonus.common.core.utils.poi.ExcelUtil; +import com.bonus.common.core.web.controller.BaseController; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.core.web.page.TableDataInfo; +import com.bonus.common.log.annotation.SysLog; +import com.bonus.common.log.enums.OperaType; +import com.bonus.common.security.annotation.RequiresPermissions; +import com.bonus.material.basic.domain.BmUnit; +import com.bonus.material.basic.domain.BmUnitType; +import com.bonus.material.basic.service.IBmUnitTypeService; +import com.bonus.material.common.annotation.PreventRepeatSubmit; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * @Author ma_sh + * @create 2024/10/14 15:25 + */ +@Api(tags = "往来单位管理接口") +@RestController +@RequestMapping("/bm_unit_type") +public class BmUnitTypeController extends BaseController { + + + @Resource + private IBmUnitTypeService bmUnitTypeService; + + /** + * 查询往来单位类型管理列表 + */ + @ApiOperation(value = "查询往来单位类型管理列表") + @RequiresPermissions("basic:unitType:list") + @GetMapping("/list") + public TableDataInfo list(BmUnitType bmUnitType) + { + startPage(); + List list = bmUnitTypeService.selectBmUnitList(bmUnitType); + return getDataTable(list); + } + + @ApiOperation(value = "获取往来单位类型详细信息") + @RequiresPermissions("basic:unitType:query") + @GetMapping(value = "/{typeId}") + public AjaxResult getInfo(@PathVariable("id") Long typeId) + { + return AjaxResult.success(bmUnitTypeService.selectListByID(typeId)); + } + + @ApiOperation(value = "新增往来单位类型管理") + @RequiresPermissions("basic:unitType:add") + @PostMapping + public AjaxResult add(@RequestBody BmUnitType bmUnitType) + { + return bmUnitTypeService.insertBmUnitType(bmUnitType); + } + + @ApiOperation(value = "修改往来单位类型管理") + @RequiresPermissions("basic:unitType:edit") + @PutMapping + public AjaxResult edit(@RequestBody BmUnitType bmUnitType) + { + return bmUnitTypeService.updateBmUnitType(bmUnitType); + } + + @ApiOperation(value = "删除往来单位类型管理") + @RequiresPermissions("basic:unitType:remove") + @DeleteMapping("/{typeId}") + public AjaxResult remove(@PathVariable Long typeId) + { + return bmUnitTypeService.deleteBmUnitTypeByUnitTypeIds(typeId); + } + + /** + * 导入模版下载 + */ + @PostMapping("/downLoad") + public void downLoadExcelFile(){ + HttpServletResponse resp = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse(); + bmUnitTypeService.downLoadTemplate(resp); + } + + @ApiOperation(value = "导入往来单位类型管理列表") + @PreventRepeatSubmit + @RequiresPermissions("basic:unitType:importData") + @SysLog(title = "往来单位类型管理导入", businessType = OperaType.EXPORT, logType = 1,module = "仓储管理->导入往来单位类型管理列表") + @PostMapping("/importData") + public AjaxResult importData(MultipartFile file) + { + return bmUnitTypeService.importData(file); + } + + /** + * 导出往来单位类型管理列表 + */ + @ApiOperation(value = "导出往来单位类型管理列表") + @PreventRepeatSubmit + @RequiresPermissions("basic:unitType:export") + @SysLog(title = "往来单位管理", businessType = OperaType.EXPORT, logType = 1,module = "仓储管理->导出往来单位类型管理") + @PostMapping("/export") + public void export(HttpServletResponse response, BmUnitType bmUnitType) + { + List list = bmUnitTypeService.selectBmUnitList(bmUnitType); + ExcelUtil util = new ExcelUtil(BmUnitType.class); + util.exportExcel(response, list, "往来单位管理数据"); + } +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitType.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitType.java new file mode 100644 index 00000000..17ee58c2 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitType.java @@ -0,0 +1,29 @@ +package com.bonus.material.basic.domain; + +import com.bonus.common.core.web.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author ma_sh + * @create 2024/10/14 15:29 + */ +@Data +public class BmUnitType extends BaseEntity { + + @ApiModelProperty(value = "主键id") + private Long typeId; + + @ApiModelProperty(value = "单位类型名称") + private String typeName; + + @ApiModelProperty(value = "数据所属组织") + private String companyId; + + /** 删除标志(0代表存在 2代表删除) */ + private String delFlag; + + @ApiModelProperty(value = "单位类型状态 0代表启用,1代表不启用") + private int status; + +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitTypeMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitTypeMapper.java new file mode 100644 index 00000000..fd6be0f7 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitTypeMapper.java @@ -0,0 +1,53 @@ +package com.bonus.material.basic.mapper; + +import com.bonus.material.basic.domain.BmUnitType; + +import java.util.List; + +/** + * @Author ma_sh + * @create 2024/10/14 15:27 + */ +public interface BmUnitTypeMapper { + /** + * 查询单位类型列表 + * @param bmUnitType + * @return + */ + List selectBmUnitList(BmUnitType bmUnitType); + + /** + * 根据主键查询单位类型 + * @param typeId + * @return + */ + BmUnitType selectListByID(Long typeId); + + /** + * 根据类型名称查询单位类型 + * @param typeName + * @return + */ + BmUnitType selectBmUnitTypeByTypeName(String typeName); + + /** + * 新增单位类型 + * @param bmUnitType + * @return + */ + int insertBmUnitType(BmUnitType bmUnitType); + + /** + * 修改单位类型 + * @param bmUnitType + * @return + */ + int updateBmUnitType(BmUnitType bmUnitType); + + /** + * 删除单位类型 + * @param typeId + * @return + */ + int deleteBmUnitTypeByUnitTypeIds(Long typeId); +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitTypeService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitTypeService.java new file mode 100644 index 00000000..cc82bfb3 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitTypeService.java @@ -0,0 +1,64 @@ +package com.bonus.material.basic.service; + +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.material.basic.domain.BmUnit; +import com.bonus.material.basic.domain.BmUnitType; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * @Author ma_sh + * @create 2024/10/14 15:26 + */ +public interface IBmUnitTypeService { + + /** + * 查询单位类型列表 + * @param bmUnitType + * @return + */ + List selectBmUnitList(BmUnitType bmUnitType); + + /** + * 根据id查询单位类型 + * @param typeId + * @return + */ + BmUnitType selectListByID(Long typeId); + + /** + * 新增单位类型 + * @param bmUnitType + * @return + */ + AjaxResult insertBmUnitType(BmUnitType bmUnitType); + + /** + * 修改单位类型 + * @param bmUnitType + * @return + */ + AjaxResult updateBmUnitType(BmUnitType bmUnitType); + + /** + * 删除单位类型 + * @param typeId + * @return + */ + AjaxResult deleteBmUnitTypeByUnitTypeIds(Long typeId); + + /** + * 导入模板 + * @param resp + */ + void downLoadTemplate(HttpServletResponse resp); + + /** + * 导入数据 + * @param file + * @return + */ + AjaxResult importData(MultipartFile file); +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java new file mode 100644 index 00000000..4984e096 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java @@ -0,0 +1,256 @@ +package com.bonus.material.basic.service.impl; + +import com.bonus.common.biz.constant.MaterialConstants; +import com.bonus.common.biz.enums.HttpCodeEnum; +import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.core.utils.poi.ExcelUtil; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.material.basic.domain.BmUnitType; +import com.bonus.material.basic.mapper.BmUnitTypeMapper; +import com.bonus.material.basic.service.IBmUnitTypeService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.IOUtils; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.List; +import java.util.Objects; + +/** + * @Author ma_sh + * @create 2024/10/14 15:26 + */ +@Service +@Slf4j +public class BmUnitTypeServiceImpl implements IBmUnitTypeService { + + @Resource + private BmUnitTypeMapper bmUnitTypeMapper; + + /** + * 查询单位类型关联单位列表 + * @param bmUnitType + * @return + */ + @Override + public List selectBmUnitList(BmUnitType bmUnitType) { + return bmUnitTypeMapper.selectBmUnitList(bmUnitType); + } + + /** + * 根据ID查询单位类型关联单位 + * @param typeId + * @return + */ + @Override + public BmUnitType selectListByID(Long typeId) { + return bmUnitTypeMapper.selectListByID(typeId); + } + + /** + * 新增单位类型列表 + * @param bmUnitType + * @return + */ + @Override + public AjaxResult insertBmUnitType(BmUnitType bmUnitType) { + //根据单位类型名称查询,去重 + BmUnitType unitType = bmUnitTypeMapper.selectBmUnitTypeByTypeName(bmUnitType.getTypeName()); + if (unitType != null) { + return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), HttpCodeEnum.NAME_DUPLICATE.getMsg()); + } + int result = bmUnitTypeMapper.insertBmUnitType(bmUnitType); + if (result > 0) { + return AjaxResult.success(); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); + } + + /** + * 修改单位类型列表 + * @param bmUnitType + * @return + */ + @Override + public AjaxResult updateBmUnitType(BmUnitType bmUnitType) { + //根据单位类型名称查询,去重 + BmUnitType unitType = bmUnitTypeMapper.selectBmUnitTypeByTypeName(bmUnitType.getTypeName()); + if (unitType != null) { + if (!Objects.equals(unitType.getTypeName(), bmUnitType.getTypeName())) { + return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), HttpCodeEnum.NAME_DUPLICATE.getMsg()); + } + } + int result = bmUnitTypeMapper.updateBmUnitType(bmUnitType); + if (result > 0) { + return AjaxResult.success(); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); + } + + /** + * 删除单位类型列表 + * @param typeId + * @return + */ + @Override + public AjaxResult deleteBmUnitTypeByUnitTypeIds(Long typeId) { + //首先根据单位类型查询是否关联单位 + int result = bmUnitTypeMapper.deleteBmUnitTypeByUnitTypeIds(typeId); + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); + } + + @Override + public void downLoadTemplate(HttpServletResponse response) { + //模板名称 + String templateName = "BmUnitTypeTemplate.xlsx"; + OutputStream out = null; + InputStream input = null; + try { + input = this.getClass().getClassLoader().getResourceAsStream("template/BmUnitTypeTemplate.xlsx"); + response.setCharacterEncoding("UTF-8"); + response.setHeader("content-Type", "application/vnd.ms-excel"); + response.setHeader("Content-Disposition", + "attachment;filename=" + new String((templateName).getBytes(), "iso-8859-1")); + response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); + out = response.getOutputStream(); + // 缓冲区 + byte[] buffer = new byte[1024]; + int bytesToRead = -1; + // 通过循环将读入内容输出到浏览器中 + while ((bytesToRead = input.read(buffer)) != -1) { + out.write(buffer, 0, bytesToRead); + } + } catch (IOException e) { + log.error(e.getMessage()); + } finally { + IOUtils.closeQuietly(input); + IOUtils.closeQuietly(out); + } + } + + /** + * 导入单位类型列表 + * @param file + * @return + */ + @Override + public AjaxResult importData(MultipartFile file) { + String fileName = file.getOriginalFilename(); + if (fileName != null) { + String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1); + if (!MaterialConstants.XLSX.equalsIgnoreCase(fileExtension)) { + // 文件后缀名不符合要求 + return AjaxResult.error("导入失败:文件后缀名不符合要求,必须为xlsx结尾"); + } + } + try { + InputStream inputStream = file.getInputStream(); + Workbook workbook = new XSSFWorkbook(inputStream); + + Sheet sheet = workbook.getSheetAt(0); + // 得到Excel的行数 + int totalRows = sheet.getPhysicalNumberOfRows(); + + // 检查是否有行数 + if (totalRows <= 1) { + throw new IllegalArgumentException("导入失败:Excel文件中没有数据,请检查后重新导入"); + } + // 读取第一行表头 + Row headerRow = sheet.getRow(0); + + if (headerRow == null) { + throw new IllegalArgumentException("导入失败:文件中没有表头"); + } + // 获取表头的列数 + int totalCells = headerRow.getPhysicalNumberOfCells(); + // 假设预期的表头列数为2列,可以根据实际需求修改这个条件 + if (totalCells != 2) { + throw new IllegalArgumentException("导入失败:表头列数与预期不符,请检查导入模板"); + } + // 读取表头内容并验证每一列,看是否符合模版要求 + for (int cellNum = 0; cellNum < totalCells; cellNum++) { + Cell cell = headerRow.getCell(cellNum); + // 获取单元格内容并去除首尾空格 + String headerValue = cell.getStringCellValue().trim(); + // 根据列索引进行验证 + switch (cellNum) { + case 0: + if (!"单位类型".equals(headerValue)) { + throw new IllegalArgumentException("第 " + (cellNum + 1) + " 列表头列名与预期不符,请检查导入模板"); + } + break; + case 1: + if (!"状态(0 启用 1 不启用)".equals(headerValue)) { + throw new IllegalArgumentException("第 " + (cellNum + 1) + " 列表头列名与预期不符,请检查导入模板"); + } + break; + default: + break; + } + } + //读取Excel表格数据,做非空判断 + // 循环Excel行数 + DataFormatter dataFormatter = new DataFormatter(); + for (int r = 1; r < totalRows; r++) { + Row row = sheet.getRow(r); + // 循环Excel列数 + for (int c = 0; c < totalCells; c++) { + String cellValue = dataFormatter.formatCellValue(row.getCell(c)); + switch (c) { + case 0: + checkCellNotEmpty(cellValue, r, c); + break; + case 1: + checkCellNotEmpty(cellValue, r, c); + break; + default: + throw new IllegalArgumentException( + String.format("第 %d 行,第 %d 列超出范围,请检查后重新导入", r + 1, c + 1)); + } + } + } + ExcelUtil util = new ExcelUtil<>(BmUnitType.class); + List bmUnitTypeList = util.importExcel(file.getInputStream()); + int result = 0; + for (BmUnitType bmUnitType : bmUnitTypeList) { + //根据单位类型名称查询,去重 + BmUnitType unitType = bmUnitTypeMapper.selectBmUnitTypeByTypeName(bmUnitType.getTypeName()); + if (unitType != null) { + //进行更新操作 + result += bmUnitTypeMapper.updateBmUnitType(unitType); + } else { + result += bmUnitTypeMapper.insertBmUnitType(bmUnitType); + } + } + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + } catch (IOException e) { + e.printStackTrace(); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); + } + + /** + * 提取方法用于检查单元格内容是否为空,并抛出异常 + * @param cellValue + * @param rowNum + * @param colNum + */ + private void checkCellNotEmpty(String cellValue, int rowNum, int colNum) { + if (StringUtils.isBlank(cellValue)) { + throw new IllegalArgumentException( + String.format("第 %d 行,第 %d 列数据为空,请检查后重新导入", rowNum + 1, colNum + 1)); + } + } +} diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml new file mode 100644 index 00000000..1bfa44fd --- /dev/null +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml @@ -0,0 +1,64 @@ + + + + + insert into bm_unit_type + + type_name, + status, + company_id, + del_flag, + create_by, + create_time, + update_by, + update_time, + + + #{typeName}, + #{status}, + #{companyId}, + 0, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + update bm_unit_type + + type_name = #{typeName}, + status = #{status}, + company_id = #{companyId}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where type_id = #{typeId} + + + + update bm_unit_type set del_flag = 2 where type_id = #{typeId} + + + + + + + + \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/template/BmUnitTypeTemplate.xlsx b/bonus-modules/bonus-material/src/main/resources/mapper/material/template/BmUnitTypeTemplate.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..1601d17a9096d22a5f39c66b8728977e0965f044 GIT binary patch literal 9870 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 YC zqah@4XgPYT5lOC}r?fC?cgY2mB~5f>2 z$erletb>|C)YNjS8pug?><}W~Mq?SAQX*WbC%klw(JCxgf5sX5$DEzKdg*D-G3rbIA=e z-k%2U(Zuv*XT5^sl*FF*2`B3i>fR(Y$|>VRqjL)&_j?7Z_1=4%uL6(PYa=;tZ$U+K z@D~_Al0HAXKz`pK(0K*}2O|Q_VW8pNq2!R@mpS^U(%%izGsjP* zsIULz`SAe#FJ;fwnV;iX+4J~Yqsu?_{od;GO#D+H<=@%<)%fx|M8EfO{NfG*o$SAq z{@K;>JNxgA3BTAcLH76;`(JGe|Ldlo%kMwO^Gz#&Qdc1B^S>DWi4qs#-^|tT3;o@$ zJ?r_2lK$V>{>{q$F6Z~`;x9QQphf?uT;uN&eoxB$l0Xk??Rb{(SBmEU|K52)P=Hwf ztmggmg#2F5`=!z7?`*%Sd%rLF_iW-X0hFNLACTU^!}h-x{oFtCb3E^`-On9e=YxCEBJBwQT~>fhI;lnz|cTHvLJ1= IB+sAz57%uGXaE2J literal 0 HcmV?d00001 From 7d0a54fe83a06b768ee2a9878e50b3671d05f625 Mon Sep 17 00:00:00 2001 From: mashuai Date: Mon, 14 Oct 2024 16:25:57 +0800 Subject: [PATCH 03/28] =?UTF-8?q?=E5=8D=95=E4=BD=8D=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BmUnitTypeController.java | 2 +- .../material/basic/domain/BmUnitType.java | 5 ++--- .../service/impl/BmUnitTypeServiceImpl.java | 5 ----- .../material/basic/BmUnitTypeMapper.xml | 9 +++------ .../material/template/BmUnitTypeTemplate.xlsx | Bin 9870 -> 9726 bytes 5 files changed, 6 insertions(+), 15 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java index bfc36b1a..751a7d6c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java @@ -51,7 +51,7 @@ public class BmUnitTypeController extends BaseController { @ApiOperation(value = "获取往来单位类型详细信息") @RequiresPermissions("basic:unitType:query") @GetMapping(value = "/{typeId}") - public AjaxResult getInfo(@PathVariable("id") Long typeId) + public AjaxResult getInfo(@PathVariable("typeId") Long typeId) { return AjaxResult.success(bmUnitTypeService.selectListByID(typeId)); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitType.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitType.java index 17ee58c2..4b06402f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitType.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitType.java @@ -1,5 +1,6 @@ package com.bonus.material.basic.domain; +import com.bonus.common.core.annotation.Excel; import com.bonus.common.core.web.domain.BaseEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -15,6 +16,7 @@ public class BmUnitType extends BaseEntity { private Long typeId; @ApiModelProperty(value = "单位类型名称") + @Excel(name = "单位类型") private String typeName; @ApiModelProperty(value = "数据所属组织") @@ -23,7 +25,4 @@ public class BmUnitType extends BaseEntity { /** 删除标志(0代表存在 2代表删除) */ private String delFlag; - @ApiModelProperty(value = "单位类型状态 0代表启用,1代表不启用") - private int status; - } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java index 4984e096..810a986b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java @@ -189,11 +189,6 @@ public class BmUnitTypeServiceImpl implements IBmUnitTypeService { throw new IllegalArgumentException("第 " + (cellNum + 1) + " 列表头列名与预期不符,请检查导入模板"); } break; - case 1: - if (!"状态(0 启用 1 不启用)".equals(headerValue)) { - throw new IllegalArgumentException("第 " + (cellNum + 1) + " 列表头列名与预期不符,请检查导入模板"); - } - break; default: break; } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml index 1bfa44fd..eb59f898 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml @@ -7,7 +7,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into bm_unit_type type_name, - status, company_id, del_flag, create_by, @@ -17,7 +16,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{typeName}, - #{status}, #{companyId}, 0, #{createBy}, @@ -30,7 +28,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update bm_unit_type type_name = #{typeName}, - status = #{status}, company_id = #{companyId}, update_by = #{updateBy}, update_time = #{updateTime}, @@ -43,7 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/template/BmUnitTypeTemplate.xlsx b/bonus-modules/bonus-material/src/main/resources/mapper/material/template/BmUnitTypeTemplate.xlsx index 1601d17a9096d22a5f39c66b8728977e0965f044..be837dd83996febaf521751823df0900c3ce6842 100644 GIT binary patch delta 4027 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 Date: Mon, 14 Oct 2024 17:11:46 +0800 Subject: [PATCH 04/28] =?UTF-8?q?=E5=8D=95=E4=BD=8D=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/common/biz/domain/MaType.java | 107 ++++++++++++++++++ .../bonus/common/biz/domain/SysDeptTree.java | 89 +++++++++++++++ .../bonus/common/biz/domain/TreeSelect.java | 65 +++++++++++ .../controller/BmUnitPersonController.java | 13 +++ .../controller/BmUnitTypeController.java | 7 +- .../material/basic/domain/BmUnitType.java | 2 + .../basic/mapper/BmUnitPersonMapper.java | 9 ++ .../basic/mapper/BmUnitTypeMapper.java | 7 ++ .../basic/service/IBmUnitPersonService.java | 10 ++ .../service/impl/BmUnitPersonServiceImpl.java | 77 +++++++++++++ .../service/impl/BmUnitTypeServiceImpl.java | 10 ++ .../material/basic/BmUnitPersonMapper.xml | 49 +++++++- .../material/basic/BmUnitTypeMapper.xml | 4 + 13 files changed, 446 insertions(+), 3 deletions(-) create mode 100644 bonus-common-biz/src/main/java/com/bonus/common/biz/domain/MaType.java create mode 100644 bonus-common-biz/src/main/java/com/bonus/common/biz/domain/SysDeptTree.java create mode 100644 bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeSelect.java diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/MaType.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/MaType.java new file mode 100644 index 00000000..86612033 --- /dev/null +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/MaType.java @@ -0,0 +1,107 @@ +package com.bonus.common.biz.domain; + +import com.bonus.common.core.web.domain.BaseEntity; +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class MaType extends BaseEntity implements Serializable { + private static final long serialVersionUID = 135108051525707131L; + + private Integer isExport; + /** + * id + */ + private String id; + /** + * 上级id + */ + private String parentId; + /** + * 名称 + */ + private String name; + + /** + * 父级名称 + */ + private String parentName; + + /** + * 编码 + */ + private String code; + + /** + * 层级 + */ + private String level; + /** + * 库存 + */ + private Integer storageNum; + /** + * 计量单位id + */ + private String unitId; + + /** + * 计量单位名称 + */ + private String unitName; + /** + * 采购单价 + */ + private Integer buyPrice; + /** + * 租赁单价 + */ + private Integer leasePrice; + /** + * 管理类型(0是编码 1数量) + */ + private String manageType; + /** + * 是否启用 + */ + private String isActive; + /** + * 额定载荷 + */ + private String rateLoad; + /** + * 试验载荷 + */ + private String testLoad; + /** + * 持荷时间 (分钟) + */ + private String holdTime; + /** + * 文件路径 + */ + private String fileUrl; + /** + * 数据所属 + */ + private String companyId; + + /** + * 是否试验(0 否 1是) + */ + private String isTest; + + /** 子节点 */ + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List children = new ArrayList<>(); + +} + diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/SysDeptTree.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/SysDeptTree.java new file mode 100644 index 00000000..2482c4e1 --- /dev/null +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/SysDeptTree.java @@ -0,0 +1,89 @@ +package com.bonus.common.biz.domain; + +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 部门表(SysDept)实体类 + * + * @author makejava + * @since 2024-08-15 13:44:56 + */ +@Data +public class SysDeptTree implements Serializable { + + private static final long serialVersionUID = 991828482042492876L; + + /** + * 二级树标识 1代表查询二级树 + */ + private Integer isTree; + + /** + * 更新时间 + */ + private Date updateTime; + /** + * 更新者 + */ + private String updateBy; + /** + * 创建时间 + */ + private Date createTime; + /** + * 创建者 + */ + private String createBy; + /** + * 删除标志(0代表存在 2代表删除) + */ + private String delFlag; + /** + * 部门状态(0正常 1停用) + */ + private String status; + /** + * 邮箱 + */ + private String email; + /** + * 联系电话 + */ + private String phone; + /** + * 负责人 + */ + private String leader; + /** + * 显示顺序 + */ + private Integer orderNum; + /** + * 部门名称 + */ + private String deptName; + /** + * 祖级列表 + */ + private String ancestors; + /** + * 父部门id + */ + private String parentId; + /** + * 部门id + */ + private String deptId; + + /** 子节点 */ + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List children = new ArrayList<>(); + +} + diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeSelect.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeSelect.java new file mode 100644 index 00000000..6318aaf7 --- /dev/null +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeSelect.java @@ -0,0 +1,65 @@ +package com.bonus.common.biz.domain; + +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.util.List; +import java.util.stream.Collectors; + +/** + * TreeSelect树结构实体类 + * @author ruoyi + */ +@Setter +@Getter +public class TreeSelect implements Serializable +{ + private static final long serialVersionUID = 1L; + + /** 节点ID */ + private Integer id; + + /** 节点名称 */ + private String label; + + private Integer level; + + /** + * 编码 + */ + private String code; + + private Integer parentId; + + private String companyId; + + /** 子节点 */ + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List children; + + private List userList; + + public TreeSelect(SysDeptTree dept) { + this.id = Integer.valueOf(dept.getDeptId()); + this.parentId = Integer.valueOf(dept.getParentId()); + this.label = dept.getDeptName(); + this.children = dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); + } + + public TreeSelect(MaType maType) { + this.parentId = Integer.valueOf(maType.getParentId()); + this.code = maType.getCode(); + this.level = Integer.valueOf(maType.getLevel()); + this.id = Integer.valueOf(maType.getId()); + this.label = maType.getName(); + this.companyId = maType.getCompanyId(); + this.children = maType.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); + } + + public TreeSelect() { + + } +} + diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java index c1b2c9e2..d71fc907 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java @@ -2,6 +2,9 @@ package com.bonus.material.basic.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.bonus.common.biz.domain.SysDeptTree; +import com.bonus.common.biz.domain.TreeSelect; import com.bonus.common.log.enums.OperaType; import com.bonus.material.common.annotation.PreventRepeatSubmit; import io.swagger.annotations.Api; @@ -51,6 +54,16 @@ public class BmUnitPersonController extends BaseController return getDataTable(list); } + /** + * 查询部门用户下拉树 + */ + @ApiOperation(value = "查询部门用户下拉树") + @GetMapping("/getDeptUserTree") + public AjaxResult selectDeptTree(SysDeptTree sysDept) { + List deptList = bmUnitPersonService.selectDeptTree(sysDept); + return AjaxResult.success(deptList); + } + /** * 导出往来单位管理列表 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java index 751a7d6c..4364595d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java @@ -41,11 +41,14 @@ public class BmUnitTypeController extends BaseController { @ApiOperation(value = "查询往来单位类型管理列表") @RequiresPermissions("basic:unitType:list") @GetMapping("/list") - public TableDataInfo list(BmUnitType bmUnitType) + public AjaxResult list(BmUnitType bmUnitType) { + if (bmUnitType.getIsAll() != null) { + return AjaxResult.success(bmUnitTypeService.selectBmUnitList(bmUnitType)); + } startPage(); List list = bmUnitTypeService.selectBmUnitList(bmUnitType); - return getDataTable(list); + return AjaxResult.success(getDataTable(list)); } @ApiOperation(value = "获取往来单位类型详细信息") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitType.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitType.java index 4b06402f..9a4a0fe6 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitType.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitType.java @@ -12,6 +12,8 @@ import lombok.Data; @Data public class BmUnitType extends BaseEntity { + private Integer isAll; + @ApiModelProperty(value = "主键id") private Long typeId; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitPersonMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitPersonMapper.java index dc5bfe89..0031eb27 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitPersonMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitPersonMapper.java @@ -1,6 +1,8 @@ package com.bonus.material.basic.mapper; import java.util.List; + +import com.bonus.common.biz.domain.SysDeptTree; import com.bonus.material.basic.domain.BmUnitPerson; /** @@ -58,4 +60,11 @@ public interface BmUnitPersonMapper * @return 结果 */ public int deleteBmUnitPersonByIDs(Long[] IDs); + + /** + * 查询部门树 + * @param sysDept + * @return + */ + List selectDeptTree(SysDeptTree sysDept); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitTypeMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitTypeMapper.java index fd6be0f7..a026fe47 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitTypeMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitTypeMapper.java @@ -50,4 +50,11 @@ public interface BmUnitTypeMapper { * @return */ int deleteBmUnitTypeByUnitTypeIds(Long typeId); + + /** + * 根据主键查询单位类型 + * @param typeId + * @return + */ + int select(Long typeId); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitPersonService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitPersonService.java index f754ef52..49f268df 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitPersonService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitPersonService.java @@ -1,6 +1,9 @@ package com.bonus.material.basic.service; import java.util.List; + +import com.bonus.common.biz.domain.SysDeptTree; +import com.bonus.common.biz.domain.TreeSelect; import com.bonus.material.basic.domain.BmUnitPerson; /** @@ -58,4 +61,11 @@ public interface IBmUnitPersonService * @return 结果 */ public int deleteBmUnitPersonByID(Long ID); + + /** + * 查询部门下拉树结构 + * @param sysDept + * @return + */ + List selectDeptTree(SysDeptTree sysDept); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitPersonServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitPersonServiceImpl.java index 7532dec7..f1d33062 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitPersonServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitPersonServiceImpl.java @@ -1,7 +1,14 @@ package com.bonus.material.basic.service.impl; +import java.util.ArrayList; +import java.util.Iterator; import java.util.List; +import java.util.stream.Collectors; + +import com.bonus.common.biz.domain.SysDeptTree; +import com.bonus.common.biz.domain.TreeSelect; import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.core.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.bonus.material.basic.mapper.BmUnitPersonMapper; @@ -93,4 +100,74 @@ public class BmUnitPersonServiceImpl implements IBmUnitPersonService { return bmUnitPersonMapper.deleteBmUnitPersonByID(ID); } + + /** + * 查询部门下拉树结构 + * @param sysDept + * @return + */ + @Override + public List selectDeptTree(SysDeptTree sysDept) { + List deptList = bmUnitPersonMapper.selectDeptTree(sysDept); + return buildDeptTreeSelect(deptList); + } + + private List buildDeptTreeSelect(List deptList) { + List deptTrees = buildDeptTree(deptList); + return deptTrees.stream().map(TreeSelect::new).collect(Collectors.toList()); + } + + private List buildDeptTree(List deptList) { + List returnList = new ArrayList<>(); + List tempList = deptList.stream().map(SysDeptTree::getDeptId).collect(Collectors.toList()); + for (SysDeptTree sysDept : deptList) { + // 如果是顶级节点, 遍历该父节点的所有子节点 + if (!tempList.contains(sysDept.getParentId())) { + recursionFn(deptList, sysDept); + returnList.add(sysDept); + } + } + if (returnList.isEmpty()) { + returnList = deptList; + } + return returnList; + } + + /** + * 递归列表 + */ + private void recursionFn(List list, SysDeptTree t) { + // 得到子节点列表 + List childList = getChildList(list, t); + t.setChildren(childList); + for (SysDeptTree tChild : childList) { + if (hasChild(list, tChild)) { + recursionFn(list, tChild); + } + } + } + + /** + * 得到子节点列表 + */ + private List getChildList(List list, SysDeptTree t) { + List tlist = new ArrayList<>(); + Iterator it = list.iterator(); + while (it.hasNext()) { + SysDeptTree n = (SysDeptTree) it.next(); + if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().equals(t.getDeptId())) { + tlist.add(n); + } + } + return tlist; + } + + /** + * 判断是否有子节点 + */ + private boolean hasChild(List list, SysDeptTree t) { + return getChildList(list, t).size() > 0 ? true : false; + } + + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java index 810a986b..3295096b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java @@ -2,9 +2,11 @@ package com.bonus.material.basic.service.impl; import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.enums.HttpCodeEnum; +import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.security.utils.SecurityUtils; import com.bonus.material.basic.domain.BmUnitType; import com.bonus.material.basic.mapper.BmUnitTypeMapper; import com.bonus.material.basic.service.IBmUnitTypeService; @@ -66,6 +68,8 @@ public class BmUnitTypeServiceImpl implements IBmUnitTypeService { if (unitType != null) { return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), HttpCodeEnum.NAME_DUPLICATE.getMsg()); } + bmUnitType.setCreateBy(SecurityUtils.getUserId().toString()); + bmUnitType.setCreateTime(DateUtils.getNowDate()); int result = bmUnitTypeMapper.insertBmUnitType(bmUnitType); if (result > 0) { return AjaxResult.success(); @@ -87,6 +91,8 @@ public class BmUnitTypeServiceImpl implements IBmUnitTypeService { return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), HttpCodeEnum.NAME_DUPLICATE.getMsg()); } } + bmUnitType.setUpdateBy(SecurityUtils.getUserId().toString()); + bmUnitType.setUpdateTime(DateUtils.getNowDate()); int result = bmUnitTypeMapper.updateBmUnitType(bmUnitType); if (result > 0) { return AjaxResult.success(); @@ -102,6 +108,10 @@ public class BmUnitTypeServiceImpl implements IBmUnitTypeService { @Override public AjaxResult deleteBmUnitTypeByUnitTypeIds(Long typeId) { //首先根据单位类型查询是否关联单位 + int count = bmUnitTypeMapper.select(typeId); + if (count > 0) { + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "该单位类型关联相关单位,无法删除"); + } int result = bmUnitTypeMapper.deleteBmUnitTypeByUnitTypeIds(typeId); if (result > 0) { return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitPersonMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitPersonMapper.xml index 9adb072a..717054d4 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitPersonMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitPersonMapper.xml @@ -28,7 +28,54 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where ID = #{ID} - + + + insert into bm_unit_person diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml index eb59f898..21fe9b0c 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml @@ -58,4 +58,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select type_id as typeId, type_name as typeName, company_id as companyId, del_flag as delFlag from bm_unit_type where del_flag = '0' and type_name = #{typeName} + + \ No newline at end of file From df6f043c594ffdfbc2a4e9e5261c60c8e7a2bc1a Mon Sep 17 00:00:00 2001 From: mashuai Date: Tue, 15 Oct 2024 10:21:17 +0800 Subject: [PATCH 05/28] =?UTF-8?q?=E5=8D=95=E4=BD=8D=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=BB=91=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/common/biz/domain/TreeSelect.java | 2 - .../basic/controller/BmUnitController.java | 4 +- .../controller/BmUnitPersonController.java | 81 +++--------------- .../controller/BmUnitTypeController.java | 4 +- .../bonus/material/basic/domain/BmUnit.java | 5 ++ .../material/basic/domain/BmUnitPerson.java | 9 +- .../material/basic/mapper/BmUnitMapper.java | 7 ++ .../basic/mapper/BmUnitPersonMapper.java | 35 +------- .../basic/service/IBmUnitPersonService.java | 39 ++------- .../service/impl/BmUnitPersonServiceImpl.java | 82 ++++++------------- .../basic/service/impl/BmUnitServiceImpl.java | 12 ++- .../mapper/material/basic/BmUnitMapper.xml | 5 ++ .../material/basic/BmUnitPersonMapper.xml | 45 +--------- 13 files changed, 83 insertions(+), 247 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeSelect.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeSelect.java index 6318aaf7..a52cba71 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeSelect.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeSelect.java @@ -39,8 +39,6 @@ public class TreeSelect implements Serializable @JsonInclude(JsonInclude.Include.NON_EMPTY) private List children; - private List userList; - public TreeSelect(SysDeptTree dept) { this.id = Integer.valueOf(dept.getDeptId()); this.parentId = Integer.valueOf(dept.getParentId()); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java index bf64ef37..eeec4850 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java @@ -111,8 +111,8 @@ public class BmUnitController extends BaseController @RequiresPermissions("basic:unit:remove") @SysLog(title = "往来单位管理", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除往来单位管理") @DeleteMapping("/{unitIds}") - public AjaxResult remove(@PathVariable Long[] unitIds) + public AjaxResult remove(@PathVariable Long unitId) { - return bmUnitService.deleteBmUnitByUnitIds(unitIds); + return bmUnitService.deleteBmUnitByUnitId(unitId); } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java index d71fc907..dc823236 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java @@ -1,7 +1,6 @@ package com.bonus.material.basic.controller; import java.util.List; -import javax.servlet.http.HttpServletResponse; import com.bonus.common.biz.domain.SysDeptTree; import com.bonus.common.biz.domain.TreeSelect; @@ -12,7 +11,6 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; @@ -24,8 +22,6 @@ import com.bonus.material.basic.domain.BmUnitPerson; import com.bonus.material.basic.service.IBmUnitPersonService; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; -import com.bonus.common.core.utils.poi.ExcelUtil; -import com.bonus.common.core.web.page.TableDataInfo; /** * 往来单位管理Controller @@ -41,19 +37,6 @@ public class BmUnitPersonController extends BaseController @Autowired private IBmUnitPersonService bmUnitPersonService; - /** - * 查询往来单位管理列表 - */ - @ApiOperation(value = "查询往来单位管理列表") - @RequiresPermissions("basic:person:list") - @GetMapping("/list") - public TableDataInfo list(BmUnitPerson bmUnitPerson) - { - startPage(); - List list = bmUnitPersonService.selectBmUnitPersonList(bmUnitPerson); - return getDataTable(list); - } - /** * 查询部门用户下拉树 */ @@ -65,67 +48,29 @@ public class BmUnitPersonController extends BaseController } /** - * 导出往来单位管理列表 + * 绑定往来单位人员列表 */ - @ApiOperation(value = "导出往来单位管理列表") + @ApiOperation(value = "绑定往来单位人员列表") @PreventRepeatSubmit - @RequiresPermissions("basic:person:export") - @SysLog(title = "往来单位管理", businessType = OperaType.EXPORT, logType = 1,module = "仓储管理->导出往来单位管理") - @PostMapping("/export") - public void export(HttpServletResponse response, BmUnitPerson bmUnitPerson) + @RequiresPermissions("basic:person:bind") + @SysLog(title = "往来单位人员管理", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->绑定往来单位人员") + @PostMapping("/bind") + public AjaxResult bind(@RequestBody BmUnitPerson bmUnitPerson) { - List list = bmUnitPersonService.selectBmUnitPersonList(bmUnitPerson); - ExcelUtil util = new ExcelUtil(BmUnitPerson.class); - util.exportExcel(response, list, "往来单位管理数据"); + return bmUnitPersonService.insertBmUnitPerson(bmUnitPerson); } - /** - * 获取往来单位管理详细信息 - */ - @ApiOperation(value = "获取往来单位管理详细信息") - @RequiresPermissions("basic:person:query") - @GetMapping(value = "/{ID}") - public AjaxResult getInfo(@PathVariable("ID") Long ID) - { - return success(bmUnitPersonService.selectBmUnitPersonByID(ID)); - } /** - * 新增往来单位管理 + * 解绑往来单位人员列表 */ - @ApiOperation(value = "新增往来单位管理") - @PreventRepeatSubmit - @RequiresPermissions("basic:person:add") - @SysLog(title = "往来单位管理", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增往来单位管理") - @PostMapping - public AjaxResult add(@RequestBody BmUnitPerson bmUnitPerson) - { - return toAjax(bmUnitPersonService.insertBmUnitPerson(bmUnitPerson)); - } - - /** - * 修改往来单位管理 - */ - @ApiOperation(value = "修改往来单位管理") - @PreventRepeatSubmit - @RequiresPermissions("basic:person:edit") - @SysLog(title = "往来单位管理", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->修改往来单位管理") - @PutMapping - public AjaxResult edit(@RequestBody BmUnitPerson bmUnitPerson) - { - return toAjax(bmUnitPersonService.updateBmUnitPerson(bmUnitPerson)); - } - - /** - * 删除往来单位管理 - */ - @ApiOperation(value = "删除往来单位管理") + @ApiOperation(value = "解绑往来单位人员列表") @PreventRepeatSubmit @RequiresPermissions("basic:person:remove") - @SysLog(title = "往来单位管理", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除往来单位管理") - @DeleteMapping("/{IDs}") - public AjaxResult remove(@PathVariable Long[] IDs) + @SysLog(title = "往来单位管理", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->解绑往来单位人员") + @DeleteMapping("/{unitId}") + public AjaxResult unbind(@PathVariable Long unitId) { - return toAjax(bmUnitPersonService.deleteBmUnitPersonByIDs(IDs)); + return bmUnitPersonService.deleteBmUnitPersonByID(unitId); } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java index 4364595d..411768b1 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java @@ -3,11 +3,9 @@ package com.bonus.material.basic.controller; import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; -import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.common.log.annotation.SysLog; import com.bonus.common.log.enums.OperaType; import com.bonus.common.security.annotation.RequiresPermissions; -import com.bonus.material.basic.domain.BmUnit; import com.bonus.material.basic.domain.BmUnitType; import com.bonus.material.basic.service.IBmUnitTypeService; import com.bonus.material.common.annotation.PreventRepeatSubmit; @@ -26,7 +24,7 @@ import java.util.List; * @Author ma_sh * @create 2024/10/14 15:25 */ -@Api(tags = "往来单位管理接口") +@Api(tags = "往来单位类型管理接口") @RestController @RequestMapping("/bm_unit_type") public class BmUnitTypeController extends BaseController { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnit.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnit.java index b3c45f10..62e5541d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnit.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnit.java @@ -55,5 +55,10 @@ public class BmUnit extends BaseEntity /** 删除标志(0代表存在 2代表删除) */ private String delFlag; + /** + * 是否绑定 1 是,0 否 + */ + private Integer isBind; + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitPerson.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitPerson.java index 57fa48ec..7dbc32a7 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitPerson.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitPerson.java @@ -6,6 +6,8 @@ import lombok.Data; import lombok.ToString; import com.bonus.common.core.web.domain.BaseEntity; +import java.util.List; + /** * 往来单位管理对象 bm_unit_person * @@ -21,9 +23,12 @@ public class BmUnitPerson extends BaseEntity private static final long serialVersionUID = 1L; /** 主键ID */ - private Long ID; + private Long id; - /** 类型ID */ + /** 类型ID集合 */ + private List unitIdList; + + @ApiModelProperty(value = "类型ID") private Long unitId; /** 用户ID */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitMapper.java index 2144acfe..1e81a470 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitMapper.java @@ -65,4 +65,11 @@ public interface BmUnitMapper * @return */ BmUnit selectBmUnitByProName(String unitName); + + /** + * 根据单位id查询单位人员数量 + * @param unitId + * @return + */ + Integer selectBmUnitPersonByUnitId(Long unitId); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitPersonMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitPersonMapper.java index 0031eb27..5051acb4 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitPersonMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitPersonMapper.java @@ -13,21 +13,6 @@ import com.bonus.material.basic.domain.BmUnitPerson; */ public interface BmUnitPersonMapper { - /** - * 查询往来单位管理 - * - * @param ID 往来单位管理主键 - * @return 往来单位管理 - */ - public BmUnitPerson selectBmUnitPersonByID(Long ID); - - /** - * 查询往来单位管理列表 - * - * @param bmUnitPerson 往来单位管理 - * @return 往来单位管理集合 - */ - public List selectBmUnitPersonList(BmUnitPerson bmUnitPerson); /** * 新增往来单位管理 @@ -37,29 +22,13 @@ public interface BmUnitPersonMapper */ public int insertBmUnitPerson(BmUnitPerson bmUnitPerson); - /** - * 修改往来单位管理 - * - * @param bmUnitPerson 往来单位管理 - * @return 结果 - */ - public int updateBmUnitPerson(BmUnitPerson bmUnitPerson); - /** * 删除往来单位管理 * - * @param ID 往来单位管理主键 + * @param unitId 往来单位管理主键 * @return 结果 */ - public int deleteBmUnitPersonByID(Long ID); - - /** - * 批量删除往来单位管理 - * - * @param IDs 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteBmUnitPersonByIDs(Long[] IDs); + public int deleteBmUnitPersonByID(Long unitId); /** * 查询部门树 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitPersonService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitPersonService.java index 49f268df..0dc918bf 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitPersonService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitPersonService.java @@ -4,6 +4,7 @@ import java.util.List; import com.bonus.common.biz.domain.SysDeptTree; import com.bonus.common.biz.domain.TreeSelect; +import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.basic.domain.BmUnitPerson; /** @@ -14,21 +15,6 @@ import com.bonus.material.basic.domain.BmUnitPerson; */ public interface IBmUnitPersonService { - /** - * 查询往来单位管理 - * - * @param ID 往来单位管理主键 - * @return 往来单位管理 - */ - public BmUnitPerson selectBmUnitPersonByID(Long ID); - - /** - * 查询往来单位管理列表 - * - * @param bmUnitPerson 往来单位管理 - * @return 往来单位管理集合 - */ - public List selectBmUnitPersonList(BmUnitPerson bmUnitPerson); /** * 新增往来单位管理 @@ -36,31 +22,15 @@ public interface IBmUnitPersonService * @param bmUnitPerson 往来单位管理 * @return 结果 */ - public int insertBmUnitPerson(BmUnitPerson bmUnitPerson); - - /** - * 修改往来单位管理 - * - * @param bmUnitPerson 往来单位管理 - * @return 结果 - */ - public int updateBmUnitPerson(BmUnitPerson bmUnitPerson); - - /** - * 批量删除往来单位管理 - * - * @param IDs 需要删除的往来单位管理主键集合 - * @return 结果 - */ - public int deleteBmUnitPersonByIDs(Long[] IDs); + public AjaxResult insertBmUnitPerson(BmUnitPerson bmUnitPerson); /** * 删除往来单位管理信息 * - * @param ID 往来单位管理主键 + * @param unitId 往来单位管理主键 * @return 结果 */ - public int deleteBmUnitPersonByID(Long ID); + public AjaxResult deleteBmUnitPersonByID(Long unitId); /** * 查询部门下拉树结构 @@ -68,4 +38,5 @@ public interface IBmUnitPersonService * @return */ List selectDeptTree(SysDeptTree sysDept); + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitPersonServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitPersonServiceImpl.java index f1d33062..e7bbb19e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitPersonServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitPersonServiceImpl.java @@ -1,14 +1,15 @@ package com.bonus.material.basic.service.impl; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; +import com.alibaba.nacos.common.utils.CollectionUtils; import com.bonus.common.biz.domain.SysDeptTree; import com.bonus.common.biz.domain.TreeSelect; +import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.core.web.domain.AjaxResult; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.bonus.material.basic.mapper.BmUnitPersonMapper; @@ -27,30 +28,6 @@ public class BmUnitPersonServiceImpl implements IBmUnitPersonService @Autowired private BmUnitPersonMapper bmUnitPersonMapper; - /** - * 查询往来单位管理 - * - * @param ID 往来单位管理主键 - * @return 往来单位管理 - */ - @Override - public BmUnitPerson selectBmUnitPersonByID(Long ID) - { - return bmUnitPersonMapper.selectBmUnitPersonByID(ID); - } - - /** - * 查询往来单位管理列表 - * - * @param bmUnitPerson 往来单位管理 - * @return 往来单位管理 - */ - @Override - public List selectBmUnitPersonList(BmUnitPerson bmUnitPerson) - { - return bmUnitPersonMapper.selectBmUnitPersonList(bmUnitPerson); - } - /** * 新增往来单位管理 * @@ -58,47 +35,36 @@ public class BmUnitPersonServiceImpl implements IBmUnitPersonService * @return 结果 */ @Override - public int insertBmUnitPerson(BmUnitPerson bmUnitPerson) + public AjaxResult insertBmUnitPerson(BmUnitPerson bmUnitPerson) { - bmUnitPerson.setCreateTime(DateUtils.getNowDate()); - return bmUnitPersonMapper.insertBmUnitPerson(bmUnitPerson); - } - - /** - * 修改往来单位管理 - * - * @param bmUnitPerson 往来单位管理 - * @return 结果 - */ - @Override - public int updateBmUnitPerson(BmUnitPerson bmUnitPerson) - { - bmUnitPerson.setUpdateTime(DateUtils.getNowDate()); - return bmUnitPersonMapper.updateBmUnitPerson(bmUnitPerson); - } - - /** - * 批量删除往来单位管理 - * - * @param IDs 需要删除的往来单位管理主键 - * @return 结果 - */ - @Override - public int deleteBmUnitPersonByIDs(Long[] IDs) - { - return bmUnitPersonMapper.deleteBmUnitPersonByIDs(IDs); + int result = 0; + if (CollectionUtils.isNotEmpty(bmUnitPerson.getUnitIdList())) { + for (Long unitId : bmUnitPerson.getUnitIdList()) { + bmUnitPerson.setCreateTime(DateUtils.getNowDate()); + bmUnitPerson.setUnitId(unitId); + result += bmUnitPersonMapper.insertBmUnitPerson(bmUnitPerson); + } + } + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } /** * 删除往来单位管理信息 * - * @param ID 往来单位管理主键 + * @param unitId 往来单位管理主键 * @return 结果 */ @Override - public int deleteBmUnitPersonByID(Long ID) + public AjaxResult deleteBmUnitPersonByID(Long unitId) { - return bmUnitPersonMapper.deleteBmUnitPersonByID(ID); + int result = bmUnitPersonMapper.deleteBmUnitPersonByID(unitId); + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } /** diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java index 063ed8a6..3fbf9846 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.Objects; import cn.hutool.core.util.PhoneUtil; +import com.alibaba.nacos.common.utils.CollectionUtils; import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.StringUtils; @@ -48,7 +49,16 @@ public class BmUnitServiceImpl implements IBmUnitService @Override public List selectBmUnitList(BmUnit bmUnit) { - return bmUnitMapper.selectBmUnitList(bmUnit); + List bmUnitList = bmUnitMapper.selectBmUnitList(bmUnit); + if (CollectionUtils.isNotEmpty(bmUnitList)) { + for (BmUnit unit : bmUnitList) { + if (unit.getUnitId() != null) { + //根据单位id去人员绑定中查询是否绑定,赋值绑定状态 + unit.setIsBind(bmUnitMapper.selectBmUnitPersonByUnitId(unit.getUnitId()) > 0 ? 1 : 0); + } + } + } + return bmUnitList; } /** diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitMapper.xml index 936f445e..98fc928d 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitMapper.xml @@ -40,10 +40,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where del_flag = 0 and unit_id = #{unitId} + + + insert into bm_unit diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitPersonMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitPersonMapper.xml index 717054d4..ee631e92 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitPersonMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitPersonMapper.xml @@ -3,31 +3,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - - - - - - - - - select ID, unit_id, user_id, company_id, create_time, update_time from bm_unit_person - - - - - + - + + + + + insert into bm_unit From ecddcb5307e05c03ff7e004b590495504560c9f9 Mon Sep 17 00:00:00 2001 From: mashuai Date: Tue, 15 Oct 2024 11:00:46 +0800 Subject: [PATCH 07/28] =?UTF-8?q?=E5=8D=95=E4=BD=8D=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/material/basic/domain/BmUnit.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnit.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnit.java index 9af11ee7..9045f78d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnit.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnit.java @@ -24,12 +24,11 @@ public class BmUnit extends BaseEntity private Long unitId; /** 单位类型名称 */ - @Excel(name = "单位类型名称") + @Excel(name = "单位名称") @ApiModelProperty(value = "单位类型名称") private String unitName; /** 帐号状态(0正常 1停用) */ - @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用") private String status; /** 单位类型 */ @@ -40,6 +39,11 @@ public class BmUnit extends BaseEntity @ApiModelProperty(value = "单位类型名称") private String typeName; + /** 所属分公司 */ + @Excel(name = "所属分公司") + @ApiModelProperty(value = "所属分公司") + private Long deptId; + /** 联系人 */ @Excel(name = "联系人") @ApiModelProperty(value = "联系人") @@ -50,11 +54,6 @@ public class BmUnit extends BaseEntity @ApiModelProperty(value = "联系方式") private String telphone; - /** 所属组织 */ - @Excel(name = "所属组织") - @ApiModelProperty(value = "所属组织") - private Long deptId; - /** 删除标志(0代表存在 2代表删除) */ private String delFlag; From 36f10b16b387187993d0df4870393e9289af0b50 Mon Sep 17 00:00:00 2001 From: mashuai Date: Tue, 15 Oct 2024 13:25:33 +0800 Subject: [PATCH 08/28] =?UTF-8?q?=E8=B5=84=E4=BA=A7=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BmAssetAttributesController.java | 123 ++++++++++++++++++ .../basic/controller/BmProjectController.java | 6 +- .../basic/domain/BmAssetAttributes.java | 40 ++++++ .../basic/mapper/BmAssetAttributesMapper.java | 88 +++++++++++++ .../service/BmAssetAttributesService.java | 58 +++++++++ .../impl/BmAssetAttributesServiceImpl.java | 113 ++++++++++++++++ .../basic/BmAssetAttributesMapper.xml | 99 ++++++++++++++ 7 files changed, 524 insertions(+), 3 deletions(-) create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmAssetAttributesController.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmAssetAttributes.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmAssetAttributesMapper.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/BmAssetAttributesService.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmAssetAttributesServiceImpl.java create mode 100644 bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmAssetAttributesMapper.xml diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmAssetAttributesController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmAssetAttributesController.java new file mode 100644 index 00000000..5ef9b048 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmAssetAttributesController.java @@ -0,0 +1,123 @@ +package com.bonus.material.basic.controller; + +import com.bonus.common.core.utils.poi.ExcelUtil; +import com.bonus.common.core.web.controller.BaseController; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.core.web.page.TableDataInfo; +import com.bonus.common.log.annotation.SysLog; +import com.bonus.common.log.enums.OperaType; +import com.bonus.common.security.annotation.RequiresPermissions; +import com.bonus.material.basic.domain.BmAssetAttributes; +import com.bonus.material.basic.domain.BmUnitType; +import com.bonus.material.basic.service.BmAssetAttributesService; +import com.bonus.material.common.annotation.PreventRepeatSubmit; +import io.swagger.annotations.ApiOperation; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 资产属性表(BmAssetAttributes)表控制层 + * + * @author makejava + * @since 2024-10-15 10:38:58 + */ +@RestController +@RequestMapping("/bmAssetAttributes") +public class BmAssetAttributesController extends BaseController { + /** + * 服务对象 + */ + @Resource + private BmAssetAttributesService bmAssetAttributesService; + + /** + * 分页查询 + * + * @param bmAssetAttributes 筛选条件 + * @return 查询结果 + */ + @RequiresPermissions("basic:asset:list") + @GetMapping("/list") + public TableDataInfo queryByPage(BmAssetAttributes bmAssetAttributes) { + startPage(); + List list = bmAssetAttributesService.queryByPage(bmAssetAttributes); + return getDataTable(list); + } + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @RequiresPermissions("basic:asset:query") + @GetMapping("/{id}") + public AjaxResult queryById(@PathVariable("id") Long id) { + return AjaxResult.success(bmAssetAttributesService.queryById(id)); + } + + /** + * 新增数据 + * + * @param bmAssetAttributes 实体 + * @return 新增结果 + */ + @PreventRepeatSubmit + @RequiresPermissions("basic:asset:add") + @SysLog(title = "资产属性管理", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增资产属性管理") + @PostMapping + public AjaxResult add(@RequestBody BmAssetAttributes bmAssetAttributes) { + return bmAssetAttributesService.insert(bmAssetAttributes); + } + + /** + * 编辑数据 + * + * @param bmAssetAttributes 实体 + * @return 编辑结果 + */ + @PreventRepeatSubmit + @RequiresPermissions("basic:asset:edit") + @SysLog(title = "资产属性管理", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->修改资产属性管理") + @PutMapping + public AjaxResult edit(@RequestBody BmAssetAttributes bmAssetAttributes) { + return bmAssetAttributesService.update(bmAssetAttributes); + } + + /** + * 删除数据 + * + * @param id 主键 + * @return 删除是否成功 + */ + @PreventRepeatSubmit + @RequiresPermissions("basic:asset:remove") + @SysLog(title = "资产属性管理", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除资产属性管理") + @DeleteMapping("/{id}") + public AjaxResult deleteById(@PathVariable("id") Long id) { + return bmAssetAttributesService.deleteById(id); + } + + /** + * 导出资产属性管理列表 + */ + @ApiOperation(value = "导出资产属性管理列表") + @PreventRepeatSubmit + @RequiresPermissions("basic:asset:export") + @SysLog(title = "资产属性管理", businessType = OperaType.EXPORT, logType = 1,module = "仓储管理->导出资产属性管理") + @PostMapping("/export") + public void export(HttpServletResponse response, BmAssetAttributes bmAssetAttributes) + { + List list = bmAssetAttributesService.queryByPage(bmAssetAttributes); + ExcelUtil util = new ExcelUtil(BmAssetAttributes.class); + util.exportExcel(response, list, "资产属性管理数据"); + } + +} + diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java index 37db8080..e556e56e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java @@ -124,9 +124,9 @@ public class BmProjectController extends BaseController @PreventRepeatSubmit @RequiresPermissions("basic:project:remove") @SysLog(title = "标段工程管理", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除标段工程管理") - @DeleteMapping("/{proIds}") - public AjaxResult remove(@PathVariable Long[] proIds) + @DeleteMapping("/{proId}") + public AjaxResult remove(@PathVariable Long proId) { - return bmProjectService.deleteBmProjectByProIds(proIds); + return bmProjectService.deleteBmProjectByProId(proId); } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmAssetAttributes.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmAssetAttributes.java new file mode 100644 index 00000000..7a237c6a --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmAssetAttributes.java @@ -0,0 +1,40 @@ +package com.bonus.material.basic.domain; + +import com.bonus.common.core.annotation.Excel; +import com.bonus.common.core.web.domain.BaseEntity; +import lombok.Data; + +import java.util.Date; +import java.io.Serializable; + +/** + * 资产属性表(BmAssetAttributes)实体类 + * + * @author makejava + * @since 2024-10-15 10:39:00 + */ +@Data +public class BmAssetAttributes extends BaseEntity implements Serializable { + private static final long serialVersionUID = -16238021609223792L; + /** + * 主键id + */ + private Long id; + /** + * 资产类型名称 + */ + @Excel(name = "资产类型名称") + private String assetName; + + /** + * 资产编码 + */ + @Excel(name = "资产编码") + private String assetCode; + /** + * 删除标志(0代表存在 2代表删除) + */ + private String delFlag; + +} + diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmAssetAttributesMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmAssetAttributesMapper.java new file mode 100644 index 00000000..72d18ce1 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmAssetAttributesMapper.java @@ -0,0 +1,88 @@ +package com.bonus.material.basic.mapper; + +import com.bonus.material.basic.domain.BmAssetAttributes; +import org.apache.ibatis.annotations.Param; +import org.springframework.data.domain.Pageable; +import java.util.List; + +/** + * 资产属性表(BmAssetAttributes)表数据库访问层 + * + * @author makejava + * @since 2024-10-15 10:38:58 + */ +public interface BmAssetAttributesMapper { + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + BmAssetAttributes queryById(Long id); + + /** + * 查询指定行数据 + * + * @param bmAssetAttributes 查询条件 + * @return 对象列表 + */ + List queryAllByLimit(BmAssetAttributes bmAssetAttributes); + + /** + * 统计总行数 + * + * @param bmAssetAttributes 查询条件 + * @return 总行数 + */ + long count(BmAssetAttributes bmAssetAttributes); + + /** + * 新增数据 + * + * @param bmAssetAttributes 实例对象 + * @return 影响行数 + */ + int insert(BmAssetAttributes bmAssetAttributes); + + /** + * 批量新增数据(MyBatis原生foreach方法) + * + * @param entities List 实例对象列表 + * @return 影响行数 + */ + int insertBatch(@Param("entities") List entities); + + /** + * 批量新增或按主键更新数据(MyBatis原生foreach方法) + * + * @param entities List 实例对象列表 + * @return 影响行数 + * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参 + */ + int insertOrUpdateBatch(@Param("entities") List entities); + + /** + * 修改数据 + * + * @param bmAssetAttributes 实例对象 + * @return 影响行数 + */ + int update(BmAssetAttributes bmAssetAttributes); + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 影响行数 + */ + int deleteById(Long id); + + /** + * 根据资产名称或编号查询数据 + * @param bmAssetAttributes + * @return + */ + List selectBmAssetAttributesByAssetCode(BmAssetAttributes bmAssetAttributes); +} + diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/BmAssetAttributesService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/BmAssetAttributesService.java new file mode 100644 index 00000000..71025a46 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/BmAssetAttributesService.java @@ -0,0 +1,58 @@ +package com.bonus.material.basic.service; + +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.material.basic.domain.BmAssetAttributes; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; + +import java.util.List; + +/** + * 资产属性表(BmAssetAttributes)表服务接口 + * + * @author makejava + * @since 2024-10-15 10:39:02 + */ +public interface BmAssetAttributesService { + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + BmAssetAttributes queryById(Long id); + + /** + * 分页查询 + * + * @param bmAssetAttributes 筛选条件 + * @return 查询结果 + */ + List queryByPage(BmAssetAttributes bmAssetAttributes); + + /** + * 新增数据 + * + * @param bmAssetAttributes 实例对象 + * @return 实例对象 + */ + AjaxResult insert(BmAssetAttributes bmAssetAttributes); + + /** + * 修改数据 + * + * @param bmAssetAttributes 实例对象 + * @return 实例对象 + */ + AjaxResult update(BmAssetAttributes bmAssetAttributes); + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 是否成功 + */ + AjaxResult deleteById(Long id); + +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmAssetAttributesServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmAssetAttributesServiceImpl.java new file mode 100644 index 00000000..4b893afb --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmAssetAttributesServiceImpl.java @@ -0,0 +1,113 @@ +package com.bonus.material.basic.service.impl; + +import com.alibaba.nacos.common.utils.CollectionUtils; +import com.bonus.common.biz.enums.HttpCodeEnum; +import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.material.basic.domain.BmAssetAttributes; +import com.bonus.material.basic.mapper.BmAssetAttributesMapper; +import com.bonus.material.basic.service.BmAssetAttributesService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Objects; + +/** + * 资产属性表(BmAssetAttributes)表服务实现类 + * + * @author makejava + * @since 2024-10-15 10:39:02 + */ +@Service("bmAssetAttributesService") +public class BmAssetAttributesServiceImpl implements BmAssetAttributesService { + @Resource + private BmAssetAttributesMapper bmAssetAttributesDao; + + /** + * 通过ID查询单条数据 + * + * @param id 主键 + * @return 实例对象 + */ + @Override + public BmAssetAttributes queryById(Long id) { + return bmAssetAttributesDao.queryById(id); + } + + /** + * 分页查询 + * + * @param bmAssetAttributes 筛选条件 + * @return 查询结果 + */ + @Override + public List queryByPage(BmAssetAttributes bmAssetAttributes) { + return bmAssetAttributesDao.queryAllByLimit(bmAssetAttributes); + } + + /** + * 新增数据 + * + * @param bmAssetAttributes 实例对象 + * @return 实例对象 + */ + @Override + public AjaxResult insert(BmAssetAttributes bmAssetAttributes) { + //先判断物资类型名称是否存在 + List attributesList = bmAssetAttributesDao.selectBmAssetAttributesByAssetCode(bmAssetAttributes); + if (CollectionUtils.isNotEmpty(attributesList)) { + return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), "资产类型名称或资产编码与库中重复"); + } + bmAssetAttributes.setCreateBy(SecurityUtils.getUserId().toString()); + bmAssetAttributes.setCreateTime(DateUtils.getNowDate()); + int result = bmAssetAttributesDao.insert(bmAssetAttributes); + if (result > 0) { + return AjaxResult.success(); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); + } + + /** + * 修改数据 + * + * @param bmAssetAttributes 实例对象 + * @return 实例对象 + */ + @Override + public AjaxResult update(BmAssetAttributes bmAssetAttributes) { + //先判断物资类型名称是否存在 + List attributesList = bmAssetAttributesDao.selectBmAssetAttributesByAssetCode(bmAssetAttributes); + if (attributesList.size() > 1) { + return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), "资产类型名称或资产编码与库中重复"); + } + if (attributesList.size() == 1) { + if (!Objects.equals(attributesList.get(0).getId(), bmAssetAttributes.getId())) { + return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), "资产类型名称或资产编码与库中重复"); + } + } + bmAssetAttributes.setUpdateBy(SecurityUtils.getUserId().toString()); + bmAssetAttributes.setUpdateTime(DateUtils.getNowDate()); + int result = bmAssetAttributesDao.update(bmAssetAttributes); + if (result > 0) { + return AjaxResult.success(); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); + } + + /** + * 通过主键删除数据 + * + * @param id 主键 + * @return 是否成功 + */ + @Override + public AjaxResult deleteById(Long id) { + int result = bmAssetAttributesDao.deleteById(id); + if (result > 0) { + return AjaxResult.success(); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); + } +} diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmAssetAttributesMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmAssetAttributesMapper.xml new file mode 100644 index 00000000..eeba2e86 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmAssetAttributesMapper.xml @@ -0,0 +1,99 @@ + + + + + + insert into bm_unit_type + + type_name, + company_id, + del_flag, + create_by, + create_time, + update_by, + update_time, + + + #{typeName}, + #{companyId}, + 0, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + insert into bm_asset_attributes + + asset_code, + asset_name, + create_by, + create_time, + del_flag + + + #{assetCode}, + #{assetName}, + #{createBy}, + #{createTime}, + 0 + + + + + update bm_asset_attributes + + asset_code = #{assetCode}, + asset_name = #{assetName}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + update bm_asset_attributes set del_flag = 2 where id = #{id} + + + + + + + + \ No newline at end of file From 4ad579e2ac53469aacf46045896182f44c754157 Mon Sep 17 00:00:00 2001 From: mashuai Date: Tue, 15 Oct 2024 16:41:14 +0800 Subject: [PATCH 09/28] =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=8F=8A=E4=B8=89=E6=96=B9=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/constant/MaterialConstants.java | 9 ++ .../BmAssetAttributesController.java | 2 +- .../basic/controller/BmProjectController.java | 32 +++-- .../material/basic/domain/BmProject.java | 47 +++++-- .../material/basic/domain/BmUnitType.java | 4 +- .../basic/mapper/BmProjectMapper.java | 4 +- .../impl/BmAssetAttributesServiceImpl.java | 7 +- .../service/impl/BmProjectServiceImpl.java | 94 ++++++++++++-- .../service/impl/BmUnitTypeServiceImpl.java | 7 +- .../material/common/utils/HttpClient.java | 117 ++++++++++++++++++ .../mapper/material/basic/BmProjectMapper.xml | 81 +++++++++++- .../material/basic/BmUnitTypeMapper.xml | 41 +++--- 12 files changed, 377 insertions(+), 68 deletions(-) create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/common/utils/HttpClient.java diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java index 1f4b9a9e..86b31666 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java @@ -38,5 +38,14 @@ public class MaterialConstants */ public static final String LATITUDE_PATTERN = "^(-?(90(\\.0+)?|[1-8]?\\d(\\.\\d{1,6})?))$"; + public static final String ZERO_CONSTANT = "0"; + + public static final String ONE_CONSTANT = "1"; + + public static final String TWO_CONSTANT = "2"; + + public static final String THREE_CONSTANT = "3"; + + public static final String FOUR_CONSTANT = "4"; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmAssetAttributesController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmAssetAttributesController.java index 5ef9b048..777b6cfc 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmAssetAttributesController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmAssetAttributesController.java @@ -28,7 +28,7 @@ import java.util.List; * @since 2024-10-15 10:38:58 */ @RestController -@RequestMapping("/bmAssetAttributes") +@RequestMapping("/bm_asset_attributes") public class BmAssetAttributesController extends BaseController { /** * 服务对象 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java index e556e56e..74abb873 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java @@ -3,8 +3,12 @@ package com.bonus.material.basic.controller; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; + +import cn.hutool.http.HttpException; +import com.alibaba.fastjson.JSONObject; import com.bonus.common.log.enums.OperaType; import com.bonus.material.common.annotation.PreventRepeatSubmit; +import com.bonus.material.common.utils.HttpClient; import com.bonus.system.api.RemoteDictDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -40,9 +44,6 @@ public class BmProjectController extends BaseController @Autowired private IBmProjectService bmProjectService; - @Resource - private RemoteDictDataService remoteDictDataService; - /** * 查询标段工程管理列表 */ @@ -56,15 +57,6 @@ public class BmProjectController extends BaseController return getDataTable(list); } - /** - * 查询工程类型列表 - */ - @ApiOperation(value = "查询工程类型列表") - @GetMapping("/getProjectTypeList") - public AjaxResult getProjectTypeList() { - return remoteDictDataService.dictType("bm_project_type", null); - } - /** * 导出标段工程管理列表 */ @@ -129,4 +121,20 @@ public class BmProjectController extends BaseController { return bmProjectService.deleteBmProjectByProId(proId); } + + + @ApiOperation(value = "从第三方获取i8工程信息") + @GetMapping("/getProjectList") + public AjaxResult getProjectList(String token) + { + try { + String url = "http://10.138.55.105:8097/data-center/dc-base/api/project/list"; + //String url = "http://192.168.1.167:8097/data-center/dc-base/api/project/list"; + String res = HttpClient.sendGet(url,token); + JSONObject jsonObject = JSONObject.parseObject(res); + return AjaxResult.success(jsonObject); + } catch (HttpException e) { + return AjaxResult.error(e.getMessage()); + } + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmProject.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmProject.java index d1697ea4..b9866430 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmProject.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmProject.java @@ -31,27 +31,45 @@ public class BmProject extends BaseEntity private String proName; /** 关联外部(第三方)的工程ID */ - @Excel(name = "关联外部(第三方)的工程ID") @ApiModelProperty(value = "关联外部(第三方)的工程ID") private String externalId; /** 外部(第三方)的工程详情json */ - @Excel(name = "外部(第三方)的工程详情json") @ApiModelProperty(value = "外部(第三方)的工程详情json") private String externalInfo; - /** 工程类型(0线路,1变电,2施工) */ - @Excel(name = "工程类型(0线路,1变电,2施工)") - @ApiModelProperty(value = "工程类型(0线路,1变电,2施工)") + /** 工程类型(0线路,1变电,2业务,3其他) */ + @ApiModelProperty(value = "工程类型(0线路,1变电,2业务,3其他)") private String proTypeId; + @ApiModelProperty(value = "实施单位") + @Excel(name = "实施单位") + private String impUnit; + + @ApiModelProperty(value = "工程类型") + @Excel(name = "工程类型") + private String proType; + + @ApiModelProperty(value = "工程编码") + @Excel(name = "i8工程编码") + private String proCode; + + /** + * 是否匹配i8工程 + */ + @ApiModelProperty(value = "是否匹配i8工程") + @Excel(name = "是否匹配i8工程") + private String isMatchI8; + + @ApiModelProperty(value = "合同主体") + @Excel(name = "合同主体") + private String contractPart; + /** 经度 */ - @Excel(name = "经度") @ApiModelProperty(value = "经度") private String lon; /** 维度 */ - @Excel(name = "维度") @ApiModelProperty(value = "维度") private String lat; @@ -65,32 +83,39 @@ public class BmProject extends BaseEntity @ApiModelProperty(value = "联系方式") private String telphone; + @ApiModelProperty(value = "工程状态") + @Excel(name = "工程状态") + private String proStatus; + /** 计划开工日期 */ @ApiModelProperty(value = "计划开工日期") @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "计划开工日期", width = 30, dateFormat = "yyyy-MM-dd") private Date planStartDate; /** 计划结束日期 */ @ApiModelProperty(value = "计划结束日期") @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "计划结束日期", width = 30, dateFormat = "yyyy-MM-dd") private Date planEndDate; /** 实际开工日期 */ @ApiModelProperty(value = "实际开工日期") @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "实际开工日期", width = 30, dateFormat = "yyyy-MM-dd") private Date actualStartDate; /** 实际完工日期 */ @ApiModelProperty(value = "实际完工日期") @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "实际完工日期", width = 30, dateFormat = "yyyy-MM-dd") private Date actualEndDate; /** 删除标志(0代表存在 2代表删除) */ private String delFlag; + @ApiModelProperty(value = "工程性质") + private String proNature; + @ApiModelProperty(value = "i8工程id") + private String i8proId; + + @ApiModelProperty(value = "所属项目中心") + private String proCenter; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitType.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitType.java index 9a4a0fe6..90ac268a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitType.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitType.java @@ -21,8 +21,8 @@ public class BmUnitType extends BaseEntity { @Excel(name = "单位类型") private String typeName; - @ApiModelProperty(value = "数据所属组织") - private String companyId; + @ApiModelProperty(value = "单位类型") + private String dictType; /** 删除标志(0代表存在 2代表删除) */ private String delFlag; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmProjectMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmProjectMapper.java index 59f73250..40750fa5 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmProjectMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmProjectMapper.java @@ -61,8 +61,8 @@ public interface BmProjectMapper /** * 根据工程名称查询工程信息 - * @param proName + * @param bmProject * @return */ - BmProject selectBmProjectByProName(String proName); + List selectBmProjectByProName(BmProject bmProject); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmAssetAttributesServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmAssetAttributesServiceImpl.java index 4b893afb..6dc388e4 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmAssetAttributesServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmAssetAttributesServiceImpl.java @@ -57,9 +57,14 @@ public class BmAssetAttributesServiceImpl implements BmAssetAttributesService { public AjaxResult insert(BmAssetAttributes bmAssetAttributes) { //先判断物资类型名称是否存在 List attributesList = bmAssetAttributesDao.selectBmAssetAttributesByAssetCode(bmAssetAttributes); - if (CollectionUtils.isNotEmpty(attributesList)) { + if (attributesList.size() > 1) { return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), "资产类型名称或资产编码与库中重复"); } + if (attributesList.size() == 1) { + if (!Objects.equals(attributesList.get(0).getId(), bmAssetAttributes.getId())) { + return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), "资产类型名称或资产编码与库中重复"); + } + } bmAssetAttributes.setCreateBy(SecurityUtils.getUserId().toString()); bmAssetAttributes.setCreateTime(DateUtils.getNowDate()); int result = bmAssetAttributesDao.insert(bmAssetAttributes); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java index 4359246a..36469f7d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java @@ -3,12 +3,16 @@ package com.bonus.material.basic.service.impl; import java.util.List; import java.util.Objects; +import cn.hutool.core.util.PhoneUtil; +import com.alibaba.nacos.common.utils.CollectionUtils; import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.biz.exception.BusinessException; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; +import org.apache.commons.lang3.StringUtils; +import org.hibernate.validator.internal.util.StringHelper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.bonus.material.basic.mapper.BmProjectMapper; @@ -17,6 +21,8 @@ import com.bonus.material.basic.service.IBmProjectService; import javax.annotation.Resource; +import static com.bonus.common.biz.constant.MaterialConstants.*; + /** * 标段工程管理Service业务层处理 * @@ -38,7 +44,9 @@ public class BmProjectServiceImpl implements IBmProjectService @Override public BmProject selectBmProjectByProId(Long proId) { - return bmProjectMapper.selectBmProjectByProId(proId); + BmProject project = bmProjectMapper.selectBmProjectByProId(proId); + extracted(project); + return project; } /** @@ -50,7 +58,62 @@ public class BmProjectServiceImpl implements IBmProjectService @Override public List selectBmProjectList(BmProject bmProject) { - return bmProjectMapper.selectBmProjectList(bmProject); + List list = bmProjectMapper.selectBmProjectList(bmProject); + if (CollectionUtils.isNotEmpty(list)) { + list.forEach(item -> { + extracted(item); + }); + } + return list; + } + + /** + * 方法抽取 + * @param item + */ + private void extracted(BmProject item) { + if (item.getProTypeId() != null) { + if (ZERO_CONSTANT.equals(item.getProTypeId())) { + item.setProType("线路工程"); + } else if (ONE_CONSTANT.equals(item.getProTypeId())) { + item.setProType("变电工程"); + } else if (TWO_CONSTANT.equals(item.getProTypeId())) { + item.setProType("业务工程"); + } else if (THREE_CONSTANT.equals(item.getProTypeId())) { + item.setProType("其他工程"); + } else { + item.setProType("未知工程类型"); + } + } + if (item.getProNature() != null) { + if (ZERO_CONSTANT.equals(item.getProNature())) { + item.setProNature("基建"); + } else if (ONE_CONSTANT.equals(item.getProNature())) { + item.setProNature("用户工程"); + } else if (TWO_CONSTANT.equals(item.getProNature())){ + item.setProNature("技修大改"); + } else if (THREE_CONSTANT.equals(item.getProNature())) { + item.setProNature("其他"); + } else { + item.setProNature("未知工程性质"); + } + } + if (item.getProStatus() != null) { + if (ZERO_CONSTANT.equals(item.getProStatus())) { + item.setProStatus("开工准备"); + } else if (ONE_CONSTANT.equals(item.getProStatus())) { + item.setProStatus("在建"); + } else if (TWO_CONSTANT.equals(item.getProStatus())){ + item.setProStatus("停工"); + } else if (THREE_CONSTANT.equals(item.getProStatus())){ + item.setProStatus("完工未竣工"); + } else if (FOUR_CONSTANT.equals(item.getProStatus())) { + item.setProStatus("竣工"); + } else { + item.setProStatus("未知工程状态"); + } + } + item.setIsMatchI8(StringUtils.isNotEmpty(item.getI8proId()) ? "匹配" : "不匹配"); } /** @@ -62,10 +125,10 @@ public class BmProjectServiceImpl implements IBmProjectService @Override public AjaxResult insertBmProject(BmProject bmProject) { - //首先根据工程名称去表中查询,看是否重复 - BmProject project = bmProjectMapper.selectBmProjectByProName(bmProject.getProName()); - if (project != null) { - return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), HttpCodeEnum.NAME_DUPLICATE.getMsg()); + //首先根据工程或名称去表中查询,看是否重复 + List projectList = bmProjectMapper.selectBmProjectByProName(bmProject); + if (CollectionUtils.isNotEmpty(projectList)) { + return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), "工程名称或工程编码与库中重复"); } //校验输入的经纬度是否合规 if (bmProject.getLon() != null) { @@ -78,6 +141,10 @@ public class BmProjectServiceImpl implements IBmProjectService return AjaxResult.error(HttpCodeEnum.INVALID_LATITUDE_FORMAT.getCode(), HttpCodeEnum.INVALID_LATITUDE_FORMAT.getMsg()); } } + //判断手机号是否合法 + if (StringUtils.isNotBlank(bmProject.getTelphone()) && !PhoneUtil.isMobile(bmProject.getTelphone())) { + return AjaxResult.error(HttpCodeEnum.INVALID_PHONE_FORMAT.getCode(), HttpCodeEnum.INVALID_PHONE_FORMAT.getMsg()); + } bmProject.setCreateTime(DateUtils.getNowDate()); bmProject.setCreateBy(SecurityUtils.getUserId().toString()); int result = bmProjectMapper.insertBmProject(bmProject); @@ -97,10 +164,13 @@ public class BmProjectServiceImpl implements IBmProjectService public AjaxResult updateBmProject(BmProject bmProject) { //首先根据工程名称去表中查询,看是否重复 - BmProject project = bmProjectMapper.selectBmProjectByProName(bmProject.getProName()); - if (project != null) { - if (!Objects.equals(project.getProId(), bmProject.getProId())) { - return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), HttpCodeEnum.NAME_DUPLICATE.getMsg()); + List projectList = bmProjectMapper.selectBmProjectByProName(bmProject); + if (projectList.size() > 1) { + return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), "工程名称或工程编码与库中重复"); + } + if (projectList.size() == 1) { + if (!Objects.equals(projectList.get(0).getProId(), bmProject.getProId())) { + return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), "工程名称或工程编码与库中重复"); } } //校验输入的经纬度是否合规 @@ -114,6 +184,10 @@ public class BmProjectServiceImpl implements IBmProjectService return AjaxResult.error(HttpCodeEnum.INVALID_LATITUDE_FORMAT.getCode(), HttpCodeEnum.INVALID_LATITUDE_FORMAT.getMsg()); } } + //判断手机号是否合法 + if (StringUtils.isNotBlank(bmProject.getTelphone()) && !PhoneUtil.isMobile(bmProject.getTelphone())) { + return AjaxResult.error(HttpCodeEnum.INVALID_PHONE_FORMAT.getCode(), HttpCodeEnum.INVALID_PHONE_FORMAT.getMsg()); + } bmProject.setUpdateTime(DateUtils.getNowDate()); bmProject.setUpdateBy(SecurityUtils.getUserId().toString()); int result = bmProjectMapper.updateBmProject(bmProject); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java index 3295096b..8c4d4e66 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java @@ -70,6 +70,7 @@ public class BmUnitTypeServiceImpl implements IBmUnitTypeService { } bmUnitType.setCreateBy(SecurityUtils.getUserId().toString()); bmUnitType.setCreateTime(DateUtils.getNowDate()); + bmUnitType.setDictType("bm_unit_type"); int result = bmUnitTypeMapper.insertBmUnitType(bmUnitType); if (result > 0) { return AjaxResult.success(); @@ -215,9 +216,6 @@ public class BmUnitTypeServiceImpl implements IBmUnitTypeService { case 0: checkCellNotEmpty(cellValue, r, c); break; - case 1: - checkCellNotEmpty(cellValue, r, c); - break; default: throw new IllegalArgumentException( String.format("第 %d 行,第 %d 列超出范围,请检查后重新导入", r + 1, c + 1)); @@ -234,6 +232,9 @@ public class BmUnitTypeServiceImpl implements IBmUnitTypeService { //进行更新操作 result += bmUnitTypeMapper.updateBmUnitType(unitType); } else { + bmUnitType.setCreateBy(SecurityUtils.getUserId().toString()); + bmUnitType.setCreateTime(DateUtils.getNowDate()); + bmUnitType.setDictType("bm_unit_type"); result += bmUnitTypeMapper.insertBmUnitType(bmUnitType); } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/utils/HttpClient.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/utils/HttpClient.java new file mode 100644 index 00000000..1fad37ea --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/utils/HttpClient.java @@ -0,0 +1,117 @@ +package com.bonus.material.common.utils; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.net.URL; +import java.net.URLConnection; +import java.util.List; +import java.util.Map; + +/** + * http请求方法集 + * @Author ma_sh + * @create 2024/10/15 16:05 + */ +public class HttpClient { + + /** + * 向指定URL发送GET方法的请求 + * + * @param url + * 发送请求的URL + * @return URL 所代表远程资源的响应结果 + */ + public static String sendGet(String url, String token) { + String result = ""; + BufferedReader in = null; + try { + String urlNameString = url + "?whetherToPaginate=" + 0; + URL realUrl = new URL(urlNameString); + // 打开和URL之间的连接 + URLConnection connection = realUrl.openConnection(); + // 设置通用的请求属性 + connection.setRequestProperty("accept", "*/*"); + connection.setRequestProperty("connection", "Keep-Alive"); + connection.setRequestProperty("user-agent", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + connection.setRequestProperty("Authorization", token); + // 建立实际的连接 + connection.connect(); + // 获取所有响应头字段 + Map> map = connection.getHeaderFields(); + // 遍历所有的响应头字段 + for (String key : map.keySet()) { + System.out.println(key + "--->" + map.get(key)); + } + // 定义 BufferedReader输入流来读取URL的响应 + in = new BufferedReader(new InputStreamReader( + connection.getInputStream(),"UTF-8")); + String line; + while ((line = in.readLine()) != null) { + result += line; + } + } catch (Exception e) { + System.out.println("发送GET请求出现异常!" + e); + e.printStackTrace(); + } + // 使用finally块来关闭输入流 + finally { + try { + if (in != null) { + in.close(); + } + } catch (Exception e2) { + e2.printStackTrace(); + } + } + return result; + } + + public static String sendGetInfo(String httpUrl, String appId, String ticket) { + String result = ""; + BufferedReader in = null; + try { + String urlNameString = httpUrl ; + URL realUrl = new URL(urlNameString); + // 打开和URL之间的连接 + URLConnection connection = realUrl.openConnection(); + // 设置通用的请求属性 + connection.setRequestProperty("accept", "*/*"); + connection.setRequestProperty("connection", "Keep-Alive"); + connection.setRequestProperty("user-agent", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + connection.setRequestProperty("charsert", "utf-8"); + connection.setRequestProperty("ticket", ticket); + connection.setRequestProperty("appId", appId); + // 建立实际的连接 + connection.connect(); + // 获取所有响应头字段 + Map> map = connection.getHeaderFields(); + // 遍历所有的响应头字段 + for (String key : map.keySet()) { + System.out.println(key + "--->" + map.get(key)); + } + // 定义 BufferedReader输入流来读取URL的响应 + in = new BufferedReader(new InputStreamReader( + connection.getInputStream())); + String line; + while ((line = in.readLine()) != null) { + result += line; + } + } catch (Exception e) { + System.out.println("发送GET请求出现异常!" + e); + e.printStackTrace(); + } + // 使用finally块来关闭输入流 + finally { + try { + if (in != null) { + in.close(); + } + } catch (Exception e2) { + e2.printStackTrace(); + } + } + return result; + } +} diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmProjectMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmProjectMapper.xml index 46e82911..45e51822 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmProjectMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmProjectMapper.xml @@ -23,10 +23,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + - select pro_id, pro_name, external_id, external_info, pro_type_id, lon, lat, pro_manager, telphone, plan_start_date, plan_end_date, actual_start_date, actual_end_date, create_by, create_time, update_by, update_time, remark, del_flag from bm_project + select bp.pro_id, + bp.pro_name, + bp.external_id, + bp.external_info, + bp.pro_type_id, + bp.lon, + bp.lat, + bp.pro_manager, + bp.telphone, + bp.plan_start_date, + bp.plan_end_date, + bp.actual_start_date, + bp.actual_end_date, + bp.create_by, + bp.create_time, + bp.update_by, + bp.update_time, + bp.remark, + bp.del_flag, + bp.pro_code, + sd.dept_name as impUnit, + bp.pro_nature, + bp.pro_status, + bp.i8pro_id, + bp.contract_part, + bp.pro_center + from bm_project bp + left join sys_dept sd on sd.dept_id = bp.imp_unit + @@ -77,7 +129,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update_by, update_time, remark, - del_flag + del_flag, + pro_code, + imp_unit, + pro_nature, + pro_status, + i8pro_id, + contract_part, + pro_center #{proId}, @@ -98,7 +157,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{updateBy}, #{updateTime}, #{remark}, - 0 + 0, + #{proCode}, + #{impUnit}, + #{proNature}, + #{proStatus}, + #{i8proId}, + #{contractPart}, + #{proCenter} @@ -120,6 +186,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update_by = #{updateBy}, update_time = #{updateTime}, remark = #{remark}, + pro_code = #{proCode}, + imp_unit = #{impUnit}, + pro_nature = #{proNature}, + pro_status = #{proStatus}, + i8pro_id = #{i8proId}, + contract_part = #{contractPart}, + pro_center = #{proCenter} where pro_id = #{proId} diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml index 21fe9b0c..d285d6e0 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml @@ -4,59 +4,56 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - insert into bm_unit_type + insert into sys_dict_data - type_name, - company_id, - del_flag, + dict_label, + status, create_by, create_time, - update_by, - update_time, + dict_type #{typeName}, - #{companyId}, 0, #{createBy}, #{createTime}, - #{updateBy}, - #{updateTime}, + #{dictType} + - update bm_unit_type + update sys_dict_data - type_name = #{typeName}, - company_id = #{companyId}, + dict_label = #{typeName}, update_by = #{updateBy}, update_time = #{updateTime}, - where type_id = #{typeId} + where dict_code = #{typeId} and dict_type = 'bm_unit_type' - update bm_unit_type set del_flag = 2 where type_id = #{typeId} + update sys_dict_data set status = 1 where dict_code = #{typeId} and dict_type = 'bm_unit_type' - del_flag = 0 + bp.del_flag = 0 and pro_name like concat('%', #{proName}, '%') and external_id = #{externalId} and external_info = #{externalInfo} From 565b7097e5fdd2527ddec835e21fb1e194959098 Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 16 Oct 2024 09:47:05 +0800 Subject: [PATCH 11/28] =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/material/basic/domain/BmProject.java | 3 --- .../material/basic/mapper/BmProjectMapper.java | 8 -------- .../basic/service/IBmProjectService.java | 8 -------- .../service/impl/BmProjectServiceImpl.java | 18 +----------------- .../mapper/material/basic/BmProjectMapper.xml | 11 ----------- 5 files changed, 1 insertion(+), 47 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmProject.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmProject.java index b9866430..2af1a5b7 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmProject.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmProject.java @@ -113,9 +113,6 @@ public class BmProject extends BaseEntity @ApiModelProperty(value = "工程性质") private String proNature; - @ApiModelProperty(value = "i8工程id") - private String i8proId; - @ApiModelProperty(value = "所属项目中心") private String proCenter; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmProjectMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmProjectMapper.java index 40750fa5..3e421383 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmProjectMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmProjectMapper.java @@ -51,14 +51,6 @@ public interface BmProjectMapper */ public int deleteBmProjectByProId(Long proId); - /** - * 批量删除标段工程管理 - * - * @param proIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteBmProjectByProIds(Long[] proIds); - /** * 根据工程名称查询工程信息 * @param bmProject diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmProjectService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmProjectService.java index 01870b76..edbe27cb 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmProjectService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmProjectService.java @@ -45,14 +45,6 @@ public interface IBmProjectService */ public AjaxResult updateBmProject(BmProject bmProject); - /** - * 批量删除标段工程管理 - * - * @param proIds 需要删除的标段工程管理主键集合 - * @return 结果 - */ - public AjaxResult deleteBmProjectByProIds(Long[] proIds); - /** * 删除标段工程管理信息 * diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java index 0d06d2d9..4139b487 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java @@ -113,7 +113,7 @@ public class BmProjectServiceImpl implements IBmProjectService item.setProStatus("未知工程状态"); } } - item.setIsMatchI8(StringUtils.isNotEmpty(item.getI8proId()) ? "匹配" : "不匹配"); + item.setIsMatchI8(StringUtils.isNotEmpty(item.getExternalId()) ? "匹配" : "不匹配"); } /** @@ -203,22 +203,6 @@ public class BmProjectServiceImpl implements IBmProjectService return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } - /** - * 批量删除标段工程管理 - * - * @param proIds 需要删除的标段工程管理主键 - * @return 结果 - */ - @Override - public AjaxResult deleteBmProjectByProIds(Long[] proIds) - { - int result = bmProjectMapper.deleteBmProjectByProIds(proIds); - if (result > 0) { - return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); - } - return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); - } - /** * 删除标段工程管理信息 * diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmProjectMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmProjectMapper.xml index d9d5ee37..c2ada98b 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmProjectMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmProjectMapper.xml @@ -27,7 +27,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - @@ -56,7 +55,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" sd.dept_name as impUnit, bp.pro_nature, bp.pro_status, - bp.i8pro_id, bp.contract_part, bp.pro_center from bm_project bp @@ -134,7 +132,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" imp_unit, pro_nature, pro_status, - i8pro_id, contract_part, pro_center @@ -162,7 +159,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{impUnit}, #{proNature}, #{proStatus}, - #{i8proId}, #{contractPart}, #{proCenter} @@ -190,7 +186,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" imp_unit = #{impUnit}, pro_nature = #{proNature}, pro_status = #{proStatus}, - i8pro_id = #{i8proId}, contract_part = #{contractPart}, pro_center = #{proCenter} @@ -201,10 +196,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update bm_project set del_flag = 2 where pro_id = #{proId} - - update bm_project set del_flag = 2 where pro_id in - - #{proId} - - \ No newline at end of file From bb400b2bcfa4754a7acab85f4b565ce8d5575ef3 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Wed, 16 Oct 2024 10:23:38 +0800 Subject: [PATCH 12/28] =?UTF-8?q?=E6=9B=B4=E6=96=B0bmstoragelog=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/material/basic/domain/BmStorageLog.java | 2 +- .../mapper/material/basic/BmStorageLogMapper.xml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmStorageLog.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmStorageLog.java index 26b9f484..11a55b08 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmStorageLog.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmStorageLog.java @@ -66,7 +66,7 @@ public class BmStorageLog extends BaseEntity /** 退库接收-维修数量 */ @Excel(name = "退库接收-维修数量") @ApiModelProperty(value = "退库接收-维修数量") - private Long maintenanceNum; + private Long repairNum; /** 退库接收-报废数量 */ @Excel(name = "退库接收-报废数量") diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmStorageLogMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmStorageLogMapper.xml index 65a70de0..2f547be5 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmStorageLogMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmStorageLogMapper.xml @@ -13,7 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -32,7 +32,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, model_title, method, type_id, pre_store_num, in_num, out_num, back_num, pass_num, maintenance_num, scrap_num, post_store_num, task_id, agreement_id, manage_type, type_name, type_model_name, result_code, result_msg, remark, status, json_result, creator, create_time, update_time from bm_storage_log + select id, model_title, method, type_id, pre_store_num, in_num, out_num, back_num, pass_num, repair_num, scrap_num, post_store_num, task_id, agreement_id, manage_type, type_name, type_model_name, result_code, result_msg, remark, status, json_result, creator, create_time, update_time from bm_storage_log + - + insert into bm_unit_person unit_id, user_id, company_id, create_time, - update_time, #{unitId}, #{userId}, #{companyId}, #{createTime}, - #{updateTime}, From e2e7dbd72d2358f57ced5d5ab1d408920facd249 Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 16 Oct 2024 15:25:05 +0800 Subject: [PATCH 15/28] =?UTF-8?q?=E9=85=8D=E4=BB=B6=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/common/biz/domain/TreeNode.java | 12 ++- .../ma/controller/PartTypeController.java | 19 +++-- .../bonus/material/ma/domain/PartType.java | 31 ++++---- .../material/ma/mapper/PartTypeMapper.java | 20 ++++- .../material/ma/service/IPartTypeService.java | 22 +++++- .../ma/service/impl/PartTypeServiceImpl.java | 75 +++++++++++++++++-- .../mapper/material/ma/PartTypeMapper.xml | 48 +++++++----- 7 files changed, 171 insertions(+), 56 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeNode.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeNode.java index 14a80bec..6f6e0170 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeNode.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeNode.java @@ -1,8 +1,10 @@ package com.bonus.common.biz.domain; import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -30,11 +32,15 @@ public class TreeNode { private String code; - private float num; + /** 原值 */ + @ApiModelProperty(value = "原值") + private BigDecimal buyPrice; - private String modelCode; + /** 实时库存 */ + @ApiModelProperty(value = "实时库存") + private Long storageNum; - private String manageType; + private String remark; @JsonInclude(JsonInclude.Include.NON_EMPTY) private List children = new ArrayList<>(); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/PartTypeController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/PartTypeController.java index 828da633..5f55be29 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/PartTypeController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/PartTypeController.java @@ -44,11 +44,16 @@ public class PartTypeController extends BaseController @ApiOperation(value = "查询配件类型管理列表") @RequiresPermissions("ma:type:list") @GetMapping("/list") - public TableDataInfo list(PartType partType) + public AjaxResult list(PartType partType) { - startPage(); - List list = partTypeService.selectPartTypeList(partType); - return getDataTable(list); + return partTypeService.selectPartTypeList(partType); + } + + @ApiOperation(value = "配件类型所属上级树") + @RequiresPermissions("ma:type:query") + @GetMapping("/getPartTree") + public AjaxResult getPartTree(PartType dto){ + return partTypeService.getPartTree(dto); } /** @@ -61,7 +66,7 @@ public class PartTypeController extends BaseController @PostMapping("/export") public void export(HttpServletResponse response, PartType partType) { - List list = partTypeService.selectPartTypeList(partType); + List list = partTypeService.getTypeList(partType); ExcelUtil util = new ExcelUtil(PartType.class); util.exportExcel(response, list, "配件类型管理数据"); } @@ -111,8 +116,8 @@ public class PartTypeController extends BaseController @RequiresPermissions("ma:type:remove") @SysLog(title = "配件类型管理", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除配件类型管理") @DeleteMapping("/{paIds}") - public AjaxResult remove(@PathVariable Long[] paIds) + public AjaxResult remove(@PathVariable Long paId) { - return toAjax(partTypeService.deletePartTypeByPaIds(paIds)); + return partTypeService.deletePartTypeByPaId(paId); } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/PartType.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/PartType.java index 4a029c06..0fe4788b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/PartType.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/PartType.java @@ -13,24 +13,23 @@ import com.bonus.common.core.web.domain.BaseEntity; * @author xsheng * @date 2024-09-27 */ - - @Data @ToString public class PartType extends BaseEntity { private static final long serialVersionUID = 1L; + private Integer isExport; + /** 类型ID */ private Long paId; /** 类型名称 */ - @Excel(name = "类型名称") + @Excel(name = "名称") @ApiModelProperty(value = "类型名称") private String paName; /** 上级ID */ - @Excel(name = "上级ID") @ApiModelProperty(value = "上级ID") private Long parentId; @@ -38,28 +37,30 @@ public class PartType extends BaseEntity @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用") private String status; - /** 实时库存 */ - @Excel(name = "实时库存") - @ApiModelProperty(value = "实时库存") - private Long storageNum; - /** 计量单位ID */ - @Excel(name = "计量单位ID") @ApiModelProperty(value = "计量单位ID") private String unitId; + /** 计量单位名称 */ + @Excel(name = "计量单位") + @ApiModelProperty(value = "计量单位名称") + private String unitName; + /** 原值 */ - @Excel(name = "原值") + @Excel(name = "购置价格(元)") @ApiModelProperty(value = "原值") private BigDecimal buyPrice; + /** 实时库存 */ + @Excel(name = "数量") + @ApiModelProperty(value = "实时库存") + private Long storageNum; + /** 层级 */ - @Excel(name = "层级") @ApiModelProperty(value = "层级") private String level; /** 库存预警数量 */ - @Excel(name = "库存预警数量") @ApiModelProperty(value = "库存预警数量") private Long warnNum; @@ -67,14 +68,14 @@ public class PartType extends BaseEntity private String delFlag; /** 数据所属组织 */ - @Excel(name = "数据所属组织") @ApiModelProperty(value = "数据所属组织") private String companyId; /** 框架年份 */ - @Excel(name = "框架年份") @ApiModelProperty(value = "框架年份") private String year; + @Excel(name = "备注") + private String remark; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/PartTypeMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/PartTypeMapper.java index 30b49e3a..726bcb5a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/PartTypeMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/PartTypeMapper.java @@ -1,6 +1,8 @@ package com.bonus.material.ma.mapper; import java.util.List; + +import com.bonus.common.biz.domain.TreeNode; import com.bonus.material.ma.domain.PartType; /** @@ -25,7 +27,7 @@ public interface PartTypeMapper * @param partType 配件类型管理 * @return 配件类型管理集合 */ - public List selectPartTypeList(PartType partType); + public List selectPartTypeList(PartType partType); /** * 新增配件类型管理 @@ -57,5 +59,19 @@ public interface PartTypeMapper * @param paIds 需要删除的数据主键集合 * @return 结果 */ - public int deletePartTypeByPaIds(Long[] paIds); + public int deletePartTypeByPaIds(Long paIds); + + /** + * 获取配件类型树 + * @param dto + * @return + */ + List getPartTree(PartType dto); + + /** + * 获取配件类型列表 + * @param partType + * @return + */ + List getTypeList(PartType partType); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IPartTypeService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IPartTypeService.java index c6bbf25d..a4882ec3 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IPartTypeService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IPartTypeService.java @@ -1,6 +1,8 @@ package com.bonus.material.ma.service; import java.util.List; + +import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.ma.domain.PartType; /** @@ -25,7 +27,7 @@ public interface IPartTypeService * @param partType 配件类型管理 * @return 配件类型管理集合 */ - public List selectPartTypeList(PartType partType); + public AjaxResult selectPartTypeList(PartType partType); /** * 新增配件类型管理 @@ -49,7 +51,7 @@ public interface IPartTypeService * @param paIds 需要删除的配件类型管理主键集合 * @return 结果 */ - public int deletePartTypeByPaIds(Long[] paIds); + public int deletePartTypeByPaIds(Long paIds); /** * 删除配件类型管理信息 @@ -57,5 +59,19 @@ public interface IPartTypeService * @param paId 配件类型管理主键 * @return 结果 */ - public int deletePartTypeByPaId(Long paId); + public AjaxResult deletePartTypeByPaId(Long paId); + + /** + * 获取配件类型树 + * @param dto + * @return + */ + AjaxResult getPartTree(PartType dto); + + /** + * 导出结果集 + * @param partType + * @return + */ + List getTypeList(PartType partType); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/PartTypeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/PartTypeServiceImpl.java index d7f45d35..ae3195d9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/PartTypeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/PartTypeServiceImpl.java @@ -1,7 +1,15 @@ package com.bonus.material.ma.service.impl; +import java.util.ArrayList; import java.util.List; + +import com.bonus.common.biz.domain.TreeBuild; +import com.bonus.common.biz.domain.TreeNode; +import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.core.web.domain.AjaxResult; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.bonus.material.ma.mapper.PartTypeMapper; @@ -15,6 +23,7 @@ import com.bonus.material.ma.service.IPartTypeService; * @date 2024-09-27 */ @Service +@Slf4j public class PartTypeServiceImpl implements IPartTypeService { @Autowired @@ -39,9 +48,22 @@ public class PartTypeServiceImpl implements IPartTypeService * @return 配件类型管理 */ @Override - public List selectPartTypeList(PartType partType) + public AjaxResult selectPartTypeList(PartType partType) { - return partTypeMapper.selectPartTypeList(partType); + List groupList = new ArrayList<>(); + List list = new ArrayList<>(); + try { + list = partTypeMapper.selectPartTypeList(partType); + if (CollectionUtils.isNotEmpty(list)) { + // 创建树形结构(数据集合作为参数) + TreeBuild treeBuild = new TreeBuild(list); + // 原查询结果转换树形结构 + groupList = treeBuild.buildTree(); + } + } catch (Exception e) { + log.error("配件类型树-查询失败", e); + } + return AjaxResult.success(groupList); } /** @@ -73,13 +95,13 @@ public class PartTypeServiceImpl implements IPartTypeService /** * 批量删除配件类型管理 * - * @param paIds 需要删除的配件类型管理主键 + * @param paId 需要删除的配件类型管理主键 * @return 结果 */ @Override - public int deletePartTypeByPaIds(Long[] paIds) + public int deletePartTypeByPaIds(Long paId) { - return partTypeMapper.deletePartTypeByPaIds(paIds); + return partTypeMapper.deletePartTypeByPaIds(paId); } /** @@ -89,8 +111,47 @@ public class PartTypeServiceImpl implements IPartTypeService * @return 结果 */ @Override - public int deletePartTypeByPaId(Long paId) + public AjaxResult deletePartTypeByPaId(Long paId) { - return partTypeMapper.deletePartTypeByPaId(paId); + int result = partTypeMapper.deletePartTypeByPaId(paId); + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } + + /** + * 获取配件类型树 + * @param dto + * @return + */ + @Override + public AjaxResult getPartTree(PartType dto) { + List groupList = new ArrayList<>(); + List list = new ArrayList<>(); + try { + list = partTypeMapper.getPartTree(dto); + if (CollectionUtils.isNotEmpty(list)) { + // 创建树形结构(数据集合作为参数) + TreeBuild treeBuild = new TreeBuild(list); + // 原查询结果转换树形结构 + groupList = treeBuild.buildTree(); + } + } catch (Exception e) { + log.error("配件所属上级树-查询失败", e); + } + return AjaxResult.success(groupList); + } + + /** + * 获取配件类型列表 + * @param partType + * @return + */ + @Override + public List getTypeList(PartType partType) { + return partTypeMapper.getTypeList(partType); + } + + } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/PartTypeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/PartTypeMapper.xml index b04b4e40..171bed0c 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/PartTypeMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/PartTypeMapper.xml @@ -26,28 +26,38 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select pa_id, pa_name, parent_id, status, storage_num, unit_id, buy_price, level, warn_num, del_flag, create_by, update_by, create_time, update_time, remark, company_id, year from ma_part_type - - - + + + + + + + insert into ma_part_type @@ -112,11 +122,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from ma_part_type where pa_id = #{paId} + update ma_part_type set del_flag = '2' where pa_id = #{paId} - delete from ma_part_type where pa_id in + update ma_part_type set del_flag = '2' where pa_id in #{paId} From 20db0026a717b13a8952e7101aa8d042a83cb2d6 Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 16 Oct 2024 15:59:24 +0800 Subject: [PATCH 16/28] =?UTF-8?q?=E5=90=88=E5=B9=B6=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/common/biz/domain/TreeSelect.java | 56 +++++++++++++++++++ .../BmAssetAttributesController.java | 4 -- .../ma/controller/TypeController.java | 1 + .../material/ma/service/ITypeService.java | 1 + .../ma/service/impl/TypeServiceImpl.java | 1 + .../material/warehouse/domain/WhHouseSet.java | 1 + .../src/main/resources/bootstrap.yml | 2 +- 7 files changed, 61 insertions(+), 5 deletions(-) create mode 100644 bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeSelect.java diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeSelect.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeSelect.java new file mode 100644 index 00000000..30a74855 --- /dev/null +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/TreeSelect.java @@ -0,0 +1,56 @@ +package com.bonus.common.biz.domain; + +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * TreeSelect树结构实体类 + * @author syruan + */ +@Data +public class TreeSelect implements Serializable { + + private static final long serialVersionUID = 469203039368157600L; + + /** 节点ID */ + private Long id; + + /** 节点名称 */ + private String label; + + /** 节点级别 */ + private Integer level; + + /** 父节点id */ + private Long parentId; + + /** 公司id */ + private String companyId; + + /** 子节点集合 */ + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List children; + + public TreeSelect() { + + } + + public TreeSelect(Long id, String label, Integer level, Long parentId, List children) { + this.id = id; + this.label = label; + this.level = level; + this.parentId = parentId; + this.children = children; + } + + public TreeSelect(Long id, String label, Integer level, Long parentId) { + this.id = id; + this.label = label; + this.level = level; + this.parentId = parentId; + } + +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmAssetAttributesController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmAssetAttributesController.java index 777b6cfc..71a11b74 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmAssetAttributesController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmAssetAttributesController.java @@ -8,13 +8,9 @@ import com.bonus.common.log.annotation.SysLog; import com.bonus.common.log.enums.OperaType; import com.bonus.common.security.annotation.RequiresPermissions; import com.bonus.material.basic.domain.BmAssetAttributes; -import com.bonus.material.basic.domain.BmUnitType; import com.bonus.material.basic.service.BmAssetAttributesService; import com.bonus.material.common.annotation.PreventRepeatSubmit; import io.swagger.annotations.ApiOperation; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageRequest; -import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java index ce43fdf3..9589a5da 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java @@ -6,6 +6,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotNull; +import com.bonus.common.biz.domain.TreeSelect; import com.bonus.common.log.enums.OperaType; import com.bonus.material.common.annotation.PreventRepeatSubmit; import com.bonus.material.ma.vo.MaTypeListVo; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeService.java index 64b7f956..6ea729cc 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeService.java @@ -2,6 +2,7 @@ package com.bonus.material.ma.service; import java.util.List; +import com.bonus.common.biz.domain.TreeSelect; import com.bonus.material.ma.domain.Type; import com.bonus.material.ma.vo.MaTypeListVo; import com.bonus.material.ma.vo.MaTypeSelectVo; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java index 5e9ee441..2057fa68 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.Objects; import java.util.stream.Collectors; +import com.bonus.common.biz.domain.TreeSelect; import com.bonus.common.biz.enums.DataCodeEnum; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.StringUtils; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/warehouse/domain/WhHouseSet.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/warehouse/domain/WhHouseSet.java index 13ecd174..8cef9dd3 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/warehouse/domain/WhHouseSet.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/warehouse/domain/WhHouseSet.java @@ -1,5 +1,6 @@ package com.bonus.material.warehouse.domain; +import com.bonus.common.biz.domain.TreeSelect; import com.bonus.common.core.annotation.Excel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/bonus-modules/bonus-material/src/main/resources/bootstrap.yml b/bonus-modules/bonus-material/src/main/resources/bootstrap.yml index 299f0982..efa731de 100644 --- a/bonus-modules/bonus-material/src/main/resources/bootstrap.yml +++ b/bonus-modules/bonus-material/src/main/resources/bootstrap.yml @@ -1,5 +1,5 @@ # Spring -spring: +spring: application: # 应用名称 name: bonus-material From 7376ca74218fbfddc93d50830ea30c27caac6d49 Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 16 Oct 2024 17:56:01 +0800 Subject: [PATCH 17/28] =?UTF-8?q?=E9=85=8D=E4=BB=B6=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/common/biz/domain/MaType.java | 107 ------------------ .../bonus/common/biz/domain/SysDeptTree.java | 89 --------------- .../controller/BmUnitPersonController.java | 38 ++++++- .../basic/mapper/BmUnitPersonMapper.java | 1 - .../ma/controller/PartTypeController.java | 16 +-- .../bonus/material/ma/domain/PartType.java | 5 +- .../material/ma/mapper/PartTypeMapper.java | 37 ++++-- .../material/ma/service/IPartTypeService.java | 20 +--- .../ma/service/impl/PartTypeServiceImpl.java | 75 ++++++++---- .../mapper/material/ma/PartTypeMapper.xml | 72 ++++++++---- 10 files changed, 177 insertions(+), 283 deletions(-) delete mode 100644 bonus-common-biz/src/main/java/com/bonus/common/biz/domain/MaType.java delete mode 100644 bonus-common-biz/src/main/java/com/bonus/common/biz/domain/SysDeptTree.java diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/MaType.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/MaType.java deleted file mode 100644 index 86612033..00000000 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/MaType.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.bonus.common.biz.domain; - -import com.bonus.common.core.web.domain.BaseEntity; -import com.fasterxml.jackson.annotation.JsonInclude; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class MaType extends BaseEntity implements Serializable { - private static final long serialVersionUID = 135108051525707131L; - - private Integer isExport; - /** - * id - */ - private String id; - /** - * 上级id - */ - private String parentId; - /** - * 名称 - */ - private String name; - - /** - * 父级名称 - */ - private String parentName; - - /** - * 编码 - */ - private String code; - - /** - * 层级 - */ - private String level; - /** - * 库存 - */ - private Integer storageNum; - /** - * 计量单位id - */ - private String unitId; - - /** - * 计量单位名称 - */ - private String unitName; - /** - * 采购单价 - */ - private Integer buyPrice; - /** - * 租赁单价 - */ - private Integer leasePrice; - /** - * 管理类型(0是编码 1数量) - */ - private String manageType; - /** - * 是否启用 - */ - private String isActive; - /** - * 额定载荷 - */ - private String rateLoad; - /** - * 试验载荷 - */ - private String testLoad; - /** - * 持荷时间 (分钟) - */ - private String holdTime; - /** - * 文件路径 - */ - private String fileUrl; - /** - * 数据所属 - */ - private String companyId; - - /** - * 是否试验(0 否 1是) - */ - private String isTest; - - /** 子节点 */ - @JsonInclude(JsonInclude.Include.NON_EMPTY) - private List children = new ArrayList<>(); - -} - diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/SysDeptTree.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/SysDeptTree.java deleted file mode 100644 index 2482c4e1..00000000 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/SysDeptTree.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.bonus.common.biz.domain; - -import com.fasterxml.jackson.annotation.JsonInclude; -import lombok.Data; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -/** - * 部门表(SysDept)实体类 - * - * @author makejava - * @since 2024-08-15 13:44:56 - */ -@Data -public class SysDeptTree implements Serializable { - - private static final long serialVersionUID = 991828482042492876L; - - /** - * 二级树标识 1代表查询二级树 - */ - private Integer isTree; - - /** - * 更新时间 - */ - private Date updateTime; - /** - * 更新者 - */ - private String updateBy; - /** - * 创建时间 - */ - private Date createTime; - /** - * 创建者 - */ - private String createBy; - /** - * 删除标志(0代表存在 2代表删除) - */ - private String delFlag; - /** - * 部门状态(0正常 1停用) - */ - private String status; - /** - * 邮箱 - */ - private String email; - /** - * 联系电话 - */ - private String phone; - /** - * 负责人 - */ - private String leader; - /** - * 显示顺序 - */ - private Integer orderNum; - /** - * 部门名称 - */ - private String deptName; - /** - * 祖级列表 - */ - private String ancestors; - /** - * 父部门id - */ - private String parentId; - /** - * 部门id - */ - private String deptId; - - /** 子节点 */ - @JsonInclude(JsonInclude.Include.NON_EMPTY) - private List children = new ArrayList<>(); - -} - diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java index 774f3b97..1e02b47c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java @@ -1,8 +1,12 @@ package com.bonus.material.basic.controller; +import com.alibaba.nacos.common.utils.CollectionUtils; +import com.bonus.common.biz.domain.TreeSelect; import com.bonus.common.log.enums.OperaType; import com.bonus.material.common.annotation.PreventRepeatSubmit; +import com.bonus.system.api.RemoteUserService; +import com.bonus.system.api.domain.SysDept; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -20,6 +24,10 @@ import com.bonus.material.basic.service.IBmUnitPersonService; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + /** * 往来单位管理Controller * @@ -34,13 +42,35 @@ public class BmUnitPersonController extends BaseController @Autowired private IBmUnitPersonService bmUnitPersonService; + @Resource + private RemoteUserService remoteUserService; + /** - * 查询部门用户下拉树 + * 查询部门下拉树 */ - @ApiOperation(value = "查询部门用户下拉树") + @ApiOperation(value = "查询部门下拉树") @GetMapping("/getDeptUserTree") - public AjaxResult selectDeptTree(BmUnitPerson unitPerson) { - return bmUnitPersonService.selectDeptTree(unitPerson); + public AjaxResult selectDeptTree(SysDept dept) { + AjaxResult ajaxResult = remoteUserService.deptTree(dept, null); + List data = (List) ajaxResult.get("data"); + if (CollectionUtils.isEmpty(data)) { + return AjaxResult.success(); + } + List branches = getBranches(data); + return AjaxResult.success(branches); + } + + private List getBranches(List data) { + List branches = new ArrayList<>(); + for (TreeSelect company : data) { + if (company.getChildren() != null) { + for (TreeSelect child : company.getChildren()) { + // 添加分公司 + branches.add(child); + } + } + } + return branches; } /** diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitPersonMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitPersonMapper.java index a43511b0..c6fbb717 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitPersonMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitPersonMapper.java @@ -2,7 +2,6 @@ package com.bonus.material.basic.mapper; import java.util.List; -import com.bonus.common.biz.domain.SysDeptTree; import com.bonus.common.biz.domain.TreeNode; import com.bonus.material.basic.domain.BmUnitPerson; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/PartTypeController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/PartTypeController.java index 5f55be29..593bdc44 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/PartTypeController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/PartTypeController.java @@ -76,10 +76,10 @@ public class PartTypeController extends BaseController */ @ApiOperation(value = "获取配件类型管理详细信息") @RequiresPermissions("ma:type:query") - @GetMapping(value = "/{paId}") - public AjaxResult getInfo(@PathVariable("paId") Long paId) + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { - return success(partTypeService.selectPartTypeByPaId(paId)); + return AjaxResult.success(partTypeService.selectPartTypeByPaId(id)); } /** @@ -92,7 +92,7 @@ public class PartTypeController extends BaseController @PostMapping public AjaxResult add(@RequestBody PartType partType) { - return toAjax(partTypeService.insertPartType(partType)); + return partTypeService.insertPartType(partType); } /** @@ -105,7 +105,7 @@ public class PartTypeController extends BaseController @PutMapping public AjaxResult edit(@RequestBody PartType partType) { - return toAjax(partTypeService.updatePartType(partType)); + return partTypeService.updatePartType(partType); } /** @@ -115,9 +115,9 @@ public class PartTypeController extends BaseController @PreventRepeatSubmit @RequiresPermissions("ma:type:remove") @SysLog(title = "配件类型管理", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除配件类型管理") - @DeleteMapping("/{paIds}") - public AjaxResult remove(@PathVariable Long paId) + @DeleteMapping("/{id}") + public AjaxResult remove(@PathVariable Long id) { - return partTypeService.deletePartTypeByPaId(paId); + return partTypeService.deletePartTypeByPaId(id); } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/PartType.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/PartType.java index 0fe4788b..99d763bc 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/PartType.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/PartType.java @@ -22,7 +22,7 @@ public class PartType extends BaseEntity private Integer isExport; /** 类型ID */ - private Long paId; + private Long id; /** 类型名称 */ @Excel(name = "名称") @@ -78,4 +78,7 @@ public class PartType extends BaseEntity @Excel(name = "备注") private String remark; + @ApiModelProperty(value = "关键字") + private String keyWord; + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/PartTypeMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/PartTypeMapper.java index 726bcb5a..d6c03b93 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/PartTypeMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/PartTypeMapper.java @@ -16,10 +16,10 @@ public interface PartTypeMapper /** * 查询配件类型管理 * - * @param paId 配件类型管理主键 + * @param id 配件类型管理主键 * @return 配件类型管理 */ - public PartType selectPartTypeByPaId(Long paId); + public PartType selectPartTypeByPaId(Long id); /** * 查询配件类型管理列表 @@ -48,18 +48,10 @@ public interface PartTypeMapper /** * 删除配件类型管理 * - * @param paId 配件类型管理主键 + * @param id 配件类型管理主键 * @return 结果 */ - public int deletePartTypeByPaId(Long paId); - - /** - * 批量删除配件类型管理 - * - * @param paIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deletePartTypeByPaIds(Long paIds); + public int deletePartTypeByPaId(Long id); /** * 获取配件类型树 @@ -74,4 +66,25 @@ public interface PartTypeMapper * @return */ List getTypeList(PartType partType); + + /** + * 根据名称查询 + * @param partType + * @return + */ + PartType selectByName(PartType partType); + + /** + * 根据id查询 + * @param id + * @return + */ + int selectById(Long id); + + /** + * 查询配件是否在用 + * @param id + * @return + */ + int selectPart(Long id); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IPartTypeService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IPartTypeService.java index a4882ec3..8255fc1a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IPartTypeService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IPartTypeService.java @@ -16,10 +16,10 @@ public interface IPartTypeService /** * 查询配件类型管理 * - * @param paId 配件类型管理主键 + * @param id 配件类型管理主键 * @return 配件类型管理 */ - public PartType selectPartTypeByPaId(Long paId); + public PartType selectPartTypeByPaId(Long id); /** * 查询配件类型管理列表 @@ -35,7 +35,7 @@ public interface IPartTypeService * @param partType 配件类型管理 * @return 结果 */ - public int insertPartType(PartType partType); + public AjaxResult insertPartType(PartType partType); /** * 修改配件类型管理 @@ -43,23 +43,15 @@ public interface IPartTypeService * @param partType 配件类型管理 * @return 结果 */ - public int updatePartType(PartType partType); - - /** - * 批量删除配件类型管理 - * - * @param paIds 需要删除的配件类型管理主键集合 - * @return 结果 - */ - public int deletePartTypeByPaIds(Long paIds); + public AjaxResult updatePartType(PartType partType); /** * 删除配件类型管理信息 * - * @param paId 配件类型管理主键 + * @param id 配件类型管理主键 * @return 结果 */ - public AjaxResult deletePartTypeByPaId(Long paId); + public AjaxResult deletePartTypeByPaId(Long id); /** * 获取配件类型树 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/PartTypeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/PartTypeServiceImpl.java index ae3195d9..ac12c538 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/PartTypeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/PartTypeServiceImpl.java @@ -2,12 +2,14 @@ package com.bonus.material.ma.service.impl; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import com.bonus.common.biz.domain.TreeBuild; import com.bonus.common.biz.domain.TreeNode; import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.security.utils.SecurityUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -32,13 +34,13 @@ public class PartTypeServiceImpl implements IPartTypeService /** * 查询配件类型管理 * - * @param paId 配件类型管理主键 + * @param id 配件类型管理主键 * @return 配件类型管理 */ @Override - public PartType selectPartTypeByPaId(Long paId) + public PartType selectPartTypeByPaId(Long id) { - return partTypeMapper.selectPartTypeByPaId(paId); + return partTypeMapper.selectPartTypeByPaId(id); } /** @@ -73,10 +75,25 @@ public class PartTypeServiceImpl implements IPartTypeService * @return 结果 */ @Override - public int insertPartType(PartType partType) + public AjaxResult insertPartType(PartType partType) { + if (partType == null || partType.getPaName() == null) { + return AjaxResult.error(HttpCodeEnum.TO_PARAM_NULL.getCode(), HttpCodeEnum.TO_PARAM_NULL.getMsg()); + } + //新增判重,二级和三级不同类型下面可以重复,一级不能重复 + PartType type = partTypeMapper.selectByName(partType); + if (type != null) { + return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), HttpCodeEnum.NAME_DUPLICATE.getMsg()); + } partType.setCreateTime(DateUtils.getNowDate()); - return partTypeMapper.insertPartType(partType); + partType.setCreateBy(SecurityUtils.getUserId().toString()); + partType.setParentId(partType.getId() != null ? partType.getId() : 0L); + partType.setLevel(partType.getLevel() != null ? String.valueOf(Integer.valueOf(partType.getLevel()) + 1) : "1"); + int result = partTypeMapper.insertPartType(partType); + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } /** @@ -86,34 +103,47 @@ public class PartTypeServiceImpl implements IPartTypeService * @return 结果 */ @Override - public int updatePartType(PartType partType) + public AjaxResult updatePartType(PartType partType) { + if (partType == null || partType.getPaName() == null || partType.getParentId() == null || partType.getId() == null) { + return AjaxResult.error(HttpCodeEnum.TO_PARAM_NULL.getCode(), HttpCodeEnum.TO_PARAM_NULL.getMsg()); + } + //修改判重,二级和三级不同类型下面可以重复,一级不能重复 + PartType type = partTypeMapper.selectByName(partType); + if (type != null) { + if (!Objects.equals(type.getId(), partType.getId())) { + return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), HttpCodeEnum.NAME_DUPLICATE.getMsg()); + } + } partType.setUpdateTime(DateUtils.getNowDate()); - return partTypeMapper.updatePartType(partType); - } - - /** - * 批量删除配件类型管理 - * - * @param paId 需要删除的配件类型管理主键 - * @return 结果 - */ - @Override - public int deletePartTypeByPaIds(Long paId) - { - return partTypeMapper.deletePartTypeByPaIds(paId); + partType.setUpdateBy(SecurityUtils.getUserId().toString()); + int result = partTypeMapper.updatePartType(partType); + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } /** * 删除配件类型管理信息 * - * @param paId 配件类型管理主键 + * @param id 配件类型管理主键 * @return 结果 */ @Override - public AjaxResult deletePartTypeByPaId(Long paId) + public AjaxResult deletePartTypeByPaId(Long id) { - int result = partTypeMapper.deletePartTypeByPaId(paId); + //判断配件类型下是否有下级配件 + int count = partTypeMapper.selectById(id); + if (count > 0) { + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "该类型下有下级配件,不允许删除"); + } + //判断配件是否在用,在用则不能删除 + int i = partTypeMapper.selectPart(id); + if (i > 0) { + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "该配件类型处于在用状态,不允许删除"); + } + int result = partTypeMapper.deletePartTypeByPaId(id); if (result > 0) { return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); } @@ -153,5 +183,4 @@ public class PartTypeServiceImpl implements IPartTypeService return partTypeMapper.getTypeList(partType); } - } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/PartTypeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/PartTypeMapper.xml index 171bed0c..934c1917 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/PartTypeMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/PartTypeMapper.xml @@ -10,6 +10,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -24,12 +25,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select pa_id, pa_name, parent_id, status, storage_num, unit_id, buy_price, level, warn_num, del_flag, create_by, update_by, create_time, update_time, remark, company_id, year from ma_part_type + select pa_id, pa_name, parent_id, status, storage_num, unit_id, unit_name, buy_price, level, warn_num, del_flag, create_by, update_by, create_time, update_time, remark, company_id, year from ma_part_type select pa_id as id, pa_name as label, parent_id as parentId, storage_num as storageNum, unit_name as unitName, buy_price as buyPrice, level as level, remark as remark from ma_part_type - where - - AND pa_name like concat('%', #{paName}, '%') - + where del_flag = '0' + + and ( + pa_name like concat('%', #{keyWord}, '%') + or storage_num like concat('%', #{keyWord}, '%') + or unit_name = #{keyWord}, + or buy_price like concat('%', #{keyWord}, '%') + ) + + + + + + + @@ -66,10 +96,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" status, storage_num, unit_id, + unit_name, buy_price, level, warn_num, - del_flag, + del_flag, create_by, update_by, create_time, @@ -84,10 +115,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{status}, #{storageNum}, #{unitId}, + #{unitName}, #{buyPrice}, #{level}, #{warnNum}, - #{delFlag}, + 0, #{createBy}, #{updateBy}, #{createTime}, @@ -106,29 +138,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" status = #{status}, storage_num = #{storageNum}, unit_id = #{unitId}, + unit_name = #{unitName}, buy_price = #{buyPrice}, level = #{level}, warn_num = #{warnNum}, - del_flag = #{delFlag}, - create_by = #{createBy}, update_by = #{updateBy}, - create_time = #{createTime}, update_time = #{updateTime}, remark = #{remark}, company_id = #{companyId}, year = #{year}, - where pa_id = #{paId} + where pa_id = #{id} - update ma_part_type set del_flag = '2' where pa_id = #{paId} + update ma_part_type set del_flag = '2' where pa_id = #{id} - - update ma_part_type set del_flag = '2' where pa_id in - - #{paId} - - \ No newline at end of file From d7046c075e0ea5c4bcdbf87c4d4e6da62d40ad04 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 17 Oct 2024 16:05:21 +0800 Subject: [PATCH 18/28] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/controller/BmUnitController.java | 42 +++++ .../ma/controller/MachineController.java | 17 +- .../com/bonus/material/ma/domain/Machine.java | 5 + .../material/ma/mapper/MachineMapper.java | 5 +- .../material/ma/service/IMachineService.java | 11 +- .../ma/service/impl/MachineServiceImpl.java | 29 +++- .../com/bonus/material/ma/vo/MachineVo.java | 27 ++++ .../mapper/material/basic/BmUnitMapper.xml | 44 +++-- .../mapper/material/ma/MachineMapper.xml | 153 ++++++++++++++---- 9 files changed, 253 insertions(+), 80 deletions(-) create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/vo/MachineVo.java diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java index eeec4850..48044914 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java @@ -1,9 +1,20 @@ package com.bonus.material.basic.controller; +import java.util.ArrayList; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; + +import com.bonus.common.core.constant.SecurityConstants; import com.bonus.common.log.enums.OperaType; import com.bonus.material.common.annotation.PreventRepeatSubmit; +import com.bonus.system.api.RemoteDictDataService; +import com.bonus.system.api.domain.SysDictData; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -38,6 +49,9 @@ public class BmUnitController extends BaseController @Autowired private IBmUnitService bmUnitService; + @Resource + private RemoteDictDataService remoteDictDataService; + /** * 查询往来单位管理列表 */ @@ -48,6 +62,7 @@ public class BmUnitController extends BaseController { startPage(); List list = bmUnitService.selectBmUnitList(bmUnit); + extracted(list); return getDataTable(list); } @@ -62,10 +77,37 @@ public class BmUnitController extends BaseController public void export(HttpServletResponse response, BmUnit bmUnit) { List list = bmUnitService.selectBmUnitList(bmUnit); + extracted(list); ExcelUtil util = new ExcelUtil(BmUnit.class); util.exportExcel(response, list, "往来单位管理数据"); } + /** + * 将字典数据转换为 BmUnit 对象 + * @param list + */ + private void extracted(List list) { + AjaxResult ajaxResult = remoteDictDataService.dictType("bm_unit_type", SecurityConstants.INNER); + // 假设 ajaxResult.get("data") 返回的是 List + List rawData = (List) ajaxResult.get("data"); + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + // 将 rawData 转换为 SysDictData 列表 + List dataList = rawData.stream() + .map(rawDatum -> objectMapper.convertValue(rawDatum, SysDictData.class)) + .collect(Collectors.toList()); + // 使用 Map 存储字典数据以提高查找速度 + Map dictMap = dataList.stream() + .collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel)); + // 更新 BmUnit 列表 + list.forEach(unit -> { + String typeName = dictMap.get(unit.getTypeId()); + if (typeName != null) { + unit.setTypeName(typeName); + } + }); + } + /** * 获取往来单位管理详细信息 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java index 652a4acf..f4381182 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java @@ -4,6 +4,7 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import com.bonus.common.log.enums.OperaType; import com.bonus.material.common.annotation.PreventRepeatSubmit; +import com.bonus.material.ma.vo.MachineVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -47,7 +48,7 @@ public class MachineController extends BaseController { public TableDataInfo list(Machine machine) { startPage(); - List list = machineService.selectMachineList(machine); + List list = machineService.selectMachineList(machine); return getDataTable(list); } @@ -61,8 +62,8 @@ public class MachineController extends BaseController { @PostMapping("/export") public void export(HttpServletResponse response, Machine machine) { - List list = machineService.selectMachineList(machine); - ExcelUtil util = new ExcelUtil(Machine.class); + List list = machineService.selectMachineList(machine); + ExcelUtil util = new ExcelUtil(MachineVo.class); util.exportExcel(response, list, "机具设备管理数据"); } @@ -74,7 +75,7 @@ public class MachineController extends BaseController { @GetMapping(value = "/{maId}") public AjaxResult getInfo(@PathVariable("maId") Long maId) { - return success(machineService.selectMachineByMaId(maId)); + return AjaxResult.success(machineService.selectMachineByMaId(maId)); } /** @@ -100,7 +101,7 @@ public class MachineController extends BaseController { @PutMapping public AjaxResult edit(@RequestBody Machine machine) { - return toAjax(machineService.updateMachine(machine)); + return machineService.updateMachine(machine); } /** @@ -110,9 +111,9 @@ public class MachineController extends BaseController { @PreventRepeatSubmit @RequiresPermissions("ma:machine:remove") @SysLog(title = "机具设备管理", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除机具设备管理") - @DeleteMapping("/{maIds}") - public AjaxResult remove(@PathVariable Long[] maIds) + @DeleteMapping("/{maId}") + public AjaxResult remove(@PathVariable Long maId) { - return toAjax(machineService.deleteMachineByMaIds(maIds)); + return machineService.deleteMachineByMaId(maId); } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java index e61041e7..464f0f75 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java @@ -148,5 +148,10 @@ public class Machine extends BaseEntity @ApiModelProperty(value = "联系电话") private String phone; + @ApiModelProperty(value = "关键字") + private String keyWord; + + @ApiModelProperty(value = "是否是固定资产 0 是,1 否") + private Integer isAssets; } 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 96ccd8a4..2530292b 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 @@ -2,6 +2,7 @@ package com.bonus.material.ma.mapper; import java.util.List; import com.bonus.material.ma.domain.Machine; +import com.bonus.material.ma.vo.MachineVo; /** * 机具设备管理Mapper接口 @@ -17,7 +18,7 @@ public interface MachineMapper * @param maId 机具设备管理主键 * @return 机具设备管理 */ - public Machine selectMachineByMaId(Long maId); + public MachineVo selectMachineByMaId(Long maId); /** * 查询机具设备管理列表 @@ -25,7 +26,7 @@ public interface MachineMapper * @param machine 机具设备管理 * @return 机具设备管理集合 */ - public List selectMachineList(Machine machine); + public List selectMachineList(Machine machine); /** * 新增机具设备管理 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java index 041e1648..5860d637 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java @@ -1,7 +1,10 @@ package com.bonus.material.ma.service; import java.util.List; + +import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.ma.domain.Machine; +import com.bonus.material.ma.vo.MachineVo; /** * 机具设备管理Service接口 @@ -17,7 +20,7 @@ public interface IMachineService * @param maId 机具设备管理主键 * @return 机具设备管理 */ - public Machine selectMachineByMaId(Long maId); + public MachineVo selectMachineByMaId(Long maId); /** * 查询机具设备管理列表 @@ -25,7 +28,7 @@ public interface IMachineService * @param machine 机具设备管理 * @return 机具设备管理集合 */ - public List selectMachineList(Machine machine); + public List selectMachineList(Machine machine); /** * 新增机具设备管理 @@ -41,7 +44,7 @@ public interface IMachineService * @param machine 机具设备管理 * @return 结果 */ - public int updateMachine(Machine machine); + public AjaxResult updateMachine(Machine machine); /** * 批量删除机具设备管理 @@ -57,5 +60,5 @@ public interface IMachineService * @param maId 机具设备管理主键 * @return 结果 */ - public int deleteMachineByMaId(Long maId); + public AjaxResult deleteMachineByMaId(Long maId); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java index b77bc734..c3622d8d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java @@ -1,13 +1,18 @@ package com.bonus.material.ma.service.impl; import java.util.List; + +import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.core.utils.DateUtils; -import org.springframework.beans.factory.annotation.Autowired; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.material.ma.vo.MachineVo; import org.springframework.stereotype.Service; import com.bonus.material.ma.mapper.MachineMapper; import com.bonus.material.ma.domain.Machine; import com.bonus.material.ma.service.IMachineService; +import javax.annotation.Resource; + /** * 机具设备管理Service业务层处理 * @@ -17,7 +22,7 @@ import com.bonus.material.ma.service.IMachineService; @Service public class MachineServiceImpl implements IMachineService { - @Autowired + @Resource private MachineMapper machineMapper; /** @@ -27,7 +32,7 @@ public class MachineServiceImpl implements IMachineService * @return 机具设备管理 */ @Override - public Machine selectMachineByMaId(Long maId) + public MachineVo selectMachineByMaId(Long maId) { return machineMapper.selectMachineByMaId(maId); } @@ -39,7 +44,7 @@ public class MachineServiceImpl implements IMachineService * @return 机具设备管理 */ @Override - public List selectMachineList(Machine machine) + public List selectMachineList(Machine machine) { return machineMapper.selectMachineList(machine); } @@ -64,10 +69,14 @@ public class MachineServiceImpl implements IMachineService * @return 结果 */ @Override - public int updateMachine(Machine machine) + public AjaxResult updateMachine(Machine machine) { machine.setUpdateTime(DateUtils.getNowDate()); - return machineMapper.updateMachine(machine); + int result = machineMapper.updateMachine(machine); + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } /** @@ -89,8 +98,12 @@ public class MachineServiceImpl implements IMachineService * @return 结果 */ @Override - public int deleteMachineByMaId(Long maId) + public AjaxResult deleteMachineByMaId(Long maId) { - return machineMapper.deleteMachineByMaId(maId); + int result = machineMapper.deleteMachineByMaId(maId); + if (result > 0) { + return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/vo/MachineVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/vo/MachineVo.java new file mode 100644 index 00000000..6374c5d7 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/vo/MachineVo.java @@ -0,0 +1,27 @@ +package com.bonus.material.ma.vo; + +import com.bonus.material.ma.domain.Machine; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 设备返回vo + * @Author ma_sh + * @create 2024/10/17 13:25 + */ +@Data +public class MachineVo extends Machine { + + @ApiModelProperty("物品类型-一级") + private String itemType; + + @ApiModelProperty("物品种类-二级") + private String materialType; + + @ApiModelProperty("设备类型-三级") + private String materialName; + + @ApiModelProperty("规格型号-四级") + private String materialModel; + +} diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitMapper.xml index f997f12b..a388738e 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitMapper.xml @@ -47,35 +47,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 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 c241a5d4..2adc6953 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 @@ -37,41 +37,127 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select ma_id, type_id, ma_code, pre_code, ma_status, qr_code, buy_price, ma_vender, out_fac_time, out_fac_code, assets_code, check_man, this_check_time, next_check_time, gps_code, rfid_code, erp_code, transfer_code, in_out_num, buy_task, own_house, company_id, create_time, update_time, inspect_man, inspect_status, phone from ma_machine - + SELECT + ma.ma_id as maId, + ma.type_id as typeId, + mt4.type_name as itemType, + mt3.type_name as materialType, + mt2.type_name as materialName, + mt.type_name as materialModel, + ma.ma_code as maCode, + ma.pre_code as preCode, + ma.ma_status as maStatus, + ma.qr_code as qrCode, + ma.buy_price as buyPrice, + ma.ma_vender as maVender, + ma.out_fac_time as outFacTime, + ma.out_fac_code as outFacCode, + ma.assets_code as assetsCode, + ma.check_man as checkMan, + ma.this_check_time as thisCheckTime, + ma.next_check_time as nextCheckTime, + ma.gps_code as gpsCode, + ma.rfid_code as rfidCode, + ma.erp_code as erpCode, + ma.transfer_code as transferCode, + ma.in_out_num as inOutNum, + ma.buy_task as buyTask, + ma.own_house as ownHouse, + ma.company_id as companyId, + ma.create_time as createTime, + ma.update_time as updateTime, + ma.inspect_man as inspectMan, + ma.inspect_status as inspectStatus, + ma.phone as phone + FROM + ma_machine ma + LEFT JOIN ma_type mt ON ma.type_id = mt.type_id + and mt.`level` = '4' and mt.del_flag = '0' + LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id + and mt2.`level` = '3' and mt2.del_flag = '0' + LEFT JOIN ma_type mt3 ON mt2.parent_id = mt3.type_id + and mt3.`level` = '2' and mt3.del_flag = '0' + LEFT JOIN ma_type mt4 ON mt3.parent_id = mt4.type_id + and mt4.`level` = '1' and mt4.del_flag = '0' + where + 1 = 1 + + and ( + ma.ma_code like concat('%', #{keyWord}, '%') + or ma.assets_code like concat('%', #{keyWord}, '%') + or ma.pre_code like concat('%', #{keyWord}, '%') + or ma.buy_task like concat('%', #{keyWord}, '%') + or ma.own_house like concat('%', #{keyWord}, '%') + ) + + + and mt3.type_name like concat('%', #{materialType}, '%') + + + and mt2.type_name like concat('%', #{materialName}, '%') + + + and mt.type_name like concat('%', #{materialModel}, '%') + + + + AND ma.assets_code IS NOT NULL + AND ma.assets_code != '' + + + AND (ma.assets_code IS NULL OR ma.assets_code = '') + + + order by ma.create_time desc - - + SELECT + ma.ma_id as maId, + ma.type_id as typeId, + mt4.type_name as itemType, + mt3.type_name as materialType, + mt2.type_name as materialName, + mt.type_name as materialModel, + ma.ma_code as maCode, + ma.pre_code as preCode, + ma.ma_status as maStatus, + ma.qr_code as qrCode, + ma.buy_price as buyPrice, + ma.ma_vender as maVender, + ma.out_fac_time as outFacTime, + ma.out_fac_code as outFacCode, + ma.assets_code as assetsCode, + ma.check_man as checkMan, + ma.this_check_time as thisCheckTime, + ma.next_check_time as nextCheckTime, + ma.gps_code as gpsCode, + ma.rfid_code as rfidCode, + ma.erp_code as erpCode, + ma.transfer_code as transferCode, + ma.in_out_num as inOutNum, + ma.buy_task as buyTask, + ma.own_house as ownHouse, + ma.company_id as companyId, + ma.create_time as createTime, + ma.update_time as updateTime, + ma.inspect_man as inspectMan, + ma.inspect_status as inspectStatus, + ma.phone as phone + FROM + ma_machine ma + LEFT JOIN ma_type mt ON ma.type_id = mt.type_id + and mt.`level` = '4' and mt.del_flag = '0' + LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id + and mt2.`level` = '3' and mt2.del_flag = '0' + LEFT JOIN ma_type mt3 ON mt2.parent_id = mt3.type_id + and mt3.`level` = '2' and mt3.del_flag = '0' + LEFT JOIN ma_type mt4 ON mt3.parent_id = mt4.type_id + and mt4.`level` = '1' and mt4.del_flag = '0' + where ma.ma_id = #{maId} - + insert into ma_machine @@ -156,7 +242,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" buy_task = #{buyTask}, own_house = #{ownHouse}, company_id = #{companyId}, - create_time = #{createTime}, update_time = #{updateTime}, inspect_man = #{inspectMan}, inspect_status = #{inspectStatus}, From a7ce14cd5aace1304d2768f9eafd501bf9e12ba0 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 17 Oct 2024 16:23:06 +0800 Subject: [PATCH 19/28] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/material/ma/service/impl/PartTypeServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/PartTypeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/PartTypeServiceImpl.java index ac12c538..020d6d6c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/PartTypeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/PartTypeServiceImpl.java @@ -87,7 +87,7 @@ public class PartTypeServiceImpl implements IPartTypeService } partType.setCreateTime(DateUtils.getNowDate()); partType.setCreateBy(SecurityUtils.getUserId().toString()); - partType.setParentId(partType.getId() != null ? partType.getId() : 0L); + partType.setParentId(partType.getId() != 0 ? partType.getId() : 0L); partType.setLevel(partType.getLevel() != null ? String.valueOf(Integer.valueOf(partType.getLevel()) + 1) : "1"); int result = partTypeMapper.insertPartType(partType); if (result > 0) { From e048b6eb8d1cfdb8706e0353eb38c1ca51ee375f Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 17 Oct 2024 16:32:33 +0800 Subject: [PATCH 20/28] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/material/ma/PartTypeMapper.xml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/PartTypeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/PartTypeMapper.xml index 934c1917..360ac9c2 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/PartTypeMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/PartTypeMapper.xml @@ -21,11 +21,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - select pa_id, pa_name, parent_id, status, storage_num, unit_id, unit_name, buy_price, level, warn_num, del_flag, create_by, update_by, create_time, update_time, remark, company_id, year from ma_part_type + select pa_id, pa_name, parent_id, status, storage_num, unit_id, unit_name, buy_price, level, warn_num, del_flag, create_by, update_by, create_time, update_time, remark, company_id from ma_part_type - + insert into ma_part_type pa_name, From de226bf8da8ee4a280174e629a2b85ea1b0eab69 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 17 Oct 2024 17:37:59 +0800 Subject: [PATCH 23/28] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/bonus/material/ma/domain/Machine.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java index 464f0f75..78cfd22b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java @@ -154,4 +154,13 @@ public class Machine extends BaseEntity @ApiModelProperty(value = "是否是固定资产 0 是,1 否") private Integer isAssets; + @ApiModelProperty("物品种类-二级") + private String materialType; + + @ApiModelProperty("设备类型-三级") + private String materialName; + + @ApiModelProperty("规格型号-四级") + private String materialModel; + } From e6117efa284628de5ce2ecccd7fc6abe5b53dfbf Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 17 Oct 2024 17:51:42 +0800 Subject: [PATCH 24/28] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ma/controller/MachineController.java | 12 ++++++++++++ .../bonus/material/ma/mapper/MachineMapper.java | 10 ++++++++++ .../material/ma/service/IMachineService.java | 8 ++++++++ .../ma/service/impl/MachineServiceImpl.java | 12 ++++++++++++ .../mapper/material/ma/MachineMapper.xml | 16 ++++++++++++++++ 5 files changed, 58 insertions(+) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java index f4381182..e69eba1f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java @@ -4,6 +4,7 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import com.bonus.common.log.enums.OperaType; import com.bonus.material.common.annotation.PreventRepeatSubmit; +import com.bonus.material.ma.domain.Type; import com.bonus.material.ma.vo.MachineVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -52,6 +53,17 @@ public class MachineController extends BaseController { return getDataTable(list); } + /** + * 查询机具设备管理列表 + */ + @ApiOperation(value = "查询机具设备管理列表") + @RequiresPermissions("ma:machine:list") + @GetMapping("/list") + public AjaxResult list(Type type) + { + return machineService.selectByTypeList(type); + } + /** * 导出机具设备管理列表 */ 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 2530292b..9daab902 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 @@ -1,7 +1,10 @@ package com.bonus.material.ma.mapper; import java.util.List; + +import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.ma.domain.Machine; +import com.bonus.material.ma.domain.Type; import com.bonus.material.ma.vo.MachineVo; /** @@ -59,4 +62,11 @@ public interface MachineMapper * @return 结果 */ public int deleteMachineByMaIds(Long[] maIds); + + /** + * 查询机具设备管理列表 + * @param type + * @return + */ + List selectByTypeList(Type type); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java index 5860d637..5f031680 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java @@ -4,6 +4,7 @@ import java.util.List; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.ma.domain.Machine; +import com.bonus.material.ma.domain.Type; import com.bonus.material.ma.vo.MachineVo; /** @@ -61,4 +62,11 @@ public interface IMachineService * @return 结果 */ public AjaxResult deleteMachineByMaId(Long maId); + + /** + * 根据类型查询机具设备管理列表 + * @param type + * @return + */ + AjaxResult selectByTypeList(Type type); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java index c3622d8d..df8856be 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java @@ -5,6 +5,7 @@ import java.util.List; import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.material.ma.domain.Type; import com.bonus.material.ma.vo.MachineVo; import org.springframework.stereotype.Service; import com.bonus.material.ma.mapper.MachineMapper; @@ -106,4 +107,15 @@ public class MachineServiceImpl implements IMachineService } return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } + + /** + * 根据类型查询 + * @param type + * @return + */ + @Override + public AjaxResult selectByTypeList(Type type) { + List typeList = machineMapper.selectByTypeList(type); + return AjaxResult.success(typeList); + } } 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 2adc6953..22a661bf 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 @@ -158,6 +158,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where ma.ma_id = #{maId} + + insert into ma_machine From 4f04b702ead0a35fe72b3ac43877d95cdfc66a44 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 17 Oct 2024 17:52:55 +0800 Subject: [PATCH 25/28] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/material/ma/controller/MachineController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java index e69eba1f..b6025c79 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java @@ -57,8 +57,8 @@ public class MachineController extends BaseController { * 查询机具设备管理列表 */ @ApiOperation(value = "查询机具设备管理列表") - @RequiresPermissions("ma:machine:list") - @GetMapping("/list") + @RequiresPermissions("ma:machine:typeList") + @GetMapping("/getTypeList") public AjaxResult list(Type type) { return machineService.selectByTypeList(type); From f8bea11e1c505fec592a476ee5bb86f4b87d4953 Mon Sep 17 00:00:00 2001 From: mashuai Date: Fri, 18 Oct 2024 09:31:11 +0800 Subject: [PATCH 26/28] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/material/basic/controller/BmUnitController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java index 48044914..5bef6a60 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java @@ -101,7 +101,7 @@ public class BmUnitController extends BaseController .collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel)); // 更新 BmUnit 列表 list.forEach(unit -> { - String typeName = dictMap.get(unit.getTypeId()); + String typeName = dictMap.get(unit.getTypeId().toString()); if (typeName != null) { unit.setTypeName(typeName); } From 548577d50b14d58a503c697b68eb9ff2c64d532c Mon Sep 17 00:00:00 2001 From: mashuai Date: Fri, 18 Oct 2024 13:26:45 +0800 Subject: [PATCH 27/28] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ma/service/impl/MachineServiceImpl.java | 29 ++++++++++++++++++- .../com/bonus/material/ma/vo/MachineVo.java | 15 ++++++++++ .../mapper/material/ma/MachineMapper.xml | 9 +++++- 3 files changed, 51 insertions(+), 2 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java index df8856be..e021675e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java @@ -1,12 +1,18 @@ package com.bonus.material.ma.service.impl; +import java.util.LinkedHashMap; import java.util.List; import com.bonus.common.biz.enums.HttpCodeEnum; +import com.bonus.common.core.constant.SecurityConstants; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.ma.domain.Type; import com.bonus.material.ma.vo.MachineVo; +import com.bonus.system.api.RemoteUserService; +import com.bonus.system.api.domain.SysUser; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.stereotype.Service; import com.bonus.material.ma.mapper.MachineMapper; import com.bonus.material.ma.domain.Machine; @@ -26,6 +32,9 @@ public class MachineServiceImpl implements IMachineService @Resource private MachineMapper machineMapper; + @Resource + private RemoteUserService remoteUserService; + /** * 查询机具设备管理 * @@ -35,7 +44,25 @@ public class MachineServiceImpl implements IMachineService @Override public MachineVo selectMachineByMaId(Long maId) { - return machineMapper.selectMachineByMaId(maId); + MachineVo machineVo = machineMapper.selectMachineByMaId(maId); + AjaxResult ajaxResult = remoteUserService.getInfo(machineVo.getKeeperId(), SecurityConstants.INNER); + // ajaxResult.get("data") 返回的是 LinkedHashMap + LinkedHashMap rawDataList = (LinkedHashMap) ajaxResult.get("data"); + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + if (rawDataList != null) { + SysUser sysUser = objectMapper.convertValue(rawDataList, SysUser.class); + machineVo.setKeeperName(sysUser.getNickName() == null ? "" : sysUser.getNickName()); + } + AjaxResult info = remoteUserService.getInfo(machineVo.getRepairId(), SecurityConstants.INNER); + // ajaxResult.get("data") 返回的是 LinkedHashMap + LinkedHashMap dataList = (LinkedHashMap) info.get("data"); + if (dataList != null) { + SysUser sysUser = objectMapper.convertValue(dataList, SysUser.class); + machineVo.setRepairName(sysUser.getNickName() == null ? "" : sysUser.getNickName()); + } + + return machineVo; } /** diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/vo/MachineVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/vo/MachineVo.java index 6374c5d7..b533f3d1 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/vo/MachineVo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/vo/MachineVo.java @@ -24,4 +24,19 @@ public class MachineVo extends Machine { @ApiModelProperty("规格型号-四级") private String materialModel; + @ApiModelProperty("库管员id") + private Long keeperId; + + @ApiModelProperty("库管员名称") + private String keeperName; + + @ApiModelProperty("维修员id") + private Long repairId; + + @ApiModelProperty("维修员名称") + private String repairName; + + @ApiModelProperty("资产属性名称") + private String assetName; + } 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 22a661bf..73c5060c 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 @@ -144,7 +144,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ma.update_time as updateTime, ma.inspect_man as inspectMan, ma.inspect_status as inspectStatus, - ma.phone as phone + ma.phone as phone, + mtk.user_id as keeperId, + mtr.user_id as repairId, + baa.asset_name as assetName, + ma.remark as remark FROM ma_machine ma LEFT JOIN ma_type mt ON ma.type_id = mt.type_id @@ -155,6 +159,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and mt3.`level` = '2' and mt3.del_flag = '0' LEFT JOIN ma_type mt4 ON mt3.parent_id = mt4.type_id and mt4.`level` = '1' and mt4.del_flag = '0' + LEFT JOIN ma_type_keeper mtk on ma.type_id = mtk.type_id + LEFT JOIN ma_type_repair mtr on ma.type_id = mtr.type_id + LEFT JOIN bm_asset_attributes baa on ma.assets_id = baa.id where ma.ma_id = #{maId} From 008a477ea6eadae50cd7693f98794703d21ade9c Mon Sep 17 00:00:00 2001 From: mashuai Date: Fri, 18 Oct 2024 13:36:56 +0800 Subject: [PATCH 28/28] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/controller/BmProjectController.java | 2 - .../basic/controller/BmUnitController.java | 1 - .../controller/BmUnitPersonController.java | 1 - .../controller/BmUnitTypeController.java | 117 -------- .../basic/mapper/BmUnitTypeMapper.java | 60 ---- .../basic/service/IBmUnitTypeService.java | 64 ----- .../service/impl/BmUnitTypeServiceImpl.java | 262 ------------------ .../ma/controller/PartTypeController.java | 1 - .../material/basic/BmUnitTypeMapper.xml | 62 ----- 9 files changed, 570 deletions(-) delete mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java delete mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitTypeMapper.java delete mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitTypeService.java delete mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java delete mode 100644 bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java index 74abb873..8b72da08 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java @@ -1,7 +1,6 @@ package com.bonus.material.basic.controller; import java.util.List; -import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import cn.hutool.http.HttpException; @@ -9,7 +8,6 @@ import com.alibaba.fastjson.JSONObject; import com.bonus.common.log.enums.OperaType; import com.bonus.material.common.annotation.PreventRepeatSubmit; import com.bonus.material.common.utils.HttpClient; -import com.bonus.system.api.RemoteDictDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java index 5bef6a60..cef89e90 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java @@ -1,6 +1,5 @@ package com.bonus.material.basic.controller; -import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java index 1e02b47c..42c06bb2 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java @@ -1,6 +1,5 @@ package com.bonus.material.basic.controller; - import com.alibaba.nacos.common.utils.CollectionUtils; import com.bonus.common.biz.domain.TreeSelect; import com.bonus.common.log.enums.OperaType; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java deleted file mode 100644 index 411768b1..00000000 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitTypeController.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.bonus.material.basic.controller; - -import com.bonus.common.core.utils.poi.ExcelUtil; -import com.bonus.common.core.web.controller.BaseController; -import com.bonus.common.core.web.domain.AjaxResult; -import com.bonus.common.log.annotation.SysLog; -import com.bonus.common.log.enums.OperaType; -import com.bonus.common.security.annotation.RequiresPermissions; -import com.bonus.material.basic.domain.BmUnitType; -import com.bonus.material.basic.service.IBmUnitTypeService; -import com.bonus.material.common.annotation.PreventRepeatSubmit; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; -import org.springframework.web.multipart.MultipartFile; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * @Author ma_sh - * @create 2024/10/14 15:25 - */ -@Api(tags = "往来单位类型管理接口") -@RestController -@RequestMapping("/bm_unit_type") -public class BmUnitTypeController extends BaseController { - - - @Resource - private IBmUnitTypeService bmUnitTypeService; - - /** - * 查询往来单位类型管理列表 - */ - @ApiOperation(value = "查询往来单位类型管理列表") - @RequiresPermissions("basic:unitType:list") - @GetMapping("/list") - public AjaxResult list(BmUnitType bmUnitType) - { - if (bmUnitType.getIsAll() != null) { - return AjaxResult.success(bmUnitTypeService.selectBmUnitList(bmUnitType)); - } - startPage(); - List list = bmUnitTypeService.selectBmUnitList(bmUnitType); - return AjaxResult.success(getDataTable(list)); - } - - @ApiOperation(value = "获取往来单位类型详细信息") - @RequiresPermissions("basic:unitType:query") - @GetMapping(value = "/{typeId}") - public AjaxResult getInfo(@PathVariable("typeId") Long typeId) - { - return AjaxResult.success(bmUnitTypeService.selectListByID(typeId)); - } - - @ApiOperation(value = "新增往来单位类型管理") - @RequiresPermissions("basic:unitType:add") - @PostMapping - public AjaxResult add(@RequestBody BmUnitType bmUnitType) - { - return bmUnitTypeService.insertBmUnitType(bmUnitType); - } - - @ApiOperation(value = "修改往来单位类型管理") - @RequiresPermissions("basic:unitType:edit") - @PutMapping - public AjaxResult edit(@RequestBody BmUnitType bmUnitType) - { - return bmUnitTypeService.updateBmUnitType(bmUnitType); - } - - @ApiOperation(value = "删除往来单位类型管理") - @RequiresPermissions("basic:unitType:remove") - @DeleteMapping("/{typeId}") - public AjaxResult remove(@PathVariable Long typeId) - { - return bmUnitTypeService.deleteBmUnitTypeByUnitTypeIds(typeId); - } - - /** - * 导入模版下载 - */ - @PostMapping("/downLoad") - public void downLoadExcelFile(){ - HttpServletResponse resp = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse(); - bmUnitTypeService.downLoadTemplate(resp); - } - - @ApiOperation(value = "导入往来单位类型管理列表") - @PreventRepeatSubmit - @RequiresPermissions("basic:unitType:importData") - @SysLog(title = "往来单位类型管理导入", businessType = OperaType.EXPORT, logType = 1,module = "仓储管理->导入往来单位类型管理列表") - @PostMapping("/importData") - public AjaxResult importData(MultipartFile file) - { - return bmUnitTypeService.importData(file); - } - - /** - * 导出往来单位类型管理列表 - */ - @ApiOperation(value = "导出往来单位类型管理列表") - @PreventRepeatSubmit - @RequiresPermissions("basic:unitType:export") - @SysLog(title = "往来单位管理", businessType = OperaType.EXPORT, logType = 1,module = "仓储管理->导出往来单位类型管理") - @PostMapping("/export") - public void export(HttpServletResponse response, BmUnitType bmUnitType) - { - List list = bmUnitTypeService.selectBmUnitList(bmUnitType); - ExcelUtil util = new ExcelUtil(BmUnitType.class); - util.exportExcel(response, list, "往来单位管理数据"); - } -} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitTypeMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitTypeMapper.java deleted file mode 100644 index a026fe47..00000000 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitTypeMapper.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.bonus.material.basic.mapper; - -import com.bonus.material.basic.domain.BmUnitType; - -import java.util.List; - -/** - * @Author ma_sh - * @create 2024/10/14 15:27 - */ -public interface BmUnitTypeMapper { - /** - * 查询单位类型列表 - * @param bmUnitType - * @return - */ - List selectBmUnitList(BmUnitType bmUnitType); - - /** - * 根据主键查询单位类型 - * @param typeId - * @return - */ - BmUnitType selectListByID(Long typeId); - - /** - * 根据类型名称查询单位类型 - * @param typeName - * @return - */ - BmUnitType selectBmUnitTypeByTypeName(String typeName); - - /** - * 新增单位类型 - * @param bmUnitType - * @return - */ - int insertBmUnitType(BmUnitType bmUnitType); - - /** - * 修改单位类型 - * @param bmUnitType - * @return - */ - int updateBmUnitType(BmUnitType bmUnitType); - - /** - * 删除单位类型 - * @param typeId - * @return - */ - int deleteBmUnitTypeByUnitTypeIds(Long typeId); - - /** - * 根据主键查询单位类型 - * @param typeId - * @return - */ - int select(Long typeId); -} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitTypeService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitTypeService.java deleted file mode 100644 index cc82bfb3..00000000 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitTypeService.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.bonus.material.basic.service; - -import com.bonus.common.core.web.domain.AjaxResult; -import com.bonus.material.basic.domain.BmUnit; -import com.bonus.material.basic.domain.BmUnitType; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * @Author ma_sh - * @create 2024/10/14 15:26 - */ -public interface IBmUnitTypeService { - - /** - * 查询单位类型列表 - * @param bmUnitType - * @return - */ - List selectBmUnitList(BmUnitType bmUnitType); - - /** - * 根据id查询单位类型 - * @param typeId - * @return - */ - BmUnitType selectListByID(Long typeId); - - /** - * 新增单位类型 - * @param bmUnitType - * @return - */ - AjaxResult insertBmUnitType(BmUnitType bmUnitType); - - /** - * 修改单位类型 - * @param bmUnitType - * @return - */ - AjaxResult updateBmUnitType(BmUnitType bmUnitType); - - /** - * 删除单位类型 - * @param typeId - * @return - */ - AjaxResult deleteBmUnitTypeByUnitTypeIds(Long typeId); - - /** - * 导入模板 - * @param resp - */ - void downLoadTemplate(HttpServletResponse resp); - - /** - * 导入数据 - * @param file - * @return - */ - AjaxResult importData(MultipartFile file); -} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java deleted file mode 100644 index 8c4d4e66..00000000 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitTypeServiceImpl.java +++ /dev/null @@ -1,262 +0,0 @@ -package com.bonus.material.basic.service.impl; - -import com.bonus.common.biz.constant.MaterialConstants; -import com.bonus.common.biz.enums.HttpCodeEnum; -import com.bonus.common.core.utils.DateUtils; -import com.bonus.common.core.utils.StringUtils; -import com.bonus.common.core.utils.poi.ExcelUtil; -import com.bonus.common.core.web.domain.AjaxResult; -import com.bonus.common.security.utils.SecurityUtils; -import com.bonus.material.basic.domain.BmUnitType; -import com.bonus.material.basic.mapper.BmUnitTypeMapper; -import com.bonus.material.basic.service.IBmUnitTypeService; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.io.IOUtils; -import org.apache.poi.ss.usermodel.*; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.List; -import java.util.Objects; - -/** - * @Author ma_sh - * @create 2024/10/14 15:26 - */ -@Service -@Slf4j -public class BmUnitTypeServiceImpl implements IBmUnitTypeService { - - @Resource - private BmUnitTypeMapper bmUnitTypeMapper; - - /** - * 查询单位类型关联单位列表 - * @param bmUnitType - * @return - */ - @Override - public List selectBmUnitList(BmUnitType bmUnitType) { - return bmUnitTypeMapper.selectBmUnitList(bmUnitType); - } - - /** - * 根据ID查询单位类型关联单位 - * @param typeId - * @return - */ - @Override - public BmUnitType selectListByID(Long typeId) { - return bmUnitTypeMapper.selectListByID(typeId); - } - - /** - * 新增单位类型列表 - * @param bmUnitType - * @return - */ - @Override - public AjaxResult insertBmUnitType(BmUnitType bmUnitType) { - //根据单位类型名称查询,去重 - BmUnitType unitType = bmUnitTypeMapper.selectBmUnitTypeByTypeName(bmUnitType.getTypeName()); - if (unitType != null) { - return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), HttpCodeEnum.NAME_DUPLICATE.getMsg()); - } - bmUnitType.setCreateBy(SecurityUtils.getUserId().toString()); - bmUnitType.setCreateTime(DateUtils.getNowDate()); - bmUnitType.setDictType("bm_unit_type"); - int result = bmUnitTypeMapper.insertBmUnitType(bmUnitType); - if (result > 0) { - return AjaxResult.success(); - } - return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); - } - - /** - * 修改单位类型列表 - * @param bmUnitType - * @return - */ - @Override - public AjaxResult updateBmUnitType(BmUnitType bmUnitType) { - //根据单位类型名称查询,去重 - BmUnitType unitType = bmUnitTypeMapper.selectBmUnitTypeByTypeName(bmUnitType.getTypeName()); - if (unitType != null) { - if (!Objects.equals(unitType.getTypeName(), bmUnitType.getTypeName())) { - return AjaxResult.error(HttpCodeEnum.NAME_DUPLICATE.getCode(), HttpCodeEnum.NAME_DUPLICATE.getMsg()); - } - } - bmUnitType.setUpdateBy(SecurityUtils.getUserId().toString()); - bmUnitType.setUpdateTime(DateUtils.getNowDate()); - int result = bmUnitTypeMapper.updateBmUnitType(bmUnitType); - if (result > 0) { - return AjaxResult.success(); - } - return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); - } - - /** - * 删除单位类型列表 - * @param typeId - * @return - */ - @Override - public AjaxResult deleteBmUnitTypeByUnitTypeIds(Long typeId) { - //首先根据单位类型查询是否关联单位 - int count = bmUnitTypeMapper.select(typeId); - if (count > 0) { - return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "该单位类型关联相关单位,无法删除"); - } - int result = bmUnitTypeMapper.deleteBmUnitTypeByUnitTypeIds(typeId); - if (result > 0) { - return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); - } - return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); - } - - @Override - public void downLoadTemplate(HttpServletResponse response) { - //模板名称 - String templateName = "BmUnitTypeTemplate.xlsx"; - OutputStream out = null; - InputStream input = null; - try { - input = this.getClass().getClassLoader().getResourceAsStream("template/BmUnitTypeTemplate.xlsx"); - response.setCharacterEncoding("UTF-8"); - response.setHeader("content-Type", "application/vnd.ms-excel"); - response.setHeader("Content-Disposition", - "attachment;filename=" + new String((templateName).getBytes(), "iso-8859-1")); - response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); - out = response.getOutputStream(); - // 缓冲区 - byte[] buffer = new byte[1024]; - int bytesToRead = -1; - // 通过循环将读入内容输出到浏览器中 - while ((bytesToRead = input.read(buffer)) != -1) { - out.write(buffer, 0, bytesToRead); - } - } catch (IOException e) { - log.error(e.getMessage()); - } finally { - IOUtils.closeQuietly(input); - IOUtils.closeQuietly(out); - } - } - - /** - * 导入单位类型列表 - * @param file - * @return - */ - @Override - public AjaxResult importData(MultipartFile file) { - String fileName = file.getOriginalFilename(); - if (fileName != null) { - String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1); - if (!MaterialConstants.XLSX.equalsIgnoreCase(fileExtension)) { - // 文件后缀名不符合要求 - return AjaxResult.error("导入失败:文件后缀名不符合要求,必须为xlsx结尾"); - } - } - try { - InputStream inputStream = file.getInputStream(); - Workbook workbook = new XSSFWorkbook(inputStream); - - Sheet sheet = workbook.getSheetAt(0); - // 得到Excel的行数 - int totalRows = sheet.getPhysicalNumberOfRows(); - - // 检查是否有行数 - if (totalRows <= 1) { - throw new IllegalArgumentException("导入失败:Excel文件中没有数据,请检查后重新导入"); - } - // 读取第一行表头 - Row headerRow = sheet.getRow(0); - - if (headerRow == null) { - throw new IllegalArgumentException("导入失败:文件中没有表头"); - } - // 获取表头的列数 - int totalCells = headerRow.getPhysicalNumberOfCells(); - // 假设预期的表头列数为2列,可以根据实际需求修改这个条件 - if (totalCells != 2) { - throw new IllegalArgumentException("导入失败:表头列数与预期不符,请检查导入模板"); - } - // 读取表头内容并验证每一列,看是否符合模版要求 - for (int cellNum = 0; cellNum < totalCells; cellNum++) { - Cell cell = headerRow.getCell(cellNum); - // 获取单元格内容并去除首尾空格 - String headerValue = cell.getStringCellValue().trim(); - // 根据列索引进行验证 - switch (cellNum) { - case 0: - if (!"单位类型".equals(headerValue)) { - throw new IllegalArgumentException("第 " + (cellNum + 1) + " 列表头列名与预期不符,请检查导入模板"); - } - break; - default: - break; - } - } - //读取Excel表格数据,做非空判断 - // 循环Excel行数 - DataFormatter dataFormatter = new DataFormatter(); - for (int r = 1; r < totalRows; r++) { - Row row = sheet.getRow(r); - // 循环Excel列数 - for (int c = 0; c < totalCells; c++) { - String cellValue = dataFormatter.formatCellValue(row.getCell(c)); - switch (c) { - case 0: - checkCellNotEmpty(cellValue, r, c); - break; - default: - throw new IllegalArgumentException( - String.format("第 %d 行,第 %d 列超出范围,请检查后重新导入", r + 1, c + 1)); - } - } - } - ExcelUtil util = new ExcelUtil<>(BmUnitType.class); - List bmUnitTypeList = util.importExcel(file.getInputStream()); - int result = 0; - for (BmUnitType bmUnitType : bmUnitTypeList) { - //根据单位类型名称查询,去重 - BmUnitType unitType = bmUnitTypeMapper.selectBmUnitTypeByTypeName(bmUnitType.getTypeName()); - if (unitType != null) { - //进行更新操作 - result += bmUnitTypeMapper.updateBmUnitType(unitType); - } else { - bmUnitType.setCreateBy(SecurityUtils.getUserId().toString()); - bmUnitType.setCreateTime(DateUtils.getNowDate()); - bmUnitType.setDictType("bm_unit_type"); - result += bmUnitTypeMapper.insertBmUnitType(bmUnitType); - } - } - if (result > 0) { - return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result); - } - } catch (IOException e) { - e.printStackTrace(); - } - return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); - } - - /** - * 提取方法用于检查单元格内容是否为空,并抛出异常 - * @param cellValue - * @param rowNum - * @param colNum - */ - private void checkCellNotEmpty(String cellValue, int rowNum, int colNum) { - if (StringUtils.isBlank(cellValue)) { - throw new IllegalArgumentException( - String.format("第 %d 行,第 %d 列数据为空,请检查后重新导入", rowNum + 1, colNum + 1)); - } - } -} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/PartTypeController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/PartTypeController.java index 593bdc44..f986f9c7 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/PartTypeController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/PartTypeController.java @@ -22,7 +22,6 @@ import com.bonus.material.ma.service.IPartTypeService; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.utils.poi.ExcelUtil; -import com.bonus.common.core.web.page.TableDataInfo; /** * 配件类型管理Controller diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml deleted file mode 100644 index d285d6e0..00000000 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitTypeMapper.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - insert into sys_dict_data - - dict_label, - status, - create_by, - create_time, - dict_type - - - #{typeName}, - 0, - #{createBy}, - #{createTime}, - #{dictType} - - - - - update sys_dict_data - - dict_label = #{typeName}, - update_by = #{updateBy}, - update_time = #{updateTime}, - - where dict_code = #{typeId} and dict_type = 'bm_unit_type' - - - - update sys_dict_data set status = 1 where dict_code = #{typeId} and dict_type = 'bm_unit_type' - - - - - - - - - - \ No newline at end of file