From 2ab727e6e25d3181937439a132584bb3bbc0706f Mon Sep 17 00:00:00 2001 From: z Date: Thu, 20 Feb 2025 18:32:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B2=97=E4=BD=8D=E6=B7=BB=E5=8A=A0=E5=B1=82?= =?UTF-8?q?=E7=BA=A7=E5=92=8C=E6=88=90=E6=9C=AC,=E5=BA=94=E6=94=B6?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E6=B7=BB=E5=8A=A0=E5=9B=9E=E6=AC=BE=E6=98=8E?= =?UTF-8?q?=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/heli/enums/ErrorCodeConstants.java | 2 +- .../admin/orderys/vo/OrderYsSaveReqVO.java | 4 + .../OrderYsDetailController.java | 102 +++++++++++++ .../vo/OrderYsDetailPageReqVO.java | 41 +++++ .../orderysdetail/vo/OrderYsDetailRespVO.java | 47 ++++++ .../vo/OrderYsDetailSaveReqVO.java | 34 +++++ .../orderysdetail/OrderYsDetailDO.java | 54 +++++++ .../orderysdetail/OrderYsDetailMapper.java | 31 ++++ .../service/orderys/OrderYsServiceImpl.java | 23 +++ .../orderysdetail/OrderYsDetailService.java | 56 +++++++ .../OrderYsDetailServiceImpl.java | 81 ++++++++++ .../orderysdetail/OrderYsDetailMapper.xml | 12 ++ .../admin/dept/vo/post/PostRespVO.java | 4 + .../admin/dept/vo/post/PostSaveReqVO.java | 4 + .../system/dal/dataobject/dept/PostDO.java | 8 + .../src/api/heli/orderys/index.ts | 1 + .../src/api/heli/orderysdetail/index.ts | 43 ++++++ mes-ui/mes-ui-admin-vue3/src/utils/dict.ts | 3 +- .../src/views/heli/orderys/OrderYsForm.vue | 144 ++++++++++++++++-- .../src/views/heli/post/PostForm.vue | 43 +++++- .../src/views/heli/post/index.vue | 6 +- 21 files changed, 720 insertions(+), 23 deletions(-) create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderysdetail/OrderYsDetailController.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderysdetail/vo/OrderYsDetailPageReqVO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderysdetail/vo/OrderYsDetailRespVO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderysdetail/vo/OrderYsDetailSaveReqVO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/orderysdetail/OrderYsDetailDO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/orderysdetail/OrderYsDetailMapper.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderysdetail/OrderYsDetailService.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderysdetail/OrderYsDetailServiceImpl.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/orderysdetail/OrderYsDetailMapper.xml create mode 100644 mes-ui/mes-ui-admin-vue3/src/api/heli/orderysdetail/index.ts diff --git a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java index 43fea05..36f2b68 100644 --- a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java +++ b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java @@ -136,7 +136,7 @@ public interface ErrorCodeConstants { ErrorCode ORDER_YF_NOT_EXISTS = new ErrorCode(1_011_001, "应付记录不存在"); ErrorCode ORDER_YS_NOT_EXISTS = new ErrorCode(1_011_001, "应收记录不存在"); - + ErrorCode ORDER_YS_DETAIL_NOT_EXISTS = new ErrorCode(1_011_001, "应收记录明细不存在"); ErrorCode SALE_ORDER_COST_DETAIL_NOT_EXISTS = new ErrorCode(1_011_001, "项目订单成本汇算明细不存在"); /************责任人管理***********/ ErrorCode OWNER_NOT_EXISTS = new ErrorCode(1_013_001, "人员配置主数据维护错误,请确认!"); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderys/vo/OrderYsSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderys/vo/OrderYsSaveReqVO.java index 7c26ea8..c55474c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderys/vo/OrderYsSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderys/vo/OrderYsSaveReqVO.java @@ -1,5 +1,7 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.orderys.vo; +import com.chanko.yunxi.mes.module.heli.controller.admin.orderysdetail.vo.OrderYsDetailSaveReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderysdetail.OrderYsDetailDO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; @@ -40,5 +42,7 @@ public class OrderYsSaveReqVO { @Schema(description = "备注") private String rem; + @Schema(description = "收款明细") + private List orderYsDetails; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderysdetail/OrderYsDetailController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderysdetail/OrderYsDetailController.java new file mode 100644 index 0000000..b3a145b --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderysdetail/OrderYsDetailController.java @@ -0,0 +1,102 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.orderysdetail; + +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.orderysdetail.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderysdetail.OrderYsDetailDO; +import com.chanko.yunxi.mes.module.heli.service.orderysdetail.OrderYsDetailService; + +@Tag(name = "管理后台 - 应收记录表明细") +@RestController +@RequestMapping("/heli/order-ys-detail") +@Validated +public class OrderYsDetailController { + + @Resource + private OrderYsDetailService orderYsDetailService; + + @PostMapping("/create") + @Operation(summary = "创建应收记录表明细") + @PreAuthorize("@ss.hasPermission('heli:order-ys-detail:create')") + public CommonResult createOrderYsDetail(@Valid @RequestBody OrderYsDetailSaveReqVO createReqVO) { + return success(orderYsDetailService.createOrderYsDetail(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新应收记录表明细") + @PreAuthorize("@ss.hasPermission('heli:order-ys-detail:update')") + public CommonResult updateOrderYsDetail(@Valid @RequestBody OrderYsDetailSaveReqVO updateReqVO) { + orderYsDetailService.updateOrderYsDetail(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除应收记录表明细") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('heli:order-ys-detail:delete')") + public CommonResult deleteOrderYsDetail(@RequestParam("id") Integer id) { + orderYsDetailService.deleteOrderYsDetail(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得应收记录表明细") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:order-ys-detail:query')") + public CommonResult getOrderYsDetail(@RequestParam("id") Integer id) { + OrderYsDetailDO orderYsDetail = orderYsDetailService.getOrderYsDetail(id); + return success(BeanUtils.toBean(orderYsDetail, OrderYsDetailRespVO.class)); + } + @GetMapping("/getOrderYsDetails") + @Operation(summary = "获得应收记录表明细") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:order-ys-detail:query')") + public CommonResult> getOrderYsDetails(@RequestParam("id") Integer id) { + List orderYsDetail = orderYsDetailService.getOrderYsDetails(id); + return success(BeanUtils.toBean(orderYsDetail, OrderYsDetailRespVO.class)); + } + @GetMapping("/page") + @Operation(summary = "获得应收记录表明细分页") + @PreAuthorize("@ss.hasPermission('heli:order-ys-detail:query')") + public CommonResult> getOrderYsDetailPage(@Valid OrderYsDetailPageReqVO pageReqVO) { + PageResult pageResult = orderYsDetailService.getOrderYsDetailPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, OrderYsDetailRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出应收记录表明细 Excel") + @PreAuthorize("@ss.hasPermission('heli:order-ys-detail:export')") + @OperateLog(type = EXPORT) + public void exportOrderYsDetailExcel(@Valid OrderYsDetailPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = orderYsDetailService.getOrderYsDetailPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "应收记录表明细.xls", "数据", OrderYsDetailRespVO.class, + BeanUtils.toBean(list, OrderYsDetailRespVO.class)); + } + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderysdetail/vo/OrderYsDetailPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderysdetail/vo/OrderYsDetailPageReqVO.java new file mode 100644 index 0000000..dd8cda5 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderysdetail/vo/OrderYsDetailPageReqVO.java @@ -0,0 +1,41 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.orderysdetail.vo; + +import lombok.*; + +import java.time.LocalDate; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 应收记录表明细分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class OrderYsDetailPageReqVO extends PageParam { + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "回款金额") + private BigDecimal cgYishou; + + @Schema(description = "备注") + private String rem; + + @Schema(description = "回款日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDate[] paymentDate; + + @Schema(description = "回款类型", example = "2") + private String cgType; + + @Schema(description = "应收id", example = "30630") + private Integer cgId; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderysdetail/vo/OrderYsDetailRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderysdetail/vo/OrderYsDetailRespVO.java new file mode 100644 index 0000000..5ebd284 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderysdetail/vo/OrderYsDetailRespVO.java @@ -0,0 +1,47 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.orderysdetail.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.time.LocalDate; +import java.util.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 应收记录表明细 Response VO") +@Data +@ExcelIgnoreUnannotated +public class OrderYsDetailRespVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "2612") + @ExcelProperty("主键") + private Integer id; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "回款金额") + @ExcelProperty("回款金额") + private BigDecimal cgYishou; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String rem; + + @Schema(description = "回款日期") + @ExcelProperty("回款日期") + private LocalDate paymentDate; + + @Schema(description = "回款类型", example = "2") + @ExcelProperty("回款类型") + private String cgType; + + @Schema(description = "应收id", example = "30630") + @ExcelProperty("应收id") + private Integer cgId; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderysdetail/vo/OrderYsDetailSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderysdetail/vo/OrderYsDetailSaveReqVO.java new file mode 100644 index 0000000..7b86756 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/orderysdetail/vo/OrderYsDetailSaveReqVO.java @@ -0,0 +1,34 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.orderysdetail.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.time.LocalDate; +import java.util.*; +import javax.validation.constraints.*; +import java.util.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 应收记录表明细新增/修改 Request VO") +@Data +public class OrderYsDetailSaveReqVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "2612") + private Integer id; + + @Schema(description = "回款金额") + private BigDecimal cgYishou; + + @Schema(description = "备注") + private String rem; + + @Schema(description = "回款日期") + private LocalDate paymentDate; + + @Schema(description = "回款类型", example = "2") + private String cgType; + + @Schema(description = "应收id", example = "30630") + private Integer cgId; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/orderysdetail/OrderYsDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/orderysdetail/OrderYsDetailDO.java new file mode 100644 index 0000000..5d5f859 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/orderysdetail/OrderYsDetailDO.java @@ -0,0 +1,54 @@ +package com.chanko.yunxi.mes.module.heli.dal.dataobject.orderysdetail; + +import lombok.*; + +import java.time.LocalDate; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.*; +import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO; + +/** + * 应收记录表明细 DO + * + * @author 管理员 + */ +@TableName("cg_order_ys_detail") +@KeySequence("cg_order_ys_detail_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class OrderYsDetailDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Integer id; + /** + * 回款金额 + */ + private BigDecimal cgYishou; + /** + * 备注 + */ + private String rem; + /** + * 回款日期 + */ + private LocalDate paymentDate; + /** + * 回款类型 + */ + private String cgType; + /** + * 应收id + */ + private Integer cgId; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/orderysdetail/OrderYsDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/orderysdetail/OrderYsDetailMapper.java new file mode 100644 index 0000000..33608d4 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/orderysdetail/OrderYsDetailMapper.java @@ -0,0 +1,31 @@ +package com.chanko.yunxi.mes.module.heli.dal.mysql.orderysdetail; + +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.orderysdetail.OrderYsDetailDO; +import org.apache.ibatis.annotations.Mapper; +import com.chanko.yunxi.mes.module.heli.controller.admin.orderysdetail.vo.*; + +/** + * 应收记录表明细 Mapper + * + * @author 管理员 + */ +@Mapper +public interface OrderYsDetailMapper extends BaseMapperX { + + default PageResult selectPage(OrderYsDetailPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .betweenIfPresent(OrderYsDetailDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(OrderYsDetailDO::getCgYishou, reqVO.getCgYishou()) + .eqIfPresent(OrderYsDetailDO::getRem, reqVO.getRem()) + .betweenIfPresent(OrderYsDetailDO::getPaymentDate, reqVO.getPaymentDate()) + .eqIfPresent(OrderYsDetailDO::getCgType, reqVO.getCgType()) + .eqIfPresent(OrderYsDetailDO::getCgId, reqVO.getCgId()) + .orderByDesc(OrderYsDetailDO::getId)); + } + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderys/OrderYsServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderys/OrderYsServiceImpl.java index 1a0e6fa..73a9688 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderys/OrderYsServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderys/OrderYsServiceImpl.java @@ -2,7 +2,13 @@ package com.chanko.yunxi.mes.module.heli.service.orderys; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.chanko.yunxi.mes.module.heli.controller.admin.orderysdetail.vo.OrderYsDetailSaveReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderSaveReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderysdetail.OrderYsDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; +import com.chanko.yunxi.mes.module.heli.dal.mysql.orderysdetail.OrderYsDetailMapper; import com.chanko.yunxi.mes.module.heli.service.customer.CustomerService; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -12,6 +18,8 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.*; +import java.util.stream.Collectors; + import com.chanko.yunxi.mes.module.heli.controller.admin.orderys.vo.*; import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderys.OrderYsDO; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; @@ -36,6 +44,8 @@ public class OrderYsServiceImpl implements OrderYsService { private OrderYsMapper orderYsMapper; @Resource private CustomerService customerService; + @Resource + private OrderYsDetailMapper OrderYsDetailMapper; @Override public Integer createOrderYs(OrderYsSaveReqVO createReqVO) { @@ -53,6 +63,17 @@ public class OrderYsServiceImpl implements OrderYsService { // 更新 OrderYsDO updateObj = BeanUtils.toBean(updateReqVO, OrderYsDO.class); orderYsMapper.updateById(updateObj); + //插入子表 + createOrUpdateOrderYsDetails(updateReqVO.getOrderYsDetails()); + } + + private void createOrUpdateOrderYsDetails(List orderYsDetails) { + // 分组更新与插入 + List updateList = orderYsDetails.stream().filter(o -> o.getId() != null).collect(Collectors.toList()); + List insertList = orderYsDetails.stream().filter(o -> o.getId() == null).collect(Collectors.toList()); + + if(!updateList.isEmpty()) OrderYsDetailMapper.updateBatch(updateList); + if(!insertList.isEmpty()) OrderYsDetailMapper.insertBatch(insertList); } @Override @@ -61,6 +82,8 @@ public class OrderYsServiceImpl implements OrderYsService { validateOrderYsExists(id); // 删除 orderYsMapper.deleteById(id); + LambdaUpdateWrapper eq = new UpdateWrapper().lambda().eq(OrderYsDetailDO::getCgId, id); + OrderYsDetailMapper.delete(eq); } private void validateOrderYsExists(Integer id) { diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderysdetail/OrderYsDetailService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderysdetail/OrderYsDetailService.java new file mode 100644 index 0000000..8e11616 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderysdetail/OrderYsDetailService.java @@ -0,0 +1,56 @@ +package com.chanko.yunxi.mes.module.heli.service.orderysdetail; + +import java.util.*; +import javax.validation.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.orderysdetail.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderysdetail.OrderYsDetailDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; + +/** + * 应收记录表明细 Service 接口 + * + * @author 管理员 + */ +public interface OrderYsDetailService { + + /** + * 创建应收记录表明细 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createOrderYsDetail(@Valid OrderYsDetailSaveReqVO createReqVO); + + /** + * 更新应收记录表明细 + * + * @param updateReqVO 更新信息 + */ + void updateOrderYsDetail(@Valid OrderYsDetailSaveReqVO updateReqVO); + + /** + * 删除应收记录表明细 + * + * @param id 编号 + */ + void deleteOrderYsDetail(Integer id); + + /** + * 获得应收记录表明细 + * + * @param id 编号 + * @return 应收记录表明细 + */ + OrderYsDetailDO getOrderYsDetail(Integer id); + + List getOrderYsDetails(Integer id); + /** + * 获得应收记录表明细分页 + * + * @param pageReqVO 分页查询 + * @return 应收记录表明细分页 + */ + PageResult getOrderYsDetailPage(OrderYsDetailPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderysdetail/OrderYsDetailServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderysdetail/OrderYsDetailServiceImpl.java new file mode 100644 index 0000000..06d76c2 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderysdetail/OrderYsDetailServiceImpl.java @@ -0,0 +1,81 @@ +package com.chanko.yunxi.mes.module.heli.service.orderysdetail; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.orderysdetail.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderysdetail.OrderYsDetailDO; +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.orderysdetail.OrderYsDetailMapper; + +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 OrderYsDetailServiceImpl implements OrderYsDetailService { + + @Resource + private OrderYsDetailMapper orderYsDetailMapper; + + @Override + public Integer createOrderYsDetail(OrderYsDetailSaveReqVO createReqVO) { + // 插入 + OrderYsDetailDO orderYsDetail = BeanUtils.toBean(createReqVO, OrderYsDetailDO.class); + orderYsDetailMapper.insert(orderYsDetail); + // 返回 + return orderYsDetail.getId(); + } + + @Override + public void updateOrderYsDetail(OrderYsDetailSaveReqVO updateReqVO) { + // 校验存在 + validateOrderYsDetailExists(updateReqVO.getId()); + // 更新 + OrderYsDetailDO updateObj = BeanUtils.toBean(updateReqVO, OrderYsDetailDO.class); + orderYsDetailMapper.updateById(updateObj); + } + + @Override + public void deleteOrderYsDetail(Integer id) { + // 校验存在 + validateOrderYsDetailExists(id); + // 删除 + orderYsDetailMapper.deleteById(id); + } + + private void validateOrderYsDetailExists(Integer id) { + if (orderYsDetailMapper.selectById(id) == null) { + throw exception(ORDER_YS_DETAIL_NOT_EXISTS); + } + } + + @Override + public OrderYsDetailDO getOrderYsDetail(Integer id) { + return orderYsDetailMapper.selectById(id); + } + + @Override + public List getOrderYsDetails(Integer id) { + LambdaQueryWrapper eq = new LambdaQueryWrapper().eq(OrderYsDetailDO::getCgId, id); + return orderYsDetailMapper.selectList(eq); + } + + @Override + public PageResult getOrderYsDetailPage(OrderYsDetailPageReqVO pageReqVO) { + return orderYsDetailMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/orderysdetail/OrderYsDetailMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/orderysdetail/OrderYsDetailMapper.xml new file mode 100644 index 0000000..3e01f2a --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/orderysdetail/OrderYsDetailMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/dept/vo/post/PostRespVO.java b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/dept/vo/post/PostRespVO.java index 7541cb4..b114384 100644 --- a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/dept/vo/post/PostRespVO.java +++ b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/dept/vo/post/PostRespVO.java @@ -38,6 +38,10 @@ public class PostRespVO { @Schema(description = "备注", example = "快乐的备注") private String remark; + @Schema(description = "层级", example = "层级") + private String grade; + @Schema(description = "岗位成本", example = "岗位成本") + private String gradeCost; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) private LocalDateTime createTime; diff --git a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/dept/vo/post/PostSaveReqVO.java b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/dept/vo/post/PostSaveReqVO.java index d3e317c..4f974ec 100644 --- a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/dept/vo/post/PostSaveReqVO.java +++ b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/dept/vo/post/PostSaveReqVO.java @@ -36,5 +36,9 @@ public class PostSaveReqVO { @Schema(description = "备注", example = "快乐的备注") private String remark; + @Schema(description = "层级", example = "层级") + private String grade; + @Schema(description = "岗位成本", example = "岗位成本") + private String gradeCost; } \ No newline at end of file diff --git a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/dal/dataobject/dept/PostDO.java b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/dal/dataobject/dept/PostDO.java index b6c30c9..a8b01b8 100644 --- a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/dal/dataobject/dept/PostDO.java +++ b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/dal/dataobject/dept/PostDO.java @@ -46,5 +46,13 @@ public class PostDO extends BaseDO { * 备注 */ private String remark; + /** + * 层级 + */ + private String grade; + /** + * 岗位成本 + */ + private String gradeCost; } diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/orderys/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/orderys/index.ts index d7dcd04..eedf5e6 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/orderys/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/orderys/index.ts @@ -10,6 +10,7 @@ export interface OrderYsVO { cgYishou: number cgTypee: number rem: string + orderYsDetails:any[]; } // 查询应收记录分页 diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/orderysdetail/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/orderysdetail/index.ts new file mode 100644 index 0000000..3e14868 --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/orderysdetail/index.ts @@ -0,0 +1,43 @@ +import request from '@/config/axios' + +export interface OrderYsDetailVO { + id: number + cgYishou: number + rem: string + paymentDate: localdate + cgType: string + cgId: number +} + +// 查询应收记录表明细分页 +export const getOrderYsDetailPage = async (params) => { + return await request.get({ url: `/heli/order-ys-detail/page`, params }) +} + +// 查询应收记录表明细详情 +export const getOrderYsDetail = async (id: number) => { + return await request.get({ url: `/heli/order-ys-detail/get?id=` + id }) +} +// 查询根据应收id查询应收记录表明细 +export const getOrderYsDetails = async (id: number) => { + return await request.get({ url: `/heli/order-ys-detail/getOrderYsDetails?id=` + id }) +} +// 新增应收记录表明细 +export const createOrderYsDetail = async (data: OrderYsDetailVO) => { + return await request.post({ url: `/heli/order-ys-detail/create`, data }) +} + +// 修改应收记录表明细 +export const updateOrderYsDetail = async (data: OrderYsDetailVO) => { + return await request.put({ url: `/heli/order-ys-detail/update`, data }) +} + +// 删除应收记录表明细 +export const deleteOrderYsDetail = async (id: number) => { + return await request.delete({ url: `/heli/order-ys-detail/delete?id=` + id }) +} + +// 导出应收记录表明细 Excel +export const exportOrderYsDetail = async (params) => { + return await request.download({ url: `/heli/order-ys-detail/export-excel`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts b/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts index 8bce072..d7f0031 100644 --- a/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts +++ b/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts @@ -277,7 +277,8 @@ export enum DICT_TYPE { HELI_YINGFU_MONEY = 'heli_yingfu_money', HELI_PLANTYPE = 'heli_planType',//生产进度报表中生产状态 HELI_PG_PLANTYPE = 'heli_pg_planType',//生产进度报表中派工是否完成状态 - + HELI_GRADE='heli_grade', + HELI_CGTYPE='heli_cgType' } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/OrderYsForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/OrderYsForm.vue index bdf0d73..983f883 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/OrderYsForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/OrderYsForm.vue @@ -1,5 +1,5 @@