diff --git a/admin/src/main/java/com/hcy/admin/controller/order/ParentRepairOrderController.java b/admin/src/main/java/com/hcy/admin/controller/order/ParentRepairOrderController.java index 6753788..7d95156 100644 --- a/admin/src/main/java/com/hcy/admin/controller/order/ParentRepairOrderController.java +++ b/admin/src/main/java/com/hcy/admin/controller/order/ParentRepairOrderController.java @@ -4,15 +4,18 @@ import com.hcy.admin.config.aop.Log; import com.hcy.admin.service.order.IParentRepairOrderService; import com.hcy.admin.validate.order.ParentRepairOrderParam; import com.hcy.admin.validate.common.PageParam; +import com.hcy.admin.validate.order.RepairOrderParam; import com.hcy.admin.vo.order.ParentRepairOrderListVo; import com.hcy.admin.vo.order.ParentRepairOrderDetailVo; import com.hcy.common.core.AjaxResult; import com.hcy.common.core.PageResult; import com.hcy.common.validator.annotation.IDMust; +import io.swagger.annotations.ApiOperation; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import java.util.Map; /** @@ -108,5 +111,9 @@ public class ParentRepairOrderController { return AjaxResult.success(list); } - + @ApiOperation(value = "模块管理 - 导出Excel报表") + @PostMapping(value="/exportExcel") + public void exportExcel(@Validated @RequestBody ParentRepairOrderParam params, HttpServletResponse response) { + iParentRepairOrderService.exportExcel(params,response); + } } diff --git a/admin/src/main/java/com/hcy/admin/controller/order/RepairOrderController.java b/admin/src/main/java/com/hcy/admin/controller/order/RepairOrderController.java index 51285b1..5a734d5 100644 --- a/admin/src/main/java/com/hcy/admin/controller/order/RepairOrderController.java +++ b/admin/src/main/java/com/hcy/admin/controller/order/RepairOrderController.java @@ -242,4 +242,6 @@ public class RepairOrderController { List list = iRepairOrderService.shippingList(repairOrderParam); return AjaxResult.success(list); } + + } diff --git a/admin/src/main/java/com/hcy/admin/service/order/IParentRepairOrderService.java b/admin/src/main/java/com/hcy/admin/service/order/IParentRepairOrderService.java index 928b33e..3bd77c1 100644 --- a/admin/src/main/java/com/hcy/admin/service/order/IParentRepairOrderService.java +++ b/admin/src/main/java/com/hcy/admin/service/order/IParentRepairOrderService.java @@ -2,12 +2,14 @@ package com.hcy.admin.service.order; import com.hcy.admin.validate.common.PageParam; import com.hcy.admin.validate.order.ParentRepairOrderParam; +import com.hcy.admin.validate.order.RepairOrderParam; import com.hcy.admin.vo.order.DispatchItemListVO; import com.hcy.admin.vo.order.ParentRepairOrderListVo; import com.hcy.admin.vo.order.ParentRepairOrderDetailVo; import com.hcy.common.core.PageResult; import org.springframework.validation.annotation.Validated; +import javax.servlet.http.HttpServletResponse; import java.util.Map; /** @@ -66,4 +68,11 @@ public interface IParentRepairOrderService { * @return PageResult */ PageResult dispatchItemList(PageParam pageParam, ParentRepairOrderParam parentRepairOrderParam); + + /** + * 导出模块维修报表 - 按模版导出 + * @param params + * @return + */ + void exportExcel(ParentRepairOrderParam params, HttpServletResponse response); } diff --git a/admin/src/main/java/com/hcy/admin/service/order/impl/ParentRepairOrderServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/order/impl/ParentRepairOrderServiceImpl.java index 858b797..588edec 100644 --- a/admin/src/main/java/com/hcy/admin/service/order/impl/ParentRepairOrderServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/order/impl/ParentRepairOrderServiceImpl.java @@ -1,5 +1,9 @@ package com.hcy.admin.service.order.impl; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.metadata.fill.FillConfig; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -8,18 +12,20 @@ import com.github.yulichang.query.MPJQueryWrapper; import com.hcy.admin.service.order.IParentRepairOrderService; import com.hcy.admin.validate.common.PageParam; import com.hcy.admin.validate.order.ParentRepairOrderParam; +import com.hcy.admin.vo.excel.OfferDetailEntity; +import com.hcy.admin.vo.excel.order.GetMaterialsOrder; import com.hcy.admin.vo.order.*; import com.hcy.common.constant.GlobalConstant; import com.hcy.common.core.PageResult; -import com.hcy.common.dto.order.MaintenanceOrderDto; -import com.hcy.common.dto.order.ParentRepairOrderDto; -import com.hcy.common.dto.order.RepairOrderDto; +import com.hcy.common.dto.order.*; import com.hcy.common.entity.client.Client; import com.hcy.common.entity.order.ParentRepairOrder; import com.hcy.common.entity.order.RepairOrder; import com.hcy.common.entity.system.SystemAuthAdmin; import com.hcy.common.entity.user.User; import com.hcy.common.enums.order.RepairOrderStatusEnum; +import com.hcy.common.exception.OperateException; +import com.hcy.common.mapper.order.OrderSparePartMapper; import com.hcy.common.mapper.order.ParentRepairOrderMapper; import com.hcy.common.mapper.order.RepairOrderMapper; import com.hcy.common.mapper.system.SystemAuthAdminMapper; @@ -29,11 +35,17 @@ import com.hcy.common.utils.StringUtil; import com.hcy.common.utils.TimeUtil; import com.hcy.common.utils.UrlUtil; import com.hcy.common.config.GlobalConfig; +import com.hcy.common.utils.excel.EasyExcelUtil; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.BeanUtils; +import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Service; import org.springframework.util.Assert; import javax.annotation.Resource; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; import java.util.*; import java.util.stream.Collectors; @@ -55,6 +67,9 @@ public class ParentRepairOrderServiceImpl implements IParentRepairOrderService { @Resource SystemAuthAdminMapper systemAuthAdminMapper; + @Resource + OrderSparePartMapper orderSparePartMapper; + /** * 总维修单列表 * @@ -300,4 +315,111 @@ public class ParentRepairOrderServiceImpl implements IParentRepairOrderService { return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list); } + @Override + public void exportExcel(ParentRepairOrderParam params, HttpServletResponse response) { + try { + Assert.notNull(params.getClientId(),"客户id不可为空"); + ServletOutputStream out = response.getOutputStream(); + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper() + .eq(ParentRepairOrder::getIsDelete, GlobalConstant.NOT_DELETE) + .eq(ParentRepairOrder::getClientId, params.getClientId()) + .between(ParentRepairOrder::getCreateTime, params.getStartTime(), params.getEndTime()); + FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build(); + + List parentRepairOrders = parentRepairOrderMapper.selectList(lambdaQueryWrapper); + + String[] typeIdList = params.getTypeIds().split(","); + EasyExcelUtil.initResponse(response, "领料单"); + // 文件模板输入流,将 excel 模板放到 resources 目录下 + InputStream templateFile = new ClassPathResource("templates/excel/materialRequisition.xlsx").getInputStream(); + + int index1 = 0; + Map adminMap = new HashMap<>(); +// XSSFWorkbook workbook = new XSSFWorkbook(templateFile); +// for (int i = 0; i < parentRepairOrders.size(); i++) { +// if(i == 0){ +// workbook.setSheetName(0, parentRepairOrders.get(i).getOrderNo() + "领料单"); +// }else{ +// workbook.cloneSheet(0,parentRepairOrders.get(i).getOrderNo() + "领料单"); +// } +// } +// workbook.write(out); + ExcelWriter writer = EasyExcel + .write(out) + .withTemplate(templateFile) + .build(); + + for (ParentRepairOrder parentRepairOrder : parentRepairOrders) { + List repairOrderList = repairOrderMapper.findRepairOrderByParentId(parentRepairOrder.getId()); + + int totalQuantity = 0; + int index = 1; + + OfferDetailEntity offerDetail = new OfferDetailEntity(); + offerDetail.setDeliveryTime(TimeUtil.timestampToDate(System.currentTimeMillis() / 1000,"yyyy-MM-dd")); + offerDetail.setOrderNo(parentRepairOrder.getOrderNo()); + //获取创建者信息 + SystemAuthAdmin contentAdmin= systemAuthAdminMapper.findSystemAuthAdminByUserId(Math.toIntExact(parentRepairOrder.getCreatorId())); + if(contentAdmin != null){ + offerDetail.setCreator(contentAdmin.getUsername()); + } + offerDetail.setTotalQty(totalQuantity); + + WriteSheet sheet = EasyExcel.writerSheet(0,parentRepairOrder.getOrderNo() + "领料单").build(); + //填充内容占位符 + writer.fill(offerDetail, sheet); + + List getMaterialsOrderList = new ArrayList<>(); + for (RepairOrder item : repairOrderList) { + for (String ids : typeIdList) { + if(ids.equals("1")){ + List orderSparePartList = orderSparePartMapper.findOrderSparePartByModuleId(item.getId()); + if(orderSparePartList.isEmpty()){ + continue; + } + for (OrderSparePartDto orderSparePartDto : orderSparePartList) { + GetMaterialsOrder getMaterialsOrder = new GetMaterialsOrder(); + getMaterialsOrder.setIndex(index); + getMaterialsOrder.setModelType(item.getModuleNumber()); + getMaterialsOrder.setModelCode(item.getModuleCode()); + getMaterialsOrder.setSparePartsCode(orderSparePartDto.getSparePartsCode()); + getMaterialsOrder.setName(orderSparePartDto.getSparePartsName()); + getMaterialsOrder.setSpecificationsModel(orderSparePartDto.getSpecificationsModel()); + getMaterialsOrder.setUnit(orderSparePartDto.getUnit()); + getMaterialsOrder.setQuantityClaimed(orderSparePartDto.getCount().toString()); + getMaterialsOrder.setActualQuantity(orderSparePartDto.getCount().toString()); + SystemAuthAdmin systemAuthAdmin; + if(adminMap.get(orderSparePartDto.getApplicantId()) != null){ + systemAuthAdmin = adminMap.get(orderSparePartDto.getApplicantId()); + }else{ + systemAuthAdmin = systemAuthAdminMapper.findSystemAuthAdminByUserId(Math.toIntExact(orderSparePartDto.getApplicantId())); + adminMap.put(orderSparePartDto.getApplicantId(),systemAuthAdmin); + } + if(systemAuthAdmin != null){ + getMaterialsOrder.setRecipient(systemAuthAdmin.getUsername()); + } + getMaterialsOrderList.add(getMaterialsOrder); + index++; + totalQuantity += orderSparePartDto.getCount(); + } + + } + } + } + + // 填充列表占位符 + writer.fill(getMaterialsOrderList, fillConfig, sheet); + index1++; + } + writer.finish(); + out.close(); + templateFile.close(); + }catch (Exception e){ + e.printStackTrace(); + throw new OperateException("导出报表出现错误:"+e.getLocalizedMessage()); + } + + } + } diff --git a/admin/src/main/java/com/hcy/admin/service/sparePart/impl/SparePartServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/sparePart/impl/SparePartServiceImpl.java index 0340717..9ab11ea 100644 --- a/admin/src/main/java/com/hcy/admin/service/sparePart/impl/SparePartServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/sparePart/impl/SparePartServiceImpl.java @@ -188,6 +188,7 @@ public class SparePartServiceImpl implements ISparePartService { model.setQuantity(sparePartParam.getQuantity()); model.setUnitPrice(sparePartParam.getUnitPrice()); model.setCreateTime(System.currentTimeMillis() / 1000); + model.setBrand(sparePartParam.getBrand()); sparePartMapper.insert(model); } @@ -223,6 +224,7 @@ public class SparePartServiceImpl implements ISparePartService { model.setWarehouseId(sparePartParam.getWarehouseId()); model.setSpecificationsModel(sparePartParam.getSpecificationsModel()); model.setUnit(sparePartParam.getUnit()); + model.setBrand(sparePartParam.getBrand()); /*model.setQuantity(sparePartParam.getQuantity());// 库存数量*/ model.setUnitPrice(sparePartParam.getUnitPrice()); model.setUpdateTime(System.currentTimeMillis() / 1000);//更新时间 diff --git a/admin/src/main/java/com/hcy/admin/validate/order/ParentRepairOrderParam.java b/admin/src/main/java/com/hcy/admin/validate/order/ParentRepairOrderParam.java index ece87fa..96ddcd2 100644 --- a/admin/src/main/java/com/hcy/admin/validate/order/ParentRepairOrderParam.java +++ b/admin/src/main/java/com/hcy/admin/validate/order/ParentRepairOrderParam.java @@ -7,6 +7,7 @@ import org.hibernate.validator.constraints.Length; import lombok.Data; import javax.validation.constraints.*; import java.io.Serializable; +import java.util.Date; /** * 总维修单参数 @@ -36,4 +37,8 @@ public class ParentRepairOrderParam implements Serializable { private String moduleCode; // 模块代码 private Integer matter; // 事项(0=派单事项、1=发货事项) + + private String typeIds; //表单类型 :0-入仓单 1-领料单 2-维修单 3-报废单 4-难修改派单 5-报废维修单 + private String startTime; //开始时间 + private String endTime; //结束时间 } diff --git a/admin/src/main/java/com/hcy/admin/validate/sparePart/SparePartParam.java b/admin/src/main/java/com/hcy/admin/validate/sparePart/SparePartParam.java index 99b730e..0db7873 100644 --- a/admin/src/main/java/com/hcy/admin/validate/sparePart/SparePartParam.java +++ b/admin/src/main/java/com/hcy/admin/validate/sparePart/SparePartParam.java @@ -52,5 +52,7 @@ public class SparePartParam implements Serializable { private BigDecimal unitPrice; + private String brand; //品牌 + private List ids; //批量删除 } diff --git a/admin/src/main/java/com/hcy/admin/vo/excel/OfferDetailEntity.java b/admin/src/main/java/com/hcy/admin/vo/excel/OfferDetailEntity.java index 5bd6d56..bbde0e0 100644 --- a/admin/src/main/java/com/hcy/admin/vo/excel/OfferDetailEntity.java +++ b/admin/src/main/java/com/hcy/admin/vo/excel/OfferDetailEntity.java @@ -22,7 +22,7 @@ public class OfferDetailEntity { private String orderNo; @ApiModelProperty(value = "制单人") - private String consignerName; + private String creator; @ApiModelProperty(value = "合计数量") private Integer totalQty; diff --git a/admin/src/main/java/com/hcy/admin/vo/excel/order/GetMaterialsOrder.java b/admin/src/main/java/com/hcy/admin/vo/excel/order/GetMaterialsOrder.java new file mode 100644 index 0000000..06e3ac9 --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/vo/excel/order/GetMaterialsOrder.java @@ -0,0 +1,44 @@ +package com.hcy.admin.vo.excel.order; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class GetMaterialsOrder { + + @ApiModelProperty(value = "序号") + private Integer index; + + @ApiModelProperty(value = "模块型号") + private String modelType; + + @ApiModelProperty(value = "模块代码") + private String modelCode; + + @ApiModelProperty(value = "料号") + private String sparePartsCode; + + @ApiModelProperty(value = "品牌") + private String name; + + @ApiModelProperty(value = "型号/规格") + private String specificationsModel; + + @ApiModelProperty(value = "单位") + private String unit; + + @ApiModelProperty(value = "领料数量") + private String quantityClaimed; + + @ApiModelProperty(value = "实发数量") + private String actualQuantity; + + @ApiModelProperty(value = "领取人员") + private String recipient; +} diff --git a/admin/src/main/java/com/hcy/admin/vo/sparePart/SparePartDetailVo.java b/admin/src/main/java/com/hcy/admin/vo/sparePart/SparePartDetailVo.java index d2b8964..ec878f1 100644 --- a/admin/src/main/java/com/hcy/admin/vo/sparePart/SparePartDetailVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/sparePart/SparePartDetailVo.java @@ -22,5 +22,5 @@ public class SparePartDetailVo implements Serializable { private Integer quantity; // 库存数量 private BigDecimal unitPrice; // 单价 private String warehouseName; // 所属仓库名 - + private String brand; //品牌 } diff --git a/admin/src/main/java/com/hcy/admin/vo/sparePart/SparePartListVo.java b/admin/src/main/java/com/hcy/admin/vo/sparePart/SparePartListVo.java index f7fe498..e2e60d7 100644 --- a/admin/src/main/java/com/hcy/admin/vo/sparePart/SparePartListVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/sparePart/SparePartListVo.java @@ -23,6 +23,7 @@ public class SparePartListVo implements Serializable { private String createTime; // 创建时间 private String updateTime; // 更新时间 private BigDecimal unitPrice; // 单价 + private String brand; //品牌 // 备件模糊关键字 private String likeWork; diff --git a/admin/src/main/resources/templates/excel/materialRequisition.xlsx b/admin/src/main/resources/templates/excel/materialRequisition.xlsx new file mode 100644 index 0000000..a1d9960 Binary files /dev/null and b/admin/src/main/resources/templates/excel/materialRequisition.xlsx differ diff --git a/admin/src/main/resources/templates/excel/placingOrders.xlsx b/admin/src/main/resources/templates/excel/placingOrders.xlsx new file mode 100644 index 0000000..57649a4 Binary files /dev/null and b/admin/src/main/resources/templates/excel/placingOrders.xlsx differ diff --git a/admin/src/main/resources/templates/excel/repairOrder.xlsx b/admin/src/main/resources/templates/excel/repairOrder.xlsx new file mode 100644 index 0000000..9c7db2a Binary files /dev/null and b/admin/src/main/resources/templates/excel/repairOrder.xlsx differ diff --git a/admin/src/main/resources/templates/excel/scrapForm.xlsx b/admin/src/main/resources/templates/excel/scrapForm.xlsx new file mode 100644 index 0000000..44162ac Binary files /dev/null and b/admin/src/main/resources/templates/excel/scrapForm.xlsx differ diff --git a/common/src/main/java/com/hcy/common/dto/order/OrderSparePartDto.java b/common/src/main/java/com/hcy/common/dto/order/OrderSparePartDto.java new file mode 100644 index 0000000..725790e --- /dev/null +++ b/common/src/main/java/com/hcy/common/dto/order/OrderSparePartDto.java @@ -0,0 +1,36 @@ +package com.hcy.common.dto.order; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 订单配件实体 + */ +@Data +public class OrderSparePartDto implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value="id", type= IdType.AUTO) + private Long id; // id + private Long maintenanceOrderId; //检修单id + private Long repairOrderId; //维修单id + private Long sparePartsId; // 备件id + private String sparePartsCode; // 备件编码 + private String sparePartsName; // 备件名称 + private Long warehouseId; // 所属仓库名称 + private String specificationsModel; // 规格型号 + private String unit; // 单位 + private BigDecimal unitPrice; // 价格 + private Integer quantity; // 库存数量 + private Integer count; // 出入库数量 + private BigDecimal totalPrice; // 总价 + + private Long applicantId; //申请人员id + private Integer isDelete; // 是否删除 0-未删除 1-删除 + +} \ No newline at end of file diff --git a/common/src/main/java/com/hcy/common/entity/sparePart/SparePart.java b/common/src/main/java/com/hcy/common/entity/sparePart/SparePart.java index 5039352..64a8009 100644 --- a/common/src/main/java/com/hcy/common/entity/sparePart/SparePart.java +++ b/common/src/main/java/com/hcy/common/entity/sparePart/SparePart.java @@ -25,6 +25,7 @@ public class SparePart implements Serializable { private String unit; // 单位 private Integer quantity; // 库存数量 private BigDecimal unitPrice; // 单价 + private String brand; //品牌 private Integer isDelete; // 是否删除: [0=否, 1=是] private Long createTime; // 创建时间 private Long updateTime; // 更新时间 diff --git a/common/src/main/java/com/hcy/common/mapper/order/OrderSparePartMapper.java b/common/src/main/java/com/hcy/common/mapper/order/OrderSparePartMapper.java index 9cbad03..e1d0ca2 100644 --- a/common/src/main/java/com/hcy/common/mapper/order/OrderSparePartMapper.java +++ b/common/src/main/java/com/hcy/common/mapper/order/OrderSparePartMapper.java @@ -2,6 +2,7 @@ package com.hcy.common.mapper.order; import com.hcy.common.core.basics.IBaseMapper; import com.hcy.common.dto.order.OrderSparePart; +import com.hcy.common.dto.order.OrderSparePartDto; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -29,4 +30,16 @@ public interface OrderSparePartMapper extends IBaseMapper { */ @Select("SELECT * FROM la_order_spare_part WHERE repair_order_id = #{repairOrderId}") List findOrderSparePartByRepairOrderId(@Param("repairOrderId") Long repairOrderId); + + @Select("SELECT\n" + + "\tosp.*,\n" + + "\troa.applicant_id AS applicantId \n" + + "FROM\n" + + "\tla_order_spare_part AS osp\n" + + "\tLEFT JOIN la_repair_order_audit AS roa ON osp.repair_order_id = roa.repair_order_id \n" + + "WHERE\n" + + "\troa.repair_order_id = #{moduleId} \n" + + "\tAND roa.review_request = 1\n" + + "\tAND roa.audit_status = 3") + List findOrderSparePartByModuleId(@Param("moduleId") Long moduleId); } diff --git a/common/src/main/java/com/hcy/common/mapper/order/ParentRepairOrderMapper.java b/common/src/main/java/com/hcy/common/mapper/order/ParentRepairOrderMapper.java index 25d3dea..cdd95cf 100644 --- a/common/src/main/java/com/hcy/common/mapper/order/ParentRepairOrderMapper.java +++ b/common/src/main/java/com/hcy/common/mapper/order/ParentRepairOrderMapper.java @@ -6,6 +6,7 @@ import com.hcy.common.dto.order.ParentRepairOrderDto; import com.hcy.common.entity.order.ParentRepairOrder; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** * 总维修单Mapper diff --git a/common/src/main/java/com/hcy/common/mapper/order/RepairOrderMapper.java b/common/src/main/java/com/hcy/common/mapper/order/RepairOrderMapper.java index e9d409a..95cf6e6 100644 --- a/common/src/main/java/com/hcy/common/mapper/order/RepairOrderMapper.java +++ b/common/src/main/java/com/hcy/common/mapper/order/RepairOrderMapper.java @@ -90,4 +90,12 @@ public interface RepairOrderMapper extends IBaseMapper { * @return */ IPage auditMattersList(@Param("page") Page page, @Param("param")RepairOrderDto repairOrderDto); + + /** + * 通过维修单id查询模块列表 + * @param parentId 维修单id + * @return 模块列表 + */ + @Select("SELECT * FROM la_repair_order WHERE parent_repair_order_id = #{parentId}") + List findRepairOrderByParentId(@Param("parentId") Long parentId); }