parent
a7b183d786
commit
add027b3e8
@ -0,0 +1,27 @@
|
|||||||
|
package com.chanko.yunxi.mes.module.heli.enums;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目订单状态枚举
|
||||||
|
* @author chenxi
|
||||||
|
* @date 2024-01-18 01:19
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
public enum ProjectOrderStatusEnum {
|
||||||
|
REPULSE(3, "已打回"),
|
||||||
|
SAVE(4, "已保存"),
|
||||||
|
SUBMIT_AUDIT(8, "已送审"),
|
||||||
|
AUDIT(16, "已审核"),
|
||||||
|
APPROVE(32, "已启动"),
|
||||||
|
TERMINATE(64, "已终止")
|
||||||
|
;
|
||||||
|
|
||||||
|
private int code;
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
ProjectOrderStatusEnum(int code, String description) {
|
||||||
|
this.code = code;
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
package com.chanko.yunxi.mes.module.heli.enums;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否枚举
|
||||||
|
* @author chenxi
|
||||||
|
* @date 2024-01-18 02:31
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
public enum YesOrNoEnum {
|
||||||
|
|
||||||
|
YES(1), NO(0);
|
||||||
|
|
||||||
|
private int code;
|
||||||
|
|
||||||
|
YesOrNoEnum(int code) {
|
||||||
|
this.code = code;
|
||||||
|
}
|
||||||
|
}
|
@ -1,106 +1,133 @@
|
|||||||
package com.chanko.yunxi.mes.module.heli.controller.admin.projectorder;
|
package com.chanko.yunxi.mes.module.heli.controller.admin.projectorder;
|
||||||
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||||
import javax.annotation.Resource;
|
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||||
import io.swagger.v3.oas.annotations.Parameter;
|
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum;
|
||||||
|
import com.chanko.yunxi.mes.framework.operatelog.core.service.OperateLogFrameworkService;
|
||||||
import javax.validation.constraints.*;
|
import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderPageReqVO;
|
||||||
import javax.validation.*;
|
import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderRespVO;
|
||||||
import javax.servlet.http.*;
|
import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderSaveReqVO;
|
||||||
import java.util.*;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
|
||||||
import java.io.IOException;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectordersub.ProjectOrderSubDO;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum;
|
||||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
import com.chanko.yunxi.mes.module.heli.service.projectorder.ProjectOrderService;
|
||||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
import javax.annotation.Resource;
|
||||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.*;
|
import javax.validation.Valid;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
|
import java.io.IOException;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectordersub.ProjectOrderSubDO;
|
import java.time.LocalDateTime;
|
||||||
import com.chanko.yunxi.mes.module.heli.service.projectorder.ProjectOrderService;
|
import java.util.List;
|
||||||
|
|
||||||
@Tag(name = "管理后台 - 项目订单")
|
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||||
@RestController
|
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||||
@RequestMapping("/heli/project-order")
|
|
||||||
@Validated
|
@Tag(name = "管理后台 - 项目订单")
|
||||||
public class ProjectOrderController {
|
@RestController
|
||||||
|
@RequestMapping("/heli/project-order")
|
||||||
@Resource
|
@Validated
|
||||||
private ProjectOrderService projectOrderService;
|
public class ProjectOrderController {
|
||||||
|
|
||||||
@PostMapping("/create")
|
@Resource
|
||||||
@Operation(summary = "创建项目订单")
|
private ProjectOrderService projectOrderService;
|
||||||
@PreAuthorize("@ss.hasPermission('heli:project-order:create')")
|
|
||||||
public CommonResult<Long> createProjectOrder(@Valid @RequestBody ProjectOrderSaveReqVO createReqVO) {
|
@Resource
|
||||||
return success(projectOrderService.createProjectOrder(createReqVO));
|
private OperateLogFrameworkService operateLogFrameworkService;
|
||||||
}
|
|
||||||
|
@Resource
|
||||||
@PutMapping("/update")
|
private HttpServletRequest request;
|
||||||
@Operation(summary = "更新项目订单")
|
|
||||||
@PreAuthorize("@ss.hasPermission('heli:project-order:update')")
|
@PostMapping("/create")
|
||||||
public CommonResult<Boolean> updateProjectOrder(@Valid @RequestBody ProjectOrderSaveReqVO updateReqVO) {
|
@Operation(summary = "创建项目订单")
|
||||||
projectOrderService.updateProjectOrder(updateReqVO);
|
@PreAuthorize("@ss.hasPermission('heli:project-order:create')")
|
||||||
return success(true);
|
public CommonResult<Long> createProjectOrder(@Valid @RequestBody ProjectOrderSaveReqVO createReqVO) {
|
||||||
}
|
return success(projectOrderService.createProjectOrder(createReqVO));
|
||||||
|
}
|
||||||
@DeleteMapping("/delete")
|
|
||||||
@Operation(summary = "删除项目订单")
|
@PutMapping("/update")
|
||||||
@Parameter(name = "id", description = "编号", required = true)
|
@Operation(summary = "更新项目订单")
|
||||||
@PreAuthorize("@ss.hasPermission('heli:project-order:delete')")
|
@PreAuthorize("@ss.hasPermission('heli:project-order:update')")
|
||||||
public CommonResult<Boolean> deleteProjectOrder(@RequestParam("id") Long id) {
|
public CommonResult<Boolean> updateProjectOrder(@Valid @RequestBody ProjectOrderSaveReqVO updateReqVO) {
|
||||||
projectOrderService.deleteProjectOrder(id);
|
projectOrderService.updateProjectOrder(updateReqVO);
|
||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/get")
|
@PostMapping("/operate")
|
||||||
@Operation(summary = "获得项目订单")
|
@Operation(summary = "操作项目订单")
|
||||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
@PreAuthorize("@ss.hasPermission('heli:project-order:update')")
|
||||||
@PreAuthorize("@ss.hasPermission('heli:project-order:query')")
|
@OperateLog(enable = false)
|
||||||
public CommonResult<ProjectOrderRespVO> getProjectOrder(@RequestParam("id") Long id) {
|
public CommonResult<Long> operateProjectOrder(@Valid @RequestBody ProjectOrderSaveReqVO operateReqVO) {
|
||||||
ProjectOrderDO projectOrder = projectOrderService.getProjectOrder(id);
|
LocalDateTime startTime = LocalDateTime.now();
|
||||||
return success(BeanUtils.toBean(projectOrder, ProjectOrderRespVO.class));
|
projectOrderService.operateProjectOrder(operateReqVO);
|
||||||
}
|
|
||||||
|
// 手动记录日志
|
||||||
@GetMapping("/page")
|
operateLogFrameworkService.createOperateLog(request,
|
||||||
@Operation(summary = "获得项目订单分页")
|
startTime,
|
||||||
@PreAuthorize("@ss.hasPermission('heli:project-order:query')")
|
BusinesTypeEnum.PROJECT_ORDER.name(),
|
||||||
public CommonResult<PageResult<ProjectOrderRespVO>> getProjectOrderPage(@Valid ProjectOrderPageReqVO pageReqVO) {
|
operateReqVO.getId(),
|
||||||
PageResult<ProjectOrderDO> pageResult = projectOrderService.getProjectOrderPage(pageReqVO);
|
OperateTypeEnum.valueOf(operateReqVO.getActive()).getType(),
|
||||||
return success(BeanUtils.toBean(pageResult, ProjectOrderRespVO.class));
|
operateReqVO.getActiveOpinion());
|
||||||
}
|
return success(operateReqVO.getId());
|
||||||
|
}
|
||||||
@GetMapping("/export-excel")
|
|
||||||
@Operation(summary = "导出项目订单 Excel")
|
@DeleteMapping("/delete")
|
||||||
@PreAuthorize("@ss.hasPermission('heli:project-order:export')")
|
@Operation(summary = "删除项目订单")
|
||||||
@OperateLog(type = EXPORT)
|
@Parameter(name = "id", description = "编号", required = true)
|
||||||
public void exportProjectOrderExcel(@Valid ProjectOrderPageReqVO pageReqVO,
|
@PreAuthorize("@ss.hasPermission('heli:project-order:delete')")
|
||||||
HttpServletResponse response) throws IOException {
|
public CommonResult<Boolean> deleteProjectOrder(@RequestParam("id") Long id) {
|
||||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
projectOrderService.deleteProjectOrder(id);
|
||||||
List<ProjectOrderDO> list = projectOrderService.getProjectOrderPage(pageReqVO).getList();
|
return success(true);
|
||||||
// 导出 Excel
|
}
|
||||||
ExcelUtils.write(response, "项目订单.xls", "数据", ProjectOrderRespVO.class,
|
|
||||||
BeanUtils.toBean(list, ProjectOrderRespVO.class));
|
@GetMapping("/get")
|
||||||
}
|
@Operation(summary = "获得项目订单")
|
||||||
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||||
// ==================== 子表(项目订单子项目) ====================
|
@PreAuthorize("@ss.hasPermission('heli:project-order:query')")
|
||||||
|
public CommonResult<ProjectOrderRespVO> getProjectOrder(@RequestParam("id") Long id) {
|
||||||
@GetMapping("/project-order-sub/list-by-project-order-id")
|
ProjectOrderDO projectOrder = projectOrderService.getProjectOrder(id);
|
||||||
@Operation(summary = "获得项目订单子项目列表")
|
return success(BeanUtils.toBean(projectOrder, ProjectOrderRespVO.class));
|
||||||
@Parameter(name = "projectOrderId", description = "项目订单id")
|
}
|
||||||
@PreAuthorize("@ss.hasPermission('heli:project-order:query')")
|
|
||||||
public CommonResult<List<ProjectOrderSubDO>> getProjectOrderSubListByProjectOrderId(@RequestParam("projectOrderId") Long projectOrderId) {
|
@GetMapping("/page")
|
||||||
return success(projectOrderService.getProjectOrderSubListByProjectOrderId(projectOrderId));
|
@Operation(summary = "获得项目订单分页")
|
||||||
}
|
@PreAuthorize("@ss.hasPermission('heli:project-order:query')")
|
||||||
|
public CommonResult<PageResult<ProjectOrderRespVO>> getProjectOrderPage(@Valid ProjectOrderPageReqVO pageReqVO) {
|
||||||
}
|
PageResult<ProjectOrderDO> pageResult = projectOrderService.getProjectOrderPage(pageReqVO);
|
||||||
|
return success(BeanUtils.toBean(pageResult, ProjectOrderRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/export-excel")
|
||||||
|
@Operation(summary = "导出项目订单 Excel")
|
||||||
|
@PreAuthorize("@ss.hasPermission('heli:project-order:export')")
|
||||||
|
@OperateLog(type = EXPORT)
|
||||||
|
public void exportProjectOrderExcel(@Valid ProjectOrderPageReqVO pageReqVO,
|
||||||
|
HttpServletResponse response) throws IOException {
|
||||||
|
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||||
|
List<ProjectOrderDO> list = projectOrderService.getProjectOrderPage(pageReqVO).getList();
|
||||||
|
// 导出 Excel
|
||||||
|
ExcelUtils.write(response, "项目订单.xls", "数据", ProjectOrderRespVO.class,
|
||||||
|
BeanUtils.toBean(list, ProjectOrderRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==================== 子表(项目订单子项目) ====================
|
||||||
|
|
||||||
|
@GetMapping("/project-order-sub/list-by-project-order-id")
|
||||||
|
@Operation(summary = "获得项目订单子项目列表")
|
||||||
|
@Parameter(name = "projectOrderId", description = "项目订单id")
|
||||||
|
@PreAuthorize("@ss.hasPermission('heli:project-order:query')")
|
||||||
|
public CommonResult<List<ProjectOrderSubDO>> getProjectOrderSubListByProjectOrderId(@RequestParam("projectOrderId") Long projectOrderId) {
|
||||||
|
return success(projectOrderService.getProjectOrderSubListByProjectOrderId(projectOrderId));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -0,0 +1,95 @@
|
|||||||
|
package com.chanko.yunxi.mes.module.heli.controller.admin.serialnumber;
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
import javax.validation.*;
|
||||||
|
import javax.servlet.http.*;
|
||||||
|
import java.util.*;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||||
|
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||||
|
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||||
|
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||||
|
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||||
|
|
||||||
|
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||||
|
|
||||||
|
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||||
|
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||||
|
|
||||||
|
import com.chanko.yunxi.mes.module.heli.controller.admin.serialnumber.vo.*;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService;
|
||||||
|
|
||||||
|
@Tag(name = "管理后台 - 序列号记录")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/heli/serial-number")
|
||||||
|
@Validated
|
||||||
|
public class SerialNumberController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SerialNumberService serialNumberService;
|
||||||
|
|
||||||
|
@PostMapping("/create")
|
||||||
|
@Operation(summary = "创建序列号记录")
|
||||||
|
@PreAuthorize("@ss.hasPermission('heli:serial-number:create')")
|
||||||
|
public CommonResult<Long> createSerialNumber(@Valid @RequestBody SerialNumberSaveReqVO createReqVO) {
|
||||||
|
return success(serialNumberService.createSerialNumber(createReqVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping("/update")
|
||||||
|
@Operation(summary = "更新序列号记录")
|
||||||
|
@PreAuthorize("@ss.hasPermission('heli:serial-number:update')")
|
||||||
|
public CommonResult<Boolean> updateSerialNumber(@Valid @RequestBody SerialNumberSaveReqVO updateReqVO) {
|
||||||
|
serialNumberService.updateSerialNumber(updateReqVO);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@DeleteMapping("/delete")
|
||||||
|
@Operation(summary = "删除序列号记录")
|
||||||
|
@Parameter(name = "id", description = "编号", required = true)
|
||||||
|
@PreAuthorize("@ss.hasPermission('heli:serial-number:delete')")
|
||||||
|
public CommonResult<Boolean> deleteSerialNumber(@RequestParam("id") Long id) {
|
||||||
|
serialNumberService.deleteSerialNumber(id);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/get")
|
||||||
|
@Operation(summary = "获得序列号记录")
|
||||||
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||||
|
@PreAuthorize("@ss.hasPermission('heli:serial-number:query')")
|
||||||
|
public CommonResult<SerialNumberRespVO> getSerialNumber(@RequestParam("id") Long id) {
|
||||||
|
SerialNumberDO serialNumber = serialNumberService.getSerialNumber(id);
|
||||||
|
return success(BeanUtils.toBean(serialNumber, SerialNumberRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/page")
|
||||||
|
@Operation(summary = "获得序列号记录分页")
|
||||||
|
@PreAuthorize("@ss.hasPermission('heli:serial-number:query')")
|
||||||
|
public CommonResult<PageResult<SerialNumberRespVO>> getSerialNumberPage(@Valid SerialNumberPageReqVO pageReqVO) {
|
||||||
|
PageResult<SerialNumberDO> pageResult = serialNumberService.getSerialNumberPage(pageReqVO);
|
||||||
|
return success(BeanUtils.toBean(pageResult, SerialNumberRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/export-excel")
|
||||||
|
@Operation(summary = "导出序列号记录 Excel")
|
||||||
|
@PreAuthorize("@ss.hasPermission('heli:serial-number:export')")
|
||||||
|
@OperateLog(type = EXPORT)
|
||||||
|
public void exportSerialNumberExcel(@Valid SerialNumberPageReqVO pageReqVO,
|
||||||
|
HttpServletResponse response) throws IOException {
|
||||||
|
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||||
|
List<SerialNumberDO> list = serialNumberService.getSerialNumberPage(pageReqVO).getList();
|
||||||
|
// 导出 Excel
|
||||||
|
ExcelUtils.write(response, "序列号记录.xls", "数据", SerialNumberRespVO.class,
|
||||||
|
BeanUtils.toBean(list, SerialNumberRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
package com.chanko.yunxi.mes.module.heli.dal.mysql.serialnumber;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||||
|
import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
|
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.controller.admin.serialnumber.vo.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 序列号记录 Mapper
|
||||||
|
*
|
||||||
|
* @author 管理员
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface SerialNumberMapper extends BaseMapperX<SerialNumberDO> {
|
||||||
|
|
||||||
|
default PageResult<SerialNumberDO> selectPage(SerialNumberPageReqVO reqVO) {
|
||||||
|
return selectPage(reqVO, new LambdaQueryWrapperX<SerialNumberDO>()
|
||||||
|
.eqIfPresent(SerialNumberDO::getBusinessType, reqVO.getBusinessType())
|
||||||
|
.eqIfPresent(SerialNumberDO::getSegment, reqVO.getSegment())
|
||||||
|
.eqIfPresent(SerialNumberDO::getSerialNumber, reqVO.getSerialNumber())
|
||||||
|
.eqIfPresent(SerialNumberDO::getStatus, reqVO.getStatus())
|
||||||
|
.betweenIfPresent(SerialNumberDO::getCreateTime, reqVO.getCreateTime())
|
||||||
|
.orderByDesc(SerialNumberDO::getId));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,66 +1,71 @@
|
|||||||
package com.chanko.yunxi.mes.module.heli.service.projectorder;
|
package com.chanko.yunxi.mes.module.heli.service.projectorder;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import javax.validation.*;
|
import javax.validation.*;
|
||||||
import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.*;
|
import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.*;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectordersub.ProjectOrderSubDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectordersub.ProjectOrderSubDO;
|
||||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目订单 Service 接口
|
* 项目订单 Service 接口
|
||||||
*
|
*
|
||||||
* @author 管理员
|
* @author 管理员
|
||||||
*/
|
*/
|
||||||
public interface ProjectOrderService {
|
public interface ProjectOrderService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建项目订单
|
* 创建项目订单
|
||||||
*
|
*
|
||||||
* @param createReqVO 创建信息
|
* @param createReqVO 创建信息
|
||||||
* @return 编号
|
* @return 编号
|
||||||
*/
|
*/
|
||||||
Long createProjectOrder(@Valid ProjectOrderSaveReqVO createReqVO);
|
Long createProjectOrder(@Valid ProjectOrderSaveReqVO createReqVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新项目订单
|
* 更新项目订单
|
||||||
*
|
*
|
||||||
* @param updateReqVO 更新信息
|
* @param updateReqVO 更新信息
|
||||||
*/
|
*/
|
||||||
void updateProjectOrder(@Valid ProjectOrderSaveReqVO updateReqVO);
|
void updateProjectOrder(@Valid ProjectOrderSaveReqVO updateReqVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除项目订单
|
* 删除项目订单
|
||||||
*
|
*
|
||||||
* @param id 编号
|
* @param id 编号
|
||||||
*/
|
*/
|
||||||
void deleteProjectOrder(Long id);
|
void deleteProjectOrder(Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得项目订单
|
* 获得项目订单
|
||||||
*
|
*
|
||||||
* @param id 编号
|
* @param id 编号
|
||||||
* @return 项目订单
|
* @return 项目订单
|
||||||
*/
|
*/
|
||||||
ProjectOrderDO getProjectOrder(Long id);
|
ProjectOrderDO getProjectOrder(Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得项目订单分页
|
* 获得项目订单分页
|
||||||
*
|
*
|
||||||
* @param pageReqVO 分页查询
|
* @param pageReqVO 分页查询
|
||||||
* @return 项目订单分页
|
* @return 项目订单分页
|
||||||
*/
|
*/
|
||||||
PageResult<ProjectOrderDO> getProjectOrderPage(ProjectOrderPageReqVO pageReqVO);
|
PageResult<ProjectOrderDO> getProjectOrderPage(ProjectOrderPageReqVO pageReqVO);
|
||||||
|
|
||||||
// ==================== 子表(项目订单子项目) ====================
|
// ==================== 子表(项目订单子项目) ====================
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得项目订单子项目列表
|
* 获得项目订单子项目列表
|
||||||
*
|
*
|
||||||
* @param projectOrderId 项目订单id
|
* @param projectOrderId 项目订单id
|
||||||
* @return 项目订单子项目列表
|
* @return 项目订单子项目列表
|
||||||
*/
|
*/
|
||||||
List<ProjectOrderSubDO> getProjectOrderSubListByProjectOrderId(Long projectOrderId);
|
List<ProjectOrderSubDO> getProjectOrderSubListByProjectOrderId(Long projectOrderId);
|
||||||
|
|
||||||
}
|
/**
|
||||||
|
* 操作 项目订单
|
||||||
|
* @param operateReqVO
|
||||||
|
*/
|
||||||
|
void operateProjectOrder(ProjectOrderSaveReqVO operateReqVO);
|
||||||
|
}
|
||||||
|
@ -0,0 +1,63 @@
|
|||||||
|
package com.chanko.yunxi.mes.module.heli.service.serialnumber;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.*;
|
||||||
|
import javax.validation.*;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.controller.admin.serialnumber.vo.*;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
|
||||||
|
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||||
|
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 序列号记录 Service 接口
|
||||||
|
*
|
||||||
|
* @author 管理员
|
||||||
|
*/
|
||||||
|
public interface SerialNumberService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建序列号记录
|
||||||
|
*
|
||||||
|
* @param createReqVO 创建信息
|
||||||
|
* @return 编号
|
||||||
|
*/
|
||||||
|
Long createSerialNumber(@Valid SerialNumberSaveReqVO createReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新序列号记录
|
||||||
|
*
|
||||||
|
* @param updateReqVO 更新信息
|
||||||
|
*/
|
||||||
|
void updateSerialNumber(@Valid SerialNumberSaveReqVO updateReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除序列号记录
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
*/
|
||||||
|
void deleteSerialNumber(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得序列号记录
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
* @return 序列号记录
|
||||||
|
*/
|
||||||
|
SerialNumberDO getSerialNumber(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得序列号记录分页
|
||||||
|
*
|
||||||
|
* @param pageReqVO 分页查询
|
||||||
|
* @return 序列号记录分页
|
||||||
|
*/
|
||||||
|
PageResult<SerialNumberDO> getSerialNumberPage(SerialNumberPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取序列号记录
|
||||||
|
* @param businessType
|
||||||
|
* @param segment
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
SerialNumberDO getSerialNumber(String businessType, String segment);
|
||||||
|
}
|
@ -0,0 +1,104 @@
|
|||||||
|
package com.chanko.yunxi.mes.module.heli.service.serialnumber;
|
||||||
|
|
||||||
|
import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.*;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.controller.admin.serialnumber.vo.*;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
|
||||||
|
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||||
|
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||||
|
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||||
|
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.serialnumber.SerialNumberMapper;
|
||||||
|
|
||||||
|
import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
|
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 序列号记录 Service 实现类
|
||||||
|
*
|
||||||
|
* @author 管理员
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Validated
|
||||||
|
public class SerialNumberServiceImpl implements SerialNumberService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SerialNumberMapper serialNumberMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Long createSerialNumber(SerialNumberSaveReqVO createReqVO) {
|
||||||
|
// 插入
|
||||||
|
SerialNumberDO serialNumber = BeanUtils.toBean(createReqVO, SerialNumberDO.class);
|
||||||
|
serialNumberMapper.insert(serialNumber);
|
||||||
|
// 返回
|
||||||
|
return serialNumber.getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateSerialNumber(SerialNumberSaveReqVO updateReqVO) {
|
||||||
|
// 校验存在
|
||||||
|
validateSerialNumberExists(updateReqVO.getId());
|
||||||
|
// 更新
|
||||||
|
SerialNumberDO updateObj = BeanUtils.toBean(updateReqVO, SerialNumberDO.class);
|
||||||
|
serialNumberMapper.updateById(updateObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteSerialNumber(Long id) {
|
||||||
|
// 校验存在
|
||||||
|
validateSerialNumberExists(id);
|
||||||
|
// 删除
|
||||||
|
serialNumberMapper.deleteById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void validateSerialNumberExists(Long id) {
|
||||||
|
if (serialNumberMapper.selectById(id) == null) {
|
||||||
|
throw exception(SERIAL_NUMBER_NOT_EXISTS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SerialNumberDO getSerialNumber(Long id) {
|
||||||
|
return serialNumberMapper.selectById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<SerialNumberDO> getSerialNumberPage(SerialNumberPageReqVO pageReqVO) {
|
||||||
|
return serialNumberMapper.selectPage(pageReqVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public SerialNumberDO getSerialNumber(String businessType, String segment) {
|
||||||
|
LambdaQueryWrapperX<SerialNumberDO> query = new LambdaQueryWrapperX<SerialNumberDO>() {{
|
||||||
|
eq(SerialNumberDO::getBusinessType, BusinesTypeEnum.PROJECT_ORDER.name());
|
||||||
|
eq(SerialNumberDO::getSegment, segment);
|
||||||
|
last("LIMIT 1 FOR UPDATE");
|
||||||
|
}};
|
||||||
|
SerialNumberDO serialNumberDO = serialNumberMapper.selectOne(query);
|
||||||
|
if(serialNumberDO == null){
|
||||||
|
// 初始化一条数据
|
||||||
|
try {
|
||||||
|
serialNumberDO = new SerialNumberDO();
|
||||||
|
serialNumberDO.setBusinessType(businessType)
|
||||||
|
.setSegment(segment)
|
||||||
|
.setSerialNumber(0l);
|
||||||
|
serialNumberMapper.insert(serialNumberDO);
|
||||||
|
}catch (Exception e){
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
// 二次获取
|
||||||
|
serialNumberDO = serialNumberMapper.selectOne(query);
|
||||||
|
}
|
||||||
|
return serialNumberDO;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in new issue