收资,提资清单导出
This commit is contained in:
@ -53,13 +53,13 @@ spring:
|
|||||||
username: xinnengyuandev
|
username: xinnengyuandev
|
||||||
password: StRWCZdZirysNSs2
|
password: StRWCZdZirysNSs2
|
||||||
# 从库数据源
|
# 从库数据源
|
||||||
slave:
|
# slave:
|
||||||
lazy: true
|
# lazy: true
|
||||||
type: ${spring.datasource.type}
|
# type: ${spring.datasource.type}
|
||||||
driverClassName: com.mysql.cj.jdbc.Driver
|
# driverClassName: com.mysql.cj.jdbc.Driver
|
||||||
url: jdbc:mysql://192.168.110.2:13386/zmkgdev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
# url: jdbc:mysql://192.168.110.2:13386/zmkgdev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||||
username: zmkgdev
|
# username: zmkgdev
|
||||||
password: JhYxREf25AXdy3h8
|
# password: JhYxREf25AXdy3h8
|
||||||
# oracle:
|
# oracle:
|
||||||
# type: ${spring.datasource.type}
|
# type: ${spring.datasource.type}
|
||||||
# driverClassName: oracle.jdbc.OracleDriver
|
# driverClassName: oracle.jdbc.OracleDriver
|
||||||
|
@ -0,0 +1,120 @@
|
|||||||
|
package org.dromara.cailiaoshebei.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import jakarta.validation.constraints.*;
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import org.dromara.cailiaoshebei.domain.dto.BusMrpDto;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusMrpVo;
|
||||||
|
import org.dromara.design.domain.dto.desCollect.DesCollectBatchDto;
|
||||||
|
import org.dromara.design.domain.vo.DesCollectVo;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||||
|
import org.dromara.common.log.annotation.Log;
|
||||||
|
import org.dromara.common.web.core.BaseController;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
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.log.enums.BusinessType;
|
||||||
|
import org.dromara.common.excel.utils.ExcelUtil;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusMrpBaseVo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusMrpBaseBo;
|
||||||
|
import org.dromara.cailiaoshebei.service.IBusMrpBaseService;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-批次需求计划基础信息
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/cailiaoshebei/mrpBase")
|
||||||
|
public class BusMrpBaseController extends BaseController {
|
||||||
|
|
||||||
|
private final IBusMrpBaseService busMrpBaseService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询物资-批次需求计划基础信息列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:mrpBase:list")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<BusMrpBaseVo> list(BusMrpBaseBo bo, PageQuery pageQuery) {
|
||||||
|
return busMrpBaseService.queryPageList(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出物资-批次需求计划基础信息列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:mrpBase:export")
|
||||||
|
@Log(title = "物资-批次需求计划基础信息", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(BusMrpBaseBo bo, HttpServletResponse response) {
|
||||||
|
List<BusMrpBaseVo> list = busMrpBaseService.queryList(bo);
|
||||||
|
ExcelUtil.exportExcel(list, "物资-批次需求计划基础信息", BusMrpBaseVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取物资-批次需求计划基础信息详细信息
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:mrpBase:query")
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public R<BusMrpVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long id) {
|
||||||
|
return R.ok(busMrpBaseService.queryById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增物资-批次需求计划基础信息
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:mrpBase:add")
|
||||||
|
@Log(title = "物资-批次需求计划基础信息", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody BusMrpBaseBo bo) {
|
||||||
|
return toAjax(busMrpBaseService.insertByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改物资-批次需求计划基础信息
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:mrpBase:edit")
|
||||||
|
@Log(title = "物资-批次需求计划基础信息", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping()
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody BusMrpBaseBo bo) {
|
||||||
|
return toAjax(busMrpBaseService.updateByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除物资-批次需求计划基础信息
|
||||||
|
*
|
||||||
|
* @param ids 主键串
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:mrpBase:remove")
|
||||||
|
@Log(title = "物资-批次需求计划基础信息", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{ids}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long[] ids) {
|
||||||
|
return toAjax(busMrpBaseService.deleteWithValidByIds(List.of(ids), true));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量新增或修改
|
||||||
|
*/
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping("/batch")
|
||||||
|
public R<Void> batchAddOrUpdate(@RequestBody BusMrpDto dto) {
|
||||||
|
return toAjax(busMrpBaseService.batchAddOrUpdate(dto));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,105 @@
|
|||||||
|
package org.dromara.cailiaoshebei.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import jakarta.validation.constraints.*;
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||||
|
import org.dromara.common.log.annotation.Log;
|
||||||
|
import org.dromara.common.web.core.BaseController;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
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.log.enums.BusinessType;
|
||||||
|
import org.dromara.common.excel.utils.ExcelUtil;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusPlanDocAssociationVo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusPlanDocAssociationBo;
|
||||||
|
import org.dromara.cailiaoshebei.service.IBusPlanDocAssociationService;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-批次需求计划与采购单关联
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/cailiaoshebei/planDocAssociation")
|
||||||
|
public class BusPlanDocAssociationController extends BaseController {
|
||||||
|
|
||||||
|
private final IBusPlanDocAssociationService busPlanDocAssociationService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询物资-批次需求计划与采购单关联列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:planDocAssociation:list")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<BusPlanDocAssociationVo> list(BusPlanDocAssociationBo bo, PageQuery pageQuery) {
|
||||||
|
return busPlanDocAssociationService.queryPageList(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出物资-批次需求计划与采购单关联列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:planDocAssociation:export")
|
||||||
|
@Log(title = "物资-批次需求计划与采购单关联", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(BusPlanDocAssociationBo bo, HttpServletResponse response) {
|
||||||
|
List<BusPlanDocAssociationVo> list = busPlanDocAssociationService.queryList(bo);
|
||||||
|
ExcelUtil.exportExcel(list, "物资-批次需求计划与采购单关联", BusPlanDocAssociationVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取物资-批次需求计划与采购单关联详细信息
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:planDocAssociation:query")
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public R<BusPlanDocAssociationVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long id) {
|
||||||
|
return R.ok(busPlanDocAssociationService.queryById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增物资-批次需求计划与采购单关联
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:planDocAssociation:add")
|
||||||
|
@Log(title = "物资-批次需求计划与采购单关联", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody BusPlanDocAssociationBo bo) {
|
||||||
|
return toAjax(busPlanDocAssociationService.insertByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改物资-批次需求计划与采购单关联
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:planDocAssociation:edit")
|
||||||
|
@Log(title = "物资-批次需求计划与采购单关联", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping()
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody BusPlanDocAssociationBo bo) {
|
||||||
|
return toAjax(busPlanDocAssociationService.updateByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除物资-批次需求计划与采购单关联
|
||||||
|
*
|
||||||
|
* @param ids 主键串
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:planDocAssociation:remove")
|
||||||
|
@Log(title = "物资-批次需求计划与采购单关联", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{ids}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long[] ids) {
|
||||||
|
return toAjax(busPlanDocAssociationService.deleteWithValidByIds(List.of(ids), true));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,105 @@
|
|||||||
|
package org.dromara.cailiaoshebei.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import jakarta.validation.constraints.*;
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||||
|
import org.dromara.common.log.annotation.Log;
|
||||||
|
import org.dromara.common.web.core.BaseController;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
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.log.enums.BusinessType;
|
||||||
|
import org.dromara.common.excel.utils.ExcelUtil;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusPurchaseDocVo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusPurchaseDocBo;
|
||||||
|
import org.dromara.cailiaoshebei.service.IBusPurchaseDocService;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-采购联系单
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/cailiaoshebei/purchaseDoc")
|
||||||
|
public class BusPurchaseDocController extends BaseController {
|
||||||
|
|
||||||
|
private final IBusPurchaseDocService busPurchaseDocService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询物资-采购联系单列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseDoc:list")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<BusPurchaseDocVo> list(BusPurchaseDocBo bo, PageQuery pageQuery) {
|
||||||
|
return busPurchaseDocService.queryPageList(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出物资-采购联系单列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseDoc:export")
|
||||||
|
@Log(title = "物资-采购联系单", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(BusPurchaseDocBo bo, HttpServletResponse response) {
|
||||||
|
List<BusPurchaseDocVo> list = busPurchaseDocService.queryList(bo);
|
||||||
|
ExcelUtil.exportExcel(list, "物资-采购联系单", BusPurchaseDocVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取物资-采购联系单详细信息
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseDoc:query")
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public R<BusPurchaseDocVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long id) {
|
||||||
|
return R.ok(busPurchaseDocService.queryById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增物资-采购联系单
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseDoc:add")
|
||||||
|
@Log(title = "物资-采购联系单", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody BusPurchaseDocBo bo) {
|
||||||
|
return toAjax(busPurchaseDocService.insertByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改物资-采购联系单
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseDoc:edit")
|
||||||
|
@Log(title = "物资-采购联系单", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping()
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody BusPurchaseDocBo bo) {
|
||||||
|
return toAjax(busPurchaseDocService.updateByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除物资-采购联系单
|
||||||
|
*
|
||||||
|
* @param ids 主键串
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseDoc:remove")
|
||||||
|
@Log(title = "物资-采购联系单", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{ids}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long[] ids) {
|
||||||
|
return toAjax(busPurchaseDocService.deleteWithValidByIds(List.of(ids), true));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,130 @@
|
|||||||
|
package org.dromara.cailiaoshebei.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import jakarta.validation.constraints.*;
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||||
|
import org.dromara.common.log.annotation.Log;
|
||||||
|
import org.dromara.common.web.core.BaseController;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
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.log.enums.BusinessType;
|
||||||
|
import org.dromara.common.excel.utils.ExcelUtil;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusPurchaseUserVo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusPurchaseUserBo;
|
||||||
|
import org.dromara.cailiaoshebei.service.IBusPurchaseUserService;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资采购人员
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/cailiaoshebei/purchaseUser")
|
||||||
|
public class BusPurchaseUserController extends BaseController {
|
||||||
|
|
||||||
|
private final IBusPurchaseUserService busPurchaseUserService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询物资采购人员列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseUser:list")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<BusPurchaseUserVo> list(BusPurchaseUserBo bo, PageQuery pageQuery) {
|
||||||
|
return busPurchaseUserService.queryPageList(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出物资采购人员列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseUser:export")
|
||||||
|
@Log(title = "物资采购人员", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(BusPurchaseUserBo bo, HttpServletResponse response) {
|
||||||
|
List<BusPurchaseUserVo> list = busPurchaseUserService.queryList(bo);
|
||||||
|
ExcelUtil.exportExcel(list, "物资采购人员", BusPurchaseUserVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取物资采购人员详细信息
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseUser:query")
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public R<BusPurchaseUserVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long id) {
|
||||||
|
return R.ok(busPurchaseUserService.queryById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增物资采购人员
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseUser:add")
|
||||||
|
@Log(title = "物资采购人员", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody BusPurchaseUserBo bo) {
|
||||||
|
return toAjax(busPurchaseUserService.insertByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改物资采购人员
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseUser:edit")
|
||||||
|
@Log(title = "物资采购人员", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping()
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody BusPurchaseUserBo bo) {
|
||||||
|
return toAjax(busPurchaseUserService.updateByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除物资采购人员
|
||||||
|
*
|
||||||
|
* @param ids 主键串
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseUser:remove")
|
||||||
|
@Log(title = "物资采购人员", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{ids}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long[] ids) {
|
||||||
|
return toAjax(busPurchaseUserService.deleteWithValidByIds(List.of(ids), true));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增或修改物资采购人员
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseUser:add")
|
||||||
|
@Log(title = "物资采购人员", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping("/addOrUpdate")
|
||||||
|
public R<Void> addOrUpdate(@Validated(AddGroup.class) @RequestBody BusPurchaseUserBo bo) {
|
||||||
|
return toAjax(busPurchaseUserService.addOrUpdate(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据项目获取物资采购人员详细信息
|
||||||
|
*
|
||||||
|
* @param projectId 项目id
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseUser:query")
|
||||||
|
@GetMapping("/byProject/{projectId}")
|
||||||
|
public R<BusPurchaseUserVo> getInfoByProject(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long projectId) {
|
||||||
|
return R.ok(busPurchaseUserService.getInfoByProject(projectId));
|
||||||
|
}
|
||||||
|
}
|
@ -49,6 +49,11 @@ public class BusMaterialbatchdemandplan extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private Long suppliespriceId;
|
private Long suppliespriceId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 基础信息ID
|
||||||
|
*/
|
||||||
|
private Long mrpBaseId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 物料编码
|
* 物料编码
|
||||||
*/
|
*/
|
||||||
@ -94,5 +99,10 @@ public class BusMaterialbatchdemandplan extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 质量标准
|
||||||
|
*/
|
||||||
|
private String qs;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,57 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain;
|
||||||
|
|
||||||
|
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-批次需求计划基础信息对象 bus_mrp_base
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TableName("bus_mrp_base")
|
||||||
|
public class BusMrpBase extends BaseEntity {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@TableId(value = "id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计划编号
|
||||||
|
*/
|
||||||
|
private String planCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资类别
|
||||||
|
*/
|
||||||
|
private String matCat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编制日期
|
||||||
|
*/
|
||||||
|
private LocalDate preparedDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核状态
|
||||||
|
*/
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,46 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain;
|
||||||
|
|
||||||
|
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-批次需求计划与采购单关联对象 bus_plan_doc_association
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TableName("bus_plan_doc_association")
|
||||||
|
public class BusPlanDocAssociation extends BaseEntity {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@TableId(value = "id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计划id
|
||||||
|
*/
|
||||||
|
private Long planId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购联系单id
|
||||||
|
*/
|
||||||
|
private Long docId;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,122 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain;
|
||||||
|
|
||||||
|
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-采购联系单对象 bus_purchase_doc
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TableName("bus_purchase_doc")
|
||||||
|
public class BusPurchaseDoc extends BaseEntity {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@TableId(value = "id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购单编号
|
||||||
|
*/
|
||||||
|
private String docCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 供应商
|
||||||
|
*/
|
||||||
|
private String supplier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 事由
|
||||||
|
*/
|
||||||
|
private String reason;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备统称
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 到货日期
|
||||||
|
*/
|
||||||
|
private LocalDate arrivalDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设计负责人联系方式
|
||||||
|
*/
|
||||||
|
private String designDirectorTel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 现场技术负责人联系方式
|
||||||
|
*/
|
||||||
|
private String technicalDirectorTel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收货地址
|
||||||
|
*/
|
||||||
|
private String receivingAddress;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 联系人
|
||||||
|
*/
|
||||||
|
private String contacts;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目负责人
|
||||||
|
*/
|
||||||
|
private String projectDirector;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购经办人
|
||||||
|
*/
|
||||||
|
private String purchasingAgent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期
|
||||||
|
*/
|
||||||
|
private LocalDate preparedDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 反馈文件地址
|
||||||
|
*/
|
||||||
|
private String feedbackUrl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 签收单位
|
||||||
|
*/
|
||||||
|
private String signingUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 签收人
|
||||||
|
*/
|
||||||
|
private String signingPerson;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 签收日期
|
||||||
|
*/
|
||||||
|
private LocalDate signingDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核状态
|
||||||
|
*/
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,46 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain;
|
||||||
|
|
||||||
|
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资采购人员对象 bus_purchase_user
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TableName("bus_purchase_user")
|
||||||
|
public class BusPurchaseUser extends BaseEntity {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@TableId(value = "id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购人员id
|
||||||
|
*/
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购人员姓名
|
||||||
|
*/
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -33,7 +33,6 @@ public class BusMaterialbatchdemandplanBo extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 批次号
|
* 批次号
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "批次号不能为空")
|
|
||||||
private String batchNumber;
|
private String batchNumber;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -41,6 +40,11 @@ public class BusMaterialbatchdemandplanBo extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private Long projectId;
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 基础信息ID
|
||||||
|
*/
|
||||||
|
private Long mrpBaseId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 材料设备ID
|
* 材料设备ID
|
||||||
*/
|
*/
|
||||||
@ -97,4 +101,8 @@ public class BusMaterialbatchdemandplanBo extends BaseEntity {
|
|||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 质量标准
|
||||||
|
*/
|
||||||
|
private String qs;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,59 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain.bo;
|
||||||
|
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusMrpBase;
|
||||||
|
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.time.LocalDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-批次需求计划基础信息业务对象 bus_mrp_base
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@AutoMapper(target = BusMrpBase.class, reverseConvertGenerate = false)
|
||||||
|
public class BusMrpBaseBo extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
@NotNull(message = "项目ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计划编号
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "计划编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private String planCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资类别
|
||||||
|
*/
|
||||||
|
private String matCat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编制日期
|
||||||
|
*/
|
||||||
|
private LocalDate preparedDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核状态
|
||||||
|
*/
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,45 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain.bo;
|
||||||
|
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPlanDocAssociation;
|
||||||
|
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.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-批次需求计划与采购单关联业务对象 bus_plan_doc_association
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@AutoMapper(target = BusPlanDocAssociation.class, reverseConvertGenerate = false)
|
||||||
|
public class BusPlanDocAssociationBo extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计划id
|
||||||
|
*/
|
||||||
|
private Long planId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购联系单id
|
||||||
|
*/
|
||||||
|
private Long docId;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,126 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain.bo;
|
||||||
|
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPurchaseDoc;
|
||||||
|
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.time.LocalDate;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-采购联系单业务对象 bus_purchase_doc
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@AutoMapper(target = BusPurchaseDoc.class, reverseConvertGenerate = false)
|
||||||
|
public class BusPurchaseDocBo extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购单编号
|
||||||
|
*/
|
||||||
|
private String docCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 供应商
|
||||||
|
*/
|
||||||
|
private String supplier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 事由
|
||||||
|
*/
|
||||||
|
private String reason;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备统称
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 到货日期
|
||||||
|
*/
|
||||||
|
private LocalDate arrivalDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设计负责人联系方式
|
||||||
|
*/
|
||||||
|
private String designDirectorTel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 现场技术负责人联系方式
|
||||||
|
*/
|
||||||
|
private String technicalDirectorTel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收货地址
|
||||||
|
*/
|
||||||
|
private String receivingAddress;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 联系人
|
||||||
|
*/
|
||||||
|
private String contacts;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目负责人
|
||||||
|
*/
|
||||||
|
private String projectDirector;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购经办人
|
||||||
|
*/
|
||||||
|
private String purchasingAgent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期
|
||||||
|
*/
|
||||||
|
private LocalDate preparedDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 反馈文件地址
|
||||||
|
*/
|
||||||
|
private String feedbackUrl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 签收单位
|
||||||
|
*/
|
||||||
|
private String signingUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 签收人
|
||||||
|
*/
|
||||||
|
private String signingPerson;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 签收日期
|
||||||
|
*/
|
||||||
|
private LocalDate signingDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核状态
|
||||||
|
*/
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关联计划
|
||||||
|
*/
|
||||||
|
private List<BusPlanDocAssociationBo> associationList;
|
||||||
|
}
|
@ -0,0 +1,48 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain.bo;
|
||||||
|
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPurchaseUser;
|
||||||
|
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.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资采购人员业务对象 bus_purchase_user
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@AutoMapper(target = BusPurchaseUser.class, reverseConvertGenerate = false)
|
||||||
|
public class BusPurchaseUserBo extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@NotNull(message = "不能为空", groups = { EditGroup.class })
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
@NotNull(message = "项目id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购人员id
|
||||||
|
*/
|
||||||
|
@NotNull(message = "采购人员id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购人员姓名
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "采购人员姓名不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusMaterialbatchdemandplanBo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusMrpBaseBo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class BusMrpDto {
|
||||||
|
|
||||||
|
private BusMrpBaseBo mrpBaseBo;
|
||||||
|
|
||||||
|
private List<BusMaterialbatchdemandplanBo> planList;
|
||||||
|
}
|
@ -43,6 +43,11 @@ public class BusMaterialbatchdemandplanVo implements Serializable {
|
|||||||
@ExcelProperty(value = "批次ID")
|
@ExcelProperty(value = "批次ID")
|
||||||
private String batchId;
|
private String batchId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 基础信息ID
|
||||||
|
*/
|
||||||
|
private Long mrpBaseId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目ID
|
* 项目ID
|
||||||
*/
|
*/
|
||||||
@ -115,5 +120,9 @@ public class BusMaterialbatchdemandplanVo implements Serializable {
|
|||||||
@ExcelProperty(value = "备注")
|
@ExcelProperty(value = "备注")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 质量标准
|
||||||
|
*/
|
||||||
|
private String qs;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,73 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain.vo;
|
||||||
|
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusMrpBase;
|
||||||
|
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.time.LocalDate;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-批次需求计划基础信息视图对象 bus_mrp_base
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
@AutoMapper(target = BusMrpBase.class)
|
||||||
|
public class BusMrpBaseVo 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 planCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资类别
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "物资类别")
|
||||||
|
private String matCat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编制日期
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "编制日期")
|
||||||
|
private LocalDate preparedDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核状态
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "审核状态")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计划详情
|
||||||
|
*/
|
||||||
|
private List<BusMaterialbatchdemandplanVo> planList;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusMaterialbatchdemandplanBo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusMrpBaseBo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class BusMrpVo {
|
||||||
|
|
||||||
|
private BusMrpBaseVo mrpBaseBo;
|
||||||
|
|
||||||
|
private List<BusMaterialbatchdemandplanVo> planList;
|
||||||
|
}
|
@ -0,0 +1,56 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain.vo;
|
||||||
|
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPlanDocAssociation;
|
||||||
|
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_plan_doc_association
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
@AutoMapper(target = BusPlanDocAssociation.class)
|
||||||
|
public class BusPlanDocAssociationVo implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "主键ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "项目ID")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计划id
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "计划id")
|
||||||
|
private Long planId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购联系单id
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "采购联系单id")
|
||||||
|
private Long docId;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,147 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain.vo;
|
||||||
|
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPurchaseDoc;
|
||||||
|
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.time.LocalDate;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-采购联系单视图对象 bus_purchase_doc
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
@AutoMapper(target = BusPurchaseDoc.class)
|
||||||
|
public class BusPurchaseDocVo 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 docCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 供应商
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "供应商")
|
||||||
|
private String supplier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 事由
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "事由")
|
||||||
|
private String reason;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备统称
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "设备统称")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 到货日期
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "到货日期")
|
||||||
|
private LocalDate arrivalDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设计负责人联系方式
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "设计负责人联系方式")
|
||||||
|
private String designDirectorTel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 现场技术负责人联系方式
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "现场技术负责人联系方式")
|
||||||
|
private String technicalDirectorTel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收货地址
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "收货地址")
|
||||||
|
private String receivingAddress;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 联系人
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "联系人")
|
||||||
|
private String contacts;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目负责人
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "项目负责人")
|
||||||
|
private String projectDirector;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购经办人
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "采购经办人")
|
||||||
|
private String purchasingAgent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "日期")
|
||||||
|
private LocalDate preparedDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 反馈文件地址
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "反馈文件地址")
|
||||||
|
private String feedbackUrl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 签收单位
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "签收单位")
|
||||||
|
private String signingUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 签收人
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "签收人")
|
||||||
|
private String signingPerson;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 签收日期
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "签收日期")
|
||||||
|
private LocalDate signingDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核状态
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "审核状态")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,56 @@
|
|||||||
|
package org.dromara.cailiaoshebei.domain.vo;
|
||||||
|
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPurchaseUser;
|
||||||
|
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_purchase_user
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
@AutoMapper(target = BusPurchaseUser.class)
|
||||||
|
public class BusPurchaseUserVo implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "项目id")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购人员id
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "采购人员id")
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购人员姓名
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "采购人员姓名")
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package org.dromara.cailiaoshebei.mapper;
|
||||||
|
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusMrpBase;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusMrpBaseVo;
|
||||||
|
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-批次需求计划基础信息Mapper接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
public interface BusMrpBaseMapper extends BaseMapperPlus<BusMrpBase, BusMrpBaseVo> {
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package org.dromara.cailiaoshebei.mapper;
|
||||||
|
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPlanDocAssociation;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusPlanDocAssociationVo;
|
||||||
|
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-批次需求计划与采购单关联Mapper接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
public interface BusPlanDocAssociationMapper extends BaseMapperPlus<BusPlanDocAssociation, BusPlanDocAssociationVo> {
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package org.dromara.cailiaoshebei.mapper;
|
||||||
|
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPurchaseDoc;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusPurchaseDocVo;
|
||||||
|
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-采购联系单Mapper接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
public interface BusPurchaseDocMapper extends BaseMapperPlus<BusPurchaseDoc, BusPurchaseDocVo> {
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package org.dromara.cailiaoshebei.mapper;
|
||||||
|
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPurchaseUser;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusPurchaseUserVo;
|
||||||
|
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资采购人员Mapper接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
public interface BusPurchaseUserMapper extends BaseMapperPlus<BusPurchaseUser, BusPurchaseUserVo> {
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,79 @@
|
|||||||
|
package org.dromara.cailiaoshebei.service;
|
||||||
|
|
||||||
|
import org.dromara.cailiaoshebei.domain.dto.BusMrpDto;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusMrpBaseVo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusMrpBaseBo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusMrpBase;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusMrpVo;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-批次需求计划基础信息Service接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
public interface IBusMrpBaseService extends IService<BusMrpBase>{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询物资-批次需求计划基础信息
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 物资-批次需求计划基础信息
|
||||||
|
*/
|
||||||
|
BusMrpVo queryById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询物资-批次需求计划基础信息列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @param pageQuery 分页参数
|
||||||
|
* @return 物资-批次需求计划基础信息分页列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<BusMrpBaseVo> queryPageList(BusMrpBaseBo bo, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合条件的物资-批次需求计划基础信息列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @return 物资-批次需求计划基础信息列表
|
||||||
|
*/
|
||||||
|
List<BusMrpBaseVo> queryList(BusMrpBaseBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增物资-批次需求计划基础信息
|
||||||
|
*
|
||||||
|
* @param bo 物资-批次需求计划基础信息
|
||||||
|
* @return 是否新增成功
|
||||||
|
*/
|
||||||
|
Boolean insertByBo(BusMrpBaseBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改物资-批次需求计划基础信息
|
||||||
|
*
|
||||||
|
* @param bo 物资-批次需求计划基础信息
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
Boolean updateByBo(BusMrpBaseBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除物资-批次需求计划基础信息信息
|
||||||
|
*
|
||||||
|
* @param ids 待删除的主键集合
|
||||||
|
* @param isValid 是否进行有效性校验
|
||||||
|
* @return 是否删除成功
|
||||||
|
*/
|
||||||
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量新增或修改物资-批次需求计划
|
||||||
|
*/
|
||||||
|
Boolean batchAddOrUpdate(BusMrpDto dto);
|
||||||
|
}
|
@ -0,0 +1,70 @@
|
|||||||
|
package org.dromara.cailiaoshebei.service;
|
||||||
|
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusPlanDocAssociationVo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusPlanDocAssociationBo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPlanDocAssociation;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-批次需求计划与采购单关联Service接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
public interface IBusPlanDocAssociationService extends IService<BusPlanDocAssociation>{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询物资-批次需求计划与采购单关联
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 物资-批次需求计划与采购单关联
|
||||||
|
*/
|
||||||
|
BusPlanDocAssociationVo queryById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询物资-批次需求计划与采购单关联列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @param pageQuery 分页参数
|
||||||
|
* @return 物资-批次需求计划与采购单关联分页列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<BusPlanDocAssociationVo> queryPageList(BusPlanDocAssociationBo bo, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合条件的物资-批次需求计划与采购单关联列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @return 物资-批次需求计划与采购单关联列表
|
||||||
|
*/
|
||||||
|
List<BusPlanDocAssociationVo> queryList(BusPlanDocAssociationBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增物资-批次需求计划与采购单关联
|
||||||
|
*
|
||||||
|
* @param bo 物资-批次需求计划与采购单关联
|
||||||
|
* @return 是否新增成功
|
||||||
|
*/
|
||||||
|
Boolean insertByBo(BusPlanDocAssociationBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改物资-批次需求计划与采购单关联
|
||||||
|
*
|
||||||
|
* @param bo 物资-批次需求计划与采购单关联
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
Boolean updateByBo(BusPlanDocAssociationBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除物资-批次需求计划与采购单关联信息
|
||||||
|
*
|
||||||
|
* @param ids 待删除的主键集合
|
||||||
|
* @param isValid 是否进行有效性校验
|
||||||
|
* @return 是否删除成功
|
||||||
|
*/
|
||||||
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
}
|
@ -0,0 +1,70 @@
|
|||||||
|
package org.dromara.cailiaoshebei.service;
|
||||||
|
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusPurchaseDocVo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusPurchaseDocBo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPurchaseDoc;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-采购联系单Service接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
public interface IBusPurchaseDocService extends IService<BusPurchaseDoc>{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询物资-采购联系单
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 物资-采购联系单
|
||||||
|
*/
|
||||||
|
BusPurchaseDocVo queryById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询物资-采购联系单列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @param pageQuery 分页参数
|
||||||
|
* @return 物资-采购联系单分页列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<BusPurchaseDocVo> queryPageList(BusPurchaseDocBo bo, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合条件的物资-采购联系单列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @return 物资-采购联系单列表
|
||||||
|
*/
|
||||||
|
List<BusPurchaseDocVo> queryList(BusPurchaseDocBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增物资-采购联系单
|
||||||
|
*
|
||||||
|
* @param bo 物资-采购联系单
|
||||||
|
* @return 是否新增成功
|
||||||
|
*/
|
||||||
|
Boolean insertByBo(BusPurchaseDocBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改物资-采购联系单
|
||||||
|
*
|
||||||
|
* @param bo 物资-采购联系单
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
Boolean updateByBo(BusPurchaseDocBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除物资-采购联系单信息
|
||||||
|
*
|
||||||
|
* @param ids 待删除的主键集合
|
||||||
|
* @param isValid 是否进行有效性校验
|
||||||
|
* @return 是否删除成功
|
||||||
|
*/
|
||||||
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
}
|
@ -0,0 +1,83 @@
|
|||||||
|
package org.dromara.cailiaoshebei.service;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusPurchaseUserVo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusPurchaseUserBo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPurchaseUser;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资采购人员Service接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
public interface IBusPurchaseUserService extends IService<BusPurchaseUser>{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询物资采购人员
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 物资采购人员
|
||||||
|
*/
|
||||||
|
BusPurchaseUserVo queryById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询物资采购人员列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @param pageQuery 分页参数
|
||||||
|
* @return 物资采购人员分页列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<BusPurchaseUserVo> queryPageList(BusPurchaseUserBo bo, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合条件的物资采购人员列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @return 物资采购人员列表
|
||||||
|
*/
|
||||||
|
List<BusPurchaseUserVo> queryList(BusPurchaseUserBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增物资采购人员
|
||||||
|
*
|
||||||
|
* @param bo 物资采购人员
|
||||||
|
* @return 是否新增成功
|
||||||
|
*/
|
||||||
|
Boolean insertByBo(BusPurchaseUserBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改物资采购人员
|
||||||
|
*
|
||||||
|
* @param bo 物资采购人员
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
Boolean updateByBo(BusPurchaseUserBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除物资采购人员信息
|
||||||
|
*
|
||||||
|
* @param ids 待删除的主键集合
|
||||||
|
* @param isValid 是否进行有效性校验
|
||||||
|
* @return 是否删除成功
|
||||||
|
*/
|
||||||
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增或修改
|
||||||
|
*/
|
||||||
|
boolean addOrUpdate(BusPurchaseUserBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据项目id查询采购人员信息
|
||||||
|
*/
|
||||||
|
BusPurchaseUserVo getInfoByProject(Long projectId);
|
||||||
|
}
|
@ -112,6 +112,7 @@ public class BusMaterialbatchdemandplanServiceImpl extends ServiceImpl<BusMateri
|
|||||||
lqw.eq(bo.getEstimatedCycle() != null, BusMaterialbatchdemandplan::getEstimatedCycle, bo.getEstimatedCycle());
|
lqw.eq(bo.getEstimatedCycle() != null, BusMaterialbatchdemandplan::getEstimatedCycle, bo.getEstimatedCycle());
|
||||||
lqw.eq(bo.getDemandQuantity() != null, BusMaterialbatchdemandplan::getDemandQuantity, bo.getDemandQuantity());
|
lqw.eq(bo.getDemandQuantity() != null, BusMaterialbatchdemandplan::getDemandQuantity, bo.getDemandQuantity());
|
||||||
lqw.eq(bo.getArrivalTime() != null, BusMaterialbatchdemandplan::getArrivalTime, bo.getArrivalTime());
|
lqw.eq(bo.getArrivalTime() != null, BusMaterialbatchdemandplan::getArrivalTime, bo.getArrivalTime());
|
||||||
|
lqw.eq(bo.getMrpBaseId()!=null, BusMaterialbatchdemandplan::getMrpBaseId, bo.getMrpBaseId());
|
||||||
return lqw;
|
return lqw;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,255 @@
|
|||||||
|
package org.dromara.cailiaoshebei.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.convert.Convert;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusMaterialbatchdemandplan;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusMaterialbatchdemandplanBo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.dto.BusMrpDto;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusMaterialbatchdemandplanVo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusMrpVo;
|
||||||
|
import org.dromara.cailiaoshebei.service.IBusMaterialbatchdemandplanService;
|
||||||
|
import org.dromara.common.core.domain.event.ProcessDeleteEvent;
|
||||||
|
import org.dromara.common.core.domain.event.ProcessEvent;
|
||||||
|
import org.dromara.common.core.domain.event.ProcessTaskEvent;
|
||||||
|
import org.dromara.common.core.enums.BusinessStatusEnum;
|
||||||
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.dromara.design.domain.DesCollect;
|
||||||
|
import org.springframework.context.event.EventListener;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusMrpBaseBo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusMrpBaseVo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusMrpBase;
|
||||||
|
import org.dromara.cailiaoshebei.mapper.BusMrpBaseMapper;
|
||||||
|
import org.dromara.cailiaoshebei.service.IBusMrpBaseService;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-批次需求计划基础信息Service业务层处理
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
@Slf4j
|
||||||
|
public class BusMrpBaseServiceImpl extends ServiceImpl<BusMrpBaseMapper, BusMrpBase> implements IBusMrpBaseService {
|
||||||
|
|
||||||
|
private final BusMrpBaseMapper baseMapper;
|
||||||
|
|
||||||
|
private final IBusMaterialbatchdemandplanService planservice;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询物资-批次需求计划基础信息
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 物资-批次需求计划基础信息
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public BusMrpVo queryById(Long id){
|
||||||
|
BusMrpVo busMrpVo = new BusMrpVo();
|
||||||
|
|
||||||
|
BusMrpBaseVo busMrpBaseVo = baseMapper.selectVoById(id);
|
||||||
|
BusMaterialbatchdemandplanBo planBo = new BusMaterialbatchdemandplanBo();
|
||||||
|
planBo.setMrpBaseId(id);
|
||||||
|
List<BusMaterialbatchdemandplanVo> voList = planservice.queryList(planBo);
|
||||||
|
busMrpVo.setMrpBaseBo(busMrpBaseVo);
|
||||||
|
busMrpVo.setPlanList(voList);
|
||||||
|
|
||||||
|
return busMrpVo;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询物资-批次需求计划基础信息列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @param pageQuery 分页参数
|
||||||
|
* @return 物资-批次需求计划基础信息分页列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<BusMrpBaseVo> queryPageList(BusMrpBaseBo bo, PageQuery pageQuery) {
|
||||||
|
LambdaQueryWrapper<BusMrpBase> lqw = buildQueryWrapper(bo);
|
||||||
|
Page<BusMrpBaseVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
return TableDataInfo.build(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合条件的物资-批次需求计划基础信息列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @return 物资-批次需求计划基础信息列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<BusMrpBaseVo> queryList(BusMrpBaseBo bo) {
|
||||||
|
LambdaQueryWrapper<BusMrpBase> lqw = buildQueryWrapper(bo);
|
||||||
|
return baseMapper.selectVoList(lqw);
|
||||||
|
}
|
||||||
|
|
||||||
|
private LambdaQueryWrapper<BusMrpBase> buildQueryWrapper(BusMrpBaseBo bo) {
|
||||||
|
Map<String, Object> params = bo.getParams();
|
||||||
|
LambdaQueryWrapper<BusMrpBase> lqw = Wrappers.lambdaQuery();
|
||||||
|
lqw.orderByDesc(BusMrpBase::getId);
|
||||||
|
lqw.eq(bo.getProjectId() != null, BusMrpBase::getProjectId, bo.getProjectId());
|
||||||
|
lqw.like(StringUtils.isNotBlank(bo.getPlanCode()), BusMrpBase::getPlanCode, bo.getPlanCode());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getMatCat()), BusMrpBase::getMatCat, bo.getMatCat());
|
||||||
|
lqw.eq(bo.getPreparedDate() != null, BusMrpBase::getPreparedDate, bo.getPreparedDate());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), BusMrpBase::getStatus, bo.getStatus());
|
||||||
|
return lqw;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增物资-批次需求计划基础信息
|
||||||
|
*
|
||||||
|
* @param bo 物资-批次需求计划基础信息
|
||||||
|
* @return 是否新增成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean insertByBo(BusMrpBaseBo bo) {
|
||||||
|
BusMrpBase add = MapstructUtils.convert(bo, BusMrpBase.class);
|
||||||
|
validEntityBeforeSave(add);
|
||||||
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
|
if (flag) {
|
||||||
|
bo.setId(add.getId());
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改物资-批次需求计划基础信息
|
||||||
|
*
|
||||||
|
* @param bo 物资-批次需求计划基础信息
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateByBo(BusMrpBaseBo bo) {
|
||||||
|
BusMrpBase update = MapstructUtils.convert(bo, BusMrpBase.class);
|
||||||
|
validEntityBeforeSave(update);
|
||||||
|
return baseMapper.updateById(update) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存前的数据校验
|
||||||
|
*/
|
||||||
|
private void validEntityBeforeSave(BusMrpBase entity){
|
||||||
|
//TODO 做一些数据校验,如唯一约束
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除物资-批次需求计划基础信息信息
|
||||||
|
*
|
||||||
|
* @param ids 待删除的主键集合
|
||||||
|
* @param isValid 是否进行有效性校验
|
||||||
|
* @return 是否删除成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
if(isValid){
|
||||||
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
|
}
|
||||||
|
planservice.remove(Wrappers.<BusMaterialbatchdemandplan>lambdaQuery()
|
||||||
|
.in(BusMaterialbatchdemandplan::getMrpBaseId,ids));
|
||||||
|
|
||||||
|
return baseMapper.deleteByIds(ids) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean batchAddOrUpdate(BusMrpDto dto) {
|
||||||
|
BusMrpBase convert = MapstructUtils.convert(dto.getMrpBaseBo(), BusMrpBase.class);
|
||||||
|
convert.setStatus(null);
|
||||||
|
boolean b = saveOrUpdate(convert);
|
||||||
|
|
||||||
|
planservice.remove(Wrappers.<BusMaterialbatchdemandplan>lambdaQuery()
|
||||||
|
.eq(BusMaterialbatchdemandplan::getMrpBaseId,convert.getId()));
|
||||||
|
|
||||||
|
if(CollectionUtil.isNotEmpty(dto.getPlanList())){
|
||||||
|
List<BusMaterialbatchdemandplan> plans = MapstructUtils.convert(dto.getPlanList(), BusMaterialbatchdemandplan.class);
|
||||||
|
plans.forEach(item -> {
|
||||||
|
item.setMrpBaseId(convert.getId());
|
||||||
|
item.setProjectId(convert.getProjectId());
|
||||||
|
});
|
||||||
|
planservice.saveBatch(plans);
|
||||||
|
}
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等)
|
||||||
|
* 正常使用只需#processEvent.flowCode=='leave1'
|
||||||
|
* 示例为了方便则使用startsWith匹配了全部示例key
|
||||||
|
*
|
||||||
|
* @param processEvent 参数
|
||||||
|
*/
|
||||||
|
@EventListener(condition = "#processEvent.flowCode.endsWith('mrp')")
|
||||||
|
public void processHandler(ProcessEvent processEvent) {
|
||||||
|
log.info("收资清单审核任务执行了{}", processEvent.toString());
|
||||||
|
BusMrpBase busMrpBase = this.getById(Convert.toLong(processEvent.getBusinessId()));
|
||||||
|
busMrpBase.setStatus(processEvent.getStatus());
|
||||||
|
if (processEvent.getSubmit()) {
|
||||||
|
busMrpBase.setStatus(BusinessStatusEnum.WAITING.getStatus());
|
||||||
|
}
|
||||||
|
this.updateById(busMrpBase);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 执行任务创建监听
|
||||||
|
* 示例:也可通过 @EventListener(condition = "#processTaskEvent.flowCode=='leave1'")进行判断
|
||||||
|
* 在方法中判断流程节点key
|
||||||
|
* if ("xxx".equals(processTaskEvent.getNodeCode())) {
|
||||||
|
* //执行业务逻辑
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* @param processTaskEvent 参数
|
||||||
|
*/
|
||||||
|
@EventListener(condition = "#processTaskEvent.flowCode.endsWith('mrp')")
|
||||||
|
public void processTaskHandler(ProcessTaskEvent processTaskEvent) {
|
||||||
|
log.info("收资清单审核任务创建了{}", processTaskEvent.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监听删除流程事件
|
||||||
|
* 正常使用只需#processDeleteEvent.flowCode=='leave1'
|
||||||
|
* 示例为了方便则使用startsWith匹配了全部示例key
|
||||||
|
*
|
||||||
|
* @param processDeleteEvent 参数
|
||||||
|
*/
|
||||||
|
@EventListener(condition = "#processDeleteEvent.flowCode.endsWith('mrp')")
|
||||||
|
public void processDeleteHandler(ProcessDeleteEvent processDeleteEvent) {
|
||||||
|
log.info("监听删除流程事件,收资清单审核任务执行了{}", processDeleteEvent.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,133 @@
|
|||||||
|
package org.dromara.cailiaoshebei.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusPlanDocAssociationBo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusPlanDocAssociationVo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPlanDocAssociation;
|
||||||
|
import org.dromara.cailiaoshebei.mapper.BusPlanDocAssociationMapper;
|
||||||
|
import org.dromara.cailiaoshebei.service.IBusPlanDocAssociationService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-批次需求计划与采购单关联Service业务层处理
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class BusPlanDocAssociationServiceImpl extends ServiceImpl<BusPlanDocAssociationMapper, BusPlanDocAssociation> implements IBusPlanDocAssociationService {
|
||||||
|
|
||||||
|
private final BusPlanDocAssociationMapper baseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询物资-批次需求计划与采购单关联
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 物资-批次需求计划与采购单关联
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public BusPlanDocAssociationVo queryById(Long id){
|
||||||
|
return baseMapper.selectVoById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询物资-批次需求计划与采购单关联列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @param pageQuery 分页参数
|
||||||
|
* @return 物资-批次需求计划与采购单关联分页列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<BusPlanDocAssociationVo> queryPageList(BusPlanDocAssociationBo bo, PageQuery pageQuery) {
|
||||||
|
LambdaQueryWrapper<BusPlanDocAssociation> lqw = buildQueryWrapper(bo);
|
||||||
|
Page<BusPlanDocAssociationVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
return TableDataInfo.build(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合条件的物资-批次需求计划与采购单关联列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @return 物资-批次需求计划与采购单关联列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<BusPlanDocAssociationVo> queryList(BusPlanDocAssociationBo bo) {
|
||||||
|
LambdaQueryWrapper<BusPlanDocAssociation> lqw = buildQueryWrapper(bo);
|
||||||
|
return baseMapper.selectVoList(lqw);
|
||||||
|
}
|
||||||
|
|
||||||
|
private LambdaQueryWrapper<BusPlanDocAssociation> buildQueryWrapper(BusPlanDocAssociationBo bo) {
|
||||||
|
Map<String, Object> params = bo.getParams();
|
||||||
|
LambdaQueryWrapper<BusPlanDocAssociation> lqw = Wrappers.lambdaQuery();
|
||||||
|
lqw.orderByDesc(BusPlanDocAssociation::getId);
|
||||||
|
lqw.eq(bo.getProjectId() != null, BusPlanDocAssociation::getProjectId, bo.getProjectId());
|
||||||
|
lqw.eq(bo.getPlanId() != null, BusPlanDocAssociation::getPlanId, bo.getPlanId());
|
||||||
|
lqw.eq(bo.getDocId() != null, BusPlanDocAssociation::getDocId, bo.getDocId());
|
||||||
|
return lqw;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增物资-批次需求计划与采购单关联
|
||||||
|
*
|
||||||
|
* @param bo 物资-批次需求计划与采购单关联
|
||||||
|
* @return 是否新增成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean insertByBo(BusPlanDocAssociationBo bo) {
|
||||||
|
BusPlanDocAssociation add = MapstructUtils.convert(bo, BusPlanDocAssociation.class);
|
||||||
|
validEntityBeforeSave(add);
|
||||||
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
|
if (flag) {
|
||||||
|
bo.setId(add.getId());
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改物资-批次需求计划与采购单关联
|
||||||
|
*
|
||||||
|
* @param bo 物资-批次需求计划与采购单关联
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateByBo(BusPlanDocAssociationBo bo) {
|
||||||
|
BusPlanDocAssociation update = MapstructUtils.convert(bo, BusPlanDocAssociation.class);
|
||||||
|
validEntityBeforeSave(update);
|
||||||
|
return baseMapper.updateById(update) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存前的数据校验
|
||||||
|
*/
|
||||||
|
private void validEntityBeforeSave(BusPlanDocAssociation entity){
|
||||||
|
//TODO 做一些数据校验,如唯一约束
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除物资-批次需求计划与采购单关联信息
|
||||||
|
*
|
||||||
|
* @param ids 待删除的主键集合
|
||||||
|
* @param isValid 是否进行有效性校验
|
||||||
|
* @return 是否删除成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
if(isValid){
|
||||||
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
|
}
|
||||||
|
return baseMapper.deleteByIds(ids) > 0;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,177 @@
|
|||||||
|
package org.dromara.cailiaoshebei.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPlanDocAssociation;
|
||||||
|
import org.dromara.cailiaoshebei.service.IBusPlanDocAssociationService;
|
||||||
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusPurchaseDocBo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusPurchaseDocVo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPurchaseDoc;
|
||||||
|
import org.dromara.cailiaoshebei.mapper.BusPurchaseDocMapper;
|
||||||
|
import org.dromara.cailiaoshebei.service.IBusPurchaseDocService;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资-采购联系单Service业务层处理
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class BusPurchaseDocServiceImpl extends ServiceImpl<BusPurchaseDocMapper, BusPurchaseDoc> implements IBusPurchaseDocService {
|
||||||
|
|
||||||
|
private final BusPurchaseDocMapper baseMapper;
|
||||||
|
|
||||||
|
private final IBusPlanDocAssociationService planDocAssociationService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询物资-采购联系单
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 物资-采购联系单
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public BusPurchaseDocVo queryById(Long id){
|
||||||
|
return baseMapper.selectVoById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询物资-采购联系单列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @param pageQuery 分页参数
|
||||||
|
* @return 物资-采购联系单分页列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<BusPurchaseDocVo> queryPageList(BusPurchaseDocBo bo, PageQuery pageQuery) {
|
||||||
|
LambdaQueryWrapper<BusPurchaseDoc> lqw = buildQueryWrapper(bo);
|
||||||
|
Page<BusPurchaseDocVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
return TableDataInfo.build(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合条件的物资-采购联系单列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @return 物资-采购联系单列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<BusPurchaseDocVo> queryList(BusPurchaseDocBo bo) {
|
||||||
|
LambdaQueryWrapper<BusPurchaseDoc> lqw = buildQueryWrapper(bo);
|
||||||
|
return baseMapper.selectVoList(lqw);
|
||||||
|
}
|
||||||
|
|
||||||
|
private LambdaQueryWrapper<BusPurchaseDoc> buildQueryWrapper(BusPurchaseDocBo bo) {
|
||||||
|
Map<String, Object> params = bo.getParams();
|
||||||
|
LambdaQueryWrapper<BusPurchaseDoc> lqw = Wrappers.lambdaQuery();
|
||||||
|
lqw.orderByDesc(BusPurchaseDoc::getId);
|
||||||
|
lqw.eq(bo.getProjectId() != null, BusPurchaseDoc::getProjectId, bo.getProjectId());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getDocCode()), BusPurchaseDoc::getDocCode, bo.getDocCode());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getSupplier()), BusPurchaseDoc::getSupplier, bo.getSupplier());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getReason()), BusPurchaseDoc::getReason, bo.getReason());
|
||||||
|
lqw.like(StringUtils.isNotBlank(bo.getName()), BusPurchaseDoc::getName, bo.getName());
|
||||||
|
lqw.eq(bo.getArrivalDate() != null, BusPurchaseDoc::getArrivalDate, bo.getArrivalDate());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getDesignDirectorTel()), BusPurchaseDoc::getDesignDirectorTel, bo.getDesignDirectorTel());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getTechnicalDirectorTel()), BusPurchaseDoc::getTechnicalDirectorTel, bo.getTechnicalDirectorTel());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getReceivingAddress()), BusPurchaseDoc::getReceivingAddress, bo.getReceivingAddress());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getContacts()), BusPurchaseDoc::getContacts, bo.getContacts());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getProjectDirector()), BusPurchaseDoc::getProjectDirector, bo.getProjectDirector());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getPurchasingAgent()), BusPurchaseDoc::getPurchasingAgent, bo.getPurchasingAgent());
|
||||||
|
lqw.eq(bo.getPreparedDate() != null, BusPurchaseDoc::getPreparedDate, bo.getPreparedDate());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getFeedbackUrl()), BusPurchaseDoc::getFeedbackUrl, bo.getFeedbackUrl());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getSigningUnit()), BusPurchaseDoc::getSigningUnit, bo.getSigningUnit());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getSigningPerson()), BusPurchaseDoc::getSigningPerson, bo.getSigningPerson());
|
||||||
|
lqw.eq(bo.getSigningDate() != null, BusPurchaseDoc::getSigningDate, bo.getSigningDate());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), BusPurchaseDoc::getStatus, bo.getStatus());
|
||||||
|
return lqw;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增物资-采购联系单
|
||||||
|
*
|
||||||
|
* @param bo 物资-采购联系单
|
||||||
|
* @return 是否新增成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean insertByBo(BusPurchaseDocBo bo) {
|
||||||
|
BusPurchaseDoc add = MapstructUtils.convert(bo, BusPurchaseDoc.class);
|
||||||
|
validEntityBeforeSave(add);
|
||||||
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
|
if (flag) {
|
||||||
|
bo.setId(add.getId());
|
||||||
|
}
|
||||||
|
//存入联系表
|
||||||
|
if(CollectionUtil.isNotEmpty(bo.getAssociationList())){
|
||||||
|
List<BusPlanDocAssociation> convert = MapstructUtils.convert(bo.getAssociationList(), BusPlanDocAssociation.class);
|
||||||
|
convert.forEach(item -> {
|
||||||
|
item.setProjectId(add.getProjectId());
|
||||||
|
item.setDocId(add.getId());
|
||||||
|
});
|
||||||
|
planDocAssociationService.saveBatch(convert);
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改物资-采购联系单
|
||||||
|
*
|
||||||
|
* @param bo 物资-采购联系单
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateByBo(BusPurchaseDocBo bo) {
|
||||||
|
BusPurchaseDoc update = MapstructUtils.convert(bo, BusPurchaseDoc.class);
|
||||||
|
validEntityBeforeSave(update);
|
||||||
|
|
||||||
|
planDocAssociationService.remove(Wrappers.<BusPlanDocAssociation>lambdaQuery()
|
||||||
|
.eq(BusPlanDocAssociation::getProjectId, update.getProjectId())
|
||||||
|
.eq(BusPlanDocAssociation::getDocId, update.getId()));
|
||||||
|
|
||||||
|
if(CollectionUtil.isNotEmpty(bo.getAssociationList())){
|
||||||
|
List<BusPlanDocAssociation> convert = MapstructUtils.convert(bo.getAssociationList(), BusPlanDocAssociation.class);
|
||||||
|
convert.forEach(item -> {
|
||||||
|
item.setProjectId(update.getProjectId());
|
||||||
|
item.setDocId(update.getId());
|
||||||
|
});
|
||||||
|
planDocAssociationService.saveBatch(convert);
|
||||||
|
}
|
||||||
|
return baseMapper.updateById(update) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存前的数据校验
|
||||||
|
*/
|
||||||
|
private void validEntityBeforeSave(BusPurchaseDoc entity){
|
||||||
|
//TODO 做一些数据校验,如唯一约束
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除物资-采购联系单信息
|
||||||
|
*
|
||||||
|
* @param ids 待删除的主键集合
|
||||||
|
* @param isValid 是否进行有效性校验
|
||||||
|
* @return 是否删除成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
if(isValid){
|
||||||
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
|
}
|
||||||
|
return baseMapper.deleteByIds(ids) > 0;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,146 @@
|
|||||||
|
package org.dromara.cailiaoshebei.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusPurchaseUserBo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusPurchaseUserVo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPurchaseUser;
|
||||||
|
import org.dromara.cailiaoshebei.mapper.BusPurchaseUserMapper;
|
||||||
|
import org.dromara.cailiaoshebei.service.IBusPurchaseUserService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物资采购人员Service业务层处理
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class BusPurchaseUserServiceImpl extends ServiceImpl<BusPurchaseUserMapper, BusPurchaseUser>
|
||||||
|
implements IBusPurchaseUserService {
|
||||||
|
|
||||||
|
private final BusPurchaseUserMapper baseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询物资采购人员
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 物资采购人员
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public BusPurchaseUserVo queryById(Long id){
|
||||||
|
return baseMapper.selectVoById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询物资采购人员列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @param pageQuery 分页参数
|
||||||
|
* @return 物资采购人员分页列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<BusPurchaseUserVo> queryPageList(BusPurchaseUserBo bo, PageQuery pageQuery) {
|
||||||
|
LambdaQueryWrapper<BusPurchaseUser> lqw = buildQueryWrapper(bo);
|
||||||
|
Page<BusPurchaseUserVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
return TableDataInfo.build(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合条件的物资采购人员列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @return 物资采购人员列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<BusPurchaseUserVo> queryList(BusPurchaseUserBo bo) {
|
||||||
|
LambdaQueryWrapper<BusPurchaseUser> lqw = buildQueryWrapper(bo);
|
||||||
|
return baseMapper.selectVoList(lqw);
|
||||||
|
}
|
||||||
|
|
||||||
|
private LambdaQueryWrapper<BusPurchaseUser> buildQueryWrapper(BusPurchaseUserBo bo) {
|
||||||
|
Map<String, Object> params = bo.getParams();
|
||||||
|
LambdaQueryWrapper<BusPurchaseUser> lqw = Wrappers.lambdaQuery();
|
||||||
|
lqw.orderByDesc(BusPurchaseUser::getId);
|
||||||
|
lqw.eq(bo.getProjectId() != null, BusPurchaseUser::getProjectId, bo.getProjectId());
|
||||||
|
lqw.eq(bo.getUserId() != null, BusPurchaseUser::getUserId, bo.getUserId());
|
||||||
|
lqw.like(StringUtils.isNotBlank(bo.getUserName()), BusPurchaseUser::getUserName, bo.getUserName());
|
||||||
|
return lqw;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增物资采购人员
|
||||||
|
*
|
||||||
|
* @param bo 物资采购人员
|
||||||
|
* @return 是否新增成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean insertByBo(BusPurchaseUserBo bo) {
|
||||||
|
BusPurchaseUser add = MapstructUtils.convert(bo, BusPurchaseUser.class);
|
||||||
|
validEntityBeforeSave(add);
|
||||||
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
|
if (flag) {
|
||||||
|
bo.setId(add.getId());
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改物资采购人员
|
||||||
|
*
|
||||||
|
* @param bo 物资采购人员
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateByBo(BusPurchaseUserBo bo) {
|
||||||
|
BusPurchaseUser update = MapstructUtils.convert(bo, BusPurchaseUser.class);
|
||||||
|
validEntityBeforeSave(update);
|
||||||
|
return baseMapper.updateById(update) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存前的数据校验
|
||||||
|
*/
|
||||||
|
private void validEntityBeforeSave(BusPurchaseUser entity){
|
||||||
|
//TODO 做一些数据校验,如唯一约束
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除物资采购人员信息
|
||||||
|
*
|
||||||
|
* @param ids 待删除的主键集合
|
||||||
|
* @param isValid 是否进行有效性校验
|
||||||
|
* @return 是否删除成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
if(isValid){
|
||||||
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
|
}
|
||||||
|
return baseMapper.deleteByIds(ids) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean addOrUpdate(BusPurchaseUserBo bo) {
|
||||||
|
BusPurchaseUser add = MapstructUtils.convert(bo, BusPurchaseUser.class);
|
||||||
|
return saveOrUpdate(add);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BusPurchaseUserVo getInfoByProject(Long projectId) {
|
||||||
|
return baseMapper.selectVoOne(Wrappers.lambdaQuery(BusPurchaseUser.class)
|
||||||
|
.eq(BusPurchaseUser::getProjectId, projectId).last("limit 1"));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,105 @@
|
|||||||
|
package org.dromara.message.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import jakarta.validation.constraints.*;
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||||
|
import org.dromara.common.log.annotation.Log;
|
||||||
|
import org.dromara.common.web.core.BaseController;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
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.log.enums.BusinessType;
|
||||||
|
import org.dromara.common.excel.utils.ExcelUtil;
|
||||||
|
import org.dromara.message.domain.vo.MsgConfigVo;
|
||||||
|
import org.dromara.message.domain.bo.MsgConfigBo;
|
||||||
|
import org.dromara.message.service.IMsgConfigService;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息配置
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/message/config")
|
||||||
|
public class MsgConfigController extends BaseController {
|
||||||
|
|
||||||
|
private final IMsgConfigService msgConfigService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询消息配置列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("message:config:list")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<MsgConfigVo> list(MsgConfigBo bo, PageQuery pageQuery) {
|
||||||
|
return msgConfigService.queryPageList(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出消息配置列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("message:config:export")
|
||||||
|
@Log(title = "消息配置", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(MsgConfigBo bo, HttpServletResponse response) {
|
||||||
|
List<MsgConfigVo> list = msgConfigService.queryList(bo);
|
||||||
|
ExcelUtil.exportExcel(list, "消息配置", MsgConfigVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取消息配置详细信息
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("message:config:query")
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public R<MsgConfigVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long id) {
|
||||||
|
return R.ok(msgConfigService.queryById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增消息配置
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("message:config:add")
|
||||||
|
@Log(title = "消息配置", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody MsgConfigBo bo) {
|
||||||
|
return toAjax(msgConfigService.insertByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改消息配置
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("message:config:edit")
|
||||||
|
@Log(title = "消息配置", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping()
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody MsgConfigBo bo) {
|
||||||
|
return toAjax(msgConfigService.updateByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除消息配置
|
||||||
|
*
|
||||||
|
* @param ids 主键串
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("message:config:remove")
|
||||||
|
@Log(title = "消息配置", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{ids}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long[] ids) {
|
||||||
|
return toAjax(msgConfigService.deleteWithValidByIds(List.of(ids), true));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
package org.dromara.message.domain;
|
||||||
|
|
||||||
|
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息配置对象 msg_config
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TableName("msg_config")
|
||||||
|
public class MsgConfig extends BaseEntity {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@TableId(value = "id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息名称
|
||||||
|
*/
|
||||||
|
private Long msgName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息模板
|
||||||
|
*/
|
||||||
|
private String msgContent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息标识
|
||||||
|
*/
|
||||||
|
private String msgKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 跳转路由
|
||||||
|
*/
|
||||||
|
private String route;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通知人
|
||||||
|
*/
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,65 @@
|
|||||||
|
package org.dromara.message.domain.bo;
|
||||||
|
|
||||||
|
import org.dromara.message.domain.MsgConfig;
|
||||||
|
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.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息配置业务对象 msg_config
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@AutoMapper(target = MsgConfig.class, reverseConvertGenerate = false)
|
||||||
|
public class MsgConfigBo extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
|
@NotNull(message = "项目ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息名称
|
||||||
|
*/
|
||||||
|
@NotNull(message = "消息名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private Long msgName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息模板
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "消息模板不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private String msgContent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息标识
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "消息标识不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private String msgKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 跳转路由
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "跳转路由不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private String route;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通知人
|
||||||
|
*/
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,74 @@
|
|||||||
|
package org.dromara.message.domain.vo;
|
||||||
|
|
||||||
|
import org.dromara.message.domain.MsgConfig;
|
||||||
|
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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息配置视图对象 msg_config
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
@AutoMapper(target = MsgConfig.class)
|
||||||
|
public class MsgConfigVo 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 Long msgName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息模板
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "消息模板")
|
||||||
|
private String msgContent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息标识
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "消息标识")
|
||||||
|
private String msgKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 跳转路由
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "跳转路由")
|
||||||
|
private String route;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通知人
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "通知人")
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package org.dromara.message.mapper;
|
||||||
|
|
||||||
|
import org.dromara.message.domain.MsgConfig;
|
||||||
|
import org.dromara.message.domain.vo.MsgConfigVo;
|
||||||
|
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息配置Mapper接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
public interface MsgConfigMapper extends BaseMapperPlus<MsgConfig, MsgConfigVo> {
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,70 @@
|
|||||||
|
package org.dromara.message.service;
|
||||||
|
|
||||||
|
import org.dromara.message.domain.vo.MsgConfigVo;
|
||||||
|
import org.dromara.message.domain.bo.MsgConfigBo;
|
||||||
|
import org.dromara.message.domain.MsgConfig;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息配置Service接口
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
public interface IMsgConfigService extends IService<MsgConfig>{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询消息配置
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 消息配置
|
||||||
|
*/
|
||||||
|
MsgConfigVo queryById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询消息配置列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @param pageQuery 分页参数
|
||||||
|
* @return 消息配置分页列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<MsgConfigVo> queryPageList(MsgConfigBo bo, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合条件的消息配置列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @return 消息配置列表
|
||||||
|
*/
|
||||||
|
List<MsgConfigVo> queryList(MsgConfigBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增消息配置
|
||||||
|
*
|
||||||
|
* @param bo 消息配置
|
||||||
|
* @return 是否新增成功
|
||||||
|
*/
|
||||||
|
Boolean insertByBo(MsgConfigBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改消息配置
|
||||||
|
*
|
||||||
|
* @param bo 消息配置
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
Boolean updateByBo(MsgConfigBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除消息配置信息
|
||||||
|
*
|
||||||
|
* @param ids 待删除的主键集合
|
||||||
|
* @param isValid 是否进行有效性校验
|
||||||
|
* @return 是否删除成功
|
||||||
|
*/
|
||||||
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
}
|
@ -0,0 +1,136 @@
|
|||||||
|
package org.dromara.message.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.dromara.message.domain.bo.MsgConfigBo;
|
||||||
|
import org.dromara.message.domain.vo.MsgConfigVo;
|
||||||
|
import org.dromara.message.domain.MsgConfig;
|
||||||
|
import org.dromara.message.mapper.MsgConfigMapper;
|
||||||
|
import org.dromara.message.service.IMsgConfigService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息配置Service业务层处理
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class MsgConfigServiceImpl extends ServiceImpl<MsgConfigMapper, MsgConfig> implements IMsgConfigService {
|
||||||
|
|
||||||
|
private final MsgConfigMapper baseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询消息配置
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 消息配置
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public MsgConfigVo queryById(Long id){
|
||||||
|
return baseMapper.selectVoById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询消息配置列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @param pageQuery 分页参数
|
||||||
|
* @return 消息配置分页列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<MsgConfigVo> queryPageList(MsgConfigBo bo, PageQuery pageQuery) {
|
||||||
|
LambdaQueryWrapper<MsgConfig> lqw = buildQueryWrapper(bo);
|
||||||
|
Page<MsgConfigVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
return TableDataInfo.build(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询符合条件的消息配置列表
|
||||||
|
*
|
||||||
|
* @param bo 查询条件
|
||||||
|
* @return 消息配置列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<MsgConfigVo> queryList(MsgConfigBo bo) {
|
||||||
|
LambdaQueryWrapper<MsgConfig> lqw = buildQueryWrapper(bo);
|
||||||
|
return baseMapper.selectVoList(lqw);
|
||||||
|
}
|
||||||
|
|
||||||
|
private LambdaQueryWrapper<MsgConfig> buildQueryWrapper(MsgConfigBo bo) {
|
||||||
|
Map<String, Object> params = bo.getParams();
|
||||||
|
LambdaQueryWrapper<MsgConfig> lqw = Wrappers.lambdaQuery();
|
||||||
|
lqw.orderByDesc(MsgConfig::getId);
|
||||||
|
lqw.eq(bo.getProjectId() != null, MsgConfig::getProjectId, bo.getProjectId());
|
||||||
|
lqw.like(bo.getMsgName() != null, MsgConfig::getMsgName, bo.getMsgName());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getMsgContent()), MsgConfig::getMsgContent, bo.getMsgContent());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getMsgKey()), MsgConfig::getMsgKey, bo.getMsgKey());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getRoute()), MsgConfig::getRoute, bo.getRoute());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getUserId()), MsgConfig::getUserId, bo.getUserId());
|
||||||
|
return lqw;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增消息配置
|
||||||
|
*
|
||||||
|
* @param bo 消息配置
|
||||||
|
* @return 是否新增成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean insertByBo(MsgConfigBo bo) {
|
||||||
|
MsgConfig add = MapstructUtils.convert(bo, MsgConfig.class);
|
||||||
|
validEntityBeforeSave(add);
|
||||||
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
|
if (flag) {
|
||||||
|
bo.setId(add.getId());
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改消息配置
|
||||||
|
*
|
||||||
|
* @param bo 消息配置
|
||||||
|
* @return 是否修改成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateByBo(MsgConfigBo bo) {
|
||||||
|
MsgConfig update = MapstructUtils.convert(bo, MsgConfig.class);
|
||||||
|
validEntityBeforeSave(update);
|
||||||
|
return baseMapper.updateById(update) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存前的数据校验
|
||||||
|
*/
|
||||||
|
private void validEntityBeforeSave(MsgConfig entity){
|
||||||
|
//TODO 做一些数据校验,如唯一约束
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除消息配置信息
|
||||||
|
*
|
||||||
|
* @param ids 待删除的主键集合
|
||||||
|
* @param isValid 是否进行有效性校验
|
||||||
|
* @return 是否删除成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
if(isValid){
|
||||||
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
|
}
|
||||||
|
return baseMapper.deleteByIds(ids) > 0;
|
||||||
|
}
|
||||||
|
}
|
@ -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.cailiaoshebei.mapper.BusMrpBaseMapper">
|
||||||
|
|
||||||
|
</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.cailiaoshebei.mapper.BusPlanDocAssociationMapper">
|
||||||
|
|
||||||
|
</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.cailiaoshebei.mapper.BusPurchaseDocMapper">
|
||||||
|
|
||||||
|
</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.cailiaoshebei.mapper.BusPurchaseUserMapper">
|
||||||
|
|
||||||
|
</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.message.mapper.MsgConfigMapper">
|
||||||
|
|
||||||
|
</mapper>
|
Reference in New Issue
Block a user