From d7046c075e0ea5c4bcdbf87c4d4e6da62d40ad04 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 17 Oct 2024 16:05:21 +0800 Subject: [PATCH] =?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},