diff --git a/op-modules/op-device/src/main/java/com/op/device/config/DynamicDatasource.java b/op-modules/op-device/src/main/java/com/op/device/config/DynamicDatasource.java new file mode 100644 index 000000000..0a04d1997 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/config/DynamicDatasource.java @@ -0,0 +1,53 @@ +package com.op.device.config; + +import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty; +import com.op.common.core.domain.R; +import com.op.common.datasource.creator.DynamicDatasourceCreator; +import com.op.system.api.RemoteUserService; +import com.op.system.api.domain.SysUser; + + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +/** + * 初始化动态数据源 + * + * @ClassName: DynamicDatasource + * @Description: TODO + * @author shichangzhou + * @date 2023年4月19日 下午1:01:30 + */ +@Component +public class DynamicDatasource { + + @Resource + private DynamicDatasourceCreator dynamicDatasourceCreator; + @Autowired + private RemoteUserService remoteUserService; + + @PostConstruct + public void init() { + // 加载sf-cloud库的sys_datasource + SysUser sysUser = new SysUser(); + sysUser.setUserId(1L); + R>> dateSources0 = remoteUserService.getPoolNameList(sysUser); + List> dateSources = dateSources0.getData(); + for (Map dateSource : dateSources) { + DataSourceProperty sdp = new DataSourceProperty(); + sdp.setUrl(dateSource.get("url")); + sdp.setUsername(dateSource.get("userName")); + sdp.setPassword(dateSource.get("password")); + sdp.setDriverClassName(dateSource.get("driveClassName")); + sdp.setPoolName(dateSource.get("poolName"));// 这是数据源的key + sdp.setLazy(false); + dynamicDatasourceCreator.createDynamicDataSource(sdp); + } + + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquFaultTypeController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquFaultTypeController.java index a2a662493..5c0ffa5ee 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquFaultTypeController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquFaultTypeController.java @@ -2,6 +2,7 @@ package com.op.device.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -23,75 +24,75 @@ import com.op.common.core.web.page.TableDataInfo; /** * 故障类型维护Controller - * + * * @author wws * @date 2023-10-12 */ @RestController @RequestMapping("/faultType") public class EquFaultTypeController extends BaseController { - @Autowired - private IEquFaultTypeService equFaultTypeService; + @Autowired + private IEquFaultTypeService equFaultTypeService; - /** - * 查询故障类型维护列表 - */ - @RequiresPermissions("device:faultType:list") - @GetMapping("/list") - public TableDataInfo list(EquFaultType equFaultType) { - startPage(); - List list = equFaultTypeService.selectEquFaultTypeList(equFaultType); - return getDataTable(list); - } + /** + * 查询故障类型维护列表 + */ + @RequiresPermissions("device:faultType:list") + @GetMapping("/list") + public TableDataInfo list(EquFaultType equFaultType) { + startPage(); + List list = equFaultTypeService.selectEquFaultTypeList(equFaultType); + return getDataTable(list); + } - /** - * 导出故障类型维护列表 - */ - @RequiresPermissions("device:faultType:export") - @Log(title = "故障类型维护", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, EquFaultType equFaultType) { - List list = equFaultTypeService.selectEquFaultTypeList(equFaultType); - ExcelUtil util = new ExcelUtil(EquFaultType.class); - util.exportExcel(response, list, "故障类型维护数据"); - } + /** + * 导出故障类型维护列表 + */ + @RequiresPermissions("device:faultType:export") + @Log(title = "故障类型维护", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, EquFaultType equFaultType) { + List list = equFaultTypeService.selectEquFaultTypeList(equFaultType); + ExcelUtil util = new ExcelUtil(EquFaultType.class); + util.exportExcel(response, list, "故障类型维护数据"); + } - /** - * 获取故障类型维护详细信息 - */ - @RequiresPermissions("device:faultType:query") - @GetMapping(value = "/{faultId}") - public AjaxResult getInfo(@PathVariable("faultId") String faultId) { - return success(equFaultTypeService.selectEquFaultTypeByFaultId(faultId)); - } + /** + * 获取故障类型维护详细信息 + */ + @RequiresPermissions("device:faultType:query") + @GetMapping(value = "/{faultId}") + public AjaxResult getInfo(@PathVariable("faultId") String faultId) { + return success(equFaultTypeService.selectEquFaultTypeByFaultId(faultId)); + } - /** - * 新增故障类型维护 - */ - @RequiresPermissions("device:faultType:add") - @Log(title = "故障类型维护", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody EquFaultType equFaultType) { - return toAjax(equFaultTypeService.insertEquFaultType(equFaultType)); - } + /** + * 新增故障类型维护 + */ + @RequiresPermissions("device:faultType:add") + @Log(title = "故障类型维护", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody EquFaultType equFaultType) { + return equFaultTypeService.insertEquFaultType(equFaultType); + } - /** - * 修改故障类型维护 - */ - @RequiresPermissions("device:faultType:edit") - @Log(title = "故障类型维护", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody EquFaultType equFaultType) { - return toAjax(equFaultTypeService.updateEquFaultType(equFaultType)); - } + /** + * 修改故障类型维护 + */ + @RequiresPermissions("device:faultType:edit") + @Log(title = "故障类型维护", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody EquFaultType equFaultType) { + return toAjax(equFaultTypeService.updateEquFaultType(equFaultType)); + } - /** - * 删除故障类型维护 - */ - @RequiresPermissions("device:faultType:remove") - @Log(title = "故障类型维护", businessType = BusinessType.DELETE) - @DeleteMapping("/{faultIds}") - public AjaxResult remove(@PathVariable String[] faultIds) { - return toAjax(equFaultTypeService.deleteEquFaultTypeByFaultIds(faultIds)); - } + /** + * 删除故障类型维护 + */ + @RequiresPermissions("device:faultType:remove") + @Log(title = "故障类型维护", businessType = BusinessType.DELETE) + @DeleteMapping("/{faultIds}") + public AjaxResult remove(@PathVariable String[] faultIds) { + return toAjax(equFaultTypeService.deleteEquFaultTypeByFaultIds(faultIds)); + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquFaultTypeMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquFaultTypeMapper.java index af25869e6..8f33ec256 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquFaultTypeMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquFaultTypeMapper.java @@ -44,7 +44,7 @@ public interface EquFaultTypeMapper { public int updateEquFaultType(EquFaultType equFaultType); /** - * 删除故障类型维护 + * 删除故障类型维护-逻辑 * * @param faultId 故障类型维护主键 * @return 结果 @@ -52,10 +52,16 @@ public interface EquFaultTypeMapper { public int deleteEquFaultTypeByFaultId(String faultId); /** - * 批量删除故障类型维护 + * 批量删除故障类型维护-逻辑 * * @param faultIds 需要删除的数据主键集合 * @return 结果 */ public int deleteEquFaultTypeByFaultIds(String[] faultIds); + + /** + * 获取流水号 + * @return + */ + int selectSerialNumber(); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IEquFaultTypeService.java b/op-modules/op-device/src/main/java/com/op/device/service/IEquFaultTypeService.java index f71815011..01c55cb04 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IEquFaultTypeService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IEquFaultTypeService.java @@ -1,6 +1,8 @@ package com.op.device.service; import java.util.List; + +import com.op.common.core.web.domain.AjaxResult; import com.op.device.domain.EquFaultType; /** @@ -32,7 +34,7 @@ public interface IEquFaultTypeService { * @param equFaultType 故障类型维护 * @return 结果 */ - public int insertEquFaultType(EquFaultType equFaultType); + public AjaxResult insertEquFaultType(EquFaultType equFaultType); /** * 修改故障类型维护 diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquCheckItemServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquCheckItemServiceImpl.java index 8f95d4cf3..2c4960526 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquCheckItemServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquCheckItemServiceImpl.java @@ -4,13 +4,11 @@ import java.text.Format; import java.text.SimpleDateFormat; import java.util.List; -import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A; import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.context.SecurityContextHolder; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; -import com.op.common.log.annotation.Log; import com.op.device.domain.EquCheckItemDetail; import com.op.device.domain.EquItemEquipment; import com.op.device.domain.dto.EquCheckItemDTO; @@ -313,6 +311,7 @@ public class EquCheckItemServiceImpl implements IEquCheckItemService { * @return */ @Override + @DS("#header.poolName") public AjaxResult getEquipmentCodeListByItemCode(String itemCode) { List equipmentCodeList = equItemEquipmentMapper.selectEquipmentCodeList(itemCode); return success(equipmentCodeList); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquFaultTypeServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquFaultTypeServiceImpl.java index 82fa9579b..f476ed68d 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquFaultTypeServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquFaultTypeServiceImpl.java @@ -1,89 +1,129 @@ package com.op.device.service.impl; import java.util.List; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.context.SecurityContextHolder; import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.common.core.web.domain.AjaxResult; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.device.mapper.EquFaultTypeMapper; import com.op.device.domain.EquFaultType; import com.op.device.service.IEquFaultTypeService; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +import static com.op.common.core.web.domain.AjaxResult.error; +import static com.op.common.core.web.domain.AjaxResult.success; /** * 故障类型维护Service业务层处理 - * + * * @author wws * @date 2023-10-12 */ @Service public class EquFaultTypeServiceImpl implements IEquFaultTypeService { - @Autowired - private EquFaultTypeMapper equFaultTypeMapper; + @Autowired + private EquFaultTypeMapper equFaultTypeMapper; - /** - * 查询故障类型维护 - * - * @param faultId 故障类型维护主键 - * @return 故障类型维护 - */ - @Override - public EquFaultType selectEquFaultTypeByFaultId(String faultId) { - return equFaultTypeMapper.selectEquFaultTypeByFaultId(faultId); - } + /** + * 查询故障类型维护 + * + * @param faultId 故障类型维护主键 + * @return 故障类型维护 + */ + @Override + @DS("#header.poolName") + public EquFaultType selectEquFaultTypeByFaultId(String faultId) { + return equFaultTypeMapper.selectEquFaultTypeByFaultId(faultId); + } - /** - * 查询故障类型维护列表 - * - * @param equFaultType 故障类型维护 - * @return 故障类型维护 - */ - @Override - public List selectEquFaultTypeList(EquFaultType equFaultType) { - return equFaultTypeMapper.selectEquFaultTypeList(equFaultType); - } + /** + * 查询故障类型维护列表 + * + * @param equFaultType 故障类型维护 + * @return 故障类型维护 + */ + @Override + @DS("#header.poolName") + public List selectEquFaultTypeList(EquFaultType equFaultType) { + return equFaultTypeMapper.selectEquFaultTypeList(equFaultType); + } - /** - * 新增故障类型维护 - * - * @param equFaultType 故障类型维护 - * @return 结果 - */ - @Override - public int insertEquFaultType(EquFaultType equFaultType) { - equFaultType.setCreateTime(DateUtils.getNowDate()); - return equFaultTypeMapper.insertEquFaultType(equFaultType); - } + /** + * 新增故障类型维护 + * + * @param equFaultType 故障类型维护 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public AjaxResult insertEquFaultType(EquFaultType equFaultType) { - /** - * 修改故障类型维护 - * - * @param equFaultType 故障类型维护 - * @return 结果 - */ - @Override - public int updateEquFaultType(EquFaultType equFaultType) { - equFaultType.setUpdateTime(DateUtils.getNowDate()); - return equFaultTypeMapper.updateEquFaultType(equFaultType); - } + //获取当前所选工厂 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + String str = request.getHeader(key.substring(8)); + int index = str.indexOf("_"); + String factory = str.substring(index + 1); - /** - * 批量删除故障类型维护 - * - * @param faultIds 需要删除的故障类型维护主键 - * @return 结果 - */ - @Override - public int deleteEquFaultTypeByFaultIds(String[] faultIds) { - return equFaultTypeMapper.deleteEquFaultTypeByFaultIds(faultIds); - } + // 获取检查项流水号 + String serialNum = String.format("%03d", equFaultTypeMapper.selectSerialNumber()); - /** - * 删除故障类型维护信息 - * - * @param faultId 故障类型维护主键 - * @return 结果 - */ - @Override - public int deleteEquFaultTypeByFaultId(String faultId) { - return equFaultTypeMapper.deleteEquFaultTypeByFaultId(faultId); - } + // 处理故障信息 + equFaultType.setFaultId(IdUtils.fastSimpleUUID()); + equFaultType.setFaultCode(DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + serialNum); + equFaultType.setFactoryCode(factory); + equFaultType.setCreateBy(SecurityContextHolder.getUserName()); + equFaultType.setCreateTime(DateUtils.getNowDate()); + equFaultType.setUpdateBy(SecurityContextHolder.getUserName()); + equFaultType.setUpdateTime(DateUtils.getNowDate()); + + // 插入数据库 + equFaultTypeMapper.insertEquFaultType(equFaultType); + + return success(); + } + + /** + * 修改故障类型维护 + * + * @param equFaultType 故障类型维护 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateEquFaultType(EquFaultType equFaultType) { + equFaultType.setUpdateTime(DateUtils.getNowDate()); + return equFaultTypeMapper.updateEquFaultType(equFaultType); + } + + /** + * 批量删除故障类型维护 + * + * @param faultIds 需要删除的故障类型维护主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteEquFaultTypeByFaultIds(String[] faultIds) { + return equFaultTypeMapper.deleteEquFaultTypeByFaultIds(faultIds); + } + + /** + * 删除故障类型维护信息 + * + * @param faultId 故障类型维护主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteEquFaultTypeByFaultId(String faultId) { + return equFaultTypeMapper.deleteEquFaultTypeByFaultId(faultId); + } } diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquFaultTypeMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquFaultTypeMapper.xml index abee114ca..eac4783d0 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquFaultTypeMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquFaultTypeMapper.xml @@ -41,15 +41,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and create_time = #{createTime} and update_by = #{updateBy} and update_time = #{updateTime} + and del_flag = '0' - - + + + + insert into equ_fault_type fault_id, @@ -102,7 +109,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update_by = #{updateBy}, update_time = #{updateTime}, - where fault_id = #{faultId} + where fault_id = #{faultId} and del_flag = '0'