基础管理

This commit is contained in:
马三炮 2025-12-17 10:46:21 +08:00
parent 019c6a60a4
commit 399149c347
44 changed files with 2741 additions and 0 deletions

View File

@ -0,0 +1,102 @@
package com.bonus.digital.controller;
import com.bonus.common.core.controller.BaseController;
import com.bonus.common.core.domain.AjaxResult;
import com.bonus.common.core.page.TableDataInfo;
import com.bonus.digital.dao.InspectionStationVo;
import com.bonus.digital.service.InspectionStationService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* @author 马三炮
* @date 2025/12/12
*/
@Slf4j
@RestController
@RequestMapping("/inspectionStation")
public class InspectionStationController extends BaseController {
@Resource
private InspectionStationService inspectionStationService;
/**
* 获取0运检站1项目部
*/
@PreAuthorize("@ss.hasPermi('inspection:station:list')")
@GetMapping("/getInspectionStationList")
public TableDataInfo getInspectionStationList(InspectionStationVo inspectionStationVo)
{
try {
startPage();
List<InspectionStationVo> list = inspectionStationService.getInspectionStationList(inspectionStationVo);
return getDataTable(list);
}catch (Exception e) {
return getDataTable(null);
}
}
/**
* 新增0运检站1项目部
*/
@PreAuthorize("@ss.hasPermi('inspection:station:add')")
@PostMapping("/addInspectionStation")
public AjaxResult addInspectionStation(@RequestBody InspectionStationVo inspectionStationVo)
{
try {
int res = inspectionStationService.addInspectionStation(inspectionStationVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("新增失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
/**
* 删除0运检站1项目部
*/
@PreAuthorize("@ss.hasPermi('inspection:station:del')")
@PostMapping("/delInspectionStation")
public AjaxResult delClassification(@RequestBody InspectionStationVo inspectionStationVo)
{
try {
int res = inspectionStationService.delInspectionStation(inspectionStationVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("删除失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
/**
* 修改0运检站1项目部
*/
@PreAuthorize("@ss.hasPermi('inspection:station:update')")
@PostMapping("/updateInspectionStation")
public AjaxResult updateInspectionStation(@RequestBody InspectionStationVo inspectionStationVo)
{
try {
int res = inspectionStationService.updateInspectionStation(inspectionStationVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("修改失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
}

View File

@ -0,0 +1,102 @@
package com.bonus.digital.controller;
import com.bonus.common.core.controller.BaseController;
import com.bonus.common.core.domain.AjaxResult;
import com.bonus.common.core.page.TableDataInfo;
import com.bonus.digital.dao.MonthlyPlanVo;
import com.bonus.digital.service.MonthlyPlanService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* @author 马三炮
* @date 2025/12/16
*/
@Slf4j
@RestController
@RequestMapping("/monthlyPlan")
public class MonthlyPlanController extends BaseController {
@Resource
private MonthlyPlanService monthlyPlanService;
/**
* 月计划列表
*/
@PreAuthorize("@ss.hasPermi('monthly:plan:list')")
@GetMapping("/getMonthlyPlanList")
public TableDataInfo getMonthlyPlanList(MonthlyPlanVo monthlyPlanVo)
{
try {
startPage();
List<MonthlyPlanVo> list = monthlyPlanService.getPlanMajorList(monthlyPlanVo);
return getDataTable(list);
}catch (Exception e) {
return getDataTable(null);
}
}
/**
* 新增月计划
*/
@PreAuthorize("@ss.hasPermi('monthly:plan:add')")
@PostMapping("/addMonthlyPlan")
public AjaxResult addMonthlyPlan(MonthlyPlanVo monthlyPlanVo)
{
try {
int res = monthlyPlanService.addMonthlyPlanList(monthlyPlanVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("新增失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
/**
* 删除月计划
*/
@PreAuthorize("@ss.hasPermi('monthly:plan:del')")
@PostMapping("/delMonthlyPlan")
public AjaxResult delMonthlyPlan(MonthlyPlanVo monthlyPlanVo)
{
try {
int res = monthlyPlanService.delMonthlyPlanList(monthlyPlanVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("删除失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
/**
* 修改月计划
*/
@PreAuthorize("@ss.hasPermi('monthly:plan:update')")
@PostMapping("/updateMonthlyPlan")
public AjaxResult updateMonthlyPlan(MonthlyPlanVo monthlyPlanVo)
{
try {
int res = monthlyPlanService.updateMonthlyPlan(monthlyPlanVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("修改失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
}

View File

@ -0,0 +1,100 @@
package com.bonus.digital.controller;
import com.bonus.common.core.controller.BaseController;
import com.bonus.common.core.domain.AjaxResult;
import com.bonus.common.core.page.TableDataInfo;
import com.bonus.digital.dao.PersonnelClassificationVo;
import com.bonus.digital.service.PersonnelClassificationService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* @author 马三炮
* @date 2025/12/12
*/
@Slf4j
@RestController
@RequestMapping("/personnelClassification")
public class PersonnelClassificationController extends BaseController {
@Resource
private PersonnelClassificationService personnelClassificationService;
/**
* 获取0人员分类1人员性质2岗位列表
*/
@PreAuthorize("@ss.hasPermi('personnel:classification:list')")
@GetMapping("/getClassificationList")
public TableDataInfo getClassificationList(PersonnelClassificationVo personnelClassificationVo)
{
try {
startPage();
List<PersonnelClassificationVo> list = personnelClassificationService.classificationList(personnelClassificationVo);
return getDataTable(list);
}catch (Exception e) {
return getDataTable(null);
}
}
/**
* 新增0人员分类1人员性质2岗位列表
*/
@PreAuthorize("@ss.hasPermi('personnel:classification:add')")
@PostMapping("/addClassification")
public AjaxResult addClassification(@RequestBody PersonnelClassificationVo personnelClassificationVo)
{
try {
int res = personnelClassificationService.addClassification(personnelClassificationVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("新增失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
/**
* 删除0人员分类1人员性质2岗位列表
*/
@PreAuthorize("@ss.hasPermi('personnel:classification:del')")
@PostMapping("/delClassification")
public AjaxResult delClassification(@RequestBody PersonnelClassificationVo personnelClassificationVo)
{
try {
int res = personnelClassificationService.delClassification(personnelClassificationVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("删除失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
/**
* 修改0人员分类1人员性质2岗位列表
*/
@PreAuthorize("@ss.hasPermi('personnel:classification:update')")
@PostMapping("/updateClassification")
public AjaxResult updateClassification(@RequestBody PersonnelClassificationVo personnelClassificationVo)
{
try {
int res = personnelClassificationService.updateClassification(personnelClassificationVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("修改失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
}

View File

@ -0,0 +1,102 @@
package com.bonus.digital.controller;
import com.bonus.common.core.controller.BaseController;
import com.bonus.common.core.domain.AjaxResult;
import com.bonus.common.core.page.TableDataInfo;
import com.bonus.digital.dao.InspectionStationVo;
import com.bonus.digital.dao.PersonnelClassificationVo;
import com.bonus.digital.dao.PersonnelVo;
import com.bonus.digital.service.PersonnelService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* @author 马三炮
* @date 2025/12/15
*/
@Slf4j
@RestController
@RequestMapping("/personnel")
public class PersonnelController extends BaseController {
@Resource
private PersonnelService personnelService;
/**
* 获取人员管理列表
*/
@PreAuthorize("@ss.hasPermi('tb:personnel:list')")
@GetMapping("/getPersonnelList")
public TableDataInfo getPersonnelList(PersonnelVo personnelVo)
{
try {
startPage();
List<PersonnelVo> list = personnelService.getPersonnelList(personnelVo);
return getDataTable(list);
}catch (Exception e) {
return getDataTable(null);
}
}
/**
* 新增人员
*/
@PreAuthorize("@ss.hasPermi('tb:personnel:add')")
@PostMapping("/addPersonnel")
public AjaxResult addPersonnel(@RequestBody PersonnelVo personnelVo)
{
try {
int res = personnelService.addPersonnel(personnelVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("新增失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
/**
* 删除人员
*/
@PreAuthorize("@ss.hasPermi('tb:personnel:del')")
@PostMapping("/delPersonnel")
public AjaxResult delPersonnel(@RequestBody PersonnelVo personnelVo)
{
try {
int res = personnelService.delPersonnel(personnelVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("删除失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
/**
* 修改人员
*/
@PreAuthorize("@ss.hasPermi('tb:personnel:update')")
@PostMapping("/updatePersonnel")
public AjaxResult updatePersonnel(@RequestBody PersonnelVo personnelVo)
{
try {
int res = personnelService.updatePersonnel(personnelVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("修改失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
}

View File

@ -0,0 +1,102 @@
package com.bonus.digital.controller;
import com.bonus.common.core.controller.BaseController;
import com.bonus.common.core.domain.AjaxResult;
import com.bonus.common.core.page.TableDataInfo;
import com.bonus.digital.dao.PersonnelVo;
import com.bonus.digital.dao.PlanMajorVo;
import com.bonus.digital.service.PlanMajorService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* @author 马三炮
* @date 2025/12/15
*/
@Slf4j
@RestController
@RequestMapping("/planMajor")
public class PlanMajorController extends BaseController {
@Resource
private PlanMajorService planMajorService;
/**
* 列表类别0计划专业1业务分类2计划类别
*/
@PreAuthorize("@ss.hasPermi('plan:major:list')")
@GetMapping("/getPlanMajorList")
public TableDataInfo getPlanMajorList(PlanMajorVo planMajorVo)
{
try {
startPage();
List<PersonnelVo> list = planMajorService.getPlanMajorList(planMajorVo);
return getDataTable(list);
}catch (Exception e) {
return getDataTable(null);
}
}
/**
* 新增类别0计划专业1业务分类2计划类别
*/
@PreAuthorize("@ss.hasPermi('plan:major:add')")
@PostMapping("/addPlanMajor")
public AjaxResult addPlanMajor(@RequestBody PlanMajorVo planMajorVo)
{
try {
int res = planMajorService.addPlanMajor(planMajorVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("新增失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
/**
* 删除类别0计划专业1业务分类2计划类别
*/
@PreAuthorize("@ss.hasPermi('plan:major:del')")
@PostMapping("/delPlanMajor")
public AjaxResult delPlanMajor(@RequestBody PlanMajorVo planMajorVo)
{
try {
int res = planMajorService.delPlanMajor(planMajorVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("删除失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
/**
* 修改类别0计划专业1业务分类2计划类别
*/
@PreAuthorize("@ss.hasPermi('plan:major:update')")
@PostMapping("/updatePlanMajor")
public AjaxResult updatePlanMajor(@RequestBody PlanMajorVo planMajorVo)
{
try {
int res = planMajorService.updatePlanMajor(planMajorVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("修改失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
}

View File

@ -0,0 +1,121 @@
package com.bonus.digital.controller;
import com.bonus.common.core.controller.BaseController;
import com.bonus.common.core.domain.AjaxResult;
import com.bonus.common.core.domain.entity.SysUser;
import com.bonus.common.core.page.TableDataInfo;
import com.bonus.common.utils.poi.ExcelUtil;
import com.bonus.digital.dao.PlanManagementVo;
import com.bonus.digital.dao.WorkloadCategoryVo;
import com.bonus.digital.service.PlanManagementService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.List;
/**
* @author 马三炮
* @date 2025/12/16
*/
@Slf4j
@RestController
@RequestMapping("/planManagement")
public class PlanManagementController extends BaseController {
@Resource
private PlanManagementService planManagementService;
/**
* 计划管理表列表
*/
@PreAuthorize("@ss.hasPermi('plan:management:list')")
@GetMapping("/getPlanManagementList")
public TableDataInfo getPlanManagementList(PlanManagementVo planManagementVo)
{
try {
startPage();
List<PlanManagementVo> list = planManagementService.getPlanManagementList(planManagementVo);
return getDataTable(list);
}catch (Exception e) {
return getDataTable(null);
}
}
/**
* 新增计划管理表
*/
@PreAuthorize("@ss.hasPermi('plan:management:add')")
@PostMapping("/addPlanManagement")
public AjaxResult addPlanManagement(@RequestBody PlanManagementVo planManagementVo)
{
try {
int res = planManagementService.addPlanManagement(planManagementVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("新增失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
/**
* 删除计划管理表
*/
@PreAuthorize("@ss.hasPermi('plan:management:del')")
@PostMapping("/delPlanManagement")
public AjaxResult delPlanManagement(@RequestBody PlanManagementVo planManagementVo)
{
try {
int res = planManagementService.delPlanManagement(planManagementVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("删除失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
/**
* 修改计划管理
*/
@PreAuthorize("@ss.hasPermi('plan:management:update')")
@PostMapping("/updatePlanManagement")
public AjaxResult updatePlanManagement(@RequestBody PlanManagementVo planManagementVo)
{
try {
int res = planManagementService.updatePlanManagement(planManagementVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("修改失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
/**
* 导入计划管理
*/
@PreAuthorize("@ss.hasPermi('plan:management:import')")
@PostMapping("/importPlanManagement")
public AjaxResult importPlanManagement(MultipartFile file)
{
try {
ExcelUtil<PlanManagementVo> util = new ExcelUtil<PlanManagementVo>(PlanManagementVo.class);
List<PlanManagementVo> planManagementList = util.importExcel(file.getInputStream());
String message = planManagementService.importPlanManagement(planManagementList);
return success(message);
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
}

View File

@ -0,0 +1,100 @@
package com.bonus.digital.controller;
import com.bonus.common.core.controller.BaseController;
import com.bonus.common.core.domain.AjaxResult;
import com.bonus.common.core.page.TableDataInfo;
import com.bonus.digital.dao.InspectionStationVo;
import com.bonus.digital.dao.WorkloadCategoryVo;
import com.bonus.digital.service.WorkloadCategoryService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* @author 马三炮
* @date 2025/12/15
*/
@Slf4j
@RestController
@RequestMapping("/workloadCategory")
public class WorkloadCategoryController extends BaseController {
@Resource
private WorkloadCategoryService workloadCategoryService;
/**
* 工作量类别列表
*/
@PreAuthorize("@ss.hasPermi('workload:category:list')")
@GetMapping("/getWorkloadCategoryList")
public TableDataInfo getWorkloadCategoryList(WorkloadCategoryVo workloadCategoryVo)
{
try {
startPage();
List<WorkloadCategoryVo> list = workloadCategoryService.getWorkloadCategoryList(workloadCategoryVo);
return getDataTable(list);
}catch (Exception e) {
return getDataTable(null);
}
}
/**
* 新增工作量类别
*/
@PreAuthorize("@ss.hasPermi('workload:category:add')")
@PostMapping("/addWorkloadCategory")
public AjaxResult addWorkloadCategory(@RequestBody WorkloadCategoryVo workloadCategoryVo)
{
try {
int res = workloadCategoryService.addWorkloadCategory(workloadCategoryVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("新增失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
/**
* 删除工作量类别
*/
@PreAuthorize("@ss.hasPermi('workload:category:del')")
@PostMapping("/delWorkloadCategory")
public AjaxResult delWorkloadCategory(@RequestBody WorkloadCategoryVo workloadCategoryVo)
{
try {
int res = workloadCategoryService.delWorkloadCategory(workloadCategoryVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("删除失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
/**
* 删除工作量类别
*/
@PreAuthorize("@ss.hasPermi('workload:category:update')")
@PostMapping("/updateWorkloadCategory")
public AjaxResult updateWorkloadCategory(@RequestBody WorkloadCategoryVo workloadCategoryVo)
{
try {
int res = workloadCategoryService.updateWorkloadCategory(workloadCategoryVo);
if (res > 0) {
return AjaxResult.success();
}else {
return AjaxResult.error("修改失败");
}
}catch (Exception e) {
return AjaxResult.error("系统异常,请联系管理员");
}
}
}

View File

@ -0,0 +1,60 @@
package com.bonus.digital.dao;
import lombok.Data;
import java.util.Date;
/**
* @author 马三炮
* @date 2025/12/12
*/
@Data
public class InspectionStationVo {
/**
* 运检站id
*/
private int inspectionStationId;
/**
* 单位名称
*/
private String inspectionStationName;
/**
* 备注
*/
private String remark;
/**
* 是否有效1有效0无效
*/
private String isActive;
/**
* 创建人
*/
private String createUser;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改人
*/
private String updateUser;
/**
* 修改时间
*/
private Date updateTime;
/**
* 类别0运检站1项目部
*/
private String category;
}

View File

@ -0,0 +1,140 @@
package com.bonus.digital.dao;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author 马三炮
* @date 2025/12/16
*/
@Data
public class MonthlyPlanVo {
/**
* 月计划填报id
*/
private int monthlyPlanId;
/**
* 计划月份
*/
private String monthlyPlan;
/**
* 运检站id
*/
private int inspectionStationId;
/**
* 运检站名称
*/
private String inspectionStationName;
/**
* 计划专业id
*/
private int planMajorId;
/**
* 业务类型id
*/
private int businessTypeId;
/**
* 项目名称
*/
private int projectName;
/**
* 作业内容
*/
private String workContent;
/**
* 计划类别id
*/
private int planCategoryId;
/**
* 塔基数
*/
private int towerBaseNumber;
/**
* 计划开始时间
*/
private String plannedStartTime;
/**
* 计划结束时间
*/
private String plannedEndTime;
/**
* 计划投入管理人员
*/
private String planPersonnel;
/**
* 计划投入管理车辆数量
*/
private int planCarNum;
/**
* 计划投入熟练工人员数量
*/
private int planSkilledWorkerNum;
/**
* 计划投入辅助工人员数量
*/
private int planAuxiliaryWorkerNum;
/**
* 计划投入分包车辆数量
*/
private int planSubCarNum;
/**
* 实际工作天数
*/
private int actualWorkingDay;
/**
* 创建人
*/
private String createUser;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改人
*/
private String updateUser;
/**
* 修改时间
*/
private Date updateTime;
/**
* 人员安排表
*/
private List<PersonnelArrangementVo> personnelArrangementList;
/**
* 管理人员列表
*/
private List<PersonnelVo> personneltList;
/**
* 工作量列表
*/
private List<WorkloadVo> workloadList;
}

View File

@ -0,0 +1,31 @@
package com.bonus.digital.dao;
import lombok.Data;
/**
* @author 马三炮
* @date 2025/12/16
*/
@Data
public class PersonnelArrangementVo {
/**
* 人员安排id
*/
private int personnelArrangementId;
/**
* 月计划填报id
*/
private int monthlyPlanId;
/**
* 日期
*/
private String day;
/**
* 人员列表
*/
private String personnelNames;
}

View File

@ -0,0 +1,58 @@
package com.bonus.digital.dao;
import lombok.Data;
import java.util.Date;
/**
* @author 马三炮
* @date 2025/12/12
*/
@Data
public class PersonnelClassificationVo {
/**
* 人员分类id
*/
private int personnelClassificationId;
/**
* 人员分类名称
*/
private String personnelClassificationName;
/**
* 备注
*/
private String remark;
/**
* 是否有效1有效0无效
*/
private String isActive;
/**
* 创建人
*/
private String createUser;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改人
*/
private String updateUser;
/**
* 修改时间
*/
private Date updateTime;
/**
* 类别0人员分类1人员性质2岗位
*/
private String category;
}

View File

@ -0,0 +1,112 @@
package com.bonus.digital.dao;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author 马三炮
* @date 2025/12/15
*/
@Data
public class PersonnelVo {
/**
* 人员id
*/
private int id;
/**
* 人员所属
*/
private int inspectionStationId;
/**
* 单位名称
*/
private String inspectionStationName;
/**
* 姓名
*/
private String name;
/**
* 性别
*/
private String sex;
/**
* 电话
*/
private String phone;
/**
* 岗位
*/
private int positionId;
/**
* 岗位
*/
private String positionName;
/**
* 人员性质
*/
private int personnelNatureId;
/**
* 人员性质
*/
private String personnelNatureName;
/**
* 人员分类
*/
private int personnelClassificationId;
/**
* 人员分类
*/
private String personnelClassificationName;
/**
* 长期借调1是0否
*/
private String longTermSecondment;
/**
* 是否有效1有效0无效
*/
private String isActive;
/**
* 创建人
*/
private String createUser;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改人
*/
private String updateUser;
/**
* 修改时间
*/
private Date updateTime;
/**
* idList
*/
private List<String> idList;
}

View File

@ -0,0 +1,58 @@
package com.bonus.digital.dao;
import lombok.Data;
import java.util.Date;
/**
* @author 马三炮
* @date 2025/12/15
*/
@Data
public class PlanMajorVo {
/**
* 计划专业id
*/
private int planMajorId;
/**
* 计划专业名称
*/
private String planMajorName;
/**
* 备注
*/
private String remark;
/**
* 是否有效1有效0无效
*/
private String isActive;
/**
* 创建人
*/
private String createUser;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改人
*/
private String updateUser;
/**
* 修改时间
*/
private Date updateTime;
/**
* 类别0计划专业1业务分类2计划类别
*/
private String category;
}

View File

@ -0,0 +1,89 @@
package com.bonus.digital.dao;
import lombok.Data;
import java.util.Date;
/**
* @author 马三炮
* @date 2025/12/16
*/
@Data
public class PlanManagementVo {
/**
* 计划管理id
*/
private int planManagementId;
/**
* 计划管理月份
*/
private String planManagementMonth;
/**
* 项目名称
*/
private String projectName;
/**
* 作业内容
*/
private String workContent;
/**
* 实施部门
*/
private int inspectionStationId;
/**
* 实施部门
*/
private String inspectionStationName;
/**
* 计划开始时间
*/
private String stareDate;
/**
* 计划结束时间
*/
private String endDate;
/**
* 风险等级
*/
private String riskLevel;
/**
* 备注
*/
private String remark;
/**
* 是否有效1有效0无效
*/
private String isActive;
/**
* 创建人
*/
private String createUser;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改人
*/
private String updateUser;
/**
* 修改时间
*/
private Date updateTime;
}

View File

@ -0,0 +1,58 @@
package com.bonus.digital.dao;
import lombok.Data;
import java.util.Date;
/**
* @author 马三炮
* @date 2025/12/15
*/
@Data
public class WorkloadCategoryVo {
/**
* 工作量类别id
*/
private int workloadCategoryId;
/**
* 工作量类别名称
*/
private String workloadCategoryName;
/**
* 备注
*/
private String remark;
/**
* 是否有效1有效0无效
*/
private String isActive;
/**
* 创建人
*/
private String createUser;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改人
*/
private String updateUser;
/**
* 修改时间
*/
private Date updateTime;
/**
* 单价
*/
private int unitPrice;
}

View File

@ -0,0 +1,46 @@
package com.bonus.digital.dao;
import lombok.Data;
/**
* @author 马三炮
* @date 2025/12/16
*/
@Data
public class WorkloadVo {
/**
* 工作量id
*/
private int workloadId;
/**
* 计划填报id
*/
private int planId;
/**
* 工作量类别id
*/
private int workloadCategoryId;
/**
* 工作量类别名称
*/
private String workloadCategoryName;
/**
* 单价
*/
private int unitPrice;
/**
*工作量
*/
private int workloadNum;
/**
* 数据来源0月计划1日计划
*/
private String dataSource;
}

View File

@ -0,0 +1,29 @@
package com.bonus.digital.mapper;
import com.bonus.digital.dao.InspectionStationVo;
import java.util.List;
public interface InspectionStationMapper {
/**
* 获取0运检站1项目部
*/
List<InspectionStationVo> getInspectionStationList(InspectionStationVo inspectionStationVo);
/**
* 新增0运检站1项目部
*/
int addInspectionStation(InspectionStationVo inspectionStationVo);
/**
* 删除0运检站1项目部
*/
int delInspectionStation(InspectionStationVo inspectionStationVo);
/**
* 修改0运检站1项目部
*/
int updateInspectionStation(InspectionStationVo inspectionStationVo);
InspectionStationVo getInspectionStationDetail(InspectionStationVo inspectionStationVo);
}

View File

@ -0,0 +1,54 @@
package com.bonus.digital.mapper;
import com.bonus.digital.dao.MonthlyPlanVo;
import com.bonus.digital.dao.PersonnelArrangementVo;
import com.bonus.digital.dao.WorkloadVo;
import java.util.List;
public interface MonthlyPlanMapper {
/**
* 月计划列表
*/
List<MonthlyPlanVo> getPlanMajorList(MonthlyPlanVo monthlyPlanVo);
/**
* 人员列表
*/
List<PersonnelArrangementVo> getPersonnelArrangementList(MonthlyPlanVo monthlyPlanVo2);
/**
* 新增月计划
*/
int addMonthlyPlanList(MonthlyPlanVo monthlyPlanVo);
/**
* 新增人员安排
*/
void addPersonnelArrangement(PersonnelArrangementVo p);
/**
* 新增工作量信息
*/
void addWorkload(WorkloadVo w);
/**
* 删除月计划
*/
int delMonthlyPlanList(MonthlyPlanVo monthlyPlanVo);
/**
* 删除人员安排
*/
void delPersonnelArrangement(MonthlyPlanVo monthlyPlanVo);
/**
* 删除工作量信息
*/
void delWorkload(MonthlyPlanVo monthlyPlanVo);
/**
* 修改月计划
*/
int updateMonthlyPlan(MonthlyPlanVo monthlyPlanVo);
}

View File

@ -0,0 +1,28 @@
package com.bonus.digital.mapper;
import com.bonus.digital.dao.PersonnelClassificationVo;
import java.util.List;
public interface PersonnelClassificationMapper {
/**
* 获取0人员分类1人员性质2岗位列表
*/
List<PersonnelClassificationVo> classificationList(PersonnelClassificationVo personnelClassificationVo);
/**
* 新增0人员分类1人员性质2岗位列表
*/
int addClassification(PersonnelClassificationVo personnelClassificationVo);
/**
* 删除0人员分类1人员性质2岗位列表
*/
int delClassification(PersonnelClassificationVo personnelClassificationVo);
/**
* 修改0人员分类1人员性质2岗位列表
*/
int updateClassification(PersonnelClassificationVo personnelClassificationVo);
}

View File

@ -0,0 +1,28 @@
package com.bonus.digital.mapper;
import com.bonus.digital.dao.PersonnelVo;
import java.util.List;
public interface PersonnelMapper {
/**
* 获取人员管理列表
*/
List<PersonnelVo> getPersonnelList(PersonnelVo personnelVo);
/**
* 新增人员
*/
int addPersonnel(PersonnelVo personnelVo);
/**
* 删除人员
*/
int delPersonnel(PersonnelVo personnelVo);
/**
* 修改人员
*/
int updatePersonnel(PersonnelVo personnelVo);
}

View File

@ -0,0 +1,29 @@
package com.bonus.digital.mapper;
import com.bonus.digital.dao.PersonnelVo;
import com.bonus.digital.dao.PlanMajorVo;
import java.util.List;
public interface PlanMajorMapper {
/**
* 列表类别0计划专业1业务分类2计划类别
*/
List<PersonnelVo> getPlanMajorList(PlanMajorVo planMajorVo);
/**
* 新增类别0计划专业1业务分类2计划类别
*/
int addPlanMajor(PlanMajorVo planMajorVo);
/**
* 删除类别0计划专业1业务分类2计划类别
*/
int delPlanMajor(PlanMajorVo planMajorVo);
/**
* 修改类别0计划专业1业务分类2计划类别
*/
int updatePlanMajor(PlanMajorVo planMajorVo);
}

View File

@ -0,0 +1,27 @@
package com.bonus.digital.mapper;
import com.bonus.digital.dao.PlanManagementVo;
import java.util.List;
public interface PlanManagementMapper {
/**
* 计划管理表列表
*/
List<PlanManagementVo> getPlanManagementList(PlanManagementVo planManagementVo);
/**
* 新增计划管理表
*/
int addPlanManagement(PlanManagementVo planManagementVo);
/**
* 删除计划管理表
*/
int delPlanManagement(PlanManagementVo planManagementVo);
/**
* 修改计划管理
*/
int updatePlanManagement(PlanManagementVo planManagementVo);
}

View File

@ -0,0 +1,15 @@
package com.bonus.digital.mapper;
import com.bonus.digital.dao.WorkloadCategoryVo;
import java.util.List;
public interface WorkloadCategoryMapper {
List<WorkloadCategoryVo> getWorkloadCategoryList(WorkloadCategoryVo workloadCategoryVo);
int addWorkloadCategory(WorkloadCategoryVo workloadCategoryVo);
int delWorkloadCategory(WorkloadCategoryVo workloadCategoryVo);
int updateWorkloadCategory(WorkloadCategoryVo workloadCategoryVo);
}

View File

@ -0,0 +1,27 @@
package com.bonus.digital.service;
import com.bonus.digital.dao.InspectionStationVo;
import java.util.List;
public interface InspectionStationService {
/**
* 获取0运检站1项目部
*/
List<InspectionStationVo> getInspectionStationList(InspectionStationVo inspectionStationVo);
/**
* 新增0运检站1项目部
*/
int addInspectionStation(InspectionStationVo inspectionStationVo);
/**
* 删除0运检站1项目部
*/
int delInspectionStation(InspectionStationVo inspectionStationVo);
/**
* 修改0运检站1项目部
*/
int updateInspectionStation(InspectionStationVo inspectionStationVo);
}

View File

@ -0,0 +1,27 @@
package com.bonus.digital.service;
import com.bonus.digital.dao.MonthlyPlanVo;
import java.util.List;
public interface MonthlyPlanService {
/**
* 月计划列表
*/
List<MonthlyPlanVo> getPlanMajorList(MonthlyPlanVo monthlyPlanVo);
/**
* 新增月计划
*/
int addMonthlyPlanList(MonthlyPlanVo monthlyPlanVo);
/**
* 删除月计划
*/
int delMonthlyPlanList(MonthlyPlanVo monthlyPlanVo);
/**
* 修改月计划
*/
int updateMonthlyPlan(MonthlyPlanVo monthlyPlanVo);
}

View File

@ -0,0 +1,29 @@
package com.bonus.digital.service;
import com.bonus.digital.dao.PersonnelClassificationVo;
import java.util.List;
public interface PersonnelClassificationService {
/**
* 获取0人员分类1人员性质2岗位列表
*/
List<PersonnelClassificationVo> classificationList(PersonnelClassificationVo personnelClassificationVo);
/**
* 新增0人员分类1人员性质2岗位列表
*/
int addClassification(PersonnelClassificationVo personnelClassificationVo);
/**
* 删除0人员分类1人员性质2岗位列表
*/
int delClassification(PersonnelClassificationVo personnelClassificationVo);
/**
* 修改0人员分类1人员性质2岗位列表
*/
int updateClassification(PersonnelClassificationVo personnelClassificationVo);
}

View File

@ -0,0 +1,29 @@
package com.bonus.digital.service;
import com.bonus.digital.dao.PersonnelVo;
import java.util.List;
public interface PersonnelService {
/**
* 获取人员管理列表
*/
List<PersonnelVo> getPersonnelList(PersonnelVo personnelVo);
/**
* 新增人员
*/
int addPersonnel(PersonnelVo personnelVo);
/**
* 删除人员
*/
int delPersonnel(PersonnelVo personnelVo);
/**
* 修改人员
*/
int updatePersonnel(PersonnelVo personnelVo);
}

View File

@ -0,0 +1,30 @@
package com.bonus.digital.service;
import com.bonus.digital.dao.PersonnelVo;
import com.bonus.digital.dao.PlanMajorVo;
import java.util.List;
public interface PlanMajorService {
/**
* 列表类别0计划专业1业务分类2计划类别
*/
List<PersonnelVo> getPlanMajorList(PlanMajorVo planMajorVo);
/**
* 新增类别0计划专业1业务分类2计划类别
*/
int addPlanMajor(PlanMajorVo planMajorVo);
/**
* 删除类别0计划专业1业务分类2计划类别
*/
int delPlanMajor(PlanMajorVo planMajorVo);
/**
* 修改类别0计划专业1业务分类2计划类别
*/
int updatePlanMajor(PlanMajorVo planMajorVo);
}

View File

@ -0,0 +1,32 @@
package com.bonus.digital.service;
import com.bonus.digital.dao.PlanManagementVo;
import java.util.List;
public interface PlanManagementService {
/**
* 计划管理表列表
*/
List<PlanManagementVo> getPlanManagementList(PlanManagementVo planManagementVo);
/**
* 新增计划管理表
*/
int addPlanManagement(PlanManagementVo planManagementVo);
/**
* 删除计划管理表
*/
int delPlanManagement(PlanManagementVo planManagementVo);
/**
* 修改计划管理
*/
int updatePlanManagement(PlanManagementVo planManagementVo);
/**
* 导入计划管理
*/
String importPlanManagement(List<PlanManagementVo> planManagementList);
}

View File

@ -0,0 +1,15 @@
package com.bonus.digital.service;
import com.bonus.digital.dao.WorkloadCategoryVo;
import java.util.List;
public interface WorkloadCategoryService {
List<WorkloadCategoryVo> getWorkloadCategoryList(WorkloadCategoryVo workloadCategoryVo);
int addWorkloadCategory(WorkloadCategoryVo workloadCategoryVo);
int delWorkloadCategory(WorkloadCategoryVo workloadCategoryVo);
int updateWorkloadCategory(WorkloadCategoryVo workloadCategoryVo);
}

View File

@ -0,0 +1,64 @@
package com.bonus.digital.service.impl;
import com.bonus.common.utils.SecurityUtils;
import com.bonus.digital.dao.InspectionStationVo;
import com.bonus.digital.mapper.InspectionStationMapper;
import com.bonus.digital.service.InspectionStationService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.security.Security;
import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
* @author 马三炮
* @date 2025/12/12
*/
@Service
@Slf4j
public class InspectionStationServiceImpl implements InspectionStationService {
@Resource
private InspectionStationMapper inspectionStationMapper;
/**
* 获取0运检站1项目部
*/
@Override
public List<InspectionStationVo> getInspectionStationList(InspectionStationVo inspectionStationVo) {
return inspectionStationMapper.getInspectionStationList(inspectionStationVo);
}
/**
* 新增0运检站1项目部
*/
@Override
public int addInspectionStation(InspectionStationVo inspectionStationVo) {
Long userId = SecurityUtils.getUserId();
inspectionStationVo.setCreateUser(userId.toString());
inspectionStationVo.setCreateTime(new Date());
return inspectionStationMapper.addInspectionStation(inspectionStationVo);
}
/**
* 删除0运检站1项目部
*/
@Override
public int delInspectionStation(InspectionStationVo inspectionStationVo) {
return inspectionStationMapper.delInspectionStation(inspectionStationVo);
}
/**
* 修改0运检站1项目部
*/
@Override
public int updateInspectionStation(InspectionStationVo inspectionStationVo) {
Long userId = SecurityUtils.getUserId();
inspectionStationVo.setUpdateUser(userId.toString());
inspectionStationVo.setUpdateTime(new Date());
return inspectionStationMapper.updateInspectionStation(inspectionStationVo);
}
}

View File

@ -0,0 +1,120 @@
package com.bonus.digital.service.impl;
import com.bonus.common.utils.SecurityUtils;
import com.bonus.digital.dao.MonthlyPlanVo;
import com.bonus.digital.dao.PersonnelArrangementVo;
import com.bonus.digital.dao.PersonnelVo;
import com.bonus.digital.dao.WorkloadVo;
import com.bonus.digital.mapper.MonthlyPlanMapper;
import com.bonus.digital.mapper.PersonnelMapper;
import com.bonus.digital.service.MonthlyPlanService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
* @author 马三炮
* @date 2025/12/16
*/
@Service
@Slf4j
public class MonthlyPlanServiceImpl implements MonthlyPlanService {
@Resource
private MonthlyPlanMapper monthlyPlanMapper;
@Resource
private PersonnelMapper personnelMapper;
/**
* 月计划列表
*/
@Override
public List<MonthlyPlanVo> getPlanMajorList(MonthlyPlanVo monthlyPlanVo) {
List<MonthlyPlanVo> monthlyPlanVoList = monthlyPlanMapper.getPlanMajorList(monthlyPlanVo);
for (MonthlyPlanVo monthlyPlanVo2 : monthlyPlanVoList) {
//获取每个月计划投入的管理人员
List<String> plannedIdList = Arrays.asList(monthlyPlanVo2.getPlanPersonnel().split(","));
PersonnelVo personnelVo = new PersonnelVo();
personnelVo.setIdList(plannedIdList);
List<PersonnelVo> plannedList = personnelMapper.getPersonnelList(personnelVo);
monthlyPlanVo2.setPersonneltList(plannedList);
//获取人员安排信息
List<PersonnelArrangementVo> personnelArrangementVoList = monthlyPlanMapper.getPersonnelArrangementList(monthlyPlanVo2);
monthlyPlanVo2.setPersonnelArrangementList(personnelArrangementVoList);
}
return Collections.emptyList();
}
/**
* 新增月计划
*/
@Override
@Transactional
public int addMonthlyPlanList(MonthlyPlanVo monthlyPlanVo) {
Long userId = SecurityUtils.getUserId();
monthlyPlanVo.setCreateUser(userId.toString());
monthlyPlanVo.setCreateTime(new Date());
int res = monthlyPlanMapper.addMonthlyPlanList(monthlyPlanVo);
//保存人员安排信息
List<PersonnelArrangementVo> personnelArrangementList = monthlyPlanVo.getPersonnelArrangementList();
for (PersonnelArrangementVo p : personnelArrangementList) {
p.setMonthlyPlanId(monthlyPlanVo.getMonthlyPlanId());
monthlyPlanMapper.addPersonnelArrangement(p);
}
//保存工作量信息
List<WorkloadVo> workloadVoList = monthlyPlanVo.getWorkloadList();
for (WorkloadVo w : workloadVoList) {
w.setPlanId(monthlyPlanVo.getMonthlyPlanId());
w.setDataSource("0");
monthlyPlanMapper.addWorkload(w);
}
return res;
}
/**
* 删除月计划
*/
@Override
@Transactional
public int delMonthlyPlanList(MonthlyPlanVo monthlyPlanVo) {
monthlyPlanMapper.delPersonnelArrangement(monthlyPlanVo);
monthlyPlanMapper.delWorkload(monthlyPlanVo);
return monthlyPlanMapper.delMonthlyPlanList(monthlyPlanVo);
}
/**
* 修改月计划
*/
@Override
@Transactional
public int updateMonthlyPlan(MonthlyPlanVo monthlyPlanVo) {
Long userId = SecurityUtils.getUserId();
monthlyPlanVo.setUpdateUser(userId.toString());
monthlyPlanVo.setUpdateTime(new Date());
int res = monthlyPlanMapper.updateMonthlyPlan(monthlyPlanVo);
monthlyPlanMapper.delPersonnelArrangement(monthlyPlanVo);
monthlyPlanMapper.delWorkload(monthlyPlanVo);
//保存人员安排信息
List<PersonnelArrangementVo> personnelArrangementList = monthlyPlanVo.getPersonnelArrangementList();
for (PersonnelArrangementVo p : personnelArrangementList) {
p.setMonthlyPlanId(monthlyPlanVo.getMonthlyPlanId());
monthlyPlanMapper.addPersonnelArrangement(p);
}
//保存工作量信息
List<WorkloadVo> workloadVoList = monthlyPlanVo.getWorkloadList();
for (WorkloadVo w : workloadVoList) {
w.setPlanId(monthlyPlanVo.getMonthlyPlanId());
w.setDataSource("0");
monthlyPlanMapper.addWorkload(w);
}
return res;
}
}

View File

@ -0,0 +1,65 @@
package com.bonus.digital.service.impl;
import com.bonus.common.utils.SecurityUtils;
import com.bonus.digital.dao.PersonnelClassificationVo;
import com.bonus.digital.mapper.PersonnelClassificationMapper;
import com.bonus.digital.service.PersonnelClassificationService;
import lombok.extern.log4j.Log4j;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
* @author 马三炮
* @date 2025/12/12
*/
@Service
@Slf4j
public class PersonnelClassificationServiceImpl implements PersonnelClassificationService {
@Resource
private PersonnelClassificationMapper personnelClassificationMapper;
/**
* 获取0人员分类1人员性质2岗位列表
*/
@Override
public List<PersonnelClassificationVo> classificationList(PersonnelClassificationVo personnelClassificationVo) {
return personnelClassificationMapper.classificationList(personnelClassificationVo);
}
/**
* 新增0人员分类1人员性质2岗位列表
*/
@Override
public int addClassification(PersonnelClassificationVo personnelClassificationVo) {
Long userId = SecurityUtils.getUserId();
personnelClassificationVo.setCreateUser(userId.toString());
personnelClassificationVo.setCreateTime(new Date());
return personnelClassificationMapper.addClassification(personnelClassificationVo);
}
/**
* 删除0人员分类1人员性质2岗位列表
*/
@Override
public int delClassification(PersonnelClassificationVo personnelClassificationVo) {
return personnelClassificationMapper.delClassification(personnelClassificationVo);
}
/**
* 修改0人员分类1人员性质2岗位列表
*/
@Override
public int updateClassification(PersonnelClassificationVo personnelClassificationVo) {
Long userId = SecurityUtils.getUserId();
personnelClassificationVo.setUpdateUser(userId.toString());
personnelClassificationVo.setUpdateTime(new Date());
return personnelClassificationMapper.updateClassification(personnelClassificationVo);
}
}

View File

@ -0,0 +1,63 @@
package com.bonus.digital.service.impl;
import com.bonus.common.utils.SecurityUtils;
import com.bonus.digital.dao.PersonnelVo;
import com.bonus.digital.mapper.PersonnelMapper;
import com.bonus.digital.service.PersonnelService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
/**
* @author 马三炮
* @date 2025/12/15
*/
@Service
@Slf4j
public class PersonnelServiceImpl implements PersonnelService {
@Resource
private PersonnelMapper personnelMapper;
/**
* 获取人员管理列表
*/
@Override
public List<PersonnelVo> getPersonnelList(PersonnelVo personnelVo) {
return personnelMapper.getPersonnelList(personnelVo);
}
/**
* 新增人员
*/
@Override
public int addPersonnel(PersonnelVo personnelVo) {
Long userId = SecurityUtils.getUserId();
personnelVo.setCreateUser(userId.toString());
personnelVo.setCreateTime(new Date());
return personnelMapper.addPersonnel(personnelVo);
}
/**
* 删除人员
*/
@Override
public int delPersonnel(PersonnelVo personnelVo) {
return personnelMapper.delPersonnel(personnelVo);
}
/**
* 修改人员
*/
@Override
public int updatePersonnel(PersonnelVo personnelVo) {
Long userId = SecurityUtils.getUserId();
personnelVo.setUpdateUser(userId.toString());
personnelVo.setUpdateTime(new Date());
return personnelMapper.updatePersonnel(personnelVo);
}
}

View File

@ -0,0 +1,67 @@
package com.bonus.digital.service.impl;
import com.bonus.common.utils.SecurityUtils;
import com.bonus.digital.dao.PersonnelVo;
import com.bonus.digital.dao.PlanMajorVo;
import com.bonus.digital.mapper.PlanMajorMapper;
import com.bonus.digital.service.PersonnelService;
import com.bonus.digital.service.PlanMajorService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
*@author 马三炮
*@date 2025/12/15
*/
@Service
@Slf4j
public class PlanMajorServiceImpl implements PlanMajorService {
@Resource
private PlanMajorMapper planMajorMapper;
/**
* 列表类别0计划专业1业务分类2计划类别
*/
@Override
public List<PersonnelVo> getPlanMajorList(PlanMajorVo planMajorVo) {
return planMajorMapper.getPlanMajorList(planMajorVo);
}
/**
* 新增类别0计划专业1业务分类2计划类别
*/
@Override
public int addPlanMajor(PlanMajorVo planMajorVo) {
Long userId = SecurityUtils.getUserId();
planMajorVo.setCreateUser(userId.toString());
planMajorVo.setCreateTime(new Date());
return planMajorMapper.addPlanMajor(planMajorVo);
}
/**
* 删除类别0计划专业1业务分类2计划类别
*/
@Override
public int delPlanMajor(PlanMajorVo planMajorVo) {
return planMajorMapper.delPlanMajor(planMajorVo);
}
/**
* 修改类别0计划专业1业务分类2计划类别
*/
@Override
public int updatePlanMajor(PlanMajorVo planMajorVo) {
Long userId = SecurityUtils.getUserId();
planMajorVo.setUpdateUser(userId.toString());
planMajorVo.setUpdateTime(new Date());
return planMajorMapper.updatePlanMajor(planMajorVo);
}
}

View File

@ -0,0 +1,90 @@
package com.bonus.digital.service.impl;
import com.bonus.common.utils.SecurityUtils;
import com.bonus.digital.dao.InspectionStationVo;
import com.bonus.digital.dao.PlanManagementVo;
import com.bonus.digital.mapper.InspectionStationMapper;
import com.bonus.digital.mapper.PlanManagementMapper;
import com.bonus.digital.service.PlanManagementService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
* @author 马三炮
* @date 2025/12/16
*/
@Service
@Slf4j
public class PlanManagementServiceImpl implements PlanManagementService {
@Resource
private PlanManagementMapper planManagementMapper;
@Resource
private InspectionStationMapper inspectionStationMapper;
/**
* 计划管理表列表
*/
@Override
public List<PlanManagementVo> getPlanManagementList(PlanManagementVo planManagementVo) {
return planManagementMapper.getPlanManagementList(planManagementVo);
}
/**
* 新增计划管理表
*/
@Override
public int addPlanManagement(PlanManagementVo planManagementVo) {
Long userId = SecurityUtils.getUserId();
planManagementVo.setCreateUser(userId.toString());
planManagementVo.setCreateTime(new Date());
return planManagementMapper.addPlanManagement(planManagementVo);
}
/**
* 删除计划管理表
*/
@Override
public int delPlanManagement(PlanManagementVo planManagementVo) {
return planManagementMapper.delPlanManagement(planManagementVo);
}
/**
* 修改计划管理
*/
@Override
public int updatePlanManagement(PlanManagementVo planManagementVo) {
Long userId = SecurityUtils.getUserId();
planManagementVo.setUpdateUser(userId.toString());
planManagementVo.setUpdateTime(new Date());
return planManagementMapper.updatePlanManagement(planManagementVo);
}
/**
* 导入计划管理
*/
@Override
@Transactional
public String importPlanManagement(List<PlanManagementVo> planManagementList) {
for (PlanManagementVo planManagementVo : planManagementList) {
//获取当前
InspectionStationVo inspectionStationVo = new InspectionStationVo();
inspectionStationVo.setInspectionStationName(planManagementVo.getInspectionStationName());
inspectionStationVo =inspectionStationMapper.getInspectionStationDetail(inspectionStationVo);
planManagementVo.setInspectionStationId(inspectionStationVo.getInspectionStationId());
Long userId = SecurityUtils.getUserId();
planManagementVo.setCreateUser(userId.toString());
planManagementVo.setCreateTime(new Date());
planManagementMapper.addPlanManagement(planManagementVo);
}
return "导入成功";
}
}

View File

@ -0,0 +1,51 @@
package com.bonus.digital.service.impl;
import com.bonus.common.utils.SecurityUtils;
import com.bonus.digital.dao.WorkloadCategoryVo;
import com.bonus.digital.mapper.WorkloadCategoryMapper;
import com.bonus.digital.service.WorkloadCategoryService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
* @author 马三炮
* @date 2025/12/15
*/
@Service
@Slf4j
public class WorkloadCategoryServiceImpl implements WorkloadCategoryService {
@Resource
private WorkloadCategoryMapper workloadCategoryMapper;
@Override
public List<WorkloadCategoryVo> getWorkloadCategoryList(WorkloadCategoryVo workloadCategoryVo) {
return workloadCategoryMapper.getWorkloadCategoryList(workloadCategoryVo);
}
@Override
public int addWorkloadCategory(WorkloadCategoryVo workloadCategoryVo) {
Long userId = SecurityUtils.getUserId();
workloadCategoryVo.setCreateUser(userId.toString());
workloadCategoryVo.setCreateTime(new Date());
return workloadCategoryMapper.addWorkloadCategory(workloadCategoryVo);
}
@Override
public int delWorkloadCategory(WorkloadCategoryVo workloadCategoryVo) {
return workloadCategoryMapper.delWorkloadCategory(workloadCategoryVo);
}
@Override
public int updateWorkloadCategory(WorkloadCategoryVo workloadCategoryVo) {
Long userId = SecurityUtils.getUserId();
workloadCategoryVo.setUpdateUser(userId.toString());
workloadCategoryVo.setUpdateTime(new Date());
return workloadCategoryMapper.updateWorkloadCategory(workloadCategoryVo);
}
}

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.digital.mapper.InspectionStationMapper">
<insert id="addInspectionStation">
insert into tb_inspection_station (inspection_station_name,remark,create_user,create_time,category)
values (#{inspectionStationName},#{remark},#{createUser},#{createTime},#{category})
</insert>
<update id="updateInspectionStation">
update tb_inspection_station
<trim prefix="set" suffixOverrides=",">
<if test="inspectionStationName!= null " >
inspection_station_name=#{inspectionStationName},
</if>
<if test="remark!= null " >
remark=#{remark},
</if>
<if test="updateUser!= null " >
update_user=#{updateUser},
</if>
<if test="updateTime!= null " >
update_time=#{updateTime},
</if>
</trim>
where inspection_station_id = #{inspectionStationId}
</update>
<delete id="delInspectionStation">
update tb_inspection_station set is_active ='0' where inspection_station_id = #{inspectionStationId}
</delete>
<select id="getInspectionStationList" resultType="com.bonus.digital.dao.InspectionStationVo">
select inspection_station_id,inspection_station_name,remark,category
from tb_inspection_station where category = #{category} and is_active = '1'
</select>
<select id="getInspectionStationDetail" resultType="com.bonus.digital.dao.InspectionStationVo">
select inspection_station_id,inspection_station_name,remark,category
from tb_inspection_station where inspection_station_name = #{inspectionStationName} and is_active = '1'
</select>
</mapper>

View File

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.digital.mapper.MonthlyPlanMapper">
<insert id="addMonthlyPlanList" useGeneratedKeys="true" keyProperty="monthlyPlanId">
insert into tb_monthly_plan (monthly_plan,inspection_station_id,inspection_station_name,plan_major_id,business_type_id,
project_name,work_content,plan_category_id,tower_base_number,planned_start_time,
planned_end_time,plan_personnel,plan_car_num,plan_skilled_worker_num,plan_auxiliary_worker_num,
plan_sub_car_num,create_user,create_time,actual_working_day)
values (#{monthlyPlan},#{inspectionStationId},#{inspectionStationName},#{planMajorId},#{businessTypeId},
#{projectName},#{workContent},#{planCategoryId},#{towerBaseNumber},#{plannedStartTime},#{plannedEndTime},
#{planPersonnel},#{planCarNum},#{planSkilledWorkerNum},#{planAuxiliaryWorkerNum},#{planSubCarNum},
#{createUser},#{createTime},#{actualWorkingDay})
</insert>
<insert id="addPersonnelArrangement">
insert into tb_personnel_arrangement (monthly_plan_id,day,personnel_names)
values (#{monthlyPlanId},#{day},#{personnelNames})
</insert>
<insert id="addWorkload">
insert into tb_workload (plan_id,workload_category_id,workload_category_name,unit_price,workload_num,data_source)
values (#{planId},#{workloadCategoryId},#{workloadCategoryName},#{unitPrice},#{workloadNum},#{dataSource})
</insert>
<update id="updateMonthlyPlan">
update tb_monthly_plan
<trim prefix="set" suffixOverrides=",">
<if test="monthlyPlan!= null " >
monthly_plan=#{monthlyPlan},
</if>
<if test="inspectionStationId!= null " >
inspection_station_id=#{inspectionStationId},
</if>
<if test="inspectionStationName!= null " >
inspection_station_name=#{inspectionStationName},
</if>
<if test="planMajorId!= null " >
plan_major_id=#{planMajorId},
</if>
<if test="businessTypeId!= null " >
business_type_id=#{businessTypeId},
</if>
<if test="projectName!= null " >
project_name=#{projectName},
</if>
<if test="workContent!= null " >
work_content=#{workContent},
</if>
<if test="planCategoryId!= null " >
plan_category_id=#{planCategoryId},
</if>
<if test="towerBaseNumber!= null " >
tower_base_number=#{towerBaseNumber},
</if>
<if test="plannedStartTime!= null " >
planned_start_time=#{plannedStartTime},
</if>
<if test="plannedEndTime!= null " >
planned_end_time=#{plannedEndTime},
</if>
<if test="planPersonnel!= null " >
plan_personnel=#{planPersonnel},
</if>
<if test="planCarNum!= null " >
plan_car_num=#{planCarNum},
</if>
<if test="planSkilledWorkerNum!= null " >
plan_skilled_worker_num=#{planSkilledWorkerNum},
</if>
<if test="planAuxiliaryWorkerNum!= null " >
plan_auxiliary_worker_num=#{planAuxiliaryWorkerNum},
</if>
<if test="planSubCarNum!= null " >
plan_sub_car_num=#{planSubCarNum},
</if>
<if test="updateTime!= null " >
update_time=#{updateTime},
</if>
<if test="updateUser!= null " >
update_user=#{updateUser},
</if>
<if test="actualWorkingDay!= null " >
actual_working_day=#{actualWorkingDay},
</if>
</trim>
where monthly_plan_id = #{monthlyPlanId}
</update>
<delete id="delMonthlyPlanList">
update tb_monthly_plan set is_active ='0' where monthly_plan_id = #{monthlyPlanId}
</delete>
<delete id="delPersonnelArrangement">
delete from tb_personnel_arrangement where monthly_plan_id = #{monthlyPlanId}
</delete>
<delete id="delWorkload">
delete from tb_workload where plan_id= #{monthlyPlanId}
</delete>
<select id="getPlanMajorList" resultType="com.bonus.digital.dao.MonthlyPlanVo">
select tmp.monthly_plan_id,
tmp.monthly_plan,
tmp.inspection_station_id,
tmp.inspection_station_name,
tmp.plan_major_id,
tmp.business_type_id,
tmp.project_name,
tmp.work_content,
tmp.plan_category_id,
tmp.tower_base_number,
tmp.planned_start_time,
tmp.planned_end_time,
tmp.plan_personnel,
tmp.plan_car_num,
tmp.plan_skilled_worker_num,
tmp.plan_auxiliary_worker_num,
tmp.plan_sub_car_num,
tmp.create_user,
tmp.create_time,
tmp.actual_working_day
from tb_monthly_plan tmp
left join tb_plan_major tpm on tmp.plan_major_id = tpm.plan_major_id
left join tb_plan_major tpm2 on tmp.plan_major_id = tpm2.plan_major_id
left join tb_plan_major tpm3 on tmp.plan_major_id = tpm3.plan_major_id
where tmp.is_active = '1'
</select>
<select id="getPersonnelArrangementList" resultType="com.bonus.digital.dao.PersonnelArrangementVo">
select personnel_arrangement_id,monthly_plan_id,"day",personnel_names
from tb_personnel_arrangement where monthly_plan_id = #{monthlyPlanId}
</select>
</mapper>

View File

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.digital.mapper.PersonnelMapper">
<insert id="addPersonnel">
insert into tb_personnel (inspection_station_id,NAME,sex,phone,position_id,personnel_nature_id,
personnel_classification_id,long_term_secondment,create_user,create_time)
values (#{inspectionStationId},#{name},#{sex},#{phone},#{positionId}#{personnelNatureId},
#{personnelClassificationId},#{longTermSecondment},#{createUser},#{createTime})
</insert>
<update id="updatePersonnel">
update tb_personnel
<trim prefix="set" suffixOverrides=",">
<if test="inspectionStationId!= null " >
inspectionStationId=#{inspectionStationId},
</if>
<if test="name!= null " >
NAME=#{name},
</if>
<if test="sex!= null " >
sex=#{sex},
</if>
<if test="phone!= null " >
phone=#{phone},
</if>
<if test="positionId!= null " >
position_id=#{positionId},
</if>
<if test="personnelNatureId!= null " >
personnel_nature_id=#{personnelNatureId},
</if>
<if test="personnelClassificationId!= null " >
personnel_classification_id=#{personnelClassificationId},
</if>
<if test="longTermSecondment!= null " >
long_term_secondment=#{longTermSecondment},
</if>
<if test="updateUser!= null " >
update_user=#{updateUser},
</if>
<if test="updateTime!= null " >
update_time=#{updateTime},
</if>
</trim>
where personnel_classification_id = #{personnelClassificationId}
</update>
<delete id="delPersonnel">
update tb_personnel set is_active ='0' where id = #{id}
</delete>
<select id="getPersonnelList" resultType="com.bonus.digital.dao.PersonnelVo">
select tis.id,
tis.inspectionStationId,
tis.name,
tis.sex,
tis.phone,
tis.position_id,
tpc.personnel_classification_name as positionName,
tis.personnel_nature_id,
tpc2.personnel_classification_name as personnelNatureName,
tis.personnel_classification_id,
tpc3.personnel_classification_name as personnelClassificationName,
tis.long_term_secondment,
tis.create_user
from tb_inspection_station tis
left join tb_inspection_station tis2 on tis.inspection_station_id = tis2.inspection_station_id
left join tb_personnel_classification tpc on tis.position_id = tpc.personnel_classification_id
left join tb_personnel_classification tpc2 on tis.personnel_nature_id = tpc2.personnel_classification_id
left join tb_personnel_classification tpc3 on tis.personnel_classification_id = tpc3.personnel_classification_id
<where>
<if test="name!= null " >
and tis.name LIKE CONCAT('%', #{name}, '%')
</if>
<if test="sex!= null " >
and tis.sex =#{sex}
</if>
<if test="positionId!= null " >
and tis.position_id =#{positionId}
</if>
<if test="personnelNatureId!= null " >
and tis.personnel_nature_id =#{personnelNatureId}
</if>
<if test="personnelClassificationId!= null " >
and tis.personnel_classification_id =#{personnelClassificationId}
</if>
<if test="idList!=null ">
AND tis.id IN (
<foreach collection="idList" item="item" separator=",">
#{item}
</foreach>
)
</if>
</where>
</select>
</mapper>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.digital.mapper.PersonnelClassificationMapper">
<insert id="addClassification">
insert into tb_personnel_classification (personnel_classification_name,remark,create_user,create_time,category)
values (#{personnelClassificationName},#{remark},#{createUser},#{createTime},#{category})
</insert>
<update id="updateClassification">
update tb_personnel_classification
<trim prefix="set" suffixOverrides=",">
<if test="personnelClassificationName!= null " >
personnel_classification_name=#{personnelClassificationName},
</if>
<if test="remark!= null " >
remark=#{remark},
</if>
<if test="updateUser!= null " >
update_user=#{updateUser},
</if>
<if test="updateTime!= null " >
update_time=#{updateTime},
</if>
</trim>
where personnel_classification_id = #{personnelClassificationId}
</update>
<delete id="delClassification">
update tb_personnel_classification set is_active ='0' where personnel_classification_id = #{personnelClassificationId}
</delete>
<select id="classificationList" resultType="com.bonus.digital.dao.PersonnelClassificationVo">
select personnel_classification_id,personnel_classification_name,remark,category
from tb_personnel_classification where category = #{category} and is_active = '1'
</select>
</mapper>

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.digital.mapper.PlanMajorMapper">
<insert id="addPlanMajor">
insert into tb_plan_major (plan_major_name,remark,create_user,create_time,category)
values (#{planMajorName},#{remark},#{createUser},#{createTime},#{category})
</insert>
<update id="updatePlanMajor">
update tb_plan_major
<trim prefix="set" suffixOverrides=",">
<if test="planMajorName!= null " >
plan_major_name=#{planMajorName},
</if>
<if test="remark!= null " >
remark=#{remark},
</if>
<if test="updateUser!= null " >
update_user=#{updateUser},
</if>
<if test="updateTime!= null " >
update_time=#{updateTime},
</if>
</trim>
where plan_major_id = #{planMajorId}
</update>
<delete id="delPlanMajor">
update tb_plan_major set is_active ='0' where plan_major_id = #{planMajorId}
</delete>
<select id="getPlanMajorList" resultType="com.bonus.digital.dao.PersonnelVo">
select plan_major_id,plan_major_name,remark,category
from tb_plan_major where category = #{category} and is_active = '1'
</select>
</mapper>

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.digital.mapper.PlanManagementMapper">
<insert id="addPlanManagement">
insert into tb_plan_management (plan_management_month,project_name,work_content,inspection_station_id,
stare_date,end_date,risk_level,remark,create_user,create_time)
values (#{planManagementMonth},#{projectName},#{workContent},#{inspectionStationId},
#{stareDate}, #{endDate},#{riskLevel},#{remark},#{createUser},#{createTime})
</insert>
<update id="updatePlanManagement">
update tb_plan_management
<trim prefix="set" suffixOverrides=",">
<if test="planManagementMonth!= null " >
plan_management_month=#{planManagementMonth},
</if>
<if test="projectName!= null " >
project_name=#{projectName},
</if>
<if test="workContent!= null " >
work_content=#{workContent},
</if>
<if test="inspectionStationId!= null " >
inspection_station_id=#{inspectionStationId},
</if>
<if test="stareDate!= null " >
stare_date=#{stareDate},
</if>
<if test="endDate!= null " >
end_date=#{endDate},
</if>
<if test="riskLevel!= null " >
risk_level=#{riskLevel},
</if>
<if test="updateUser!= null " >
update_user=#{updateUser},
</if>
<if test="updateTime!= null " >
update_time=#{updateTime},
</if>
</trim>
where plan_management_id = #{planManagementId}
</update>
<delete id="delPlanManagement">
update tb_plan_management set is_active ='0' where plan_management_id = #{planManagementId}
</delete>
<select id="getPlanManagementList" resultType="com.bonus.digital.dao.PlanManagementVo">
select tis.plan_management_id,
tis.plan_management_month,
tis.project_name,
tis.work_content,
tis.inspection_station_id,
tis2.inspection_station_name as inspectionStationName
tis.stare_date,
tis.end_date,
tis.remark,
tis.create_user
from tb_plan_management tpm
left join tb_inspection_station tis2 on tpm.inspection_station_id = tis2.inspection_station_id
where category = #{category} and is_active = '1'
</select>
</mapper>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.digital.mapper.WorkloadCategoryMapper">
<insert id="addWorkloadCategory">
insert into tb_workload_category (workload_category_name,remark,create_user,create_time,unit_price)
values (#{workloadCategoryName},#{remark},#{createUser},#{createTime},#{unitPrice})
</insert>
<update id="updateWorkloadCategory">
update tb_workload_category
<trim prefix="set" suffixOverrides=",">
<if test="workloadCategoryName!= null " >
workload_category_name=#{workloadCategoryName},
</if>
<if test="remark!= null " >
remark=#{remark},
</if>
<if test="unitPrice!= null " >
unit_price=#{unitPrice},
</if>
<if test="updateUser!= null " >
update_user=#{updateUser},
</if>
<if test="updateTime!= null " >
update_time=#{updateTime},
</if>
</trim>
where workload_category_id = #{workloadCategoryId}
</update>
<delete id="delWorkloadCategory">
update tb_workload_category set is_active ='0' where workload_category_id = #{workloadCategoryId}
</delete>
<select id="getWorkloadCategoryList" resultType="com.bonus.digital.dao.WorkloadCategoryVo">
select workload_category_id,workload_category_name,remark,category,unit_price
from tb_workload_category where is_active = '1'
</select>
</mapper>