分包公司、施工人员、项目班组、项目班组成员模块基本增删改查功能
This commit is contained in:
@ -75,7 +75,7 @@ public interface IBusMaterialsInventoryService extends IService<BusMaterialsInve
|
||||
* @param MaterialsInventory 材料出/入库对象
|
||||
* @return 材料出/入库视图对象
|
||||
*/
|
||||
BusMaterialsInventoryVo getMaterialsInventoryVo(BusMaterialsInventory MaterialsInventory);
|
||||
BusMaterialsInventoryVo getVo(BusMaterialsInventory MaterialsInventory);
|
||||
|
||||
/**
|
||||
* 构建查询条件封装
|
||||
@ -91,6 +91,6 @@ public interface IBusMaterialsInventoryService extends IService<BusMaterialsInve
|
||||
* @param materialsInventoryPage 材料出/入库分页对象
|
||||
* @return 材料出/入库分页对象视图
|
||||
*/
|
||||
Page<BusMaterialsInventoryVo> getMaterialsInventoryVoPage(Page<BusMaterialsInventory> materialsInventoryPage);
|
||||
Page<BusMaterialsInventoryVo> getVoPage(Page<BusMaterialsInventory> materialsInventoryPage);
|
||||
|
||||
}
|
||||
|
@ -139,7 +139,7 @@ public class BusCompanyServiceImpl extends ServiceImpl<BusCompanyMapper, BusComp
|
||||
queryWrapper.eq(BusCompany::getCompanyName, companyName);
|
||||
long count = this.count(queryWrapper);
|
||||
if (count > 0) {
|
||||
throw new ServiceException("项目名重复", HttpStatus.BAD_REQUEST);
|
||||
throw new ServiceException("公司名重复", HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
if (projectId == null) {
|
||||
throw new ServiceException("项目 id 不能为空", HttpStatus.BAD_REQUEST);
|
||||
|
@ -59,7 +59,7 @@ public class BusMaterialsInventoryServiceImpl extends ServiceImpl<BusMaterialsIn
|
||||
if (materialsInventory == null) {
|
||||
throw new ServiceException("材料出/入库信息不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
return this.getMaterialsInventoryVo(materialsInventory);
|
||||
return this.getVo(materialsInventory);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -74,7 +74,7 @@ public class BusMaterialsInventoryServiceImpl extends ServiceImpl<BusMaterialsIn
|
||||
long size = req.getPageSize();
|
||||
// 查询数据库
|
||||
Page<BusMaterialsInventory> result = this.page(new Page<>(current, size), this.getQueryWrapper(req));
|
||||
return this.getMaterialsInventoryVoPage(result);
|
||||
return this.getVoPage(result);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -87,7 +87,7 @@ public class BusMaterialsInventoryServiceImpl extends ServiceImpl<BusMaterialsIn
|
||||
public List<BusMaterialsInventoryVo> queryList(MaterialsInventoryQueryReq req) {
|
||||
QueryWrapper<BusMaterialsInventory> queryWrapper = this.getQueryWrapper(req);
|
||||
List<BusMaterialsInventory> list = this.list(queryWrapper);
|
||||
return list.stream().map(this::getMaterialsInventoryVo).toList();
|
||||
return list.stream().map(this::getVo).toList();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -176,19 +176,19 @@ public class BusMaterialsInventoryServiceImpl extends ServiceImpl<BusMaterialsIn
|
||||
/**
|
||||
* 获取材料出/入库视图对象
|
||||
*
|
||||
* @param MaterialsInventory 材料出/入库对象
|
||||
* @param materialsInventory 材料出/入库对象
|
||||
* @return 材料出/入库视图对象
|
||||
*/
|
||||
@Override
|
||||
public BusMaterialsInventoryVo getMaterialsInventoryVo(BusMaterialsInventory MaterialsInventory) {
|
||||
public BusMaterialsInventoryVo getVo(BusMaterialsInventory materialsInventory) {
|
||||
// 对象转封装类
|
||||
BusMaterialsInventoryVo materialsInventoryVo = new BusMaterialsInventoryVo();
|
||||
if (MaterialsInventory == null) {
|
||||
if (materialsInventory == null) {
|
||||
return materialsInventoryVo;
|
||||
}
|
||||
BeanUtils.copyProperties(MaterialsInventory, materialsInventoryVo);
|
||||
BeanUtils.copyProperties(materialsInventory, materialsInventoryVo);
|
||||
// 关联查询项目信息
|
||||
Long materialsId = MaterialsInventory.getMaterialsId();
|
||||
Long materialsId = materialsInventory.getMaterialsId();
|
||||
if (materialsId != null) {
|
||||
materialsInventoryVo.setMaterialsVo(materialsService.queryById(materialsId));
|
||||
}
|
||||
@ -251,7 +251,7 @@ public class BusMaterialsInventoryServiceImpl extends ServiceImpl<BusMaterialsIn
|
||||
* @return 材料出/入库分页对象视图
|
||||
*/
|
||||
@Override
|
||||
public Page<BusMaterialsInventoryVo> getMaterialsInventoryVoPage(Page<BusMaterialsInventory> materialsInventoryPage) {
|
||||
public Page<BusMaterialsInventoryVo> getVoPage(Page<BusMaterialsInventory> materialsInventoryPage) {
|
||||
List<BusMaterialsInventory> materialsInventoryList = materialsInventoryPage.getRecords();
|
||||
Page<BusMaterialsInventoryVo> materialsInventoryVoPage = new Page<>(
|
||||
materialsInventoryPage.getCurrent(),
|
||||
@ -261,7 +261,7 @@ public class BusMaterialsInventoryServiceImpl extends ServiceImpl<BusMaterialsIn
|
||||
return materialsInventoryVoPage;
|
||||
}
|
||||
// 对象列表 => 封装对象列表
|
||||
List<BusMaterialsInventoryVo> materialsInventoryVoList = materialsInventoryList.stream().map(this::getMaterialsInventoryVo).toList();
|
||||
List<BusMaterialsInventoryVo> materialsInventoryVoList = materialsInventoryList.stream().map(this::getVo).toList();
|
||||
materialsInventoryVoPage.setRecords(materialsInventoryVoList);
|
||||
return materialsInventoryVoPage;
|
||||
}
|
||||
|
@ -0,0 +1,107 @@
|
||||
package org.dromara.project.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.project.domain.req.constructionuser.ConstructionUserCreateReq;
|
||||
import org.dromara.project.domain.req.constructionuser.ConstructionUserQueryReq;
|
||||
import org.dromara.project.domain.req.constructionuser.ConstructionUserUpdateReq;
|
||||
import org.dromara.project.domain.vo.BusConstructionUserVo;
|
||||
import org.dromara.project.service.IBusConstructionUserService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 施工人员
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/project/constructionUser")
|
||||
public class BusConstructionUserController extends BaseController {
|
||||
|
||||
private final IBusConstructionUserService busConstructionUserService;
|
||||
|
||||
/**
|
||||
* 查询施工人员列表
|
||||
*/
|
||||
@SaCheckPermission("project:constructionUser:list")
|
||||
@GetMapping("/list")
|
||||
public Page<BusConstructionUserVo> list(ConstructionUserQueryReq req) {
|
||||
return busConstructionUserService.queryPageList(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出施工人员列表
|
||||
*/
|
||||
@SaCheckPermission("project:constructionUser:export")
|
||||
@Log(title = "施工人员", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(ConstructionUserQueryReq req, HttpServletResponse response) {
|
||||
List<BusConstructionUserVo> list = busConstructionUserService.queryList(req);
|
||||
ExcelUtil.exportExcel(list, "施工人员", BusConstructionUserVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取施工人员详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("project:constructionUser:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<BusConstructionUserVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(busConstructionUserService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增施工人员
|
||||
*/
|
||||
@SaCheckPermission("project:constructionUser:add")
|
||||
@Log(title = "施工人员", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Long> add(@Validated(AddGroup.class) @RequestBody ConstructionUserCreateReq req) {
|
||||
return R.ok(busConstructionUserService.insertByBo(req));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改施工人员
|
||||
*/
|
||||
@SaCheckPermission("project:constructionUser:edit")
|
||||
@Log(title = "施工人员", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ConstructionUserUpdateReq req) {
|
||||
return toAjax(busConstructionUserService.updateByBo(req));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除施工人员
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("project:constructionUser:remove")
|
||||
@Log(title = "施工人员", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(busConstructionUserService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
@ -0,0 +1,107 @@
|
||||
package org.dromara.project.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.project.domain.req.contractor.ContractorCreateReq;
|
||||
import org.dromara.project.domain.req.contractor.ContractorQueryReq;
|
||||
import org.dromara.project.domain.req.contractor.ContractorUpdateReq;
|
||||
import org.dromara.project.domain.vo.BusContractorVo;
|
||||
import org.dromara.project.service.IBusContractorService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 分包单位
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/project/contractor")
|
||||
public class BusContractorController extends BaseController {
|
||||
|
||||
private final IBusContractorService busContractorService;
|
||||
|
||||
/**
|
||||
* 查询分包单位列表
|
||||
*/
|
||||
@SaCheckPermission("project:contractor:list")
|
||||
@GetMapping("/list")
|
||||
public Page<BusContractorVo> list(ContractorQueryReq req) {
|
||||
return busContractorService.queryPageList(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出分包单位列表
|
||||
*/
|
||||
@SaCheckPermission("project:contractor:export")
|
||||
@Log(title = "分包单位", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(ContractorQueryReq req, HttpServletResponse response) {
|
||||
List<BusContractorVo> list = busContractorService.queryList(req);
|
||||
ExcelUtil.exportExcel(list, "分包单位", BusContractorVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取分包单位详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("project:contractor:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<BusContractorVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(busContractorService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增分包单位
|
||||
*/
|
||||
@SaCheckPermission("project:contractor:add")
|
||||
@Log(title = "分包单位", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Long> add(@Validated(AddGroup.class) @RequestBody ContractorCreateReq req) {
|
||||
return R.ok(busContractorService.insertByBo(req));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改分包单位
|
||||
*/
|
||||
@SaCheckPermission("project:contractor:edit")
|
||||
@Log(title = "分包单位", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ContractorUpdateReq req) {
|
||||
return toAjax(busContractorService.updateByBo(req));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除分包单位
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("project:contractor:remove")
|
||||
@Log(title = "分包单位", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(busContractorService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
@ -0,0 +1,107 @@
|
||||
package org.dromara.project.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.project.domain.req.projectteam.ProjectTeamCreateReq;
|
||||
import org.dromara.project.domain.req.projectteam.ProjectTeamQueryReq;
|
||||
import org.dromara.project.domain.req.projectteam.ProjectTeamUpdateReq;
|
||||
import org.dromara.project.domain.vo.BusProjectTeamVo;
|
||||
import org.dromara.project.service.IBusProjectTeamService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目班组
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/project/projectTeam")
|
||||
public class BusProjectTeamController extends BaseController {
|
||||
|
||||
private final IBusProjectTeamService busProjectTeamService;
|
||||
|
||||
/**
|
||||
* 查询项目班组列表
|
||||
*/
|
||||
@SaCheckPermission("project:projectTeam:list")
|
||||
@GetMapping("/list")
|
||||
public Page<BusProjectTeamVo> list(ProjectTeamQueryReq req) {
|
||||
return busProjectTeamService.queryPageList(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出项目班组列表
|
||||
*/
|
||||
@SaCheckPermission("project:projectTeam:export")
|
||||
@Log(title = "项目班组", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(ProjectTeamQueryReq req, HttpServletResponse response) {
|
||||
List<BusProjectTeamVo> list = busProjectTeamService.queryList(req);
|
||||
ExcelUtil.exportExcel(list, "项目班组", BusProjectTeamVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目班组详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("project:projectTeam:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<BusProjectTeamVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(busProjectTeamService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增项目班组
|
||||
*/
|
||||
@SaCheckPermission("project:projectTeam:add")
|
||||
@Log(title = "项目班组", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Long> add(@Validated(AddGroup.class) @RequestBody ProjectTeamCreateReq req) {
|
||||
return R.ok(busProjectTeamService.insertByBo(req));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改项目班组
|
||||
*/
|
||||
@SaCheckPermission("project:projectTeam:edit")
|
||||
@Log(title = "项目班组", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ProjectTeamUpdateReq req) {
|
||||
return toAjax(busProjectTeamService.updateByBo(req));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除项目班组
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("project:projectTeam:remove")
|
||||
@Log(title = "项目班组", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(busProjectTeamService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
@ -0,0 +1,107 @@
|
||||
package org.dromara.project.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.project.domain.req.projectteammember.ProjectTeamMemberCreateReq;
|
||||
import org.dromara.project.domain.req.projectteammember.ProjectTeamMemberQueryReq;
|
||||
import org.dromara.project.domain.req.projectteammember.ProjectTeamMemberUpdateReq;
|
||||
import org.dromara.project.domain.vo.BusProjectTeamMemberVo;
|
||||
import org.dromara.project.service.IBusProjectTeamMemberService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目班组下的成员
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/project/projectTeamMember")
|
||||
public class BusProjectTeamMemberController extends BaseController {
|
||||
|
||||
private final IBusProjectTeamMemberService busProjectTeamMemberService;
|
||||
|
||||
/**
|
||||
* 查询项目班组下的成员列表
|
||||
*/
|
||||
@SaCheckPermission("project:projectTeamMember:list")
|
||||
@GetMapping("/list")
|
||||
public Page<BusProjectTeamMemberVo> list(ProjectTeamMemberQueryReq req) {
|
||||
return busProjectTeamMemberService.queryPageList(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出项目班组下的成员列表
|
||||
*/
|
||||
@SaCheckPermission("project:projectTeamMember:export")
|
||||
@Log(title = "项目班组下的成员", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(ProjectTeamMemberQueryReq req, HttpServletResponse response) {
|
||||
List<BusProjectTeamMemberVo> list = busProjectTeamMemberService.queryList(req);
|
||||
ExcelUtil.exportExcel(list, "项目班组下的成员", BusProjectTeamMemberVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目班组下的成员详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("project:projectTeamMember:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<BusProjectTeamMemberVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(busProjectTeamMemberService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增项目班组下的成员
|
||||
*/
|
||||
@SaCheckPermission("project:projectTeamMember:add")
|
||||
@Log(title = "项目班组下的成员", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Long> add(@Validated(AddGroup.class) @RequestBody ProjectTeamMemberCreateReq req) {
|
||||
return R.ok(busProjectTeamMemberService.insertByBo(req));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改项目班组下的成员
|
||||
*/
|
||||
@SaCheckPermission("project:projectTeamMember:edit")
|
||||
@Log(title = "项目班组下的成员", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ProjectTeamMemberUpdateReq req) {
|
||||
return toAjax(busProjectTeamMemberService.updateByBo(req));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除项目班组下的成员
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("project:projectTeamMember:remove")
|
||||
@Log(title = "项目班组下的成员", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(busProjectTeamMemberService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
@ -15,7 +15,6 @@ import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.project.domain.UserProjectRelevancy;
|
||||
|
@ -0,0 +1,179 @@
|
||||
package org.dromara.project.domain;
|
||||
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 施工人员对象 bus_construction_user
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("bus_construction_user")
|
||||
public class BusConstructionUser extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 微信id
|
||||
*/
|
||||
private String openid;
|
||||
|
||||
/**
|
||||
* 微信名称
|
||||
*/
|
||||
private String nickName;
|
||||
|
||||
/**
|
||||
* 人脸照
|
||||
*/
|
||||
private String pacePhoto;
|
||||
|
||||
/**
|
||||
* 人员姓名
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 分包公司id
|
||||
*/
|
||||
private Long contractorId;
|
||||
|
||||
/**
|
||||
* 班组id
|
||||
*/
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 状态(0在职 1离职)
|
||||
*/
|
||||
private Long status;
|
||||
|
||||
/**
|
||||
* 是否代打
|
||||
*/
|
||||
private Long isPinch;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 0:保密 1:男 2女
|
||||
*/
|
||||
private Long sex;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
*/
|
||||
private String nation;
|
||||
|
||||
/**
|
||||
* 身份证号码
|
||||
*/
|
||||
private String sfzNumber;
|
||||
|
||||
/**
|
||||
* 身份证有效开始期
|
||||
*/
|
||||
private String sfzStart;
|
||||
|
||||
/**
|
||||
* 身份证有效结束期
|
||||
*/
|
||||
private String sfzEnd;
|
||||
|
||||
/**
|
||||
* 身份证地址
|
||||
*/
|
||||
private String sfzSite;
|
||||
|
||||
/**
|
||||
* 身份证出生日期
|
||||
*/
|
||||
private String sfzBirth;
|
||||
|
||||
/**
|
||||
* 籍贯
|
||||
*/
|
||||
private String nativePlace;
|
||||
|
||||
/**
|
||||
* 银行卡号
|
||||
*/
|
||||
private String yhkNumber;
|
||||
|
||||
/**
|
||||
* 开户行
|
||||
*/
|
||||
private String yhkOpeningBank;
|
||||
|
||||
/**
|
||||
* 持卡人
|
||||
*/
|
||||
private String yhkCardholder;
|
||||
|
||||
/**
|
||||
* 工种(字典type_of_work)
|
||||
*/
|
||||
private Long typeOfWork;
|
||||
|
||||
/**
|
||||
* 打卡(0启用打卡 1禁止打卡)
|
||||
*/
|
||||
private Long clock;
|
||||
|
||||
/**
|
||||
* 入场时间
|
||||
*/
|
||||
private String entryDate;
|
||||
|
||||
/**
|
||||
* 离场时间
|
||||
*/
|
||||
private String leaveDate;
|
||||
|
||||
/**
|
||||
* 薪水
|
||||
*/
|
||||
private Long salary;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 删除时间
|
||||
*/
|
||||
private Date deletedAt;
|
||||
|
||||
/**
|
||||
* 是否删除(0正常 1删除)
|
||||
*/
|
||||
@TableLogic
|
||||
private Long isDelete;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,74 @@
|
||||
package org.dromara.project.domain;
|
||||
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 分包单位对象 bus_contractor
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("bus_contractor")
|
||||
public class BusContractor extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 公司名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 负责人
|
||||
*/
|
||||
private String principal;
|
||||
|
||||
/**
|
||||
* 负责人联系电话
|
||||
*/
|
||||
private String principalPhone;
|
||||
|
||||
/**
|
||||
* 管理人
|
||||
*/
|
||||
private String custodian;
|
||||
|
||||
/**
|
||||
* 管理人联系电话
|
||||
*/
|
||||
private String custodianPhone;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 删除时间
|
||||
*/
|
||||
private Date deletedAt;
|
||||
|
||||
/**
|
||||
* 是否删除(0正常 1删除)
|
||||
*/
|
||||
@TableLogic
|
||||
private Long isDelete;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
package org.dromara.project.domain;
|
||||
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 项目班组对象 bus_project_team
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("bus_project_team")
|
||||
public class BusProjectTeam extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 班组名称
|
||||
*/
|
||||
private String teamName;
|
||||
|
||||
/**
|
||||
* 范围内打卡(0范围内打卡 1任何地点打卡)默认为1
|
||||
*/
|
||||
private Long isClockIn;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 删除时间
|
||||
*/
|
||||
private Date deletedAt;
|
||||
|
||||
/**
|
||||
* 是否删除(0正常 1删除)
|
||||
*/
|
||||
@TableLogic
|
||||
private Long isDelete;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
package org.dromara.project.domain;
|
||||
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 项目班组下的成员对象 bus_project_team_member
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("bus_project_team_member")
|
||||
public class BusProjectTeamMember extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 班组id
|
||||
*/
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 施工人员id
|
||||
*/
|
||||
private Long memberId;
|
||||
|
||||
/**
|
||||
* 岗位(默认为0普通员工,1组长)
|
||||
*/
|
||||
private Long postId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 删除时间
|
||||
*/
|
||||
private Date deletedAt;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,169 @@
|
||||
package org.dromara.project.domain.bo;
|
||||
|
||||
import org.dromara.project.domain.BusConstructionUser;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 施工人员业务对象 bus_construction_user
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = BusConstructionUser.class, reverseConvertGenerate = false)
|
||||
public class BusConstructionUserBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 微信id
|
||||
*/
|
||||
private String openid;
|
||||
|
||||
/**
|
||||
* 微信名称
|
||||
*/
|
||||
private String nickName;
|
||||
|
||||
/**
|
||||
* 人脸照
|
||||
*/
|
||||
private String pacePhoto;
|
||||
|
||||
/**
|
||||
* 人员姓名
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 分包公司id
|
||||
*/
|
||||
private Long contractorId;
|
||||
|
||||
/**
|
||||
* 班组id
|
||||
*/
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 状态(0在职 1离职)
|
||||
*/
|
||||
private Long status;
|
||||
|
||||
/**
|
||||
* 是否代打
|
||||
*/
|
||||
private Long isPinch;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 0:保密 1:男 2女
|
||||
*/
|
||||
@NotNull(message = "0:保密 1:男 2女不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long sex;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
*/
|
||||
private String nation;
|
||||
|
||||
/**
|
||||
* 身份证号码
|
||||
*/
|
||||
private String sfzNumber;
|
||||
|
||||
/**
|
||||
* 身份证有效开始期
|
||||
*/
|
||||
private String sfzStart;
|
||||
|
||||
/**
|
||||
* 身份证有效结束期
|
||||
*/
|
||||
private String sfzEnd;
|
||||
|
||||
/**
|
||||
* 身份证地址
|
||||
*/
|
||||
private String sfzSite;
|
||||
|
||||
/**
|
||||
* 身份证出生日期
|
||||
*/
|
||||
private String sfzBirth;
|
||||
|
||||
/**
|
||||
* 籍贯
|
||||
*/
|
||||
private String nativePlace;
|
||||
|
||||
/**
|
||||
* 银行卡号
|
||||
*/
|
||||
private String yhkNumber;
|
||||
|
||||
/**
|
||||
* 开户行
|
||||
*/
|
||||
private String yhkOpeningBank;
|
||||
|
||||
/**
|
||||
* 持卡人
|
||||
*/
|
||||
private String yhkCardholder;
|
||||
|
||||
/**
|
||||
* 工种(字典type_of_work)
|
||||
*/
|
||||
private Long typeOfWork;
|
||||
|
||||
/**
|
||||
* 打卡(0启用打卡 1禁止打卡)
|
||||
*/
|
||||
@NotNull(message = "打卡(0启用打卡 1禁止打卡)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long clock;
|
||||
|
||||
/**
|
||||
* 入场时间
|
||||
*/
|
||||
private String entryDate;
|
||||
|
||||
/**
|
||||
* 离场时间
|
||||
*/
|
||||
private String leaveDate;
|
||||
|
||||
/**
|
||||
* 薪水
|
||||
*/
|
||||
private Long salary;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
package org.dromara.project.domain.bo;
|
||||
|
||||
import org.dromara.project.domain.BusContractor;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 分包单位业务对象 bus_contractor
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = BusContractor.class, reverseConvertGenerate = false)
|
||||
public class BusContractorBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 公司名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 负责人
|
||||
*/
|
||||
private String principal;
|
||||
|
||||
/**
|
||||
* 负责人联系电话
|
||||
*/
|
||||
private String principalPhone;
|
||||
|
||||
/**
|
||||
* 管理人
|
||||
*/
|
||||
private String custodian;
|
||||
|
||||
/**
|
||||
* 管理人联系电话
|
||||
*/
|
||||
private String custodianPhone;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,53 @@
|
||||
package org.dromara.project.domain.bo;
|
||||
|
||||
import org.dromara.project.domain.BusProjectTeam;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 项目班组业务对象 bus_project_team
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = BusProjectTeam.class, reverseConvertGenerate = false)
|
||||
public class BusProjectTeamBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 班组名称
|
||||
*/
|
||||
private String teamName;
|
||||
|
||||
/**
|
||||
* 范围内打卡(0范围内打卡 1任何地点打卡)默认为1
|
||||
*/
|
||||
@NotNull(message = "范围内打卡(0范围内打卡 1任何地点打卡)默认为1不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long isClockIn;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
package org.dromara.project.domain.bo;
|
||||
|
||||
import org.dromara.project.domain.BusProjectTeamMember;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 项目班组下的成员业务对象 bus_project_team_member
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = BusProjectTeamMember.class, reverseConvertGenerate = false)
|
||||
public class BusProjectTeamMemberBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 班组id
|
||||
*/
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 施工人员id
|
||||
*/
|
||||
private Long memberId;
|
||||
|
||||
/**
|
||||
* 岗位(默认为0普通员工,1组长)
|
||||
*/
|
||||
private Long postId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,153 @@
|
||||
package org.dromara.project.domain.req.constructionuser;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lcj
|
||||
* @date 2025/3/5 14:05
|
||||
*/
|
||||
@Data
|
||||
public class ConstructionUserCreateReq implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = -7603153089205421154L;
|
||||
|
||||
/**
|
||||
* 微信id
|
||||
*/
|
||||
private String openid;
|
||||
|
||||
/**
|
||||
* 微信名称
|
||||
*/
|
||||
private String nickName;
|
||||
|
||||
/**
|
||||
* 人脸照
|
||||
*/
|
||||
private String pacePhoto;
|
||||
|
||||
/**
|
||||
* 人员姓名
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 分包公司id
|
||||
*/
|
||||
private Long contractorId;
|
||||
|
||||
/**
|
||||
* 班组id
|
||||
*/
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 状态(0在职 1离职)
|
||||
*/
|
||||
private Long status;
|
||||
|
||||
/**
|
||||
* 是否代打
|
||||
*/
|
||||
private Long isPinch;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 0:保密 1:男 2女
|
||||
*/
|
||||
private Long sex;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
*/
|
||||
private String nation;
|
||||
|
||||
/**
|
||||
* 身份证号码
|
||||
*/
|
||||
private String sfzNumber;
|
||||
|
||||
/**
|
||||
* 身份证有效开始期
|
||||
*/
|
||||
private String sfzStart;
|
||||
|
||||
/**
|
||||
* 身份证有效结束期
|
||||
*/
|
||||
private String sfzEnd;
|
||||
|
||||
/**
|
||||
* 身份证地址
|
||||
*/
|
||||
private String sfzSite;
|
||||
|
||||
/**
|
||||
* 身份证出生日期
|
||||
*/
|
||||
private String sfzBirth;
|
||||
|
||||
/**
|
||||
* 籍贯
|
||||
*/
|
||||
private String nativePlace;
|
||||
|
||||
/**
|
||||
* 银行卡号
|
||||
*/
|
||||
private String yhkNumber;
|
||||
|
||||
/**
|
||||
* 开户行
|
||||
*/
|
||||
private String yhkOpeningBank;
|
||||
|
||||
/**
|
||||
* 持卡人
|
||||
*/
|
||||
private String yhkCardholder;
|
||||
|
||||
/**
|
||||
* 工种(字典type_of_work)
|
||||
*/
|
||||
private Long typeOfWork;
|
||||
|
||||
/**
|
||||
* 打卡(0启用打卡 1禁止打卡)
|
||||
*/
|
||||
private Long clock;
|
||||
|
||||
/**
|
||||
* 入场时间
|
||||
*/
|
||||
private String entryDate;
|
||||
|
||||
/**
|
||||
* 离场时间
|
||||
*/
|
||||
private String leaveDate;
|
||||
|
||||
/**
|
||||
* 薪水
|
||||
*/
|
||||
private Long salary;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
@ -0,0 +1,146 @@
|
||||
package org.dromara.project.domain.req.constructionuser;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.dromara.common.core.common.PageRequest;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lcj
|
||||
* @date 2025/3/5 14:31
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class ConstructionUserQueryReq extends PageRequest implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 3252651952758479341L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 微信id
|
||||
*/
|
||||
private String openid;
|
||||
|
||||
/**
|
||||
* 微信名称
|
||||
*/
|
||||
private String nickName;
|
||||
|
||||
/**
|
||||
* 人员姓名
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 分包公司id
|
||||
*/
|
||||
private Long contractorId;
|
||||
|
||||
/**
|
||||
* 班组id
|
||||
*/
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 状态(0在职 1离职)
|
||||
*/
|
||||
private Long status;
|
||||
|
||||
/**
|
||||
* 是否代打
|
||||
*/
|
||||
private Long isPinch;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 0:保密 1:男 2女
|
||||
*/
|
||||
private Long sex;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
*/
|
||||
private String nation;
|
||||
|
||||
/**
|
||||
* 身份证号码
|
||||
*/
|
||||
private String sfzNumber;
|
||||
|
||||
/**
|
||||
* 身份证有效开始期
|
||||
*/
|
||||
private String sfzStart;
|
||||
|
||||
/**
|
||||
* 身份证有效结束期
|
||||
*/
|
||||
private String sfzEnd;
|
||||
|
||||
/**
|
||||
* 身份证地址
|
||||
*/
|
||||
private String sfzSite;
|
||||
|
||||
/**
|
||||
* 身份证出生日期
|
||||
*/
|
||||
private String sfzBirth;
|
||||
|
||||
/**
|
||||
* 籍贯
|
||||
*/
|
||||
private String nativePlace;
|
||||
|
||||
/**
|
||||
* 银行卡号
|
||||
*/
|
||||
private String yhkNumber;
|
||||
|
||||
/**
|
||||
* 开户行
|
||||
*/
|
||||
private String yhkOpeningBank;
|
||||
|
||||
/**
|
||||
* 持卡人
|
||||
*/
|
||||
private String yhkCardholder;
|
||||
|
||||
/**
|
||||
* 工种(字典type_of_work)
|
||||
*/
|
||||
private Long typeOfWork;
|
||||
|
||||
/**
|
||||
* 打卡(0启用打卡 1禁止打卡)
|
||||
*/
|
||||
private Long clock;
|
||||
|
||||
/**
|
||||
* 薪水
|
||||
*/
|
||||
private Long salary;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
@ -0,0 +1,158 @@
|
||||
package org.dromara.project.domain.req.constructionuser;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lcj
|
||||
* @date 2025/3/5 15:04
|
||||
*/
|
||||
@Data
|
||||
public class ConstructionUserUpdateReq implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = -8022860866890925958L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 微信id
|
||||
*/
|
||||
private String openid;
|
||||
|
||||
/**
|
||||
* 微信名称
|
||||
*/
|
||||
private String nickName;
|
||||
|
||||
/**
|
||||
* 人脸照
|
||||
*/
|
||||
private String pacePhoto;
|
||||
|
||||
/**
|
||||
* 人员姓名
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 分包公司id
|
||||
*/
|
||||
private Long contractorId;
|
||||
|
||||
/**
|
||||
* 班组id
|
||||
*/
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 状态(0在职 1离职)
|
||||
*/
|
||||
private Long status;
|
||||
|
||||
/**
|
||||
* 是否代打
|
||||
*/
|
||||
private Long isPinch;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 0:保密 1:男 2女
|
||||
*/
|
||||
private Long sex;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
*/
|
||||
private String nation;
|
||||
|
||||
/**
|
||||
* 身份证号码
|
||||
*/
|
||||
private String sfzNumber;
|
||||
|
||||
/**
|
||||
* 身份证有效开始期
|
||||
*/
|
||||
private String sfzStart;
|
||||
|
||||
/**
|
||||
* 身份证有效结束期
|
||||
*/
|
||||
private String sfzEnd;
|
||||
|
||||
/**
|
||||
* 身份证地址
|
||||
*/
|
||||
private String sfzSite;
|
||||
|
||||
/**
|
||||
* 身份证出生日期
|
||||
*/
|
||||
private String sfzBirth;
|
||||
|
||||
/**
|
||||
* 籍贯
|
||||
*/
|
||||
private String nativePlace;
|
||||
|
||||
/**
|
||||
* 银行卡号
|
||||
*/
|
||||
private String yhkNumber;
|
||||
|
||||
/**
|
||||
* 开户行
|
||||
*/
|
||||
private String yhkOpeningBank;
|
||||
|
||||
/**
|
||||
* 持卡人
|
||||
*/
|
||||
private String yhkCardholder;
|
||||
|
||||
/**
|
||||
* 工种(字典type_of_work)
|
||||
*/
|
||||
private Long typeOfWork;
|
||||
|
||||
/**
|
||||
* 打卡(0启用打卡 1禁止打卡)
|
||||
*/
|
||||
private Long clock;
|
||||
|
||||
/**
|
||||
* 入场时间
|
||||
*/
|
||||
private String entryDate;
|
||||
|
||||
/**
|
||||
* 离场时间
|
||||
*/
|
||||
private String leaveDate;
|
||||
|
||||
/**
|
||||
* 薪水
|
||||
*/
|
||||
private Long salary;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package org.dromara.project.domain.req.contractor;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lcj
|
||||
* @date 2025/3/5 14:05
|
||||
*/
|
||||
@Data
|
||||
public class ContractorCreateReq implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = -7603153089205421154L;
|
||||
|
||||
/**
|
||||
* 公司名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 负责人
|
||||
*/
|
||||
private String principal;
|
||||
|
||||
/**
|
||||
* 负责人联系电话
|
||||
*/
|
||||
private String principalPhone;
|
||||
|
||||
/**
|
||||
* 管理人
|
||||
*/
|
||||
private String custodian;
|
||||
|
||||
/**
|
||||
* 管理人联系电话
|
||||
*/
|
||||
private String custodianPhone;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
package org.dromara.project.domain.req.contractor;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.dromara.common.core.common.PageRequest;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lcj
|
||||
* @date 2025/3/5 14:31
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class ContractorQueryReq extends PageRequest implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 3252651952758479341L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 公司名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 负责人
|
||||
*/
|
||||
private String principal;
|
||||
|
||||
/**
|
||||
* 负责人联系电话
|
||||
*/
|
||||
private String principalPhone;
|
||||
|
||||
/**
|
||||
* 管理人
|
||||
*/
|
||||
private String custodian;
|
||||
|
||||
/**
|
||||
* 管理人联系电话
|
||||
*/
|
||||
private String custodianPhone;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
@ -0,0 +1,53 @@
|
||||
package org.dromara.project.domain.req.contractor;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lcj
|
||||
* @date 2025/3/5 15:04
|
||||
*/
|
||||
@Data
|
||||
public class ContractorUpdateReq implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = -8022860866890925958L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 公司名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 负责人
|
||||
*/
|
||||
private String principal;
|
||||
|
||||
/**
|
||||
* 负责人联系电话
|
||||
*/
|
||||
private String principalPhone;
|
||||
|
||||
/**
|
||||
* 管理人
|
||||
*/
|
||||
private String custodian;
|
||||
|
||||
/**
|
||||
* 管理人联系电话
|
||||
*/
|
||||
private String custodianPhone;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package org.dromara.project.domain.req.projectteam;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lcj
|
||||
* @date 2025/3/5 14:05
|
||||
*/
|
||||
@Data
|
||||
public class ProjectTeamCreateReq implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = -7603153089205421154L;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 班组名称
|
||||
*/
|
||||
private String teamName;
|
||||
|
||||
/**
|
||||
* 范围内打卡(0范围内打卡 1任何地点打卡)默认为1
|
||||
*/
|
||||
private Long isClockIn;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
package org.dromara.project.domain.req.projectteam;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.dromara.common.core.common.PageRequest;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lcj
|
||||
* @date 2025/3/5 14:31
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class ProjectTeamQueryReq extends PageRequest implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 3252651952758479341L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 班组名称
|
||||
*/
|
||||
private String teamName;
|
||||
|
||||
/**
|
||||
* 范围内打卡(0范围内打卡 1任何地点打卡)默认为1
|
||||
*/
|
||||
private Long isClockIn;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package org.dromara.project.domain.req.projectteam;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lcj
|
||||
* @date 2025/3/5 15:04
|
||||
*/
|
||||
@Data
|
||||
public class ProjectTeamUpdateReq implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = -8022860866890925958L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 班组名称
|
||||
*/
|
||||
private String teamName;
|
||||
|
||||
/**
|
||||
* 范围内打卡(0范围内打卡 1任何地点打卡)默认为1
|
||||
*/
|
||||
private Long isClockIn;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package org.dromara.project.domain.req.projectteammember;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lcj
|
||||
* @date 2025/3/5 14:05
|
||||
*/
|
||||
@Data
|
||||
public class ProjectTeamMemberCreateReq implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = -7603153089205421154L;
|
||||
|
||||
/**
|
||||
* 班组id
|
||||
*/
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 施工人员id
|
||||
*/
|
||||
private Long memberId;
|
||||
|
||||
/**
|
||||
* 岗位(默认为0普通员工,1组长)
|
||||
*/
|
||||
private Long postId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package org.dromara.project.domain.req.projectteammember;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.dromara.common.core.common.PageRequest;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lcj
|
||||
* @date 2025/3/5 14:31
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class ProjectTeamMemberQueryReq extends PageRequest implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 3252651952758479341L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 班组id
|
||||
*/
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 施工人员id
|
||||
*/
|
||||
private Long memberId;
|
||||
|
||||
/**
|
||||
* 岗位(默认为0普通员工,1组长)
|
||||
*/
|
||||
private Long postId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package org.dromara.project.domain.req.projectteammember;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lcj
|
||||
* @date 2025/3/5 15:04
|
||||
*/
|
||||
@Data
|
||||
public class ProjectTeamMemberUpdateReq implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = -8022860866890925958L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 班组id
|
||||
*/
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 施工人员id
|
||||
*/
|
||||
private Long memberId;
|
||||
|
||||
/**
|
||||
* 岗位(默认为0普通员工,1组长)
|
||||
*/
|
||||
private Long postId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
@ -0,0 +1,206 @@
|
||||
package org.dromara.project.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import org.dromara.project.domain.BusConstructionUser;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* 施工人员视图对象 bus_construction_user
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = BusConstructionUser.class)
|
||||
public class BusConstructionUserVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@ExcelProperty(value = "主键id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 微信id
|
||||
*/
|
||||
@ExcelProperty(value = "微信id")
|
||||
private String openid;
|
||||
|
||||
/**
|
||||
* 微信名称
|
||||
*/
|
||||
@ExcelProperty(value = "微信名称")
|
||||
private String nickName;
|
||||
|
||||
/**
|
||||
* 人脸照
|
||||
*/
|
||||
@ExcelProperty(value = "人脸照")
|
||||
private String pacePhoto;
|
||||
|
||||
/**
|
||||
* 人员姓名
|
||||
*/
|
||||
@ExcelProperty(value = "人员姓名")
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@ExcelProperty(value = "项目id")
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 分包公司id
|
||||
*/
|
||||
@ExcelProperty(value = "分包公司id")
|
||||
private Long contractorId;
|
||||
|
||||
/**
|
||||
* 分包公司
|
||||
*/
|
||||
@ExcelProperty(value = "分包公司")
|
||||
private BusContractorVo contractorVo;
|
||||
|
||||
/**
|
||||
* 班组id
|
||||
*/
|
||||
@ExcelProperty(value = "班组id")
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 状态(0在职 1离职)
|
||||
*/
|
||||
@ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0=在职,1=离职")
|
||||
private Long status;
|
||||
|
||||
/**
|
||||
* 是否代打
|
||||
*/
|
||||
@ExcelProperty(value = "是否代打")
|
||||
private Long isPinch;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
@ExcelProperty(value = "联系电话")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 0:保密 1:男 2女
|
||||
*/
|
||||
@ExcelProperty(value = "0:保密 1:男 2女")
|
||||
private Long sex;
|
||||
|
||||
/**
|
||||
* 民族
|
||||
*/
|
||||
@ExcelProperty(value = "民族")
|
||||
private String nation;
|
||||
|
||||
/**
|
||||
* 身份证号码
|
||||
*/
|
||||
@ExcelProperty(value = "身份证号码")
|
||||
private String sfzNumber;
|
||||
|
||||
/**
|
||||
* 身份证有效开始期
|
||||
*/
|
||||
@ExcelProperty(value = "身份证有效开始期")
|
||||
private String sfzStart;
|
||||
|
||||
/**
|
||||
* 身份证有效结束期
|
||||
*/
|
||||
@ExcelProperty(value = "身份证有效结束期")
|
||||
private String sfzEnd;
|
||||
|
||||
/**
|
||||
* 身份证地址
|
||||
*/
|
||||
@ExcelProperty(value = "身份证地址")
|
||||
private String sfzSite;
|
||||
|
||||
/**
|
||||
* 身份证出生日期
|
||||
*/
|
||||
@ExcelProperty(value = "身份证出生日期")
|
||||
private String sfzBirth;
|
||||
|
||||
/**
|
||||
* 籍贯
|
||||
*/
|
||||
@ExcelProperty(value = "籍贯")
|
||||
private String nativePlace;
|
||||
|
||||
/**
|
||||
* 银行卡号
|
||||
*/
|
||||
@ExcelProperty(value = "银行卡号")
|
||||
private String yhkNumber;
|
||||
|
||||
/**
|
||||
* 开户行
|
||||
*/
|
||||
@ExcelProperty(value = "开户行")
|
||||
private String yhkOpeningBank;
|
||||
|
||||
/**
|
||||
* 持卡人
|
||||
*/
|
||||
@ExcelProperty(value = "持卡人")
|
||||
private String yhkCardholder;
|
||||
|
||||
/**
|
||||
* 工种(字典type_of_work)
|
||||
*/
|
||||
@ExcelProperty(value = "工种(字典type_of_work)", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(dictType = "type_of_work")
|
||||
private Long typeOfWork;
|
||||
|
||||
/**
|
||||
* 打卡(0启用打卡 1禁止打卡)
|
||||
*/
|
||||
@ExcelProperty(value = "打卡(0启用打卡 1禁止打卡)")
|
||||
private Long clock;
|
||||
|
||||
/**
|
||||
* 入场时间
|
||||
*/
|
||||
@ExcelProperty(value = "入场时间")
|
||||
private String entryDate;
|
||||
|
||||
/**
|
||||
* 离场时间
|
||||
*/
|
||||
@ExcelProperty(value = "离场时间")
|
||||
private String leaveDate;
|
||||
|
||||
/**
|
||||
* 薪水
|
||||
*/
|
||||
@ExcelProperty(value = "薪水")
|
||||
private Long salary;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,76 @@
|
||||
package org.dromara.project.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.project.domain.BusContractor;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 分包单位视图对象 bus_contractor
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = BusContractor.class)
|
||||
public class BusContractorVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@ExcelProperty(value = "主键id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 公司名称
|
||||
*/
|
||||
@ExcelProperty(value = "公司名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 负责人
|
||||
*/
|
||||
@ExcelProperty(value = "负责人")
|
||||
private String principal;
|
||||
|
||||
/**
|
||||
* 负责人联系电话
|
||||
*/
|
||||
@ExcelProperty(value = "负责人联系电话")
|
||||
private String principalPhone;
|
||||
|
||||
/**
|
||||
* 管理人
|
||||
*/
|
||||
@ExcelProperty(value = "管理人")
|
||||
private String custodian;
|
||||
|
||||
/**
|
||||
* 管理人联系电话
|
||||
*/
|
||||
@ExcelProperty(value = "管理人联系电话")
|
||||
private String custodianPhone;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,73 @@
|
||||
package org.dromara.project.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import org.dromara.project.domain.BusProjectTeamMember;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* 项目班组下的成员视图对象 bus_project_team_member
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = BusProjectTeamMember.class)
|
||||
public class BusProjectTeamMemberVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@ExcelProperty(value = "主键id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 班组id
|
||||
*/
|
||||
@ExcelProperty(value = "班组id")
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@ExcelProperty(value = "项目id")
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 施工人员id
|
||||
*/
|
||||
@ExcelProperty(value = "施工人员id")
|
||||
private Long memberId;
|
||||
|
||||
/**
|
||||
* 施工人员信息
|
||||
*/
|
||||
@ExcelProperty(value = "施工人员信息")
|
||||
private BusConstructionUserVo constructionUserVo;
|
||||
|
||||
/**
|
||||
* 岗位(默认为0普通员工,1组长)
|
||||
*/
|
||||
@ExcelProperty(value = "岗位", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "默认为0普通员工,1组长")
|
||||
private Long postId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,65 @@
|
||||
package org.dromara.project.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.project.domain.BusProjectTeam;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 项目班组视图对象 bus_project_team
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = BusProjectTeam.class)
|
||||
public class BusProjectTeamVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@ExcelProperty(value = "主键id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@ExcelProperty(value = "项目id")
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 班组名称
|
||||
*/
|
||||
@ExcelProperty(value = "班组名称")
|
||||
private String teamName;
|
||||
|
||||
/**
|
||||
* 范围内打卡(0范围内打卡 1任何地点打卡)默认为1
|
||||
*/
|
||||
@ExcelProperty(value = "范围内打卡", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0=范围内打卡,1=任何地点打卡")
|
||||
private Long isClockIn;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package org.dromara.project.mapper;
|
||||
|
||||
import org.dromara.project.domain.BusConstructionUser;
|
||||
import org.dromara.project.domain.vo.BusConstructionUserVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 施工人员Mapper接口
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
public interface BusConstructionUserMapper extends BaseMapperPlus<BusConstructionUser, BusConstructionUserVo> {
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package org.dromara.project.mapper;
|
||||
|
||||
import org.dromara.project.domain.BusContractor;
|
||||
import org.dromara.project.domain.vo.BusContractorVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 分包单位Mapper接口
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
public interface BusContractorMapper extends BaseMapperPlus<BusContractor, BusContractorVo> {
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package org.dromara.project.mapper;
|
||||
|
||||
import org.dromara.project.domain.BusProjectTeam;
|
||||
import org.dromara.project.domain.vo.BusProjectTeamVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 项目班组Mapper接口
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
public interface BusProjectTeamMapper extends BaseMapperPlus<BusProjectTeam, BusProjectTeamVo> {
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package org.dromara.project.mapper;
|
||||
|
||||
import org.dromara.project.domain.BusProjectTeamMember;
|
||||
import org.dromara.project.domain.vo.BusProjectTeamMemberVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 项目班组下的成员Mapper接口
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
public interface BusProjectTeamMemberMapper extends BaseMapperPlus<BusProjectTeamMember, BusProjectTeamMemberVo> {
|
||||
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package org.dromara.project.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.dromara.project.domain.BusConstructionUser;
|
||||
import org.dromara.project.domain.req.constructionuser.ConstructionUserCreateReq;
|
||||
import org.dromara.project.domain.req.constructionuser.ConstructionUserQueryReq;
|
||||
import org.dromara.project.domain.req.constructionuser.ConstructionUserUpdateReq;
|
||||
import org.dromara.project.domain.vo.BusConstructionUserVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 施工人员Service接口
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
public interface IBusConstructionUserService extends IService<BusConstructionUser> {
|
||||
|
||||
/**
|
||||
* 查询施工人员
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 施工人员
|
||||
*/
|
||||
BusConstructionUserVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询施工人员列表
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 施工人员分页列表
|
||||
*/
|
||||
Page<BusConstructionUserVo> queryPageList(ConstructionUserQueryReq req);
|
||||
|
||||
/**
|
||||
* 查询符合条件的施工人员列表
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 施工人员列表
|
||||
*/
|
||||
List<BusConstructionUserVo> queryList(ConstructionUserQueryReq req);
|
||||
|
||||
/**
|
||||
* 新增施工人员
|
||||
*
|
||||
* @param req 施工人员
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Long insertByBo(ConstructionUserCreateReq req);
|
||||
|
||||
/**
|
||||
* 修改施工人员
|
||||
*
|
||||
* @param req 施工人员
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(ConstructionUserUpdateReq req);
|
||||
|
||||
/**
|
||||
* 校验并批量删除施工人员信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 获取施工人员视图对象
|
||||
*
|
||||
* @param constructionUser 施工人员对象
|
||||
* @return 施工人员视图对象
|
||||
*/
|
||||
BusConstructionUserVo getVo(BusConstructionUser constructionUser);
|
||||
|
||||
/**
|
||||
* 获取施工人员查询条件封装
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 查询条件封装
|
||||
*/
|
||||
QueryWrapper<BusConstructionUser> getQueryWrapper(ConstructionUserQueryReq req);
|
||||
|
||||
/**
|
||||
* 获取施工人员分页对象视图
|
||||
*
|
||||
* @param constructionUserPage 施工人员分页对象
|
||||
* @return 施工人员分页对象视图
|
||||
*/
|
||||
Page<BusConstructionUserVo> getVoPage(Page<BusConstructionUser> constructionUserPage);
|
||||
}
|
@ -0,0 +1,96 @@
|
||||
package org.dromara.project.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.dromara.project.domain.BusContractor;
|
||||
import org.dromara.project.domain.req.contractor.ContractorCreateReq;
|
||||
import org.dromara.project.domain.req.contractor.ContractorQueryReq;
|
||||
import org.dromara.project.domain.req.contractor.ContractorUpdateReq;
|
||||
import org.dromara.project.domain.vo.BusContractorVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 分包单位Service接口
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
public interface IBusContractorService extends IService<BusContractor> {
|
||||
|
||||
/**
|
||||
* 查询分包单位
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 分包单位
|
||||
*/
|
||||
BusContractorVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询分包单位列表
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 分包单位分页列表
|
||||
*/
|
||||
Page<BusContractorVo> queryPageList(ContractorQueryReq req);
|
||||
|
||||
/**
|
||||
* 查询符合条件的分包单位列表
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 分包单位列表
|
||||
*/
|
||||
List<BusContractorVo> queryList(ContractorQueryReq req);
|
||||
|
||||
/**
|
||||
* 新增分包单位
|
||||
*
|
||||
* @param req 分包单位
|
||||
* @return 新增id
|
||||
*/
|
||||
Long insertByBo(ContractorCreateReq req);
|
||||
|
||||
/**
|
||||
* 修改分包单位
|
||||
*
|
||||
* @param req 分包单位
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(ContractorUpdateReq req);
|
||||
|
||||
/**
|
||||
* 校验并批量删除分包单位信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 获取分包公司视图对象
|
||||
*
|
||||
* @param contractor 分包公司对象
|
||||
* @return 分包公司视图对象
|
||||
*/
|
||||
BusContractorVo getVo(BusContractor contractor);
|
||||
|
||||
/**
|
||||
* 获取分包公司查询条件封装
|
||||
*
|
||||
* @param req 分包公司查询条件
|
||||
* @return 分包公司查询条件封装
|
||||
*/
|
||||
QueryWrapper<BusContractor> getQueryWrapper(ContractorQueryReq req);
|
||||
|
||||
/**
|
||||
* 获取分包公司分页对象视图
|
||||
*
|
||||
* @param contractorPage 分包公司分页对象
|
||||
* @return 分包公司分页对象视图
|
||||
*/
|
||||
Page<BusContractorVo> getVoPage(Page<BusContractor> contractorPage);
|
||||
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package org.dromara.project.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.dromara.project.domain.BusProjectTeamMember;
|
||||
import org.dromara.project.domain.req.projectteammember.ProjectTeamMemberCreateReq;
|
||||
import org.dromara.project.domain.req.projectteammember.ProjectTeamMemberQueryReq;
|
||||
import org.dromara.project.domain.req.projectteammember.ProjectTeamMemberUpdateReq;
|
||||
import org.dromara.project.domain.vo.BusProjectTeamMemberVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目班组下的成员Service接口
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
public interface IBusProjectTeamMemberService extends IService<BusProjectTeamMember> {
|
||||
|
||||
/**
|
||||
* 查询项目班组下的成员
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 项目班组下的成员
|
||||
*/
|
||||
BusProjectTeamMemberVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询项目班组下的成员列表
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 项目班组下的成员分页列表
|
||||
*/
|
||||
Page<BusProjectTeamMemberVo> queryPageList(ProjectTeamMemberQueryReq req);
|
||||
|
||||
/**
|
||||
* 查询符合条件的项目班组下的成员列表
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 项目班组下的成员列表
|
||||
*/
|
||||
List<BusProjectTeamMemberVo> queryList(ProjectTeamMemberQueryReq req);
|
||||
|
||||
/**
|
||||
* 新增项目班组下的成员
|
||||
*
|
||||
* @param req 项目班组下的成员
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Long insertByBo(ProjectTeamMemberCreateReq req);
|
||||
|
||||
/**
|
||||
* 修改项目班组下的成员
|
||||
*
|
||||
* @param req 项目班组下的成员
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(ProjectTeamMemberUpdateReq req);
|
||||
|
||||
/**
|
||||
* 校验并批量删除项目班组下的成员信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 获取项目班组成员视图对象
|
||||
*
|
||||
* @param projectTeamMember 项目班组成员对象
|
||||
* @return 项目班组成员视图对象
|
||||
*/
|
||||
BusProjectTeamMemberVo getVo(BusProjectTeamMember projectTeamMember);
|
||||
|
||||
/**
|
||||
* 获取项目班组成员查询条件封装
|
||||
*
|
||||
* @param req 项目班组成员查询条件
|
||||
* @return 项目班组成员查询条件封装
|
||||
*/
|
||||
QueryWrapper<BusProjectTeamMember> getQueryWrapper(ProjectTeamMemberQueryReq req);
|
||||
|
||||
/**
|
||||
* 获取项目班组成员分页对象视图
|
||||
*
|
||||
* @param projectTeamMemberPage 项目班组成员分页对象
|
||||
* @return 项目班组成员分页对象视图
|
||||
*/
|
||||
Page<BusProjectTeamMemberVo> getVoPage(Page<BusProjectTeamMember> projectTeamMemberPage);
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package org.dromara.project.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.dromara.project.domain.BusProjectTeam;
|
||||
import org.dromara.project.domain.req.projectteam.ProjectTeamCreateReq;
|
||||
import org.dromara.project.domain.req.projectteam.ProjectTeamQueryReq;
|
||||
import org.dromara.project.domain.req.projectteam.ProjectTeamUpdateReq;
|
||||
import org.dromara.project.domain.vo.BusProjectTeamVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目班组Service接口
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
public interface IBusProjectTeamService extends IService<BusProjectTeam> {
|
||||
|
||||
/**
|
||||
* 查询项目班组
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 项目班组
|
||||
*/
|
||||
BusProjectTeamVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询项目班组列表
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 项目班组分页列表
|
||||
*/
|
||||
Page<BusProjectTeamVo> queryPageList(ProjectTeamQueryReq req);
|
||||
|
||||
/**
|
||||
* 查询符合条件的项目班组列表
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 项目班组列表
|
||||
*/
|
||||
List<BusProjectTeamVo> queryList(ProjectTeamQueryReq req);
|
||||
|
||||
/**
|
||||
* 新增项目班组
|
||||
*
|
||||
* @param req 项目班组
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Long insertByBo(ProjectTeamCreateReq req);
|
||||
|
||||
/**
|
||||
* 修改项目班组
|
||||
*
|
||||
* @param req 项目班组
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(ProjectTeamUpdateReq req);
|
||||
|
||||
/**
|
||||
* 校验并批量删除项目班组信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 获取项目班组视图对象
|
||||
*
|
||||
* @param projectTeam 项目班组对象
|
||||
* @return 项目班组视图对象
|
||||
*/
|
||||
BusProjectTeamVo getVo(BusProjectTeam projectTeam);
|
||||
|
||||
/**
|
||||
* 获取项目班组查询条件封装
|
||||
*
|
||||
* @param req 项目班组查询条件
|
||||
* @return 项目班组查询条件封装
|
||||
*/
|
||||
QueryWrapper<BusProjectTeam> getQueryWrapper(ProjectTeamQueryReq req);
|
||||
|
||||
/**
|
||||
* 获取项目班组分页对象视图
|
||||
*
|
||||
* @param projectTeamPage 项目班组分页对象
|
||||
* @return 项目班组分页对象视图
|
||||
*/
|
||||
Page<BusProjectTeamVo> getVoPage(Page<BusProjectTeam> projectTeamPage);
|
||||
}
|
@ -28,14 +28,6 @@ public interface IProjectService extends IService<Project> {
|
||||
*/
|
||||
ProjectVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 获取项目视图对象
|
||||
*
|
||||
* @param project 项目对象
|
||||
* @return 项目视图对象
|
||||
*/
|
||||
ProjectVo getProjectVo(Project project);
|
||||
|
||||
/**
|
||||
* 分页查询项目列表
|
||||
*
|
||||
@ -77,6 +69,14 @@ public interface IProjectService extends IService<Project> {
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 获取项目视图对象
|
||||
*
|
||||
* @param project 项目对象
|
||||
* @return 项目视图对象
|
||||
*/
|
||||
ProjectVo getProjectVo(Project project);
|
||||
|
||||
/**
|
||||
* 获取项目查询条件封装
|
||||
*
|
||||
@ -91,6 +91,6 @@ public interface IProjectService extends IService<Project> {
|
||||
* @param projectPage 项目分页对象
|
||||
* @return 项目分页对象视图
|
||||
*/
|
||||
Page<ProjectVo> getProjectVoPage(Page<Project> projectPage);
|
||||
Page<ProjectVo> getVoPage(Page<Project> projectPage);
|
||||
|
||||
}
|
||||
|
@ -22,22 +22,6 @@ import java.util.List;
|
||||
*/
|
||||
public interface IUserProjectRelevancyService extends IService<UserProjectRelevancy> {
|
||||
|
||||
/**
|
||||
* 获取系统用户与项目关联视图
|
||||
*
|
||||
* @param userProjectRelevancy 系统用户与项目关联
|
||||
* @return 系统用户与项目关联视图
|
||||
*/
|
||||
UserProjectRelevancyVo getUserProjectRelevancyVo(UserProjectRelevancy userProjectRelevancy);
|
||||
|
||||
/**
|
||||
* 获取系统用户与项目关联分页视图
|
||||
*
|
||||
* @param userProjectRelevancyPage 系统用户与项目关联分页
|
||||
* @return 系统用户与项目关联分页视图
|
||||
*/
|
||||
Page<UserProjectRelevancyVo> getUserProjectRelevancyVoPage(Page<UserProjectRelevancy> userProjectRelevancyPage);
|
||||
|
||||
/**
|
||||
* 查询系统用户与项目关联
|
||||
*
|
||||
@ -104,6 +88,22 @@ public interface IUserProjectRelevancyService extends IService<UserProjectReleva
|
||||
*/
|
||||
Page<UserProjectRelevancyVo> queryPageByUserId(Long userId, UserProjectRelevancyQueryReq req);
|
||||
|
||||
/**
|
||||
* 批量新增用户和项目关联
|
||||
*
|
||||
* @param req 新增参数
|
||||
* @return 是否增加成功
|
||||
*/
|
||||
Boolean insertBatchByProjectList(ProjectBatchByProjectListReq req);
|
||||
|
||||
/**
|
||||
* 获取系统用户与项目关联视图
|
||||
*
|
||||
* @param userProjectRelevancy 系统用户与项目关联
|
||||
* @return 系统用户与项目关联视图
|
||||
*/
|
||||
UserProjectRelevancyVo getVo(UserProjectRelevancy userProjectRelevancy);
|
||||
|
||||
/**
|
||||
* 获取用户和项目关联对象查询条件封装
|
||||
*
|
||||
@ -113,10 +113,11 @@ public interface IUserProjectRelevancyService extends IService<UserProjectReleva
|
||||
QueryWrapper<UserProjectRelevancy> getQueryWrapper(UserProjectRelevancyQueryReq req);
|
||||
|
||||
/**
|
||||
* 批量新增用户和项目关联
|
||||
* 获取系统用户与项目关联分页视图
|
||||
*
|
||||
* @param req 新增参数
|
||||
* @return 是否增加成功
|
||||
* @param userProjectRelevancyPage 系统用户与项目关联分页
|
||||
* @return 系统用户与项目关联分页视图
|
||||
*/
|
||||
Boolean insertBatchByProjectList(ProjectBatchByProjectListReq req);
|
||||
Page<UserProjectRelevancyVo> getVoPage(Page<UserProjectRelevancy> userProjectRelevancyPage);
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,310 @@
|
||||
package org.dromara.project.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.dromara.common.core.constant.CommonConstant;
|
||||
import org.dromara.common.core.constant.HttpStatus;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.ObjectUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.core.utils.sql.SqlUtil;
|
||||
import org.dromara.project.domain.BusConstructionUser;
|
||||
import org.dromara.project.domain.BusContractor;
|
||||
import org.dromara.project.domain.req.constructionuser.ConstructionUserCreateReq;
|
||||
import org.dromara.project.domain.req.constructionuser.ConstructionUserQueryReq;
|
||||
import org.dromara.project.domain.req.constructionuser.ConstructionUserUpdateReq;
|
||||
import org.dromara.project.domain.vo.BusConstructionUserVo;
|
||||
import org.dromara.project.domain.vo.BusContractorVo;
|
||||
import org.dromara.project.mapper.BusConstructionUserMapper;
|
||||
import org.dromara.project.service.IBusConstructionUserService;
|
||||
import org.dromara.project.service.IBusContractorService;
|
||||
import org.dromara.project.service.IProjectService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 施工人员Service业务层处理
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Service
|
||||
public class BusConstructionUserServiceImpl extends ServiceImpl<BusConstructionUserMapper, BusConstructionUser>
|
||||
implements IBusConstructionUserService {
|
||||
|
||||
@Resource
|
||||
private IProjectService projectService;
|
||||
|
||||
@Resource
|
||||
private IBusContractorService contractorService;
|
||||
|
||||
/**
|
||||
* 查询施工人员
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 施工人员
|
||||
*/
|
||||
@Override
|
||||
public BusConstructionUserVo queryById(Long id) {
|
||||
BusConstructionUser constructionUser = this.getById(id);
|
||||
if (constructionUser == null) {
|
||||
throw new ServiceException("施工人员信息不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
return this.getVo(constructionUser);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询施工人员列表
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 施工人员分页列表
|
||||
*/
|
||||
@Override
|
||||
public Page<BusConstructionUserVo> queryPageList(ConstructionUserQueryReq req) {
|
||||
long current = req.getCurrent();
|
||||
long size = req.getPageSize();
|
||||
// 查询数据库
|
||||
Page<BusConstructionUser> result = this.page(new Page<>(current, size), this.getQueryWrapper(req));
|
||||
return this.getVoPage(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的施工人员列表
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 施工人员列表
|
||||
*/
|
||||
@Override
|
||||
public List<BusConstructionUserVo> queryList(ConstructionUserQueryReq req) {
|
||||
QueryWrapper<BusConstructionUser> queryWrapper = this.getQueryWrapper(req);
|
||||
List<BusConstructionUser> list = this.list(queryWrapper);
|
||||
return list.stream().map(this::getVo).toList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增施工人员
|
||||
*
|
||||
* @param req 施工人员
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Long insertByBo(ConstructionUserCreateReq req) {
|
||||
// 将实体类和 DTO 进行转换
|
||||
BusConstructionUser constructionUser = new BusConstructionUser();
|
||||
BeanUtils.copyProperties(req, constructionUser);
|
||||
// 数据校验
|
||||
validEntityBeforeSave(constructionUser);
|
||||
// 操作数据库
|
||||
boolean save = this.save(constructionUser);
|
||||
if (!save) {
|
||||
throw new ServiceException("新增施工人员失败,数据库异常", HttpStatus.ERROR);
|
||||
}
|
||||
return constructionUser.getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改施工人员
|
||||
*
|
||||
* @param req 施工人员
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(ConstructionUserUpdateReq req) {
|
||||
// 将实体类和 DTO 进行转换
|
||||
BusConstructionUser constructionUser = new BusConstructionUser();
|
||||
BeanUtils.copyProperties(req, constructionUser);
|
||||
// 数据校验
|
||||
validEntityBeforeSave(constructionUser);
|
||||
// 判断是否存在
|
||||
BusConstructionUser oldConstructionUser = this.getById(constructionUser.getId());
|
||||
if (oldConstructionUser == null) {
|
||||
throw new ServiceException("修改施工人员失败,数据不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
// 操作数据库
|
||||
return this.updateById(constructionUser);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(BusConstructionUser entity) {
|
||||
// TODO 做一些数据校验,如唯一约束
|
||||
// 校验项目id和对应项目是否存在
|
||||
Long projectId = entity.getProjectId();
|
||||
if (projectId == null) {
|
||||
throw new ServiceException("项目 id 不能为空", HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
if (projectService.getById(projectId) == null) {
|
||||
throw new ServiceException("对应项目不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
// 校验分包公司id和对应项目是否存在
|
||||
Long contractorId = entity.getContractorId();
|
||||
if (contractorId == null) {
|
||||
throw new ServiceException("分包公司 id 不能为空", HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
if (contractorService.getById(contractorId) == null) {
|
||||
throw new ServiceException("对应分包公司不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除施工人员信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if (isValid) {
|
||||
// TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return this.removeBatchByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取施工人员视图对象
|
||||
*
|
||||
* @param constructionUser 施工人员对象
|
||||
* @return 施工人员视图对象
|
||||
*/
|
||||
@Override
|
||||
public BusConstructionUserVo getVo(BusConstructionUser constructionUser) {
|
||||
// 对象转封装类
|
||||
BusConstructionUserVo constructionUserVo = new BusConstructionUserVo();
|
||||
if (constructionUser == null) {
|
||||
return constructionUserVo;
|
||||
}
|
||||
BeanUtils.copyProperties(constructionUser, constructionUserVo);
|
||||
// 关联查询分包公司信息信息
|
||||
Long contractorId = constructionUser.getContractorId();
|
||||
if (contractorId != null) {
|
||||
constructionUserVo.setContractorVo(contractorService.queryById(contractorId));
|
||||
}
|
||||
return constructionUserVo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取施工人员查询条件封装
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 查询条件封装
|
||||
*/
|
||||
@Override
|
||||
public QueryWrapper<BusConstructionUser> getQueryWrapper(ConstructionUserQueryReq req) {
|
||||
QueryWrapper<BusConstructionUser> queryWrapper = new QueryWrapper<>();
|
||||
if (req == null) {
|
||||
return queryWrapper;
|
||||
}
|
||||
// 从对象中取值
|
||||
Long id = req.getId();
|
||||
String openid = req.getOpenid();
|
||||
String nickName = req.getNickName();
|
||||
String userName = req.getUserName();
|
||||
Long projectId = req.getProjectId();
|
||||
Long contractorId = req.getContractorId();
|
||||
Long teamId = req.getTeamId();
|
||||
Long status = req.getStatus();
|
||||
Long isPinch = req.getIsPinch();
|
||||
String phone = req.getPhone();
|
||||
Long sex = req.getSex();
|
||||
String nation = req.getNation();
|
||||
String sfzNumber = req.getSfzNumber();
|
||||
String sfzStart = req.getSfzStart();
|
||||
String sfzEnd = req.getSfzEnd();
|
||||
String sfzSite = req.getSfzSite();
|
||||
String sfzBirth = req.getSfzBirth();
|
||||
String nativePlace = req.getNativePlace();
|
||||
String yhkNumber = req.getYhkNumber();
|
||||
String yhkOpeningBank = req.getYhkOpeningBank();
|
||||
String yhkCardholder = req.getYhkCardholder();
|
||||
Long typeOfWork = req.getTypeOfWork();
|
||||
Long clock = req.getClock();
|
||||
Long salary = req.getSalary();
|
||||
String remark = req.getRemark();
|
||||
String sortField = req.getSortField();
|
||||
String sortOrder = req.getSortOrder();
|
||||
String underlineSortField = StrUtil.toUnderlineCase(sortField);
|
||||
// 模糊查询
|
||||
queryWrapper.like(StringUtils.isNotBlank(nickName), "nick_name", nickName);
|
||||
queryWrapper.like(StringUtils.isNotBlank(userName), "user_name", userName);
|
||||
queryWrapper.like(StringUtils.isNotBlank(remark), "remark", remark);
|
||||
queryWrapper.like(StringUtils.isNotBlank(phone), "phone", phone);
|
||||
queryWrapper.like(StringUtils.isNotBlank(nation), "nation", nation);
|
||||
queryWrapper.like(StringUtils.isNotBlank(sfzNumber), "sfz_number", sfzNumber);
|
||||
queryWrapper.like(StringUtils.isNotBlank(sfzStart), "sfz_start", sfzStart);
|
||||
queryWrapper.like(StringUtils.isNotBlank(sfzEnd), "sfz_end", sfzEnd);
|
||||
queryWrapper.like(StringUtils.isNotBlank(sfzSite), "sfz_site", sfzSite);
|
||||
queryWrapper.like(StringUtils.isNotBlank(sfzBirth), "sfz_birth", sfzBirth);
|
||||
queryWrapper.like(StringUtils.isNotBlank(nativePlace), "native_place", nativePlace);
|
||||
queryWrapper.like(StringUtils.isNotBlank(yhkNumber), "yhk_number", yhkNumber);
|
||||
queryWrapper.like(StringUtils.isNotBlank(yhkOpeningBank), "yhk_opening_bank", yhkOpeningBank);
|
||||
queryWrapper.like(StringUtils.isNotBlank(yhkCardholder), "yhk_cardholder", yhkCardholder);
|
||||
// 精确查询
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(openid), "openid", openid);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(status), "status", status);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(id), "id", id);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(projectId), "project_id", projectId);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(contractorId), "contractor_id", contractorId);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(teamId), "team_id", teamId);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(isPinch), "is_pinch", isPinch);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(sex), "sex", sex);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(typeOfWork), "type_of_work", typeOfWork);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(clock), "clock", clock);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(salary), "salary", salary);
|
||||
// 排序规则
|
||||
queryWrapper.orderBy(SqlUtil.validSortField(sortField),
|
||||
sortOrder.equals(CommonConstant.SORT_ORDER_ASC),
|
||||
underlineSortField);
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取施工人员分页对象视图
|
||||
*
|
||||
* @param constructionUserPage 施工人员分页对象
|
||||
* @return 施工人员分页对象视图
|
||||
*/
|
||||
@Override
|
||||
public Page<BusConstructionUserVo> getVoPage(Page<BusConstructionUser> constructionUserPage) {
|
||||
List<BusConstructionUser> constructionUserList = constructionUserPage.getRecords();
|
||||
Page<BusConstructionUserVo> constructionUserVoPage = new Page<>(
|
||||
constructionUserPage.getCurrent(),
|
||||
constructionUserPage.getSize(),
|
||||
constructionUserPage.getTotal());
|
||||
if (CollUtil.isEmpty(constructionUserList)) {
|
||||
return constructionUserVoPage;
|
||||
}
|
||||
// 关联查询分包公司信息
|
||||
Set<Long> contractorIdSet = constructionUserList.stream().map(BusConstructionUser::getContractorId)
|
||||
.collect(Collectors.toSet());
|
||||
Map<Long, List<BusContractor>> contractorIdContractorList = contractorService.listByIds(contractorIdSet).stream()
|
||||
.collect(Collectors.groupingBy(BusContractor::getId));
|
||||
// 填充信息
|
||||
List<BusConstructionUserVo> constructionUserVoList = constructionUserList.stream().map(constructionUser -> {
|
||||
BusConstructionUserVo constructionUserVo = new BusConstructionUserVo();
|
||||
BeanUtils.copyProperties(constructionUser, constructionUserVo);
|
||||
Long contractorId = constructionUser.getContractorId();
|
||||
BusContractorVo contractor = null;
|
||||
if (contractorIdContractorList.containsKey(contractorId)) {
|
||||
contractor = contractorService.getVo(contractorIdContractorList.get(contractorId).get(0));
|
||||
}
|
||||
constructionUserVo.setContractorVo(contractor);
|
||||
return constructionUserVo;
|
||||
}).toList();
|
||||
constructionUserVoPage.setRecords(constructionUserVoList);
|
||||
return constructionUserVoPage;
|
||||
}
|
||||
}
|
@ -0,0 +1,231 @@
|
||||
package org.dromara.project.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.dromara.common.core.constant.CommonConstant;
|
||||
import org.dromara.common.core.constant.HttpStatus;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.ObjectUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.core.utils.sql.SqlUtil;
|
||||
import org.dromara.project.domain.BusContractor;
|
||||
import org.dromara.project.domain.req.contractor.ContractorCreateReq;
|
||||
import org.dromara.project.domain.req.contractor.ContractorQueryReq;
|
||||
import org.dromara.project.domain.req.contractor.ContractorUpdateReq;
|
||||
import org.dromara.project.domain.vo.BusContractorVo;
|
||||
import org.dromara.project.mapper.BusContractorMapper;
|
||||
import org.dromara.project.service.IBusContractorService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 分包单位Service业务层处理
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Service
|
||||
public class BusContractorServiceImpl extends ServiceImpl<BusContractorMapper, BusContractor>
|
||||
implements IBusContractorService {
|
||||
|
||||
/**
|
||||
* 查询分包单位
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 分包单位
|
||||
*/
|
||||
@Override
|
||||
public BusContractorVo queryById(Long id) {
|
||||
BusContractor contractor = this.getById(id);
|
||||
if (contractor == null) {
|
||||
throw new ServiceException("分包单位信息不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
return this.getVo(contractor);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询分包单位列表
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 分包单位分页列表
|
||||
*/
|
||||
@Override
|
||||
public Page<BusContractorVo> queryPageList(ContractorQueryReq req) {
|
||||
long current = req.getCurrent();
|
||||
long size = req.getPageSize();
|
||||
// 查询数据库
|
||||
Page<BusContractor> result = this.page(new Page<>(current, size), this.getQueryWrapper(req));
|
||||
return this.getVoPage(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的分包单位列表
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 分包单位列表
|
||||
*/
|
||||
@Override
|
||||
public List<BusContractorVo> queryList(ContractorQueryReq req) {
|
||||
QueryWrapper<BusContractor> queryWrapper = this.getQueryWrapper(req);
|
||||
List<BusContractor> list = this.list(queryWrapper);
|
||||
return list.stream().map(this::getVo).toList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增分包单位
|
||||
*
|
||||
* @param req 分包单位
|
||||
* @return 新增id
|
||||
*/
|
||||
@Override
|
||||
public Long insertByBo(ContractorCreateReq req) {
|
||||
// 将实体类和 DTO 进行转换
|
||||
BusContractor contractor = new BusContractor();
|
||||
BeanUtils.copyProperties(req, contractor);
|
||||
// 数据校验
|
||||
validEntityBeforeSave(contractor);
|
||||
// 操作数据库
|
||||
boolean save = this.save(contractor);
|
||||
if (!save) {
|
||||
throw new ServiceException("新增施工人员失败,数据库异常", HttpStatus.ERROR);
|
||||
}
|
||||
return contractor.getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改分包单位
|
||||
*
|
||||
* @param req 分包单位
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(ContractorUpdateReq req) {
|
||||
// 将实体类和 DTO 进行转换
|
||||
BusContractor contractor = new BusContractor();
|
||||
BeanUtils.copyProperties(req, contractor);
|
||||
// 数据校验
|
||||
validEntityBeforeSave(contractor);
|
||||
// 判断是否存在
|
||||
BusContractor oldContractor = this.getById(contractor.getId());
|
||||
if (oldContractor == null) {
|
||||
throw new ServiceException("修改施工人员失败,数据不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
// 操作数据库
|
||||
return this.updateById(contractor);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(BusContractor entity) {
|
||||
// TODO 做一些数据校验,如唯一约束
|
||||
String name = entity.getName();
|
||||
if (StringUtils.isBlank(name)) {
|
||||
throw new ServiceException("分包单位名称不能为空", HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
String principal = entity.getPrincipal();
|
||||
if (StringUtils.isBlank(principal)) {
|
||||
throw new ServiceException("分包单位负责人不能为空", HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除分包单位信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if (isValid) {
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return this.removeBatchByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取分包公司视图对象
|
||||
*
|
||||
* @param contractor 分包公司对象
|
||||
* @return 分包公司视图对象
|
||||
*/
|
||||
@Override
|
||||
public BusContractorVo getVo(BusContractor contractor) {
|
||||
// 对象转封装类
|
||||
BusContractorVo contractorVo = new BusContractorVo();
|
||||
if (contractor == null) {
|
||||
return contractorVo;
|
||||
}
|
||||
BeanUtils.copyProperties(contractor, contractorVo);
|
||||
return contractorVo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取分包公司查询条件封装
|
||||
*
|
||||
* @param req 分包公司查询条件
|
||||
* @return 分包公司查询条件封装
|
||||
*/
|
||||
@Override
|
||||
public QueryWrapper<BusContractor> getQueryWrapper(ContractorQueryReq req) {
|
||||
QueryWrapper<BusContractor> queryWrapper = new QueryWrapper<>();
|
||||
if (req == null) {
|
||||
return queryWrapper;
|
||||
}
|
||||
// 从对象中取值
|
||||
Long id = req.getId();
|
||||
String name = req.getName();
|
||||
String principal = req.getPrincipal();
|
||||
String principalPhone = req.getPrincipalPhone();
|
||||
String custodian = req.getCustodian();
|
||||
String custodianPhone = req.getCustodianPhone();
|
||||
String remark = req.getRemark();
|
||||
String sortField = req.getSortField();
|
||||
String sortOrder = req.getSortOrder();
|
||||
String underlineSortField = StrUtil.toUnderlineCase(sortField);
|
||||
// 模糊查询
|
||||
queryWrapper.like(StringUtils.isNotBlank(name), "name", name);
|
||||
queryWrapper.like(StringUtils.isNotBlank(principal), "principal", principal);
|
||||
queryWrapper.like(StringUtils.isNotBlank(principalPhone), "principal_phone", principalPhone);
|
||||
queryWrapper.like(StringUtils.isNotBlank(custodian), "custodian", custodian);
|
||||
queryWrapper.like(StringUtils.isNotBlank(custodianPhone), "custodian_phone", custodianPhone);
|
||||
queryWrapper.like(StringUtils.isNotBlank(remark), "remark", remark);
|
||||
// 精确查询
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(id), "id", id);
|
||||
// 排序规则
|
||||
queryWrapper.orderBy(SqlUtil.validSortField(sortField),
|
||||
sortOrder.equals(CommonConstant.SORT_ORDER_ASC),
|
||||
underlineSortField);
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取分包公司分页对象视图
|
||||
*
|
||||
* @param contractorPage 分包公司分页对象
|
||||
* @return 分包公司分页对象视图
|
||||
*/
|
||||
@Override
|
||||
public Page<BusContractorVo> getVoPage(Page<BusContractor> contractorPage) {
|
||||
List<BusContractor> contractorList = contractorPage.getRecords();
|
||||
Page<BusContractorVo> contractorVoPage = new Page<>(
|
||||
contractorPage.getCurrent(),
|
||||
contractorPage.getSize(),
|
||||
contractorPage.getTotal());
|
||||
if (CollUtil.isEmpty(contractorList)) {
|
||||
return contractorVoPage;
|
||||
}
|
||||
List<BusContractorVo> contractorVoList = contractorList.stream().map(this::getVo).toList();
|
||||
contractorVoPage.setRecords(contractorVoList);
|
||||
return contractorVoPage;
|
||||
}
|
||||
}
|
@ -0,0 +1,289 @@
|
||||
package org.dromara.project.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.dromara.common.core.constant.CommonConstant;
|
||||
import org.dromara.common.core.constant.HttpStatus;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.ObjectUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.core.utils.sql.SqlUtil;
|
||||
import org.dromara.project.domain.BusConstructionUser;
|
||||
import org.dromara.project.domain.BusProjectTeamMember;
|
||||
import org.dromara.project.domain.req.projectteammember.ProjectTeamMemberCreateReq;
|
||||
import org.dromara.project.domain.req.projectteammember.ProjectTeamMemberQueryReq;
|
||||
import org.dromara.project.domain.req.projectteammember.ProjectTeamMemberUpdateReq;
|
||||
import org.dromara.project.domain.vo.BusConstructionUserVo;
|
||||
import org.dromara.project.domain.vo.BusProjectTeamMemberVo;
|
||||
import org.dromara.project.mapper.BusProjectTeamMemberMapper;
|
||||
import org.dromara.project.service.IBusConstructionUserService;
|
||||
import org.dromara.project.service.IBusProjectTeamMemberService;
|
||||
import org.dromara.project.service.IBusProjectTeamService;
|
||||
import org.dromara.project.service.IProjectService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 项目班组下的成员Service业务层处理
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Service
|
||||
public class BusProjectTeamMemberServiceImpl extends ServiceImpl<BusProjectTeamMemberMapper, BusProjectTeamMember>
|
||||
implements IBusProjectTeamMemberService {
|
||||
|
||||
@Resource
|
||||
private IBusConstructionUserService constructionUserService;
|
||||
|
||||
@Resource
|
||||
private IBusProjectTeamService projectTeamService;
|
||||
|
||||
@Resource
|
||||
private IProjectService projectService;
|
||||
|
||||
/**
|
||||
* 查询项目班组下的成员
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 项目班组下的成员
|
||||
*/
|
||||
@Override
|
||||
public BusProjectTeamMemberVo queryById(Long id) {
|
||||
BusProjectTeamMember projectTeamMember = this.getById(id);
|
||||
if (projectTeamMember == null) {
|
||||
throw new ServiceException("对应项目班组下的成员不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
return this.getVo(projectTeamMember);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询项目班组下的成员列表
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 项目班组下的成员分页列表
|
||||
*/
|
||||
@Override
|
||||
public Page<BusProjectTeamMemberVo> queryPageList(ProjectTeamMemberQueryReq req) {
|
||||
long current = req.getCurrent();
|
||||
long size = req.getPageSize();
|
||||
// 查询数据库
|
||||
Page<BusProjectTeamMember> result = this.page(new Page<>(current, size), this.getQueryWrapper(req));
|
||||
return this.getVoPage(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的项目班组下的成员列表
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 项目班组下的成员列表
|
||||
*/
|
||||
@Override
|
||||
public List<BusProjectTeamMemberVo> queryList(ProjectTeamMemberQueryReq req) {
|
||||
QueryWrapper<BusProjectTeamMember> queryWrapper = this.getQueryWrapper(req);
|
||||
List<BusProjectTeamMember> list = this.list(queryWrapper);
|
||||
return list.stream().map(this::getVo).toList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增项目班组下的成员
|
||||
*
|
||||
* @param req 项目班组下的成员
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Long insertByBo(ProjectTeamMemberCreateReq req) {
|
||||
// 将实体类和 DTO 进行转换
|
||||
BusProjectTeamMember projectTeamMember = new BusProjectTeamMember();
|
||||
BeanUtils.copyProperties(req, projectTeamMember);
|
||||
// 数据校验
|
||||
validEntityBeforeSave(projectTeamMember);
|
||||
// 判断对应的用户与项目关联是否存在
|
||||
if (this.getOne(new LambdaQueryWrapper<BusProjectTeamMember>()
|
||||
.eq(BusProjectTeamMember::getMemberId, projectTeamMember.getMemberId())
|
||||
.eq(BusProjectTeamMember::getTeamId, projectTeamMember.getTeamId())) != null) {
|
||||
throw new ServiceException("用户和项目班组关联已存在", HttpStatus.CONFLICT);
|
||||
}
|
||||
// 操作数据库
|
||||
boolean save = this.save(projectTeamMember);
|
||||
if (!save) {
|
||||
throw new ServiceException("新增项目班组下的成员失败,数据库异常", HttpStatus.ERROR);
|
||||
}
|
||||
return projectTeamMember.getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改项目班组下的成员
|
||||
*
|
||||
* @param req 项目班组下的成员
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(ProjectTeamMemberUpdateReq req) {
|
||||
// 将实体类和 DTO 进行转换
|
||||
BusProjectTeamMember projectTeamMember = new BusProjectTeamMember();
|
||||
BeanUtils.copyProperties(req, projectTeamMember);
|
||||
// 数据校验
|
||||
validEntityBeforeSave(projectTeamMember);
|
||||
// 判断是否存在
|
||||
BusProjectTeamMember oldProjectTeamMember = this.getById(projectTeamMember.getId());
|
||||
if (oldProjectTeamMember == null) {
|
||||
throw new ServiceException("修改项目班组下的成员,数据不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
// 操作数据库
|
||||
return this.updateById(projectTeamMember);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(BusProjectTeamMember entity) {
|
||||
// TODO 做一些数据校验,如唯一约束
|
||||
// 判断对应项目是否存在
|
||||
Long projectId = entity.getProjectId();
|
||||
if (projectId == null) {
|
||||
throw new ServiceException("项目 id 不能为空", HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
if (projectService.getById(projectId) == null) {
|
||||
throw new ServiceException("对应项目不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
// 判断对应成员是否存在
|
||||
Long memberId = entity.getMemberId();
|
||||
if (memberId == null) {
|
||||
throw new ServiceException("人员 id 不能为空", HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
if (constructionUserService.getById(memberId) == null) {
|
||||
throw new ServiceException("对应人员不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
// 判断对应班组是否存在
|
||||
Long teamId = entity.getTeamId();
|
||||
if (teamId == null) {
|
||||
throw new ServiceException("班组 id 不能为空", HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
if (projectTeamService.getById(teamId) == null) {
|
||||
throw new ServiceException("对应班组不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除项目班组下的成员信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if (isValid) {
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return this.removeBatchByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目班组成员视图对象
|
||||
*
|
||||
* @param projectTeamMember 项目班组成员对象
|
||||
* @return 项目班组成员视图对象
|
||||
*/
|
||||
@Override
|
||||
public BusProjectTeamMemberVo getVo(BusProjectTeamMember projectTeamMember) {
|
||||
// 对象转封装类
|
||||
BusProjectTeamMemberVo projectTeamMemberVo = new BusProjectTeamMemberVo();
|
||||
if (projectTeamMember == null) {
|
||||
return projectTeamMemberVo;
|
||||
}
|
||||
BeanUtils.copyProperties(projectTeamMember, projectTeamMemberVo);
|
||||
// 关联获取施工人员信息
|
||||
Long memberId = projectTeamMember.getMemberId();
|
||||
projectTeamMemberVo.setConstructionUserVo(constructionUserService.queryById(memberId));
|
||||
return projectTeamMemberVo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目班组成员查询条件封装
|
||||
*
|
||||
* @param req 项目班组成员查询条件
|
||||
* @return 项目班组成员查询条件封装
|
||||
*/
|
||||
@Override
|
||||
public QueryWrapper<BusProjectTeamMember> getQueryWrapper(ProjectTeamMemberQueryReq req) {
|
||||
QueryWrapper<BusProjectTeamMember> queryWrapper = new QueryWrapper<>();
|
||||
if (req == null) {
|
||||
return queryWrapper;
|
||||
}
|
||||
// 从对象中取值
|
||||
Long id = req.getId();
|
||||
Long teamId = req.getTeamId();
|
||||
Long projectId = req.getProjectId();
|
||||
Long memberId = req.getMemberId();
|
||||
Long postId = req.getPostId();
|
||||
String remark = req.getRemark();
|
||||
String sortField = req.getSortField();
|
||||
String sortOrder = req.getSortOrder();
|
||||
String underlineSortField = StrUtil.toUnderlineCase(sortField);
|
||||
// 模糊查询
|
||||
queryWrapper.like(StringUtils.isNotBlank(remark), "remark", remark);
|
||||
// 精确查询
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(id), "id", id);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(projectId), "project_id", projectId);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(teamId), "team_id", teamId);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(memberId), "member_id", memberId);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(postId), "post_id", postId);
|
||||
// 排序规则
|
||||
queryWrapper.orderBy(SqlUtil.validSortField(sortField),
|
||||
sortOrder.equals(CommonConstant.SORT_ORDER_ASC),
|
||||
underlineSortField);
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目班组成员分页对象视图
|
||||
*
|
||||
* @param projectTeamMemberPage 项目班组成员分页对象
|
||||
* @return 项目班组成员分页对象视图
|
||||
*/
|
||||
@Override
|
||||
public Page<BusProjectTeamMemberVo> getVoPage(Page<BusProjectTeamMember> projectTeamMemberPage) {
|
||||
List<BusProjectTeamMember> projectTeamMemberList = projectTeamMemberPage.getRecords();
|
||||
Page<BusProjectTeamMemberVo> projectTeamMemberVoPage = new Page<>(
|
||||
projectTeamMemberPage.getCurrent(),
|
||||
projectTeamMemberPage.getSize(),
|
||||
projectTeamMemberPage.getTotal());
|
||||
if (CollUtil.isEmpty(projectTeamMemberList)) {
|
||||
return projectTeamMemberVoPage;
|
||||
}
|
||||
// 关联查询施工人员信息
|
||||
Set<Long> teamMemberIdSet = projectTeamMemberList.stream().map(BusProjectTeamMember::getMemberId)
|
||||
.collect(Collectors.toSet());
|
||||
Map<Long, List<BusConstructionUser>> contractorIdContractorList = constructionUserService.listByIds(teamMemberIdSet).stream()
|
||||
.collect(Collectors.groupingBy(BusConstructionUser::getId));
|
||||
// 填充信息
|
||||
List<BusProjectTeamMemberVo> projectTeamMemberVoList = projectTeamMemberList.stream().map(projectTeamMember -> {
|
||||
BusProjectTeamMemberVo projectTeamMemberVo = new BusProjectTeamMemberVo();
|
||||
BeanUtils.copyProperties(projectTeamMember, projectTeamMemberVo);
|
||||
Long memberId = projectTeamMember.getMemberId();
|
||||
BusConstructionUserVo constructionUserVo = null;
|
||||
if (contractorIdContractorList.containsKey(memberId)) {
|
||||
constructionUserVo = constructionUserService.getVo(contractorIdContractorList.get(memberId).get(0));
|
||||
}
|
||||
projectTeamMemberVo.setConstructionUserVo(constructionUserVo);
|
||||
return projectTeamMemberVo;
|
||||
}).toList();
|
||||
projectTeamMemberVoPage.setRecords(projectTeamMemberVoList);
|
||||
return projectTeamMemberVoPage;
|
||||
}
|
||||
}
|
@ -0,0 +1,241 @@
|
||||
package org.dromara.project.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.dromara.common.core.constant.CommonConstant;
|
||||
import org.dromara.common.core.constant.HttpStatus;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.ObjectUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.core.utils.sql.SqlUtil;
|
||||
import org.dromara.project.domain.BusProjectTeam;
|
||||
import org.dromara.project.domain.req.projectteam.ProjectTeamCreateReq;
|
||||
import org.dromara.project.domain.req.projectteam.ProjectTeamQueryReq;
|
||||
import org.dromara.project.domain.req.projectteam.ProjectTeamUpdateReq;
|
||||
import org.dromara.project.domain.vo.BusProjectTeamVo;
|
||||
import org.dromara.project.mapper.BusProjectTeamMapper;
|
||||
import org.dromara.project.service.IBusProjectTeamService;
|
||||
import org.dromara.project.service.IProjectService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目班组Service业务层处理
|
||||
*
|
||||
* @author lcj
|
||||
* @date 2025-03-07
|
||||
*/
|
||||
@Service
|
||||
public class BusProjectTeamServiceImpl extends ServiceImpl<BusProjectTeamMapper, BusProjectTeam>
|
||||
implements IBusProjectTeamService {
|
||||
|
||||
@Resource
|
||||
private IProjectService projectService;
|
||||
|
||||
/**
|
||||
* 查询项目班组
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 项目班组
|
||||
*/
|
||||
@Override
|
||||
public BusProjectTeamVo queryById(Long id) {
|
||||
BusProjectTeam projectTeam = this.getById(id);
|
||||
if (projectTeam == null) {
|
||||
throw new ServiceException("对应项目班组不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
return this.getVo(projectTeam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询项目班组列表
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 项目班组分页列表
|
||||
*/
|
||||
@Override
|
||||
public Page<BusProjectTeamVo> queryPageList(ProjectTeamQueryReq req) {
|
||||
long current = req.getCurrent();
|
||||
long size = req.getPageSize();
|
||||
// 查询数据库
|
||||
Page<BusProjectTeam> result = this.page(new Page<>(current, size), this.getQueryWrapper(req));
|
||||
return this.getVoPage(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的项目班组列表
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 项目班组列表
|
||||
*/
|
||||
@Override
|
||||
public List<BusProjectTeamVo> queryList(ProjectTeamQueryReq req) {
|
||||
QueryWrapper<BusProjectTeam> queryWrapper = this.getQueryWrapper(req);
|
||||
List<BusProjectTeam> list = this.list(queryWrapper);
|
||||
return list.stream().map(this::getVo).toList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增项目班组
|
||||
*
|
||||
* @param req 项目班组
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Long insertByBo(ProjectTeamCreateReq req) {
|
||||
// 将实体类和 DTO 进行转换
|
||||
BusProjectTeam projectTeam = new BusProjectTeam();
|
||||
BeanUtils.copyProperties(req, projectTeam);
|
||||
// 数据校验
|
||||
validEntityBeforeSave(projectTeam);
|
||||
// 操作数据库
|
||||
boolean save = this.save(projectTeam);
|
||||
if (!save) {
|
||||
throw new ServiceException("新增施工人员失败,数据库异常", HttpStatus.ERROR);
|
||||
}
|
||||
return projectTeam.getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改项目班组
|
||||
*
|
||||
* @param req 项目班组
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(ProjectTeamUpdateReq req) {
|
||||
// 将实体类和 DTO 进行转换
|
||||
BusProjectTeam projectTeam = new BusProjectTeam();
|
||||
BeanUtils.copyProperties(req, projectTeam);
|
||||
// 数据校验
|
||||
validEntityBeforeSave(projectTeam);
|
||||
// 判断是否存在
|
||||
BusProjectTeam oldProjectTeam = this.getById(projectTeam.getId());
|
||||
if (oldProjectTeam == null) {
|
||||
throw new ServiceException("修改项目班组失败,数据不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
// 操作数据库
|
||||
return this.updateById(projectTeam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(BusProjectTeam entity) {
|
||||
// TODO 做一些数据校验,如唯一约束
|
||||
Long projectId = entity.getProjectId();
|
||||
// 判断是否重名
|
||||
String teamName = entity.getTeamName();
|
||||
LambdaQueryWrapper<BusProjectTeam> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(BusProjectTeam::getTeamName, teamName);
|
||||
long count = this.count(queryWrapper);
|
||||
if (count > 0) {
|
||||
throw new ServiceException("项目组名重复", HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
if (projectId == null) {
|
||||
throw new ServiceException("项目 id 不能为空", HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
// 查询项目是否存在
|
||||
if (projectService.getById(projectId) == null) {
|
||||
throw new ServiceException("对应项目不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除项目班组信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if (isValid) {
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return this.removeBatchByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目班组视图对象
|
||||
*
|
||||
* @param projectTeam 项目班组对象
|
||||
* @return 项目班组视图对象
|
||||
*/
|
||||
@Override
|
||||
public BusProjectTeamVo getVo(BusProjectTeam projectTeam) {
|
||||
// 对象转封装类
|
||||
BusProjectTeamVo projectTeamVo = new BusProjectTeamVo();
|
||||
if (projectTeam == null) {
|
||||
return projectTeamVo;
|
||||
}
|
||||
BeanUtils.copyProperties(projectTeam, projectTeamVo);
|
||||
return projectTeamVo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目班组查询条件封装
|
||||
*
|
||||
* @param req 项目班组查询条件
|
||||
* @return 项目班组查询条件封装
|
||||
*/
|
||||
@Override
|
||||
public QueryWrapper<BusProjectTeam> getQueryWrapper(ProjectTeamQueryReq req) {
|
||||
QueryWrapper<BusProjectTeam> queryWrapper = new QueryWrapper<>();
|
||||
if (req == null) {
|
||||
return queryWrapper;
|
||||
}
|
||||
// 从对象中取值
|
||||
Long id = req.getId();
|
||||
Long projectId = req.getProjectId();
|
||||
String teamName = req.getTeamName();
|
||||
Long isClockIn = req.getIsClockIn();
|
||||
String remark = req.getRemark();
|
||||
String sortField = req.getSortField();
|
||||
String sortOrder = req.getSortOrder();
|
||||
String underlineSortField = StrUtil.toUnderlineCase(sortField);
|
||||
// 模糊查询
|
||||
queryWrapper.like(StringUtils.isNotBlank(teamName), "team_name", teamName);
|
||||
queryWrapper.like(StringUtils.isNotBlank(remark), "remark", remark);
|
||||
// 精确查询
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(id), "id", id);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(projectId), "project_id", projectId);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(isClockIn), "is_clock_in", isClockIn);
|
||||
// 排序规则
|
||||
queryWrapper.orderBy(SqlUtil.validSortField(sortField),
|
||||
sortOrder.equals(CommonConstant.SORT_ORDER_ASC),
|
||||
underlineSortField);
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目班组分页对象视图
|
||||
*
|
||||
* @param projectTeamPage 项目班组分页对象
|
||||
* @return 项目班组分页对象视图
|
||||
*/
|
||||
@Override
|
||||
public Page<BusProjectTeamVo> getVoPage(Page<BusProjectTeam> projectTeamPage) {
|
||||
List<BusProjectTeam> projectTeamList = projectTeamPage.getRecords();
|
||||
Page<BusProjectTeamVo> projectTeamVoPage = new Page<>(
|
||||
projectTeamPage.getCurrent(),
|
||||
projectTeamPage.getSize(),
|
||||
projectTeamPage.getTotal());
|
||||
if (CollUtil.isEmpty(projectTeamList)) {
|
||||
return projectTeamVoPage;
|
||||
}
|
||||
List<BusProjectTeamVo> projectTeamVoList = projectTeamList.stream().map(this::getVo).toList();
|
||||
projectTeamVoPage.setRecords(projectTeamVoList);
|
||||
return projectTeamVoPage;
|
||||
}
|
||||
}
|
@ -57,17 +57,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProjectVo getProjectVo(Project project) {
|
||||
if (project == null) {
|
||||
return null;
|
||||
}
|
||||
// 对象转封装类
|
||||
ProjectVo projectVo = new ProjectVo();
|
||||
BeanUtils.copyProperties(project, projectVo);
|
||||
return projectVo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询项目列表
|
||||
*
|
||||
@ -80,7 +69,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
|
||||
long size = req.getPageSize();
|
||||
// 查询数据库
|
||||
Page<Project> result = this.page(new Page<>(current, size), this.getQueryWrapper(req));
|
||||
return this.getProjectVoPage(result);
|
||||
return this.getVoPage(result);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -194,6 +183,23 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目视图对象
|
||||
*
|
||||
* @param project 项目对象
|
||||
* @return 项目视图对象
|
||||
*/
|
||||
@Override
|
||||
public ProjectVo getProjectVo(Project project) {
|
||||
if (project == null) {
|
||||
return null;
|
||||
}
|
||||
// 对象转封装类
|
||||
ProjectVo projectVo = new ProjectVo();
|
||||
BeanUtils.copyProperties(project, projectVo);
|
||||
return projectVo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目查询条件封装
|
||||
*
|
||||
@ -255,7 +261,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
|
||||
|
||||
|
||||
@Override
|
||||
public Page<ProjectVo> getProjectVoPage(Page<Project> projectPage) {
|
||||
public Page<ProjectVo> getVoPage(Page<Project> projectPage) {
|
||||
List<Project> projectList = projectPage.getRecords();
|
||||
Page<ProjectVo> projectVoPage = new Page<>(projectPage.getCurrent(), projectPage.getSize(), projectPage.getTotal());
|
||||
if (CollUtil.isEmpty(projectList)) {
|
||||
|
@ -24,6 +24,7 @@ import org.dromara.project.domain.vo.UserProjectRelevancyVo;
|
||||
import org.dromara.project.mapper.UserProjectRelevancyMapper;
|
||||
import org.dromara.project.service.IProjectService;
|
||||
import org.dromara.project.service.IUserProjectRelevancyService;
|
||||
import org.dromara.system.service.ISysUserService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@ -49,37 +50,8 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
|
||||
@Resource
|
||||
private IProjectService projectService;
|
||||
|
||||
@Override
|
||||
public UserProjectRelevancyVo getUserProjectRelevancyVo(UserProjectRelevancy userProjectRelevancy) {
|
||||
// 对象转封装类
|
||||
UserProjectRelevancyVo userProjectRelevancyVo = new UserProjectRelevancyVo();
|
||||
if (userProjectRelevancy == null) {
|
||||
return userProjectRelevancyVo;
|
||||
}
|
||||
BeanUtils.copyProperties(userProjectRelevancy, userProjectRelevancyVo);
|
||||
// 关联查询项目信息
|
||||
Long projectId = userProjectRelevancy.getProjectId();
|
||||
if (projectId != null) {
|
||||
userProjectRelevancyVo.setProject(projectService.queryById(projectId));
|
||||
}
|
||||
return userProjectRelevancyVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<UserProjectRelevancyVo> getUserProjectRelevancyVoPage(Page<UserProjectRelevancy> userProjectRelevancyPage) {
|
||||
List<UserProjectRelevancy> userProjectRelevancyList = userProjectRelevancyPage.getRecords();
|
||||
Page<UserProjectRelevancyVo> userProjectRelevancyVoPage = new Page<>(
|
||||
userProjectRelevancyPage.getCurrent(),
|
||||
userProjectRelevancyPage.getSize(),
|
||||
userProjectRelevancyPage.getTotal());
|
||||
if (CollUtil.isEmpty(userProjectRelevancyList)) {
|
||||
return userProjectRelevancyVoPage;
|
||||
}
|
||||
// 对象列表 => 封装对象列表
|
||||
List<UserProjectRelevancyVo> userProjectRelevancyVoList = userProjectRelevancyList.stream().map(this::getUserProjectRelevancyVo).toList();
|
||||
userProjectRelevancyVoPage.setRecords(userProjectRelevancyVoList);
|
||||
return userProjectRelevancyVoPage;
|
||||
}
|
||||
@Resource
|
||||
private ISysUserService userService;
|
||||
|
||||
/**
|
||||
* 查询系统用户与项目关联
|
||||
@ -92,7 +64,7 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
|
||||
// 查询数据
|
||||
UserProjectRelevancy userProjectRelevancy = this.getById(id);
|
||||
// 封装并返回
|
||||
return this.getUserProjectRelevancyVo(userProjectRelevancy);
|
||||
return this.getVo(userProjectRelevancy);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -108,7 +80,7 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
|
||||
QueryWrapper<UserProjectRelevancy> queryWrapper = this.getQueryWrapper(req);
|
||||
// 查询数据库
|
||||
Page<UserProjectRelevancy> result = this.page(new Page<>(current, size), this.getQueryWrapper(req));
|
||||
return this.getUserProjectRelevancyVoPage(result);
|
||||
return this.getVoPage(result);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -136,10 +108,6 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
|
||||
BeanUtils.copyProperties(req, userProjectRelevancy);
|
||||
// 数据校验
|
||||
validEntityBeforeSave(userProjectRelevancy);
|
||||
// 判断对应项目是否存在
|
||||
if (projectService.getById(userProjectRelevancy.getProjectId()) == null) {
|
||||
throw new ServiceException("项目不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
// 判断对应的用户与项目关联是否存在
|
||||
if (this.getOne(new LambdaQueryWrapper<UserProjectRelevancy>()
|
||||
.eq(UserProjectRelevancy::getUserId, userProjectRelevancy.getUserId())
|
||||
@ -190,7 +158,14 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
|
||||
if (userId == null) {
|
||||
throw new ServiceException("用户 id 不能为空", HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
|
||||
// 判断对应项目是否存在
|
||||
if (projectService.getById(projectId) == null) {
|
||||
throw new ServiceException("项目不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
// 判断对应用户是否存在
|
||||
if (userService.selectUserById(userId) == null) {
|
||||
throw new ServiceException("用户不存在", HttpStatus.NOT_FOUND);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -243,6 +218,13 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
|
||||
.toList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前登录用户项目分页
|
||||
*
|
||||
* @param userId 登录用户ID
|
||||
* @param req 分页查询条件
|
||||
* @return 当前登录用户项目分页
|
||||
*/
|
||||
@Override
|
||||
public Page<UserProjectRelevancyVo> queryPageByUserId(Long userId, UserProjectRelevancyQueryReq req) {
|
||||
long current = req.getCurrent();
|
||||
@ -252,31 +234,7 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
|
||||
QueryWrapper<UserProjectRelevancy> queryWrapper = this.getQueryWrapper(req);
|
||||
// 查询数据库
|
||||
Page<UserProjectRelevancy> result = this.page(new Page<>(current, size), queryWrapper);
|
||||
return this.getUserProjectRelevancyVoPage(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueryWrapper<UserProjectRelevancy> getQueryWrapper(UserProjectRelevancyQueryReq req) {
|
||||
QueryWrapper<UserProjectRelevancy> queryWrapper = new QueryWrapper<>();
|
||||
if (req == null) {
|
||||
return queryWrapper;
|
||||
}
|
||||
// 从对象中取值
|
||||
Long id = req.getId();
|
||||
Long userId = req.getUserId();
|
||||
Long projectId = req.getProjectId();
|
||||
String sortField = req.getSortField();
|
||||
String sortOrder = req.getSortOrder();
|
||||
String underlineSortField = StrUtil.toUnderlineCase(sortField);
|
||||
// 精确查询
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(id), "id", id);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(userId), "user_id", userId);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(projectId), "project_id", projectId);
|
||||
// 排序规则
|
||||
queryWrapper.orderBy(SqlUtil.validSortField(sortField),
|
||||
sortOrder.equals(CommonConstant.SORT_ORDER_ASC),
|
||||
underlineSortField);
|
||||
return queryWrapper;
|
||||
return this.getVoPage(result);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -315,4 +273,79 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
|
||||
// 当用户与项目关系存在时修改,不存在则保存
|
||||
return this.saveOrUpdateBatch(userProjectRelevancyList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取系统用户与项目关联视图
|
||||
*
|
||||
* @param userProjectRelevancy 系统用户与项目关联
|
||||
* @return 系统用户与项目关联视图
|
||||
*/
|
||||
@Override
|
||||
public UserProjectRelevancyVo getVo(UserProjectRelevancy userProjectRelevancy) {
|
||||
// 对象转封装类
|
||||
UserProjectRelevancyVo userProjectRelevancyVo = new UserProjectRelevancyVo();
|
||||
if (userProjectRelevancy == null) {
|
||||
return userProjectRelevancyVo;
|
||||
}
|
||||
BeanUtils.copyProperties(userProjectRelevancy, userProjectRelevancyVo);
|
||||
// 关联查询项目信息
|
||||
Long projectId = userProjectRelevancy.getProjectId();
|
||||
if (projectId != null) {
|
||||
userProjectRelevancyVo.setProject(projectService.queryById(projectId));
|
||||
}
|
||||
return userProjectRelevancyVo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户和项目关联对象查询条件封装
|
||||
*
|
||||
* @param req 查询条件
|
||||
* @return 查询条件封装
|
||||
*/
|
||||
@Override
|
||||
public QueryWrapper<UserProjectRelevancy> getQueryWrapper(UserProjectRelevancyQueryReq req) {
|
||||
QueryWrapper<UserProjectRelevancy> queryWrapper = new QueryWrapper<>();
|
||||
if (req == null) {
|
||||
return queryWrapper;
|
||||
}
|
||||
// 从对象中取值
|
||||
Long id = req.getId();
|
||||
Long userId = req.getUserId();
|
||||
Long projectId = req.getProjectId();
|
||||
String sortField = req.getSortField();
|
||||
String sortOrder = req.getSortOrder();
|
||||
String underlineSortField = StrUtil.toUnderlineCase(sortField);
|
||||
// 精确查询
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(id), "id", id);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(userId), "user_id", userId);
|
||||
queryWrapper.eq(ObjectUtils.isNotEmpty(projectId), "project_id", projectId);
|
||||
// 排序规则
|
||||
queryWrapper.orderBy(SqlUtil.validSortField(sortField),
|
||||
sortOrder.equals(CommonConstant.SORT_ORDER_ASC),
|
||||
underlineSortField);
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取系统用户与项目关联分页视图
|
||||
*
|
||||
* @param userProjectRelevancyPage 系统用户与项目关联分页
|
||||
* @return 系统用户与项目关联分页视图
|
||||
*/
|
||||
@Override
|
||||
public Page<UserProjectRelevancyVo> getVoPage(Page<UserProjectRelevancy> userProjectRelevancyPage) {
|
||||
List<UserProjectRelevancy> userProjectRelevancyList = userProjectRelevancyPage.getRecords();
|
||||
Page<UserProjectRelevancyVo> userProjectRelevancyVoPage = new Page<>(
|
||||
userProjectRelevancyPage.getCurrent(),
|
||||
userProjectRelevancyPage.getSize(),
|
||||
userProjectRelevancyPage.getTotal());
|
||||
if (CollUtil.isEmpty(userProjectRelevancyList)) {
|
||||
return userProjectRelevancyVoPage;
|
||||
}
|
||||
// 对象列表 => 封装对象列表
|
||||
List<UserProjectRelevancyVo> userProjectRelevancyVoList = userProjectRelevancyList.stream().map(this::getVo).toList();
|
||||
userProjectRelevancyVoPage.setRecords(userProjectRelevancyVoList);
|
||||
return userProjectRelevancyVoPage;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,7 @@
|
||||
<?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="org.dromara.project.mapper.BusConstructionUserMapper">
|
||||
|
||||
</mapper>
|
@ -0,0 +1,7 @@
|
||||
<?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="org.dromara.project.mapper.BusContractorMapper">
|
||||
|
||||
</mapper>
|
@ -0,0 +1,7 @@
|
||||
<?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="org.dromara.project.mapper.BusProjectTeamMapper">
|
||||
|
||||
</mapper>
|
@ -0,0 +1,7 @@
|
||||
<?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="org.dromara.project.mapper.BusProjectTeamMemberMapper">
|
||||
|
||||
</mapper>
|
239
RuoYi-Vue-Plus/script/sql/menuInitValue.sql
Normal file
239
RuoYi-Vue-Plus/script/sql/menuInitValue.sql
Normal file
@ -0,0 +1,239 @@
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896943300447367169, '项目', '1', '1', 'project', 'project/project/index', 1, 0, 'C', '0', '0',
|
||||
'project:project:list', '#', 103, 1, sysdate(), null, null, '项目菜单');
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896943300447367170, '项目查询', 1896943300447367169, '1', '#', '', 1, 0, 'F', '0', '0',
|
||||
'project:project:query', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896943300447367171, '项目新增', 1896943300447367169, '2', '#', '', 1, 0, 'F', '0', '0', 'project:project:add',
|
||||
'#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896943300447367172, '项目修改', 1896943300447367169, '3', '#', '', 1, 0, 'F', '0', '0', 'project:project:edit',
|
||||
'#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896943300447367173, '项目删除', 1896943300447367169, '4', '#', '', 1, 0, 'F', '0', '0',
|
||||
'project:project:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896943300447367174, '项目导出', 1896943300447367169, '5', '#', '', 1, 0, 'F', '0', '0',
|
||||
'project:project:export', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896949180526047233, '系统用户与项目关联', '1', '1', 'projectRelevancy', 'project/projectRelevancy/index', 1, 0,
|
||||
'C', '0', '0', 'project:projectRelevancy:list', '#', 103, 1, sysdate(), null, null, '系统用户与项目关联菜单');
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896949180526047234, '系统用户与项目关联查询', 1896949180526047233, '1', '#', '', 1, 0, 'F', '0', '0',
|
||||
'project:projectRelevancy:query', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896949180526047235, '系统用户与项目关联新增', 1896949180526047233, '2', '#', '', 1, 0, 'F', '0', '0',
|
||||
'project:projectRelevancy:add', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896949180526047236, '系统用户与项目关联修改', 1896949180526047233, '3', '#', '', 1, 0, 'F', '0', '0',
|
||||
'project:projectRelevancy:edit', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896949180526047237, '系统用户与项目关联删除', 1896949180526047233, '4', '#', '', 1, 0, 'F', '0', '0',
|
||||
'project:projectRelevancy:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896949180526047238, '系统用户与项目关联导出', 1896949180526047233, '5', '#', '', 1, 0, 'F', '0', '0',
|
||||
'project:projectRelevancy:export', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479771016716290, '公司', '1', '1', 'company', 'materials/company/index', 1, 0, 'C', '0', '0',
|
||||
'materials:company:list', '#', 103, 1, sysdate(), null, null, '公司菜单');
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479771016716291, '公司查询', 1897479771016716290, '1', '#', '', 1, 0, 'F', '0', '0',
|
||||
'materials:company:query', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479771016716292, '公司新增', 1897479771016716290, '2', '#', '', 1, 0, 'F', '0', '0',
|
||||
'materials:company:add', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479771016716293, '公司修改', 1897479771016716290, '3', '#', '', 1, 0, 'F', '0', '0',
|
||||
'materials:company:edit', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479771016716294, '公司删除', 1897479771016716290, '4', '#', '', 1, 0, 'F', '0', '0',
|
||||
'materials:company:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479771016716295, '公司导出', 1897479771016716290, '5', '#', '', 1, 0, 'F', '0', '0',
|
||||
'materials:company:export', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479769502572546, '材料出/入库', '1', '1', 'materialsInventory', 'materials/materialsInventory/index', 1, 0,
|
||||
'C', '0', '0', 'materials:materialsInventory:list', '#', 103, 1, sysdate(), null, null, '材料出/入库菜单');
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479769502572547, '材料出/入库查询', 1897479769502572546, '1', '#', '', 1, 0, 'F', '0', '0',
|
||||
'materials:materialsInventory:query', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479769502572548, '材料出/入库新增', 1897479769502572546, '2', '#', '', 1, 0, 'F', '0', '0',
|
||||
'materials:materialsInventory:add', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479769502572549, '材料出/入库修改', 1897479769502572546, '3', '#', '', 1, 0, 'F', '0', '0',
|
||||
'materials:materialsInventory:edit', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479769502572550, '材料出/入库删除', 1897479769502572546, '4', '#', '', 1, 0, 'F', '0', '0',
|
||||
'materials:materialsInventory:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479769502572551, '材料出/入库导出', 1897479769502572546, '5', '#', '', 1, 0, 'F', '0', '0',
|
||||
'materials:materialsInventory:export', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479770626646018, '材料名称', '1', '1', 'materials', 'materials/materials/index', 1, 0, 'C', '0', '0',
|
||||
'materials:materials:list', '#', 103, 1, sysdate(), null, null, '材料名称菜单');
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479770626646019, '材料名称查询', 1897479770626646018, '1', '#', '', 1, 0, 'F', '0', '0',
|
||||
'materials:materials:query', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479770626646020, '材料名称新增', 1897479770626646018, '2', '#', '', 1, 0, 'F', '0', '0',
|
||||
'materials:materials:add', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479770626646021, '材料名称修改', 1897479770626646018, '3', '#', '', 1, 0, 'F', '0', '0',
|
||||
'materials:materials:edit', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479770626646022, '材料名称删除', 1897479770626646018, '4', '#', '', 1, 0, 'F', '0', '0',
|
||||
'materials:materials:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1897479770626646023, '材料名称导出', 1897479770626646018, '5', '#', '', 1, 0, 'F', '0', '0',
|
||||
'materials:materials:export', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844021656604674, '项目班组', '1897103538172985346', '1', 'projectTeam', 'project/projectTeam/index', 1, 0, 'C', '0', '0', 'project:projectTeam:list', '#', 103, 1, sysdate(), null, null, '项目班组菜单');
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844021656604675, '项目班组查询', 1897844021656604674, '1', '#', '', 1, 0, 'F', '0', '0', 'project:projectTeam:query', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844021656604676, '项目班组新增', 1897844021656604674, '2', '#', '', 1, 0, 'F', '0', '0', 'project:projectTeam:add', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844021656604677, '项目班组修改', 1897844021656604674, '3', '#', '', 1, 0, 'F', '0', '0', 'project:projectTeam:edit', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844021656604678, '项目班组删除', 1897844021656604674, '4', '#', '', 1, 0, 'F', '0', '0', 'project:projectTeam:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844021656604679, '项目班组导出', 1897844021656604674, '5', '#', '', 1, 0, 'F', '0', '0', 'project:projectTeam:export', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844022982004737, '项目班组下的成员', '1897103538172985346', '1', 'projectTeamMember', 'project/projectTeamMember/index', 1, 0, 'C', '0', '0', 'project:projectTeamMember:list', '#', 103, 1, sysdate(), null, null, '项目班组下的成员菜单');
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844022982004738, '项目班组下的成员查询', 1897844022982004737, '1', '#', '', 1, 0, 'F', '0', '0', 'project:projectTeamMember:query', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844022982004739, '项目班组下的成员新增', 1897844022982004737, '2', '#', '', 1, 0, 'F', '0', '0', 'project:projectTeamMember:add', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844022982004740, '项目班组下的成员修改', 1897844022982004737, '3', '#', '', 1, 0, 'F', '0', '0', 'project:projectTeamMember:edit', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844022982004741, '项目班组下的成员删除', 1897844022982004737, '4', '#', '', 1, 0, 'F', '0', '0', 'project:projectTeamMember:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844022982004742, '项目班组下的成员导出', 1897844022982004737, '5', '#', '', 1, 0, 'F', '0', '0', 'project:projectTeamMember:export', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844022721957889, '分包单位', '1897103538172985346', '1', 'contractor', 'project/contractor/index', 1, 0, 'C', '0', '0', 'project:contractor:list', '#', 103, 1, sysdate(), null, null, '分包单位菜单');
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844022721957890, '分包单位查询', 1897844022721957889, '1', '#', '', 1, 0, 'F', '0', '0', 'project:contractor:query', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844022721957891, '分包单位新增', 1897844022721957889, '2', '#', '', 1, 0, 'F', '0', '0', 'project:contractor:add', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844022721957892, '分包单位修改', 1897844022721957889, '3', '#', '', 1, 0, 'F', '0', '0', 'project:contractor:edit', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844022721957893, '分包单位删除', 1897844022721957889, '4', '#', '', 1, 0, 'F', '0', '0', 'project:contractor:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844022721957894, '分包单位导出', 1897844022721957889, '5', '#', '', 1, 0, 'F', '0', '0', 'project:contractor:export', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844023242051586, '施工人员', '1897103538172985346', '1', 'constructionUser', 'project/constructionUser/index', 1, 0, 'C', '0', '0', 'project:constructionUser:list', '#', 103, 1, sysdate(), null, null, '施工人员菜单');
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844023242051587, '施工人员查询', 1897844023242051586, '1', '#', '', 1, 0, 'F', '0', '0', 'project:constructionUser:query', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844023242051588, '施工人员新增', 1897844023242051586, '2', '#', '', 1, 0, 'F', '0', '0', 'project:constructionUser:add', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844023242051589, '施工人员修改', 1897844023242051586, '3', '#', '', 1, 0, 'F', '0', '0', 'project:constructionUser:edit', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844023242051590, '施工人员删除', 1897844023242051586, '4', '#', '', 1, 0, 'F', '0', '0', 'project:constructionUser:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897844023242051591, '施工人员导出', 1897844023242051586, '5', '#', '', 1, 0, 'F', '0', '0', 'project:constructionUser:export', '#', 103, 1, sysdate(), null, null, '');
|
@ -33,7 +33,6 @@ create table `project`
|
||||
`is_delete` tinyint(4) default 0 not null comment '是否删除(0正常 1删除)',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 60
|
||||
CHARACTER SET = utf8mb4
|
||||
COLLATE = utf8mb4_general_ci comment = '项目表'
|
||||
ROW_FORMAT = DYNAMIC;
|
||||
@ -52,7 +51,6 @@ CREATE TABLE `user_project_relevancy`
|
||||
INDEX `idx_user_id` (`user_id` ASC) USING BTREE comment '用户id',
|
||||
INDEX `idx_project_id` (`project_id` ASC) USING BTREE comment '项目id'
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 1365
|
||||
CHARACTER SET = utf8mb4
|
||||
COLLATE = utf8mb4_general_ci comment = '系统用户与项目关联表'
|
||||
ROW_FORMAT = DYNAMIC;
|
||||
@ -63,7 +61,7 @@ CREATE TABLE `bus_company`
|
||||
`id` bigint not null auto_increment,
|
||||
`company_name` varchar(64) null comment '公司名称',
|
||||
`project_id` bigint null comment '项目id',
|
||||
`status` char(1) default 0 null comment '帐号状态(0正常 1停用)',
|
||||
`status` tinyint(4) default 0 null comment '帐号状态(0正常 1停用)',
|
||||
`remark` varchar(255) null comment '备注',
|
||||
`qualification` varchar(255) null comment '资质情况',
|
||||
`create_by` varchar(64) null comment '创建者',
|
||||
@ -75,7 +73,6 @@ CREATE TABLE `bus_company`
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
INDEX `idx_project_id` (`project_id` ASC) USING BTREE comment '项目id'
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 52
|
||||
CHARACTER SET = utf8mb4
|
||||
COLLATE = utf8mb4_general_ci comment = '公司表'
|
||||
ROW_FORMAT = DYNAMIC;
|
||||
@ -101,7 +98,7 @@ CREATE TABLE `bus_materials`
|
||||
`weight_id` varchar(64) null comment '计量单位',
|
||||
`remark` varchar(255) null comment '备注',
|
||||
`quantity_count` varchar(64) null comment '预计材料数量',
|
||||
`status` char(1) null comment '状态(0正常 1停用)',
|
||||
`status` tinyint(4) default 0 null comment '状态(0正常 1停用)',
|
||||
`create_by` varchar(64) null comment '创建者',
|
||||
`update_by` varchar(64) null comment '更新者',
|
||||
`create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间',
|
||||
@ -111,7 +108,6 @@ CREATE TABLE `bus_materials`
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
INDEX `idx_project_id` (`project_id` ASC) USING BTREE comment '项目id'
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 348
|
||||
CHARACTER SET = utf8mb4
|
||||
COLLATE = utf8mb4_general_ci comment = '材料名称表'
|
||||
ROW_FORMAT = DYNAMIC;
|
||||
@ -122,7 +118,7 @@ CREATE TABLE `bus_materials_inventory`
|
||||
`id` bigint not null auto_increment comment '主键id',
|
||||
`materials_id` bigint not null comment '材料id',
|
||||
`project_id` bigint null comment '项目id',
|
||||
`out_put` char(1) null comment '出入库状态',
|
||||
`out_put` tinyint(4) null comment '出入库状态',
|
||||
`number` int default 0 null comment '出/入库的数量',
|
||||
`out_put_time` datetime null comment '出/入库操作时间',
|
||||
`residue` int default 0 null comment '剩余库存数量(记录最后一次操作留下的库存数)',
|
||||
@ -141,132 +137,116 @@ CREATE TABLE `bus_materials_inventory`
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
INDEX `idx_project_id` (`project_id` ASC) USING BTREE comment '项目ID'
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 965
|
||||
CHARACTER SET = utf8mb4
|
||||
COLLATE = utf8mb4_general_ci comment = '材料出/入库表'
|
||||
ROW_FORMAT = DYNAMIC;
|
||||
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896943300447367169, '项目', '1', '1', 'project', 'project/project/index', 1, 0, 'C', '0', '0',
|
||||
'project:project:list', '#', 103, 1, sysdate(), null, null, '项目菜单');
|
||||
DROP TABLE IF EXISTS `bus_contractor`;
|
||||
CREATE TABLE `bus_contractor`
|
||||
(
|
||||
`id` bigint not null auto_increment comment '主键id',
|
||||
`name` varchar(50) null comment '公司名称',
|
||||
`principal` varchar(20) null comment '负责人',
|
||||
`principal_phone` varchar(20) null comment '负责人联系电话',
|
||||
`custodian` varchar(20) null comment '管理人',
|
||||
`custodian_phone` varchar(20) null comment '管理人联系电话',
|
||||
`remark` varchar(512) null comment '备注',
|
||||
`create_by` varchar(64) null comment '创建人',
|
||||
`update_by` varchar(64) null comment '更新人',
|
||||
`create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间',
|
||||
`update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间',
|
||||
`deleted_at` datetime null comment '删除时间',
|
||||
`is_delete` tinyint(4) default 0 not null comment '是否删除(0正常 1删除)',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB
|
||||
CHARACTER SET = utf8mb4
|
||||
COLLATE = utf8mb4_general_ci comment = '分包单位'
|
||||
ROW_FORMAT = DYNAMIC;
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896943300447367170, '项目查询', 1896943300447367169, '1', '#', '', 1, 0, 'F', '0', '0',
|
||||
'project:project:query', '#', 103, 1, sysdate(), null, null, '');
|
||||
DROP TABLE IF EXISTS `bus_construction_user`;
|
||||
CREATE TABLE `bus_construction_user`
|
||||
(
|
||||
`id` bigint not null auto_increment,
|
||||
`openid` varchar(64) null comment '微信id',
|
||||
`nick_name` varchar(64) null comment '微信名称',
|
||||
`pace_photo` longtext null comment '人脸照',
|
||||
`user_name` varchar(32) null comment '人员姓名',
|
||||
`project_id` bigint null comment '项目id',
|
||||
`contractor_id` bigint null comment '分包公司id',
|
||||
`team_id` bigint null comment '班组id',
|
||||
`status` tinyint null comment '状态(0在职 1离职)',
|
||||
`is_pinch` tinyint null comment '是否代打',
|
||||
`phone` varchar(24) null comment '联系电话',
|
||||
`sex` tinyint default 0 not null comment '0:保密 1:男 2女',
|
||||
`nation` varchar(20) null comment '民族',
|
||||
`sfz_number` varchar(50) null comment '身份证号码',
|
||||
`sfz_start` varchar(20) null comment '身份证有效开始期',
|
||||
`sfz_end` varchar(20) null comment '身份证有效结束期',
|
||||
`sfz_site` varchar(100) null comment '身份证地址',
|
||||
`sfz_birth` varchar(255) null comment '身份证出生日期',
|
||||
`native_place` varchar(20) null comment '籍贯',
|
||||
`yhk_number` varchar(50) null comment '银行卡号',
|
||||
`yhk_opening_bank` varchar(50) null comment '开户行',
|
||||
`yhk_cardholder` varchar(255) null comment '持卡人',
|
||||
`type_of_work` tinyint(4) null comment '工种(字典type_of_work)',
|
||||
`clock` tinyint default 1 not null comment '打卡(0启用打卡 1禁止打卡)',
|
||||
`entry_date` varchar(255) null comment '入场时间',
|
||||
`leave_date` varchar(255) null comment '离场时间',
|
||||
`salary` decimal(10, 2) default 0.00 null comment '薪水',
|
||||
`remark` varchar(512) null comment '备注',
|
||||
`create_by` varchar(64) null comment '创建者',
|
||||
`update_by` varchar(64) null comment '更新者',
|
||||
`create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间',
|
||||
`update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间',
|
||||
`deleted_at` datetime null comment '删除时间',
|
||||
`is_delete` tinyint(4) default 0 not null comment '是否删除(0正常 1删除)',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
INDEX `idx_subcontractor_id` (`contractor_id` ASC) USING BTREE comment '劳务公司id',
|
||||
INDEX `idx_openid` (`openid` ASC) USING BTREE comment '微信id',
|
||||
INDEX `idx_phone` (`phone` ASC) USING BTREE comment '电话'
|
||||
) ENGINE = InnoDB
|
||||
CHARACTER SET = utf8mb4
|
||||
COLLATE = utf8mb4_general_ci comment = '施工人员表'
|
||||
ROW_FORMAT = DYNAMIC;
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896943300447367171, '项目新增', 1896943300447367169, '2', '#', '', 1, 0, 'F', '0', '0', 'project:project:add',
|
||||
'#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896943300447367172, '项目修改', 1896943300447367169, '3', '#', '', 1, 0, 'F', '0', '0', 'project:project:edit',
|
||||
'#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896943300447367173, '项目删除', 1896943300447367169, '4', '#', '', 1, 0, 'F', '0', '0',
|
||||
'project:project:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896943300447367174, '项目导出', 1896943300447367169, '5', '#', '', 1, 0, 'F', '0', '0',
|
||||
'project:project:export', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896949180526047233, '系统用户与项目关联', '1', '1', 'projectRelevancy', 'project/projectRelevancy/index', 1, 0,
|
||||
'C', '0', '0', 'project:projectRelevancy:list', '#', 103, 1, sysdate(), null, null, '系统用户与项目关联菜单');
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896949180526047234, '系统用户与项目关联查询', 1896949180526047233, '1', '#', '', 1, 0, 'F', '0', '0',
|
||||
'project:projectRelevancy:query', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896949180526047235, '系统用户与项目关联新增', 1896949180526047233, '2', '#', '', 1, 0, 'F', '0', '0',
|
||||
'project:projectRelevancy:add', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896949180526047236, '系统用户与项目关联修改', 1896949180526047233, '3', '#', '', 1, 0, 'F', '0', '0',
|
||||
'project:projectRelevancy:edit', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896949180526047237, '系统用户与项目关联删除', 1896949180526047233, '4', '#', '', 1, 0, 'F', '0', '0',
|
||||
'project:projectRelevancy:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values (1896949180526047238, '系统用户与项目关联导出', 1896949180526047233, '5', '#', '', 1, 0, 'F', '0', '0',
|
||||
'project:projectRelevancy:export', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479771016716290, '公司', '1', '1', 'company', 'materials/company/index', 1, 0, 'C', '0', '0', 'materials:company:list', '#', 103, 1, sysdate(), null, null, '公司菜单');
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479771016716291, '公司查询', 1897479771016716290, '1', '#', '', 1, 0, 'F', '0', '0', 'materials:company:query', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479771016716292, '公司新增', 1897479771016716290, '2', '#', '', 1, 0, 'F', '0', '0', 'materials:company:add', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479771016716293, '公司修改', 1897479771016716290, '3', '#', '', 1, 0, 'F', '0', '0', 'materials:company:edit', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479771016716294, '公司删除', 1897479771016716290, '4', '#', '', 1, 0, 'F', '0', '0', 'materials:company:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479771016716295, '公司导出', 1897479771016716290, '5', '#', '', 1, 0, 'F', '0', '0', 'materials:company:export', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479769502572546, '材料出/入库', '1', '1', 'materialsInventory', 'materials/materialsInventory/index', 1, 0, 'C', '0', '0', 'materials:materialsInventory:list', '#', 103, 1, sysdate(), null, null, '材料出/入库菜单');
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479769502572547, '材料出/入库查询', 1897479769502572546, '1', '#', '', 1, 0, 'F', '0', '0', 'materials:materialsInventory:query', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479769502572548, '材料出/入库新增', 1897479769502572546, '2', '#', '', 1, 0, 'F', '0', '0', 'materials:materialsInventory:add', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479769502572549, '材料出/入库修改', 1897479769502572546, '3', '#', '', 1, 0, 'F', '0', '0', 'materials:materialsInventory:edit', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479769502572550, '材料出/入库删除', 1897479769502572546, '4', '#', '', 1, 0, 'F', '0', '0', 'materials:materialsInventory:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479769502572551, '材料出/入库导出', 1897479769502572546, '5', '#', '', 1, 0, 'F', '0', '0', 'materials:materialsInventory:export', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479770626646018, '材料名称', '1', '1', 'materials', 'materials/materials/index', 1, 0, 'C', '0', '0', 'materials:materials:list', '#', 103, 1, sysdate(), null, null, '材料名称菜单');
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479770626646019, '材料名称查询', 1897479770626646018, '1', '#', '', 1, 0, 'F', '0', '0', 'materials:materials:query', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479770626646020, '材料名称新增', 1897479770626646018, '2', '#', '', 1, 0, 'F', '0', '0', 'materials:materials:add', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479770626646021, '材料名称修改', 1897479770626646018, '3', '#', '', 1, 0, 'F', '0', '0', 'materials:materials:edit', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479770626646022, '材料名称删除', 1897479770626646018, '4', '#', '', 1, 0, 'F', '0', '0', 'materials:materials:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||
values(1897479770626646023, '材料名称导出', 1897479770626646018, '5', '#', '', 1, 0, 'F', '0', '0', 'materials:materials:export', '#', 103, 1, sysdate(), null, null, '');
|
||||
DROP TABLE IF EXISTS `bus_project_team`;
|
||||
CREATE TABLE `bus_project_team`
|
||||
(
|
||||
`id` bigint not null auto_increment comment '主键id',
|
||||
`project_id` bigint null comment '项目id',
|
||||
`team_name` varchar(50) null comment '班组名称',
|
||||
`is_clock_in` tinyint(4) default 1 not null comment '范围内打卡(0范围内打卡 1任何地点打卡)默认为1',
|
||||
`remark` varchar(512) null comment '备注',
|
||||
`create_by` varchar(64) null comment '创建者',
|
||||
`update_by` varchar(64) null comment '更新者',
|
||||
`create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间',
|
||||
`update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间',
|
||||
`deleted_at` datetime null comment '删除时间',
|
||||
`is_delete` tinyint(4) default 0 not null comment '是否删除(0正常 1删除)',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
INDEX `idx_project_id` (`project_id` ASC) USING BTREE comment '项目id'
|
||||
) ENGINE = InnoDB
|
||||
CHARACTER SET = utf8mb4
|
||||
COLLATE = utf8mb4_general_ci comment = '项目班组'
|
||||
ROW_FORMAT = DYNAMIC;
|
||||
|
||||
DROP TABLE IF EXISTS `bus_project_team_member`;
|
||||
CREATE TABLE `bus_project_team_member`
|
||||
(
|
||||
`id` bigint not null auto_increment comment '主键id',
|
||||
`team_id` bigint null comment '班组id',
|
||||
`project_id` bigint null comment '项目id',
|
||||
`member_id` bigint null comment '施工人员id',
|
||||
`post_id` tinyint default 0 null comment '岗位(默认为0普通员工,1组长)',
|
||||
`remark` varchar(512) null comment '备注',
|
||||
`create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间',
|
||||
`update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间',
|
||||
`deleted_at` datetime null comment '删除时间',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
INDEX `idx_team_id` (`team_id` ASC) USING BTREE COMMENT '班组id',
|
||||
INDEX `idx_project_id` (`project_id` ASC) USING BTREE COMMENT '项目id',
|
||||
INDEX `idx_member_id` (`member_id` ASC) USING BTREE COMMENT '施工人员id'
|
||||
) ENGINE = InnoDB
|
||||
CHARACTER SET = utf8mb4
|
||||
COLLATE = utf8mb4_general_ci COMMENT = '项目班组下的成员'
|
||||
ROW_FORMAT = DYNAMIC;
|
||||
|
Reference in New Issue
Block a user