diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java new file mode 100644 index 0000000..9f0a90c --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemLocation; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-安装位置管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemLocationMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java new file mode 100644 index 0000000..9f0a90c --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemLocation; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-安装位置管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemLocationMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java new file mode 100644 index 0000000..9431d8d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemPosition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-岗位管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemPositionMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java new file mode 100644 index 0000000..9f0a90c --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemLocation; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-安装位置管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemLocationMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java new file mode 100644 index 0000000..9431d8d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemPosition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-岗位管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemPositionMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml new file mode 100644 index 0000000..aceaed6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_id, install_location, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java new file mode 100644 index 0000000..9f0a90c --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemLocation; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-安装位置管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemLocationMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java new file mode 100644 index 0000000..9431d8d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemPosition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-岗位管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemPositionMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml new file mode 100644 index 0000000..aceaed6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_id, install_location, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml new file mode 100644 index 0000000..b225e47 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_name, remarks, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java new file mode 100644 index 0000000..9f0a90c --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemLocation; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-安装位置管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemLocationMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java new file mode 100644 index 0000000..9431d8d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemPosition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-岗位管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemPositionMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml new file mode 100644 index 0000000..aceaed6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_id, install_location, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml new file mode 100644 index 0000000..b225e47 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_name, remarks, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java new file mode 100644 index 0000000..e314003 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java @@ -0,0 +1,18 @@ +package com.casic.missiles.controller.system; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 受检系统-系统管理-安装位置管理 前端控制器 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@RestController +@RequestMapping("/system-location") +public class SystemLocationController { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java new file mode 100644 index 0000000..9f0a90c --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemLocation; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-安装位置管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemLocationMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java new file mode 100644 index 0000000..9431d8d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemPosition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-岗位管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemPositionMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml new file mode 100644 index 0000000..aceaed6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_id, install_location, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml new file mode 100644 index 0000000..b225e47 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_name, remarks, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java new file mode 100644 index 0000000..e314003 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java @@ -0,0 +1,18 @@ +package com.casic.missiles.controller.system; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 受检系统-系统管理-安装位置管理 前端控制器 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@RestController +@RequestMapping("/system-location") +public class SystemLocationController { + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java new file mode 100644 index 0000000..f9e2f91 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.controller.system; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.system.SystemPosition; +import com.casic.missiles.service.system.ISystemPositionService; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 受检系统-系统管理-岗位管理 前端控制器 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Api(tags = "岗位管理") +@RestController +@RequestMapping("/system/position") +@RequiredArgsConstructor +public class SystemPositionController { + + private final ISystemPositionService positionService; + + @PostMapping("add") + public ReturnDTO add(@RequestBody SystemPosition systemPosition){ + positionService.add(systemPosition); + return ReturnUtil.success(); + } + + @PostMapping("update") + public ReturnDTO update(@RequestBody SystemPosition systemPosition){ + positionService.update(systemPosition); + return ReturnUtil.success(); + } + + @PostMapping("delete") + public ReturnDTO delete(@RequestBody SystemPosition systemPosition){ + positionService.delete(systemPosition); + return ReturnUtil.success(); + } + + @GetMapping("listPage") + public ReturnDTO listPage(Long searchId,String positionName){ + Page page = PageFactory.defaultPage(); + positionService.listPage(page,searchId,positionName); + return ReturnUtil.success(); + } + + @GetMapping("list") + public ReturnDTO list(Long searchId,String positionName){ + positionService.list(searchId,positionName); + return ReturnUtil.success(); + } + + + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java new file mode 100644 index 0000000..9f0a90c --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemLocation; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-安装位置管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemLocationMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java new file mode 100644 index 0000000..9431d8d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemPosition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-岗位管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemPositionMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml new file mode 100644 index 0000000..aceaed6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_id, install_location, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml new file mode 100644 index 0000000..b225e47 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_name, remarks, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java new file mode 100644 index 0000000..e314003 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java @@ -0,0 +1,18 @@ +package com.casic.missiles.controller.system; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 受检系统-系统管理-安装位置管理 前端控制器 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@RestController +@RequestMapping("/system-location") +public class SystemLocationController { + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java new file mode 100644 index 0000000..f9e2f91 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.controller.system; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.system.SystemPosition; +import com.casic.missiles.service.system.ISystemPositionService; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 受检系统-系统管理-岗位管理 前端控制器 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Api(tags = "岗位管理") +@RestController +@RequestMapping("/system/position") +@RequiredArgsConstructor +public class SystemPositionController { + + private final ISystemPositionService positionService; + + @PostMapping("add") + public ReturnDTO add(@RequestBody SystemPosition systemPosition){ + positionService.add(systemPosition); + return ReturnUtil.success(); + } + + @PostMapping("update") + public ReturnDTO update(@RequestBody SystemPosition systemPosition){ + positionService.update(systemPosition); + return ReturnUtil.success(); + } + + @PostMapping("delete") + public ReturnDTO delete(@RequestBody SystemPosition systemPosition){ + positionService.delete(systemPosition); + return ReturnUtil.success(); + } + + @GetMapping("listPage") + public ReturnDTO listPage(Long searchId,String positionName){ + Page page = PageFactory.defaultPage(); + positionService.listPage(page,searchId,positionName); + return ReturnUtil.success(); + } + + @GetMapping("list") + public ReturnDTO list(Long searchId,String positionName){ + positionService.list(searchId,positionName); + return ReturnUtil.success(); + } + + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java new file mode 100644 index 0000000..d495e2e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java @@ -0,0 +1,114 @@ +package com.casic.missiles.model.system; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 受检系统-系统管理-安装位置管理 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Getter +@Setter +@TableName("eqpt_system_location") +public class SystemLocation implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId("id") + private Long id; + + /** + * 所在单位id + */ + @ApiModelProperty("所在单位id") + @TableField("company_id") + private Long companyId; + + @ApiModelProperty("所在单位名称") + @TableField(exist = false) + private String companyName; + + /** + * 使用部门id + */ + @ApiModelProperty("使用部门id") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty("使用部门名称") + @TableField(exist = false) + private String deptName; + + /** + * 分系统id + */ + @ApiModelProperty(value = "分系统id(新增/编辑时传)",required = true) + @TableField("sub_system_id") + private Long subSystemId; + + @ApiModelProperty("分系统名称") + @TableField(exist = false) + private String subSystemName; + + /** + * 使用岗位id + */ + @ApiModelProperty("岗位ID") + @TableField("position_id") + private Long positionId; + + /** + * 使用岗位名称 + */ + @ApiModelProperty("岗位名称") + @TableField(exist = false) + private String positionName; + + /** + * 安装位置 + */ + @TableField("install_location") + private String installLocation; + + /** + * 创建人员 + */ + @TableField("create_user") + private Long createUser; + + /** + * 更新人员 + */ + @TableField("update_user") + private Long updateUser; + + /** + * 创建时间 + */ + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java new file mode 100644 index 0000000..9f0a90c --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemLocation; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-安装位置管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemLocationMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java new file mode 100644 index 0000000..9431d8d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemPosition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-岗位管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemPositionMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml new file mode 100644 index 0000000..aceaed6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_id, install_location, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml new file mode 100644 index 0000000..b225e47 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_name, remarks, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java new file mode 100644 index 0000000..e314003 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java @@ -0,0 +1,18 @@ +package com.casic.missiles.controller.system; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 受检系统-系统管理-安装位置管理 前端控制器 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@RestController +@RequestMapping("/system-location") +public class SystemLocationController { + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java new file mode 100644 index 0000000..f9e2f91 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.controller.system; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.system.SystemPosition; +import com.casic.missiles.service.system.ISystemPositionService; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 受检系统-系统管理-岗位管理 前端控制器 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Api(tags = "岗位管理") +@RestController +@RequestMapping("/system/position") +@RequiredArgsConstructor +public class SystemPositionController { + + private final ISystemPositionService positionService; + + @PostMapping("add") + public ReturnDTO add(@RequestBody SystemPosition systemPosition){ + positionService.add(systemPosition); + return ReturnUtil.success(); + } + + @PostMapping("update") + public ReturnDTO update(@RequestBody SystemPosition systemPosition){ + positionService.update(systemPosition); + return ReturnUtil.success(); + } + + @PostMapping("delete") + public ReturnDTO delete(@RequestBody SystemPosition systemPosition){ + positionService.delete(systemPosition); + return ReturnUtil.success(); + } + + @GetMapping("listPage") + public ReturnDTO listPage(Long searchId,String positionName){ + Page page = PageFactory.defaultPage(); + positionService.listPage(page,searchId,positionName); + return ReturnUtil.success(); + } + + @GetMapping("list") + public ReturnDTO list(Long searchId,String positionName){ + positionService.list(searchId,positionName); + return ReturnUtil.success(); + } + + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java new file mode 100644 index 0000000..d495e2e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java @@ -0,0 +1,114 @@ +package com.casic.missiles.model.system; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 受检系统-系统管理-安装位置管理 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Getter +@Setter +@TableName("eqpt_system_location") +public class SystemLocation implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId("id") + private Long id; + + /** + * 所在单位id + */ + @ApiModelProperty("所在单位id") + @TableField("company_id") + private Long companyId; + + @ApiModelProperty("所在单位名称") + @TableField(exist = false) + private String companyName; + + /** + * 使用部门id + */ + @ApiModelProperty("使用部门id") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty("使用部门名称") + @TableField(exist = false) + private String deptName; + + /** + * 分系统id + */ + @ApiModelProperty(value = "分系统id(新增/编辑时传)",required = true) + @TableField("sub_system_id") + private Long subSystemId; + + @ApiModelProperty("分系统名称") + @TableField(exist = false) + private String subSystemName; + + /** + * 使用岗位id + */ + @ApiModelProperty("岗位ID") + @TableField("position_id") + private Long positionId; + + /** + * 使用岗位名称 + */ + @ApiModelProperty("岗位名称") + @TableField(exist = false) + private String positionName; + + /** + * 安装位置 + */ + @TableField("install_location") + private String installLocation; + + /** + * 创建人员 + */ + @TableField("create_user") + private Long createUser; + + /** + * 更新人员 + */ + @TableField("update_user") + private Long updateUser; + + /** + * 创建时间 + */ + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemPosition.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemPosition.java new file mode 100644 index 0000000..ae21c3f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemPosition.java @@ -0,0 +1,105 @@ +package com.casic.missiles.model.system; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 受检系统-系统管理-岗位管理 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Getter +@Setter +@TableName("eqpt_system_position") +public class SystemPosition implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId("id") + private Long id; + + /** + * 所在单位id + */ + @ApiModelProperty("所在单位id") + @TableField("company_id") + private Long companyId; + + @ApiModelProperty("所在单位名称") + @TableField(exist = false) + private String companyName; + + /** + * 使用部门id + */ + @ApiModelProperty("使用部门id") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty("使用部门名称") + @TableField(exist = false) + private String deptName; + + /** + * 分系统id + */ + @ApiModelProperty(value = "分系统id(新增/编辑时传)",required = true) + @TableField("sub_system_id") + private Long subSystemId; + + @ApiModelProperty("分系统名称") + @TableField(exist = false) + private String subSystemName; + + /** + * 使用岗位名称 + */ + @ApiModelProperty("岗位名称") + @TableField("position_name") + private String positionName; + + @ApiModelProperty("备注") + @TableField("remarks") + private String remarks; + + /** + * 创建人员 + */ + @TableField("create_user") + private Long createUser; + + /** + * 更新人员 + */ + @TableField("update_user") + private Long updateUser; + + /** + * 创建时间 + */ + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java new file mode 100644 index 0000000..9f0a90c --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemLocation; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-安装位置管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemLocationMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java new file mode 100644 index 0000000..9431d8d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemPosition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-岗位管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemPositionMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml new file mode 100644 index 0000000..aceaed6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_id, install_location, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml new file mode 100644 index 0000000..b225e47 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_name, remarks, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java new file mode 100644 index 0000000..e314003 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java @@ -0,0 +1,18 @@ +package com.casic.missiles.controller.system; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 受检系统-系统管理-安装位置管理 前端控制器 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@RestController +@RequestMapping("/system-location") +public class SystemLocationController { + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java new file mode 100644 index 0000000..f9e2f91 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.controller.system; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.system.SystemPosition; +import com.casic.missiles.service.system.ISystemPositionService; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 受检系统-系统管理-岗位管理 前端控制器 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Api(tags = "岗位管理") +@RestController +@RequestMapping("/system/position") +@RequiredArgsConstructor +public class SystemPositionController { + + private final ISystemPositionService positionService; + + @PostMapping("add") + public ReturnDTO add(@RequestBody SystemPosition systemPosition){ + positionService.add(systemPosition); + return ReturnUtil.success(); + } + + @PostMapping("update") + public ReturnDTO update(@RequestBody SystemPosition systemPosition){ + positionService.update(systemPosition); + return ReturnUtil.success(); + } + + @PostMapping("delete") + public ReturnDTO delete(@RequestBody SystemPosition systemPosition){ + positionService.delete(systemPosition); + return ReturnUtil.success(); + } + + @GetMapping("listPage") + public ReturnDTO listPage(Long searchId,String positionName){ + Page page = PageFactory.defaultPage(); + positionService.listPage(page,searchId,positionName); + return ReturnUtil.success(); + } + + @GetMapping("list") + public ReturnDTO list(Long searchId,String positionName){ + positionService.list(searchId,positionName); + return ReturnUtil.success(); + } + + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java new file mode 100644 index 0000000..d495e2e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java @@ -0,0 +1,114 @@ +package com.casic.missiles.model.system; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 受检系统-系统管理-安装位置管理 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Getter +@Setter +@TableName("eqpt_system_location") +public class SystemLocation implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId("id") + private Long id; + + /** + * 所在单位id + */ + @ApiModelProperty("所在单位id") + @TableField("company_id") + private Long companyId; + + @ApiModelProperty("所在单位名称") + @TableField(exist = false) + private String companyName; + + /** + * 使用部门id + */ + @ApiModelProperty("使用部门id") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty("使用部门名称") + @TableField(exist = false) + private String deptName; + + /** + * 分系统id + */ + @ApiModelProperty(value = "分系统id(新增/编辑时传)",required = true) + @TableField("sub_system_id") + private Long subSystemId; + + @ApiModelProperty("分系统名称") + @TableField(exist = false) + private String subSystemName; + + /** + * 使用岗位id + */ + @ApiModelProperty("岗位ID") + @TableField("position_id") + private Long positionId; + + /** + * 使用岗位名称 + */ + @ApiModelProperty("岗位名称") + @TableField(exist = false) + private String positionName; + + /** + * 安装位置 + */ + @TableField("install_location") + private String installLocation; + + /** + * 创建人员 + */ + @TableField("create_user") + private Long createUser; + + /** + * 更新人员 + */ + @TableField("update_user") + private Long updateUser; + + /** + * 创建时间 + */ + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemPosition.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemPosition.java new file mode 100644 index 0000000..ae21c3f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemPosition.java @@ -0,0 +1,105 @@ +package com.casic.missiles.model.system; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 受检系统-系统管理-岗位管理 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Getter +@Setter +@TableName("eqpt_system_position") +public class SystemPosition implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId("id") + private Long id; + + /** + * 所在单位id + */ + @ApiModelProperty("所在单位id") + @TableField("company_id") + private Long companyId; + + @ApiModelProperty("所在单位名称") + @TableField(exist = false) + private String companyName; + + /** + * 使用部门id + */ + @ApiModelProperty("使用部门id") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty("使用部门名称") + @TableField(exist = false) + private String deptName; + + /** + * 分系统id + */ + @ApiModelProperty(value = "分系统id(新增/编辑时传)",required = true) + @TableField("sub_system_id") + private Long subSystemId; + + @ApiModelProperty("分系统名称") + @TableField(exist = false) + private String subSystemName; + + /** + * 使用岗位名称 + */ + @ApiModelProperty("岗位名称") + @TableField("position_name") + private String positionName; + + @ApiModelProperty("备注") + @TableField("remarks") + private String remarks; + + /** + * 创建人员 + */ + @TableField("create_user") + private Long createUser; + + /** + * 更新人员 + */ + @TableField("update_user") + private Long updateUser; + + /** + * 创建时间 + */ + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java new file mode 100644 index 0000000..c77c548 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java @@ -0,0 +1,135 @@ +package com.casic.missiles.service.impl.system; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.service.AbstractAuthService; +import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.equipment.EquipmentInfoApproval; +import com.casic.missiles.model.system.SystemLocation; +import com.casic.missiles.mapper.system.SystemLocationMapper; +import com.casic.missiles.model.system.SystemLocation; +import com.casic.missiles.modular.system.model.Dept; +import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.system.ISystemLocationService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.system.ISystemPositionService; +import lombok.RequiredArgsConstructor; +import org.jetbrains.annotations.NotNull; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + *

+ * 受检系统-系统管理-安装位置管理 服务实现类 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Service +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) +public class SystemLocationServiceImpl extends ServiceImpl implements ISystemLocationService { + + private final AbstractDeptService deptService; + private final AbstractAuthService authService; + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentInfoApprovalService equipmentInfoApprovalService; + private final ISystemPositionService positionService; + + @Override + public void add(SystemLocation systemLocation) { + fillLocation(systemLocation); + systemLocation.setCreateUser(authService.getLoginUser().getId()); + systemLocation.setCreateTime(new Date()); + this.save(systemLocation); + } + + private void fillLocation(SystemLocation systemLocation) { + Long subSystemId = systemLocation.getSubSystemId(); + Dept subSystem = deptService.getById(subSystemId); + if(ObjectUtil.isEmpty(subSystem) || subSystem.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + Dept dept = deptService.getById(subSystem.getPid()); + if(ObjectUtil.isEmpty(dept) || dept.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + Dept company = deptService.getById(dept.getPid()); + if(ObjectUtil.isEmpty(company) || company.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + systemLocation.setDeptId(dept.getId()); + systemLocation.setCompanyId(company.getId()); + } + + @Override + public void update(SystemLocation systemLocation) { + fillLocation(systemLocation); + systemLocation.setUpdateUser(authService.getLoginUser().getId()); + systemLocation.setUpdateTime(new Date()); + this.updateById(systemLocation); + } + + @Override + public void delete(SystemLocation systemLocation) { + Long positionId = systemLocation.getId(); + QueryWrapper infoQueryWrapper = new QueryWrapper<>(); + infoQueryWrapper.eq("use_position",positionId); + infoQueryWrapper.eq("is_del","0"); + if(equipmentInfoService.count(infoQueryWrapper) > 0){ + throw new BusinessException(501,"此安装位置与已存在设备绑定,请先删除设备!"); + } + + QueryWrapper approvalQueryWrapper = new QueryWrapper<>(); + approvalQueryWrapper.eq("use_position",positionId); + if(equipmentInfoApprovalService.count(approvalQueryWrapper) > 0){ + throw new BusinessException(501,"此安装位置与已存在设备审批记录绑定,请先删除审批记录!"); + } + this.removeById(positionId); + } + + @Override + public Page listPage(Page page, Long searchId, String positionName) { + QueryWrapper queryWrapper = getQueryWrapper(searchId, positionName); + page = this.page(page, queryWrapper); + page.getRecords().forEach(this::wrapper); + return page; + } + + @Override + public List list(Long searchId, String positionName) { + QueryWrapper queryWrapper = getQueryWrapper(searchId, positionName); + List list = this.list(queryWrapper); + list.forEach(this::wrapper); + return list; + } + + @NotNull + private static QueryWrapper getQueryWrapper(Long searchId, String positionName) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if(StrUtil.isNotEmpty(positionName)){ + queryWrapper.like("position_name", positionName); + } + if(ObjectUtil.isEmpty(searchId)){ + queryWrapper.and(i->i.eq("company_id", searchId) + .or().eq("dept_id", searchId) + .or().eq("sub_system_id", searchId)); + } + return queryWrapper; + } + + private void wrapper(SystemLocation systemLocation){ + systemLocation.setCompanyName(deptService.getDeptName(systemLocation.getCompanyId())); + systemLocation.setDeptName(deptService.getDeptName(systemLocation.getDeptId())); + systemLocation.setSubSystemName(deptService.getDeptName(systemLocation.getSubSystemId())); + systemLocation.setPositionName(positionService.getNameById(systemLocation.getPositionId())); + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java new file mode 100644 index 0000000..9f0a90c --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemLocation; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-安装位置管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemLocationMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java new file mode 100644 index 0000000..9431d8d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemPosition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-岗位管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemPositionMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml new file mode 100644 index 0000000..aceaed6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_id, install_location, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml new file mode 100644 index 0000000..b225e47 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_name, remarks, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java new file mode 100644 index 0000000..e314003 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java @@ -0,0 +1,18 @@ +package com.casic.missiles.controller.system; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 受检系统-系统管理-安装位置管理 前端控制器 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@RestController +@RequestMapping("/system-location") +public class SystemLocationController { + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java new file mode 100644 index 0000000..f9e2f91 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.controller.system; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.system.SystemPosition; +import com.casic.missiles.service.system.ISystemPositionService; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 受检系统-系统管理-岗位管理 前端控制器 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Api(tags = "岗位管理") +@RestController +@RequestMapping("/system/position") +@RequiredArgsConstructor +public class SystemPositionController { + + private final ISystemPositionService positionService; + + @PostMapping("add") + public ReturnDTO add(@RequestBody SystemPosition systemPosition){ + positionService.add(systemPosition); + return ReturnUtil.success(); + } + + @PostMapping("update") + public ReturnDTO update(@RequestBody SystemPosition systemPosition){ + positionService.update(systemPosition); + return ReturnUtil.success(); + } + + @PostMapping("delete") + public ReturnDTO delete(@RequestBody SystemPosition systemPosition){ + positionService.delete(systemPosition); + return ReturnUtil.success(); + } + + @GetMapping("listPage") + public ReturnDTO listPage(Long searchId,String positionName){ + Page page = PageFactory.defaultPage(); + positionService.listPage(page,searchId,positionName); + return ReturnUtil.success(); + } + + @GetMapping("list") + public ReturnDTO list(Long searchId,String positionName){ + positionService.list(searchId,positionName); + return ReturnUtil.success(); + } + + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java new file mode 100644 index 0000000..d495e2e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java @@ -0,0 +1,114 @@ +package com.casic.missiles.model.system; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 受检系统-系统管理-安装位置管理 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Getter +@Setter +@TableName("eqpt_system_location") +public class SystemLocation implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId("id") + private Long id; + + /** + * 所在单位id + */ + @ApiModelProperty("所在单位id") + @TableField("company_id") + private Long companyId; + + @ApiModelProperty("所在单位名称") + @TableField(exist = false) + private String companyName; + + /** + * 使用部门id + */ + @ApiModelProperty("使用部门id") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty("使用部门名称") + @TableField(exist = false) + private String deptName; + + /** + * 分系统id + */ + @ApiModelProperty(value = "分系统id(新增/编辑时传)",required = true) + @TableField("sub_system_id") + private Long subSystemId; + + @ApiModelProperty("分系统名称") + @TableField(exist = false) + private String subSystemName; + + /** + * 使用岗位id + */ + @ApiModelProperty("岗位ID") + @TableField("position_id") + private Long positionId; + + /** + * 使用岗位名称 + */ + @ApiModelProperty("岗位名称") + @TableField(exist = false) + private String positionName; + + /** + * 安装位置 + */ + @TableField("install_location") + private String installLocation; + + /** + * 创建人员 + */ + @TableField("create_user") + private Long createUser; + + /** + * 更新人员 + */ + @TableField("update_user") + private Long updateUser; + + /** + * 创建时间 + */ + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemPosition.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemPosition.java new file mode 100644 index 0000000..ae21c3f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemPosition.java @@ -0,0 +1,105 @@ +package com.casic.missiles.model.system; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 受检系统-系统管理-岗位管理 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Getter +@Setter +@TableName("eqpt_system_position") +public class SystemPosition implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId("id") + private Long id; + + /** + * 所在单位id + */ + @ApiModelProperty("所在单位id") + @TableField("company_id") + private Long companyId; + + @ApiModelProperty("所在单位名称") + @TableField(exist = false) + private String companyName; + + /** + * 使用部门id + */ + @ApiModelProperty("使用部门id") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty("使用部门名称") + @TableField(exist = false) + private String deptName; + + /** + * 分系统id + */ + @ApiModelProperty(value = "分系统id(新增/编辑时传)",required = true) + @TableField("sub_system_id") + private Long subSystemId; + + @ApiModelProperty("分系统名称") + @TableField(exist = false) + private String subSystemName; + + /** + * 使用岗位名称 + */ + @ApiModelProperty("岗位名称") + @TableField("position_name") + private String positionName; + + @ApiModelProperty("备注") + @TableField("remarks") + private String remarks; + + /** + * 创建人员 + */ + @TableField("create_user") + private Long createUser; + + /** + * 更新人员 + */ + @TableField("update_user") + private Long updateUser; + + /** + * 创建时间 + */ + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java new file mode 100644 index 0000000..c77c548 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java @@ -0,0 +1,135 @@ +package com.casic.missiles.service.impl.system; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.service.AbstractAuthService; +import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.equipment.EquipmentInfoApproval; +import com.casic.missiles.model.system.SystemLocation; +import com.casic.missiles.mapper.system.SystemLocationMapper; +import com.casic.missiles.model.system.SystemLocation; +import com.casic.missiles.modular.system.model.Dept; +import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.system.ISystemLocationService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.system.ISystemPositionService; +import lombok.RequiredArgsConstructor; +import org.jetbrains.annotations.NotNull; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + *

+ * 受检系统-系统管理-安装位置管理 服务实现类 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Service +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) +public class SystemLocationServiceImpl extends ServiceImpl implements ISystemLocationService { + + private final AbstractDeptService deptService; + private final AbstractAuthService authService; + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentInfoApprovalService equipmentInfoApprovalService; + private final ISystemPositionService positionService; + + @Override + public void add(SystemLocation systemLocation) { + fillLocation(systemLocation); + systemLocation.setCreateUser(authService.getLoginUser().getId()); + systemLocation.setCreateTime(new Date()); + this.save(systemLocation); + } + + private void fillLocation(SystemLocation systemLocation) { + Long subSystemId = systemLocation.getSubSystemId(); + Dept subSystem = deptService.getById(subSystemId); + if(ObjectUtil.isEmpty(subSystem) || subSystem.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + Dept dept = deptService.getById(subSystem.getPid()); + if(ObjectUtil.isEmpty(dept) || dept.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + Dept company = deptService.getById(dept.getPid()); + if(ObjectUtil.isEmpty(company) || company.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + systemLocation.setDeptId(dept.getId()); + systemLocation.setCompanyId(company.getId()); + } + + @Override + public void update(SystemLocation systemLocation) { + fillLocation(systemLocation); + systemLocation.setUpdateUser(authService.getLoginUser().getId()); + systemLocation.setUpdateTime(new Date()); + this.updateById(systemLocation); + } + + @Override + public void delete(SystemLocation systemLocation) { + Long positionId = systemLocation.getId(); + QueryWrapper infoQueryWrapper = new QueryWrapper<>(); + infoQueryWrapper.eq("use_position",positionId); + infoQueryWrapper.eq("is_del","0"); + if(equipmentInfoService.count(infoQueryWrapper) > 0){ + throw new BusinessException(501,"此安装位置与已存在设备绑定,请先删除设备!"); + } + + QueryWrapper approvalQueryWrapper = new QueryWrapper<>(); + approvalQueryWrapper.eq("use_position",positionId); + if(equipmentInfoApprovalService.count(approvalQueryWrapper) > 0){ + throw new BusinessException(501,"此安装位置与已存在设备审批记录绑定,请先删除审批记录!"); + } + this.removeById(positionId); + } + + @Override + public Page listPage(Page page, Long searchId, String positionName) { + QueryWrapper queryWrapper = getQueryWrapper(searchId, positionName); + page = this.page(page, queryWrapper); + page.getRecords().forEach(this::wrapper); + return page; + } + + @Override + public List list(Long searchId, String positionName) { + QueryWrapper queryWrapper = getQueryWrapper(searchId, positionName); + List list = this.list(queryWrapper); + list.forEach(this::wrapper); + return list; + } + + @NotNull + private static QueryWrapper getQueryWrapper(Long searchId, String positionName) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if(StrUtil.isNotEmpty(positionName)){ + queryWrapper.like("position_name", positionName); + } + if(ObjectUtil.isEmpty(searchId)){ + queryWrapper.and(i->i.eq("company_id", searchId) + .or().eq("dept_id", searchId) + .or().eq("sub_system_id", searchId)); + } + return queryWrapper; + } + + private void wrapper(SystemLocation systemLocation){ + systemLocation.setCompanyName(deptService.getDeptName(systemLocation.getCompanyId())); + systemLocation.setDeptName(deptService.getDeptName(systemLocation.getDeptId())); + systemLocation.setSubSystemName(deptService.getDeptName(systemLocation.getSubSystemId())); + systemLocation.setPositionName(positionService.getNameById(systemLocation.getPositionId())); + } +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java new file mode 100644 index 0000000..1520928 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java @@ -0,0 +1,142 @@ +package com.casic.missiles.service.impl.system; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractAuthService; +import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractUserService; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.equipment.EquipmentInfoApproval; +import com.casic.missiles.model.system.SystemPosition; +import com.casic.missiles.mapper.system.SystemPositionMapper; +import com.casic.missiles.modular.system.model.Dept; +import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.system.ISystemPositionService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.jetbrains.annotations.NotNull; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + *

+ * 受检系统-系统管理-岗位管理 服务实现类 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Service +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) +public class SystemPositionServiceImpl extends ServiceImpl implements ISystemPositionService { + + private final AbstractDeptService deptService; + private final AbstractAuthService authService; + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentInfoApprovalService equipmentInfoApprovalService; + + @Override + public void add(SystemPosition systemPosition) { + fillPosition(systemPosition); + systemPosition.setCreateUser(authService.getLoginUser().getId()); + systemPosition.setCreateTime(new Date()); + this.save(systemPosition); + } + + private void fillPosition(SystemPosition systemPosition) { + Long subSystemId = systemPosition.getSubSystemId(); + Dept subSystem = deptService.getById(subSystemId); + if(ObjectUtil.isEmpty(subSystem) || subSystem.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + Dept dept = deptService.getById(subSystem.getPid()); + if(ObjectUtil.isEmpty(dept) || dept.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + Dept company = deptService.getById(dept.getPid()); + if(ObjectUtil.isEmpty(company) || company.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + systemPosition.setDeptId(dept.getId()); + systemPosition.setCompanyId(company.getId()); + } + + @Override + public void update(SystemPosition systemPosition) { + fillPosition(systemPosition); + systemPosition.setUpdateUser(authService.getLoginUser().getId()); + systemPosition.setUpdateTime(new Date()); + this.updateById(systemPosition); + } + + @Override + public void delete(SystemPosition systemPosition) { + Long positionId = systemPosition.getId(); + QueryWrapper infoQueryWrapper = new QueryWrapper<>(); + infoQueryWrapper.eq("use_position",positionId); + infoQueryWrapper.eq("is_del","0"); + if(equipmentInfoService.count(infoQueryWrapper) > 0){ + throw new BusinessException(501,"此岗位与已存在设备绑定,请先删除设备!"); + } + + QueryWrapper approvalQueryWrapper = new QueryWrapper<>(); + approvalQueryWrapper.eq("use_position",positionId); + if(equipmentInfoApprovalService.count(approvalQueryWrapper) > 0){ + throw new BusinessException(501,"此岗位与已存在设备审批记录绑定,请先删除审批记录!"); + } + this.removeById(positionId); + } + + @Override + public Page listPage(Page page, Long searchId, String positionName) { + QueryWrapper queryWrapper = getQueryWrapper(searchId, positionName); + page = this.page(page, queryWrapper); + page.getRecords().forEach(this::wrapper); + return page; + } + + @Override + public List list(Long searchId, String positionName) { + QueryWrapper queryWrapper = getQueryWrapper(searchId, positionName); + List list = this.list(queryWrapper); + list.forEach(this::wrapper); + return list; + } + + @NotNull + private static QueryWrapper getQueryWrapper(Long searchId, String positionName) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if(StrUtil.isNotEmpty(positionName)){ + queryWrapper.like("position_name", positionName); + } + if(ObjectUtil.isEmpty(searchId)){ + queryWrapper.and(i->i.eq("company_id", searchId) + .or().eq("dept_id", searchId) + .or().eq("sub_system_id", searchId)); + } + return queryWrapper; + } + + private void wrapper(SystemPosition systemPosition){ + systemPosition.setCompanyName(deptService.getDeptName(systemPosition.getCompanyId())); + systemPosition.setDeptName(deptService.getDeptName(systemPosition.getDeptId())); + systemPosition.setSubSystemName(deptService.getDeptName(systemPosition.getSubSystemId())); + } + + @Override + public String getNameById(Long positionId) { + SystemPosition position = this.getById(positionId); + if(ObjectUtil.isNotEmpty(position)){ + return position.getPositionName(); + } + return null; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java new file mode 100644 index 0000000..9f0a90c --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemLocation; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-安装位置管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemLocationMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java new file mode 100644 index 0000000..9431d8d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemPosition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-岗位管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemPositionMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml new file mode 100644 index 0000000..aceaed6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_id, install_location, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml new file mode 100644 index 0000000..b225e47 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_name, remarks, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java new file mode 100644 index 0000000..e314003 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java @@ -0,0 +1,18 @@ +package com.casic.missiles.controller.system; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 受检系统-系统管理-安装位置管理 前端控制器 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@RestController +@RequestMapping("/system-location") +public class SystemLocationController { + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java new file mode 100644 index 0000000..f9e2f91 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.controller.system; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.system.SystemPosition; +import com.casic.missiles.service.system.ISystemPositionService; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 受检系统-系统管理-岗位管理 前端控制器 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Api(tags = "岗位管理") +@RestController +@RequestMapping("/system/position") +@RequiredArgsConstructor +public class SystemPositionController { + + private final ISystemPositionService positionService; + + @PostMapping("add") + public ReturnDTO add(@RequestBody SystemPosition systemPosition){ + positionService.add(systemPosition); + return ReturnUtil.success(); + } + + @PostMapping("update") + public ReturnDTO update(@RequestBody SystemPosition systemPosition){ + positionService.update(systemPosition); + return ReturnUtil.success(); + } + + @PostMapping("delete") + public ReturnDTO delete(@RequestBody SystemPosition systemPosition){ + positionService.delete(systemPosition); + return ReturnUtil.success(); + } + + @GetMapping("listPage") + public ReturnDTO listPage(Long searchId,String positionName){ + Page page = PageFactory.defaultPage(); + positionService.listPage(page,searchId,positionName); + return ReturnUtil.success(); + } + + @GetMapping("list") + public ReturnDTO list(Long searchId,String positionName){ + positionService.list(searchId,positionName); + return ReturnUtil.success(); + } + + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java new file mode 100644 index 0000000..d495e2e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java @@ -0,0 +1,114 @@ +package com.casic.missiles.model.system; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 受检系统-系统管理-安装位置管理 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Getter +@Setter +@TableName("eqpt_system_location") +public class SystemLocation implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId("id") + private Long id; + + /** + * 所在单位id + */ + @ApiModelProperty("所在单位id") + @TableField("company_id") + private Long companyId; + + @ApiModelProperty("所在单位名称") + @TableField(exist = false) + private String companyName; + + /** + * 使用部门id + */ + @ApiModelProperty("使用部门id") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty("使用部门名称") + @TableField(exist = false) + private String deptName; + + /** + * 分系统id + */ + @ApiModelProperty(value = "分系统id(新增/编辑时传)",required = true) + @TableField("sub_system_id") + private Long subSystemId; + + @ApiModelProperty("分系统名称") + @TableField(exist = false) + private String subSystemName; + + /** + * 使用岗位id + */ + @ApiModelProperty("岗位ID") + @TableField("position_id") + private Long positionId; + + /** + * 使用岗位名称 + */ + @ApiModelProperty("岗位名称") + @TableField(exist = false) + private String positionName; + + /** + * 安装位置 + */ + @TableField("install_location") + private String installLocation; + + /** + * 创建人员 + */ + @TableField("create_user") + private Long createUser; + + /** + * 更新人员 + */ + @TableField("update_user") + private Long updateUser; + + /** + * 创建时间 + */ + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemPosition.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemPosition.java new file mode 100644 index 0000000..ae21c3f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemPosition.java @@ -0,0 +1,105 @@ +package com.casic.missiles.model.system; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 受检系统-系统管理-岗位管理 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Getter +@Setter +@TableName("eqpt_system_position") +public class SystemPosition implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId("id") + private Long id; + + /** + * 所在单位id + */ + @ApiModelProperty("所在单位id") + @TableField("company_id") + private Long companyId; + + @ApiModelProperty("所在单位名称") + @TableField(exist = false) + private String companyName; + + /** + * 使用部门id + */ + @ApiModelProperty("使用部门id") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty("使用部门名称") + @TableField(exist = false) + private String deptName; + + /** + * 分系统id + */ + @ApiModelProperty(value = "分系统id(新增/编辑时传)",required = true) + @TableField("sub_system_id") + private Long subSystemId; + + @ApiModelProperty("分系统名称") + @TableField(exist = false) + private String subSystemName; + + /** + * 使用岗位名称 + */ + @ApiModelProperty("岗位名称") + @TableField("position_name") + private String positionName; + + @ApiModelProperty("备注") + @TableField("remarks") + private String remarks; + + /** + * 创建人员 + */ + @TableField("create_user") + private Long createUser; + + /** + * 更新人员 + */ + @TableField("update_user") + private Long updateUser; + + /** + * 创建时间 + */ + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java new file mode 100644 index 0000000..c77c548 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java @@ -0,0 +1,135 @@ +package com.casic.missiles.service.impl.system; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.service.AbstractAuthService; +import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.equipment.EquipmentInfoApproval; +import com.casic.missiles.model.system.SystemLocation; +import com.casic.missiles.mapper.system.SystemLocationMapper; +import com.casic.missiles.model.system.SystemLocation; +import com.casic.missiles.modular.system.model.Dept; +import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.system.ISystemLocationService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.system.ISystemPositionService; +import lombok.RequiredArgsConstructor; +import org.jetbrains.annotations.NotNull; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + *

+ * 受检系统-系统管理-安装位置管理 服务实现类 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Service +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) +public class SystemLocationServiceImpl extends ServiceImpl implements ISystemLocationService { + + private final AbstractDeptService deptService; + private final AbstractAuthService authService; + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentInfoApprovalService equipmentInfoApprovalService; + private final ISystemPositionService positionService; + + @Override + public void add(SystemLocation systemLocation) { + fillLocation(systemLocation); + systemLocation.setCreateUser(authService.getLoginUser().getId()); + systemLocation.setCreateTime(new Date()); + this.save(systemLocation); + } + + private void fillLocation(SystemLocation systemLocation) { + Long subSystemId = systemLocation.getSubSystemId(); + Dept subSystem = deptService.getById(subSystemId); + if(ObjectUtil.isEmpty(subSystem) || subSystem.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + Dept dept = deptService.getById(subSystem.getPid()); + if(ObjectUtil.isEmpty(dept) || dept.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + Dept company = deptService.getById(dept.getPid()); + if(ObjectUtil.isEmpty(company) || company.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + systemLocation.setDeptId(dept.getId()); + systemLocation.setCompanyId(company.getId()); + } + + @Override + public void update(SystemLocation systemLocation) { + fillLocation(systemLocation); + systemLocation.setUpdateUser(authService.getLoginUser().getId()); + systemLocation.setUpdateTime(new Date()); + this.updateById(systemLocation); + } + + @Override + public void delete(SystemLocation systemLocation) { + Long positionId = systemLocation.getId(); + QueryWrapper infoQueryWrapper = new QueryWrapper<>(); + infoQueryWrapper.eq("use_position",positionId); + infoQueryWrapper.eq("is_del","0"); + if(equipmentInfoService.count(infoQueryWrapper) > 0){ + throw new BusinessException(501,"此安装位置与已存在设备绑定,请先删除设备!"); + } + + QueryWrapper approvalQueryWrapper = new QueryWrapper<>(); + approvalQueryWrapper.eq("use_position",positionId); + if(equipmentInfoApprovalService.count(approvalQueryWrapper) > 0){ + throw new BusinessException(501,"此安装位置与已存在设备审批记录绑定,请先删除审批记录!"); + } + this.removeById(positionId); + } + + @Override + public Page listPage(Page page, Long searchId, String positionName) { + QueryWrapper queryWrapper = getQueryWrapper(searchId, positionName); + page = this.page(page, queryWrapper); + page.getRecords().forEach(this::wrapper); + return page; + } + + @Override + public List list(Long searchId, String positionName) { + QueryWrapper queryWrapper = getQueryWrapper(searchId, positionName); + List list = this.list(queryWrapper); + list.forEach(this::wrapper); + return list; + } + + @NotNull + private static QueryWrapper getQueryWrapper(Long searchId, String positionName) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if(StrUtil.isNotEmpty(positionName)){ + queryWrapper.like("position_name", positionName); + } + if(ObjectUtil.isEmpty(searchId)){ + queryWrapper.and(i->i.eq("company_id", searchId) + .or().eq("dept_id", searchId) + .or().eq("sub_system_id", searchId)); + } + return queryWrapper; + } + + private void wrapper(SystemLocation systemLocation){ + systemLocation.setCompanyName(deptService.getDeptName(systemLocation.getCompanyId())); + systemLocation.setDeptName(deptService.getDeptName(systemLocation.getDeptId())); + systemLocation.setSubSystemName(deptService.getDeptName(systemLocation.getSubSystemId())); + systemLocation.setPositionName(positionService.getNameById(systemLocation.getPositionId())); + } +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java new file mode 100644 index 0000000..1520928 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java @@ -0,0 +1,142 @@ +package com.casic.missiles.service.impl.system; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractAuthService; +import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractUserService; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.equipment.EquipmentInfoApproval; +import com.casic.missiles.model.system.SystemPosition; +import com.casic.missiles.mapper.system.SystemPositionMapper; +import com.casic.missiles.modular.system.model.Dept; +import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.system.ISystemPositionService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.jetbrains.annotations.NotNull; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + *

+ * 受检系统-系统管理-岗位管理 服务实现类 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Service +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) +public class SystemPositionServiceImpl extends ServiceImpl implements ISystemPositionService { + + private final AbstractDeptService deptService; + private final AbstractAuthService authService; + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentInfoApprovalService equipmentInfoApprovalService; + + @Override + public void add(SystemPosition systemPosition) { + fillPosition(systemPosition); + systemPosition.setCreateUser(authService.getLoginUser().getId()); + systemPosition.setCreateTime(new Date()); + this.save(systemPosition); + } + + private void fillPosition(SystemPosition systemPosition) { + Long subSystemId = systemPosition.getSubSystemId(); + Dept subSystem = deptService.getById(subSystemId); + if(ObjectUtil.isEmpty(subSystem) || subSystem.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + Dept dept = deptService.getById(subSystem.getPid()); + if(ObjectUtil.isEmpty(dept) || dept.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + Dept company = deptService.getById(dept.getPid()); + if(ObjectUtil.isEmpty(company) || company.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + systemPosition.setDeptId(dept.getId()); + systemPosition.setCompanyId(company.getId()); + } + + @Override + public void update(SystemPosition systemPosition) { + fillPosition(systemPosition); + systemPosition.setUpdateUser(authService.getLoginUser().getId()); + systemPosition.setUpdateTime(new Date()); + this.updateById(systemPosition); + } + + @Override + public void delete(SystemPosition systemPosition) { + Long positionId = systemPosition.getId(); + QueryWrapper infoQueryWrapper = new QueryWrapper<>(); + infoQueryWrapper.eq("use_position",positionId); + infoQueryWrapper.eq("is_del","0"); + if(equipmentInfoService.count(infoQueryWrapper) > 0){ + throw new BusinessException(501,"此岗位与已存在设备绑定,请先删除设备!"); + } + + QueryWrapper approvalQueryWrapper = new QueryWrapper<>(); + approvalQueryWrapper.eq("use_position",positionId); + if(equipmentInfoApprovalService.count(approvalQueryWrapper) > 0){ + throw new BusinessException(501,"此岗位与已存在设备审批记录绑定,请先删除审批记录!"); + } + this.removeById(positionId); + } + + @Override + public Page listPage(Page page, Long searchId, String positionName) { + QueryWrapper queryWrapper = getQueryWrapper(searchId, positionName); + page = this.page(page, queryWrapper); + page.getRecords().forEach(this::wrapper); + return page; + } + + @Override + public List list(Long searchId, String positionName) { + QueryWrapper queryWrapper = getQueryWrapper(searchId, positionName); + List list = this.list(queryWrapper); + list.forEach(this::wrapper); + return list; + } + + @NotNull + private static QueryWrapper getQueryWrapper(Long searchId, String positionName) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if(StrUtil.isNotEmpty(positionName)){ + queryWrapper.like("position_name", positionName); + } + if(ObjectUtil.isEmpty(searchId)){ + queryWrapper.and(i->i.eq("company_id", searchId) + .or().eq("dept_id", searchId) + .or().eq("sub_system_id", searchId)); + } + return queryWrapper; + } + + private void wrapper(SystemPosition systemPosition){ + systemPosition.setCompanyName(deptService.getDeptName(systemPosition.getCompanyId())); + systemPosition.setDeptName(deptService.getDeptName(systemPosition.getDeptId())); + systemPosition.setSubSystemName(deptService.getDeptName(systemPosition.getSubSystemId())); + } + + @Override + public String getNameById(Long positionId) { + SystemPosition position = this.getById(positionId); + if(ObjectUtil.isNotEmpty(position)){ + return position.getPositionName(); + } + return null; + } +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemLocationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemLocationService.java new file mode 100644 index 0000000..8d14dc8 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemLocationService.java @@ -0,0 +1,30 @@ +package com.casic.missiles.service.system; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.system.SystemLocation; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.system.SystemLocation; + +import java.util.List; + +/** + *

+ * 受检系统-系统管理-安装位置管理 服务类 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface ISystemLocationService extends IService { + + void add(SystemLocation systemLocation); + + void update(SystemLocation systemLocation); + + void delete(SystemLocation systemLocation); + + Page listPage(Page page, Long searchId, String positionName); + + List list(Long searchId, String positionName); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java new file mode 100644 index 0000000..9f0a90c --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemLocationMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemLocation; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-安装位置管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemLocationMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java new file mode 100644 index 0000000..9431d8d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemPositionMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.system; + +import com.casic.missiles.model.system.SystemPosition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 受检系统-系统管理-岗位管理 Mapper 接口 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface SystemPositionMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml new file mode 100644 index 0000000..aceaed6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemLocationMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_id, install_location, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml new file mode 100644 index 0000000..b225e47 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemPositionMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, company_id, dept_id, sub_system_id, position_name, remarks, create_user, update_user, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java new file mode 100644 index 0000000..e314003 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemLocationController.java @@ -0,0 +1,18 @@ +package com.casic.missiles.controller.system; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 受检系统-系统管理-安装位置管理 前端控制器 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@RestController +@RequestMapping("/system-location") +public class SystemLocationController { + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java new file mode 100644 index 0000000..f9e2f91 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemPositionController.java @@ -0,0 +1,62 @@ +package com.casic.missiles.controller.system; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.system.SystemPosition; +import com.casic.missiles.service.system.ISystemPositionService; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 受检系统-系统管理-岗位管理 前端控制器 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Api(tags = "岗位管理") +@RestController +@RequestMapping("/system/position") +@RequiredArgsConstructor +public class SystemPositionController { + + private final ISystemPositionService positionService; + + @PostMapping("add") + public ReturnDTO add(@RequestBody SystemPosition systemPosition){ + positionService.add(systemPosition); + return ReturnUtil.success(); + } + + @PostMapping("update") + public ReturnDTO update(@RequestBody SystemPosition systemPosition){ + positionService.update(systemPosition); + return ReturnUtil.success(); + } + + @PostMapping("delete") + public ReturnDTO delete(@RequestBody SystemPosition systemPosition){ + positionService.delete(systemPosition); + return ReturnUtil.success(); + } + + @GetMapping("listPage") + public ReturnDTO listPage(Long searchId,String positionName){ + Page page = PageFactory.defaultPage(); + positionService.listPage(page,searchId,positionName); + return ReturnUtil.success(); + } + + @GetMapping("list") + public ReturnDTO list(Long searchId,String positionName){ + positionService.list(searchId,positionName); + return ReturnUtil.success(); + } + + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java new file mode 100644 index 0000000..d495e2e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemLocation.java @@ -0,0 +1,114 @@ +package com.casic.missiles.model.system; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 受检系统-系统管理-安装位置管理 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Getter +@Setter +@TableName("eqpt_system_location") +public class SystemLocation implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId("id") + private Long id; + + /** + * 所在单位id + */ + @ApiModelProperty("所在单位id") + @TableField("company_id") + private Long companyId; + + @ApiModelProperty("所在单位名称") + @TableField(exist = false) + private String companyName; + + /** + * 使用部门id + */ + @ApiModelProperty("使用部门id") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty("使用部门名称") + @TableField(exist = false) + private String deptName; + + /** + * 分系统id + */ + @ApiModelProperty(value = "分系统id(新增/编辑时传)",required = true) + @TableField("sub_system_id") + private Long subSystemId; + + @ApiModelProperty("分系统名称") + @TableField(exist = false) + private String subSystemName; + + /** + * 使用岗位id + */ + @ApiModelProperty("岗位ID") + @TableField("position_id") + private Long positionId; + + /** + * 使用岗位名称 + */ + @ApiModelProperty("岗位名称") + @TableField(exist = false) + private String positionName; + + /** + * 安装位置 + */ + @TableField("install_location") + private String installLocation; + + /** + * 创建人员 + */ + @TableField("create_user") + private Long createUser; + + /** + * 更新人员 + */ + @TableField("update_user") + private Long updateUser; + + /** + * 创建时间 + */ + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemPosition.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemPosition.java new file mode 100644 index 0000000..ae21c3f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemPosition.java @@ -0,0 +1,105 @@ +package com.casic.missiles.model.system; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 受检系统-系统管理-岗位管理 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Getter +@Setter +@TableName("eqpt_system_position") +public class SystemPosition implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId("id") + private Long id; + + /** + * 所在单位id + */ + @ApiModelProperty("所在单位id") + @TableField("company_id") + private Long companyId; + + @ApiModelProperty("所在单位名称") + @TableField(exist = false) + private String companyName; + + /** + * 使用部门id + */ + @ApiModelProperty("使用部门id") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty("使用部门名称") + @TableField(exist = false) + private String deptName; + + /** + * 分系统id + */ + @ApiModelProperty(value = "分系统id(新增/编辑时传)",required = true) + @TableField("sub_system_id") + private Long subSystemId; + + @ApiModelProperty("分系统名称") + @TableField(exist = false) + private String subSystemName; + + /** + * 使用岗位名称 + */ + @ApiModelProperty("岗位名称") + @TableField("position_name") + private String positionName; + + @ApiModelProperty("备注") + @TableField("remarks") + private String remarks; + + /** + * 创建人员 + */ + @TableField("create_user") + private Long createUser; + + /** + * 更新人员 + */ + @TableField("update_user") + private Long updateUser; + + /** + * 创建时间 + */ + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java new file mode 100644 index 0000000..c77c548 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java @@ -0,0 +1,135 @@ +package com.casic.missiles.service.impl.system; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.service.AbstractAuthService; +import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.equipment.EquipmentInfoApproval; +import com.casic.missiles.model.system.SystemLocation; +import com.casic.missiles.mapper.system.SystemLocationMapper; +import com.casic.missiles.model.system.SystemLocation; +import com.casic.missiles.modular.system.model.Dept; +import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.system.ISystemLocationService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.system.ISystemPositionService; +import lombok.RequiredArgsConstructor; +import org.jetbrains.annotations.NotNull; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + *

+ * 受检系统-系统管理-安装位置管理 服务实现类 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Service +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) +public class SystemLocationServiceImpl extends ServiceImpl implements ISystemLocationService { + + private final AbstractDeptService deptService; + private final AbstractAuthService authService; + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentInfoApprovalService equipmentInfoApprovalService; + private final ISystemPositionService positionService; + + @Override + public void add(SystemLocation systemLocation) { + fillLocation(systemLocation); + systemLocation.setCreateUser(authService.getLoginUser().getId()); + systemLocation.setCreateTime(new Date()); + this.save(systemLocation); + } + + private void fillLocation(SystemLocation systemLocation) { + Long subSystemId = systemLocation.getSubSystemId(); + Dept subSystem = deptService.getById(subSystemId); + if(ObjectUtil.isEmpty(subSystem) || subSystem.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + Dept dept = deptService.getById(subSystem.getPid()); + if(ObjectUtil.isEmpty(dept) || dept.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + Dept company = deptService.getById(dept.getPid()); + if(ObjectUtil.isEmpty(company) || company.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + systemLocation.setDeptId(dept.getId()); + systemLocation.setCompanyId(company.getId()); + } + + @Override + public void update(SystemLocation systemLocation) { + fillLocation(systemLocation); + systemLocation.setUpdateUser(authService.getLoginUser().getId()); + systemLocation.setUpdateTime(new Date()); + this.updateById(systemLocation); + } + + @Override + public void delete(SystemLocation systemLocation) { + Long positionId = systemLocation.getId(); + QueryWrapper infoQueryWrapper = new QueryWrapper<>(); + infoQueryWrapper.eq("use_position",positionId); + infoQueryWrapper.eq("is_del","0"); + if(equipmentInfoService.count(infoQueryWrapper) > 0){ + throw new BusinessException(501,"此安装位置与已存在设备绑定,请先删除设备!"); + } + + QueryWrapper approvalQueryWrapper = new QueryWrapper<>(); + approvalQueryWrapper.eq("use_position",positionId); + if(equipmentInfoApprovalService.count(approvalQueryWrapper) > 0){ + throw new BusinessException(501,"此安装位置与已存在设备审批记录绑定,请先删除审批记录!"); + } + this.removeById(positionId); + } + + @Override + public Page listPage(Page page, Long searchId, String positionName) { + QueryWrapper queryWrapper = getQueryWrapper(searchId, positionName); + page = this.page(page, queryWrapper); + page.getRecords().forEach(this::wrapper); + return page; + } + + @Override + public List list(Long searchId, String positionName) { + QueryWrapper queryWrapper = getQueryWrapper(searchId, positionName); + List list = this.list(queryWrapper); + list.forEach(this::wrapper); + return list; + } + + @NotNull + private static QueryWrapper getQueryWrapper(Long searchId, String positionName) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if(StrUtil.isNotEmpty(positionName)){ + queryWrapper.like("position_name", positionName); + } + if(ObjectUtil.isEmpty(searchId)){ + queryWrapper.and(i->i.eq("company_id", searchId) + .or().eq("dept_id", searchId) + .or().eq("sub_system_id", searchId)); + } + return queryWrapper; + } + + private void wrapper(SystemLocation systemLocation){ + systemLocation.setCompanyName(deptService.getDeptName(systemLocation.getCompanyId())); + systemLocation.setDeptName(deptService.getDeptName(systemLocation.getDeptId())); + systemLocation.setSubSystemName(deptService.getDeptName(systemLocation.getSubSystemId())); + systemLocation.setPositionName(positionService.getNameById(systemLocation.getPositionId())); + } +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java new file mode 100644 index 0000000..1520928 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java @@ -0,0 +1,142 @@ +package com.casic.missiles.service.impl.system; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractAuthService; +import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractUserService; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.equipment.EquipmentInfoApproval; +import com.casic.missiles.model.system.SystemPosition; +import com.casic.missiles.mapper.system.SystemPositionMapper; +import com.casic.missiles.modular.system.model.Dept; +import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.system.ISystemPositionService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.jetbrains.annotations.NotNull; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + *

+ * 受检系统-系统管理-岗位管理 服务实现类 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +@Service +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) +public class SystemPositionServiceImpl extends ServiceImpl implements ISystemPositionService { + + private final AbstractDeptService deptService; + private final AbstractAuthService authService; + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentInfoApprovalService equipmentInfoApprovalService; + + @Override + public void add(SystemPosition systemPosition) { + fillPosition(systemPosition); + systemPosition.setCreateUser(authService.getLoginUser().getId()); + systemPosition.setCreateTime(new Date()); + this.save(systemPosition); + } + + private void fillPosition(SystemPosition systemPosition) { + Long subSystemId = systemPosition.getSubSystemId(); + Dept subSystem = deptService.getById(subSystemId); + if(ObjectUtil.isEmpty(subSystem) || subSystem.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + Dept dept = deptService.getById(subSystem.getPid()); + if(ObjectUtil.isEmpty(dept) || dept.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + Dept company = deptService.getById(dept.getPid()); + if(ObjectUtil.isEmpty(company) || company.getId() <= 0){ + throw new BusinessException(501,"必须选择到分系统"); + } + systemPosition.setDeptId(dept.getId()); + systemPosition.setCompanyId(company.getId()); + } + + @Override + public void update(SystemPosition systemPosition) { + fillPosition(systemPosition); + systemPosition.setUpdateUser(authService.getLoginUser().getId()); + systemPosition.setUpdateTime(new Date()); + this.updateById(systemPosition); + } + + @Override + public void delete(SystemPosition systemPosition) { + Long positionId = systemPosition.getId(); + QueryWrapper infoQueryWrapper = new QueryWrapper<>(); + infoQueryWrapper.eq("use_position",positionId); + infoQueryWrapper.eq("is_del","0"); + if(equipmentInfoService.count(infoQueryWrapper) > 0){ + throw new BusinessException(501,"此岗位与已存在设备绑定,请先删除设备!"); + } + + QueryWrapper approvalQueryWrapper = new QueryWrapper<>(); + approvalQueryWrapper.eq("use_position",positionId); + if(equipmentInfoApprovalService.count(approvalQueryWrapper) > 0){ + throw new BusinessException(501,"此岗位与已存在设备审批记录绑定,请先删除审批记录!"); + } + this.removeById(positionId); + } + + @Override + public Page listPage(Page page, Long searchId, String positionName) { + QueryWrapper queryWrapper = getQueryWrapper(searchId, positionName); + page = this.page(page, queryWrapper); + page.getRecords().forEach(this::wrapper); + return page; + } + + @Override + public List list(Long searchId, String positionName) { + QueryWrapper queryWrapper = getQueryWrapper(searchId, positionName); + List list = this.list(queryWrapper); + list.forEach(this::wrapper); + return list; + } + + @NotNull + private static QueryWrapper getQueryWrapper(Long searchId, String positionName) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if(StrUtil.isNotEmpty(positionName)){ + queryWrapper.like("position_name", positionName); + } + if(ObjectUtil.isEmpty(searchId)){ + queryWrapper.and(i->i.eq("company_id", searchId) + .or().eq("dept_id", searchId) + .or().eq("sub_system_id", searchId)); + } + return queryWrapper; + } + + private void wrapper(SystemPosition systemPosition){ + systemPosition.setCompanyName(deptService.getDeptName(systemPosition.getCompanyId())); + systemPosition.setDeptName(deptService.getDeptName(systemPosition.getDeptId())); + systemPosition.setSubSystemName(deptService.getDeptName(systemPosition.getSubSystemId())); + } + + @Override + public String getNameById(Long positionId) { + SystemPosition position = this.getById(positionId); + if(ObjectUtil.isNotEmpty(position)){ + return position.getPositionName(); + } + return null; + } +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemLocationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemLocationService.java new file mode 100644 index 0000000..8d14dc8 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemLocationService.java @@ -0,0 +1,30 @@ +package com.casic.missiles.service.system; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.system.SystemLocation; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.system.SystemLocation; + +import java.util.List; + +/** + *

+ * 受检系统-系统管理-安装位置管理 服务类 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface ISystemLocationService extends IService { + + void add(SystemLocation systemLocation); + + void update(SystemLocation systemLocation); + + void delete(SystemLocation systemLocation); + + Page listPage(Page page, Long searchId, String positionName); + + List list(Long searchId, String positionName); + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemPositionService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemPositionService.java new file mode 100644 index 0000000..2bcd0ef --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemPositionService.java @@ -0,0 +1,33 @@ +package com.casic.missiles.service.system; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.model.system.SystemPosition; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + *

+ * 受检系统-系统管理-岗位管理 服务类 + *

+ * + * @author zhangyingjie + * @since 2023-11-15 + */ +public interface ISystemPositionService extends IService { + + void add(SystemPosition systemPosition); + + void update(SystemPosition systemPosition); + + void delete(SystemPosition systemPosition); + + Page listPage(Page page, Long searchId, String positionName); + + List list(Long searchId, String positionName); + + String getNameById(Long positionId); + + +}