From 3ee4b263eea52d067f197b8ea48accb0bce10c01 Mon Sep 17 00:00:00 2001 From: panshuling321 Date: Wed, 2 Mar 2022 16:35:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=B7=A5=E5=8D=95=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E7=B1=BB=E5=9E=8B=E7=9A=84=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WorkTypeController.java | 103 ++++++++++ .../domain/XhpcWorkTypeDictDomain.java | 67 +++++++ .../workorder/enums/WorkOrderTypeEnum.java | 61 ------ .../mapper/XhpcWorkTypeDictMapper.java | 32 ++++ .../workorder/service/WorkTypeService.java | 24 +++ .../service/impl/WorkTypeServiceImpl.java | 88 +++++++++ .../mapper/XhpcWorkTypeDictMapper.xml | 180 ++++++++++++++++++ 7 files changed, 494 insertions(+), 61 deletions(-) create mode 100644 xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/controller/WorkTypeController.java create mode 100644 xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/domain/XhpcWorkTypeDictDomain.java delete mode 100644 xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/enums/WorkOrderTypeEnum.java create mode 100644 xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/mapper/XhpcWorkTypeDictMapper.java create mode 100644 xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/service/WorkTypeService.java create mode 100644 xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/service/impl/WorkTypeServiceImpl.java create mode 100644 xhpc-modules/xhpc-workorder/src/main/resources/mapper/XhpcWorkTypeDictMapper.xml diff --git a/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/controller/WorkTypeController.java b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/controller/WorkTypeController.java new file mode 100644 index 00000000..f12cead7 --- /dev/null +++ b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/controller/WorkTypeController.java @@ -0,0 +1,103 @@ +package com.xhpc.workorder.controller; + + +import com.xhpc.common.core.domain.R; +import com.xhpc.common.core.web.controller.BaseController; +import com.xhpc.common.core.web.page.TableDataInfo; +import com.xhpc.common.log.annotation.Log; +import com.xhpc.common.log.enums.BusinessType; +import com.xhpc.common.util.LogUserUtils; +import com.xhpc.system.api.model.LoginUser; +import com.xhpc.workorder.domain.XhpcWorkTypeDictDomain; +import com.xhpc.workorder.service.WorkTypeService; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.Map; + +@RestController +@RequestMapping("/type") +public class WorkTypeController extends BaseController { + + @Resource + WorkTypeService typeService; + + @Resource + LogUserUtils logUserUtils; + + + @GetMapping("/getPage") + public TableDataInfo getPage(HttpServletRequest request){ + + LoginUser loginUser = logUserUtils.getLogUser(request); + + startPage(); + Map params = new HashMap<>(); + params.put("tenantId", loginUser.getTenantId()); + + return getDataTable(typeService.getPage(params)); + } + + @GetMapping("/getList") + public R getList(HttpServletRequest request){ + + LoginUser loginUser = logUserUtils.getLogUser(request); + + Map params = new HashMap<>(); + params.put("tenantId", loginUser.getTenantId()); + + return R.ok(typeService.getList(params)); + } + + @GetMapping("/getTree") + public R getTree(HttpServletRequest request){ + + LoginUser loginUser = logUserUtils.getLogUser(request); + + Map params = new HashMap<>(); + params.put("tenantId", loginUser.getTenantId()); + + return R.ok(typeService.getTree(params)); + } + + + @GetMapping("/detail") + public R getTypeInfo(@RequestParam Integer typeId){ + + return R.ok(typeService.getInfoByPk(typeId)); + } + + + @PostMapping("/") + @Log(title = "工单类型-新增工单类型", businessType = BusinessType.INSERT) + public R insertTypeInfo(HttpServletRequest request, @RequestBody XhpcWorkTypeDictDomain domain){ + LoginUser loginUser = logUserUtils.getLogUser(request); + domain.setCreateBy(loginUser.getUsername()); + domain.setUpdateBy(loginUser.getUsername()); + domain.setTenantId(loginUser.getTenantId()); + + return R.ok(typeService.insertTypeInfo(domain)); + } + + + @PutMapping("/detail") + @Log(title = "工单类型-更新工单类型信息", businessType = BusinessType.UPDATE) + public R updateTypeInfo(HttpServletRequest request, @RequestBody XhpcWorkTypeDictDomain domain){ + LoginUser loginUser = logUserUtils.getLogUser(request); + + domain.setTenantId(loginUser.getTenantId()); + domain.setUpdateBy(loginUser.getUsername()); + return R.ok(typeService.updateTypeInfo(domain)); + } + + + + @DeleteMapping("/detail") + @Log(title = "工单类型-删除工单类型", businessType = BusinessType.DELETE) + public R deleteTypeInfo(@RequestParam Integer typeId){ + + return R.ok(typeService.deleteTypeInfo(typeId)); + } +} diff --git a/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/domain/XhpcWorkTypeDictDomain.java b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/domain/XhpcWorkTypeDictDomain.java new file mode 100644 index 00000000..c1d5cc77 --- /dev/null +++ b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/domain/XhpcWorkTypeDictDomain.java @@ -0,0 +1,67 @@ +package com.xhpc.workorder.domain; + + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class XhpcWorkTypeDictDomain implements Serializable { + + private static final long serialVersionUID = 1L; + /** + * 类型ID + */ + private Integer workTypeId; + + /** + * 类型名称 + */ + private String name; + + /** + * 父级类型ID + */ + private Integer parentTypeId; + + /** + * 状态0-禁用,1-启用 + */ + private Integer status; + + /** + * 删除标识,0-正常,2-已删除 + */ + private Integer delFlag; + + /** + * 排序 + */ + private Integer sort; + + /** + * 租户ID + */ + private String tenantId; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 创建人 + */ + private String createBy; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 更新人 + */ + private String updateBy; +} diff --git a/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/enums/WorkOrderTypeEnum.java b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/enums/WorkOrderTypeEnum.java deleted file mode 100644 index f2489fcb..00000000 --- a/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/enums/WorkOrderTypeEnum.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.xhpc.workorder.enums; - - -public enum WorkOrderTypeEnum { - - PILE_OFFLINE(1, "充电桩离线"), - PILE_ERROR(2, "充电桩异常"), - - TERMINAL_OFFLINE(3, "终端离线"), - TERMINAL_ERROR(4, "终端异常"), - - BARRIER_OFFLINE(5, "道闸离线"), - BARRIER_ERROR(6, "道闸异常"), - - GROUND_LOCK_OFFLINE(7, "地锁离线"), - GROUND_LOCK_ERROR(8, "地锁异常"), - - CHARGING_ORDER_ERROR(20, "充电订单异常"), - ORDER_PUSH_EVCS_ERROR(21, "订单推送监管异常"), - ORDER_PUSH_THIRD_ERROR(22, "订单推送第三方异常"), - ; - - private final Integer code; - private final String name; - - WorkOrderTypeEnum(Integer code, String name){ - this.code = code; - this.name = name; - } - - //根据code获取name - public static String getNameByCode(Integer code) { - for (WorkOrderTypeEnum typeEnum : WorkOrderTypeEnum.values()) { - if (code.equals(typeEnum.code)) { - return typeEnum.name; - } - } - return ""; - } - - //根据code获取name - public static Integer getCodeByName(String name) { - for (WorkOrderTypeEnum typeEnum : WorkOrderTypeEnum.values()) { - //移除交办 - if (typeEnum.name.equals(name)) { - return typeEnum.code; - } - } - return null; - } - - public Integer getCode() { - - return code; - } - - public String getName() { - - return name; - } -} diff --git a/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/mapper/XhpcWorkTypeDictMapper.java b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/mapper/XhpcWorkTypeDictMapper.java new file mode 100644 index 00000000..7c37e629 --- /dev/null +++ b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/mapper/XhpcWorkTypeDictMapper.java @@ -0,0 +1,32 @@ +package com.xhpc.workorder.mapper; + +import com.xhpc.workorder.domain.XhpcWorkTypeDictDomain; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +public interface XhpcWorkTypeDictMapper { + + + List selectListByParams(@Param("params") Map params); + + List> selectMapListByParams(@Param("params") Map params); + + List> selectMapListByParentParams(@Param("params") Map params); + + int deleteByPrimaryKeyLogic(Integer workTypeId); + + int insert(XhpcWorkTypeDictDomain record); + + int insertSelective(XhpcWorkTypeDictDomain record); + + XhpcWorkTypeDictDomain selectByPrimaryKey(Integer workTypeId); + + XhpcWorkTypeDictDomain selectByName(String name); + + int updateByPrimaryKeySelective(XhpcWorkTypeDictDomain record); + + int updateByPrimaryKey(XhpcWorkTypeDictDomain record); + +} diff --git a/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/service/WorkTypeService.java b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/service/WorkTypeService.java new file mode 100644 index 00000000..273ed0f2 --- /dev/null +++ b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/service/WorkTypeService.java @@ -0,0 +1,24 @@ +package com.xhpc.workorder.service; + +import com.xhpc.workorder.domain.XhpcWorkTypeDictDomain; + +import java.util.List; +import java.util.Map; + +public interface WorkTypeService { + + + List getPage(Map params); + + List> getList(Map params); + + List> getTree(Map params); + + XhpcWorkTypeDictDomain getInfoByPk(Integer typeId); + + Boolean insertTypeInfo(XhpcWorkTypeDictDomain domain); + + Boolean updateTypeInfo(XhpcWorkTypeDictDomain domain); + + Boolean deleteTypeInfo(Integer typeId); +} diff --git a/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/service/impl/WorkTypeServiceImpl.java b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/service/impl/WorkTypeServiceImpl.java new file mode 100644 index 00000000..ca49bbf9 --- /dev/null +++ b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/service/impl/WorkTypeServiceImpl.java @@ -0,0 +1,88 @@ +package com.xhpc.workorder.service.impl; + +import com.xhpc.common.core.exception.CustomException; +import com.xhpc.common.core.utils.StringUtils; +import com.xhpc.workorder.domain.XhpcWorkTypeDictDomain; +import com.xhpc.workorder.mapper.XhpcWorkTypeDictMapper; +import com.xhpc.workorder.service.WorkTypeService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + + +@Service +public class WorkTypeServiceImpl implements WorkTypeService { + + @Resource + XhpcWorkTypeDictMapper typeDictMapper; + + + @Override + public List getPage(Map params){ + return typeDictMapper.selectListByParams(params); + } + + @Override + public List> getList(Map params){ + return typeDictMapper.selectMapListByParams(params); + } + + + @Override + public List> getTree(Map params){ + List> typeList = typeDictMapper.selectMapListByParentParams(params); + for (Map map : typeList){ + params.put("parentTypeId", map.get("id")); + List> childList = typeDictMapper.selectMapListByParentParams(params); + for (Map childMap: childList){ + params.put("parentTypeId", childMap.get("id")); + List> dataList = typeDictMapper.selectMapListByParentParams(params); + childMap.put("children", dataList); + } + + map.put("children", childList); + } + + return typeList; + } + + @Override + public XhpcWorkTypeDictDomain getInfoByPk(Integer typeId){ + return typeDictMapper.selectByPrimaryKey(typeId); + } + + + @Override + public Boolean insertTypeInfo(XhpcWorkTypeDictDomain domain){ + if(StringUtils.isEmpty(domain.getName())){ + throw new CustomException("名称不能为空"); + } + XhpcWorkTypeDictDomain exitsDomain = typeDictMapper.selectByName(domain.getName()); + if(exitsDomain != null) { + throw new CustomException("名称不能重复"); + } + + return typeDictMapper.insertSelective(domain) > 0; + } + + + @Override + public Boolean updateTypeInfo(XhpcWorkTypeDictDomain domain){ + if(StringUtils.isEmpty(domain.getName())){ + throw new CustomException("名称不能为空"); + } + XhpcWorkTypeDictDomain exitsDomain = typeDictMapper.selectByName(domain.getName()); + if(exitsDomain != null) { + throw new CustomException("名称不能重复"); + } + return typeDictMapper.updateByPrimaryKeySelective(domain) > 0; + } + + + @Override + public Boolean deleteTypeInfo(Integer typeId){ + return typeDictMapper.deleteByPrimaryKeyLogic(typeId) > 0; + } +} diff --git a/xhpc-modules/xhpc-workorder/src/main/resources/mapper/XhpcWorkTypeDictMapper.xml b/xhpc-modules/xhpc-workorder/src/main/resources/mapper/XhpcWorkTypeDictMapper.xml new file mode 100644 index 00000000..50783906 --- /dev/null +++ b/xhpc-modules/xhpc-workorder/src/main/resources/mapper/XhpcWorkTypeDictMapper.xml @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + work_type_id, name, sort, parent_type_id, `status`, del_flag, tenant_id, + create_time, create_by, update_time, update_by + + + + + + + + + + + + + update xhpc_work_type_dict set del_flag=2 + where work_type_id = #{workTypeId,jdbcType=INTEGER} + + + insert into xhpc_work_type_dict (name, sort, + parent_type_id, `status`, del_flag, + tenant_id, create_time, create_by, + update_time, update_by) + values (#{name,jdbcType=VARCHAR}, #{sort,jdbcType=SMALLINT}, + #{parentTypeId,jdbcType=INTEGER}, #{status,jdbcType=SMALLINT}, 0, + #{tenantId,jdbcType=VARCHAR}, SYSDATE(), #{createBy,jdbcType=VARCHAR}, + SYSDATE(), #{updateBy,jdbcType=VARCHAR}) + + + insert into xhpc_work_type_dict + + + name, + + + sort, + + + parent_type_id, + + + `status`, + + del_flag, + + tenant_id, + + create_time, + + create_by, + + update_time, + + update_by, + + + + + #{name,jdbcType=VARCHAR}, + + + #{sort,jdbcType=SMALLINT}, + + + #{parentTypeId,jdbcType=INTEGER}, + + + #{status,jdbcType=SMALLINT}, + + 0, + + #{tenantId,jdbcType=VARCHAR}, + + SYSDATE(), + + #{createBy,jdbcType=VARCHAR}, + + SYSDATE(), + + #{updateBy,jdbcType=VARCHAR}, + + + + + update xhpc_work_type_dict + + + name = #{name,jdbcType=VARCHAR}, + + + sort = #{sort,jdbcType=SMALLINT}, + + + parent_type_id = #{parentTypeId,jdbcType=INTEGER}, + + + `status` = #{status,jdbcType=SMALLINT}, + + + tenant_id = #{tenantId,jdbcType=VARCHAR}, + + update_time = SYSDATE(), + + update_by = #{updateBy,jdbcType=VARCHAR}, + + + where work_type_id = #{workTypeId,jdbcType=INTEGER} + + + update xhpc_work_type_dict + set name = #{name,jdbcType=VARCHAR}, + sort = #{sort,jdbcType=SMALLINT}, + parent_type_id = #{parentTypeId,jdbcType=INTEGER}, + `status` = #{status,jdbcType=SMALLINT}, + tenant_id = #{tenantId,jdbcType=VARCHAR}, + update_time = SYSDATE(), + update_by = #{updateBy,jdbcType=VARCHAR} + where work_type_id = #{workTypeId,jdbcType=INTEGER} + + \ No newline at end of file