质量模块 ,基础数据班组。

develop-QA
Tom Li 3 months ago
parent 2ec97a38d6
commit fcdaee413a
  1. 24
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/dto/RelTeamSetUserDTO.java
  2. 49
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/RelTeamSetUser.java
  3. 244
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/TeamSet.java
  4. 24
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/vo/RelTeamSetUserVO.java
  5. 19
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/vo/TeamSetVO.java
  6. 15
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/vo/UrlVO.java
  7. 4
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.java
  8. 13
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/ReviewSheetErpSearch.java
  9. 13
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/ReviewSheetInitSearch.java
  10. 13
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/ReviewSheetRedoSearch.java
  11. 13
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/ReviewSheetScrapSearch.java
  12. 13
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/ReviewSheetSelfSearch.java
  13. 27
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionTaskSubPartVO.java
  14. 7
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewFaultVO.java
  15. 35
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetErpListVO.java
  16. 6
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetInitListVO.java
  17. 24
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetRedoListVO.java
  18. 29
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetScrapListVO.java
  19. 41
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetSelfListVO.java
  20. 18
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetVO.java
  21. 7
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/WorkPlanItemDetailVO.java
  22. 237
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/RelTeamSetUserController.java
  23. 13
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/TeamSetController.java
  24. 45
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/RelTeamSetUserExcel.java
  25. 40
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/RelTeamSetUserMapper.java
  26. 18
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/RelTeamSetUserMapper.xml
  27. 44
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/IRelTeamSetUserService.java
  28. 90
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/ITeamSetService.java
  29. 61
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/RelTeamSetUserServiceImpl.java
  30. 90
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/TeamSetServiceImpl.java
  31. 36
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/wrapper/RelTeamSetUserWrapper.java
  32. 102
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ReviewSheetConst.java
  33. 35
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java
  34. 127
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewSheetController.java
  35. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IReviewDutyService.java
  36. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IReviewFaultService.java
  37. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IReviewSheetService.java
  38. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java
  39. 17
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewDutyServiceImpl.java
  40. 48
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewFaultServiceImpl.java
  41. 54
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewSheetServiceImpl.java
  42. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/WorkPlanItemServiceImpl.java
  43. 37
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/ReviewSheetErpListWrapper.java
  44. 37
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/ReviewSheetInitListWrapper.java
  45. 37
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/ReviewSheetRedoListWrapper.java
  46. 37
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/ReviewSheetScrapListWrapper.java
  47. 37
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/ReviewSheetSelfListWrapper.java

@ -0,0 +1,24 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.basic.pojo.dto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.basic.pojo.entity.RelTeamSetUser;
import java.io.Serial;
/**
* [班组用户关联] 数据传输对象实体类
*
* @author Tom Shuo
* @since 2026-01-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class RelTeamSetUserDTO extends RelTeamSetUser {
@Serial
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,49 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.basic.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial;
import java.math.BigDecimal;
/**
* [班组用户关联] 实体类
*
* @author Tom Shuo
* @since 2026-01-13
*/
@Data
@TableName("BA_REL_TEAM_SET_USER")
@Schema(description = "RelTeamSetUser Entity对象")
@EqualsAndHashCode(callSuper = true)
public class RelTeamSetUser extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* [班组]id
*/
public static final String COL_TEAM_SET_ID = "TEAM_SET_ID";
/**
* [用户]id
*/
public static final String COL_USER_ID = "USER_ID";
/**
* [班组]id
*/
@Schema(description = "[班组]id")
private Long teamSetId;
/**
* [用户]id
*/
@Schema(description = "[用户]id")
private Long userId;
}

@ -24,143 +24,143 @@ import java.io.Serial;
@EqualsAndHashCode(callSuper = true)
public class TeamSet extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
@Serial
private static final long serialVersionUID = 1L;
/**
* 编码
*/
/**
* 编码
*/
public static final String COL_TS_CODE = "TS_CODE";
/**
* 名称
*/
/**
* 名称
*/
public static final String COL_TS_NAME = "TS_NAME";
/**
* 调度员
*/
/**
* 调度员
*/
public static final String COL_DISPATCHER = "DISPATCHER";
/**
* 班组长;外键人员
*/
/**
* 班组长[用户]id
*/
public static final String COL_TEAM_LEADER = "TEAM_LEADER";
/**
* 班次;外键班次
*/
/**
* 班次;外键班次
*/
public static final String COL_CS_ID = "CS_ID";
/**
* 日分派时间
*/
/**
* 日分派时间
*/
public static final String COL_DAY_PUT_DUE_TIME = "DAY_PUT_DUE_TIME";
/**
* 创建人;外键人员
*/
/**
* 创建人;外键人员
*/
public static final String COL_CREATE_MAN = "CREATE_MAN";
/**
* 作业中心
*/
/**
* 作业中心
*/
public static final String COL_WC_ID = "WC_ID";
/**
*
*/
/**
*
*/
public static final String COL_SPECIAL = "SPECIAL";
/**
*
*/
/**
*
*/
public static final String COL_PLANNER = "PLANNER";
/**
*
*/
/**
*
*/
public static final String COL_TEAM_MEMBER = "TEAM_MEMBER";
/**
*
*/
/**
*
*/
public static final String COL_SPEC_DAY_PUT_DUE_TIME = "SPEC_DAY_PUT_DUE_TIME";
/**
*
*/
/**
*
*/
public static final String COL_EX_CHANGE_TIME = "EX_CHANGE_TIME";
/**
* 类型;1针孔2壳体3烧结4园区5外协
*/
/**
* 类型-[1]针孔;[2]-壳体;[3]烧结;[4]:园区;[5]:外协;
*/
public static final String COL_TS_TYPE = "TS_TYPE";
/**
* 备注
*/
/**
* 备注
*/
public static final String COL_REMARK = "REMARK";
/**
* 编码
*/
@Schema(description = "编码")
private String tsCode;
/**
* 名称
*/
@Schema(description = "名称")
private String tsName;
/**
* 调度员
*/
@Schema(description = "调度员")
private Long dispatcher;
/**
* 班组长;外键人员
*/
@Schema(description = "班组长;外键(人员)")
private Long teamLeader;
/**
* 班次;外键班次
*/
@Schema(description = "班次;外键(班次)")
private Long csId;
/**
* 日分派时间
*/
@Schema(description = "日分派时间")
private String dayPutDueTime;
/**
* 创建人;外键人员
*/
@Schema(description = "创建人;外键(人员)")
private Long createMan;
/**
* 作业中心
*/
@Schema(description = "作业中心")
private Long wcId;
/**
*
*/
@Schema(description = "")
private String special;
/**
*
*/
@Schema(description = "")
private Long planner;
/**
*
*/
@Schema(description = "")
private String teamMember;
/**
*
*/
@Schema(description = "")
private String specDayPutDueTime;
/**
*
*/
@Schema(description = "")
private String exChangeTime;
/**
* 类型;1针孔2壳体3烧结4园区5外协
*/
@Schema(description = "类型;1、针孔,2、壳体,3、烧结,4、园区,5、外协")
private Short tsType;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
/**
* 编码
*/
@Schema(description = "编码")
private String tsCode;
/**
* 名称
*/
@Schema(description = "名称")
private String tsName;
/**
* 调度员
*/
@Schema(description = "调度员")
private Long dispatcher;
/**
* 班组长;外键人员
*/
@Schema(description = "班组长[用户]id")
private Long teamLeader;
/**
* 班次;外键班次
*/
@Schema(description = "班次;外键(班次)")
private Long csId;
/**
* 日分派时间
*/
@Schema(description = "日分派时间")
private String dayPutDueTime;
/**
* 创建人;外键人员
*/
@Schema(description = "创建人;外键(人员)")
private Long createMan;
/**
* 作业中心
*/
@Schema(description = "作业中心")
private Long wcId;
/**
* 特殊标识
*/
@Schema(description = "")
private String special;
/**
* 计划员[用户]id
*/
@Schema(description = "")
private Long planner;
/**
* 班组成员
*/
@Schema(description = "")
private String teamMember;
/**
* 特殊日分派时间
*/
@Schema(description = "")
private String specDayPutDueTime;
/**
* 轮换时间
*/
@Schema(description = "")
private String exChangeTime;
/**
* 类型-[1]针孔;[2]-壳体;[3]烧结;[4]:园区;[5]:外协;
*/
@Schema(description = "类型-[1]针孔;[2]-壳体;[3]烧结;[4]:园区;[5]:外协;")
private Short tsType;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
}

@ -0,0 +1,24 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.basic.pojo.vo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.basic.pojo.entity.RelTeamSetUser;
import java.io.Serial;
/**
* [班组用户关联] 视图实体类
*
* @author Tom Shuo
* @since 2026-01-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class RelTeamSetUserVO extends RelTeamSetUser {
@Serial
private static final long serialVersionUID = 1L;
}

@ -3,6 +3,7 @@
*/
package org.springblade.desk.basic.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.basic.pojo.entity.TeamSet;
@ -18,7 +19,21 @@ import java.io.Serial;
@Data
@EqualsAndHashCode(callSuper = true)
public class TeamSetVO extends TeamSet {
@Serial
private static final long serialVersionUID = 1L;
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "班组长[用户]真名")
private String teamLeaderRealName;
@Schema(description = "计划员[用户]真名")
private Long plannerRealName;
@Schema(description = "调度员[用户]真名")
private Long dispatcherRealName;
@Schema(description = "[班次]名称")
private String shiftsName;
@Schema(description = "类型分类")
private String tsTypeName;
}

@ -0,0 +1,15 @@
package org.springblade.desk.basic.pojo.vo;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode()
public class UrlVO {
public UrlVO(String url) {
this.url = url;
}
private String url = "";
}

@ -125,7 +125,7 @@ public class ReviewSheet extends BaseEntity {
*/
public static final String COL_REVIEW_STATUS = "REVIEW_STATUS";
/**
* 业务类型-[1]:内部审理返修;[2]:内部审理报废;[3]:ERP审理返修;[4]:ERP审理报废;
* 业务类型-[1]:内部审理返修;[2]:内部审理报废;[3]:ERP审理;
*/
public static final String COL_BIZ_TYPE = "BIZ_TYPE";
/**
@ -304,7 +304,7 @@ public class ReviewSheet extends BaseEntity {
* 业务类型-[1]:内部审理返修;[2]:内部审理报废;[3]:ERP审理;
*/
@Schema(description = "业务类型-[1]:内部审理返修;[2]:内部审理报废;[3]:ERP审理;")
private Short bizType;
private Integer bizType;
/**
* 物料号
*/

@ -0,0 +1,13 @@
package org.springblade.desk.quality.pojo.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* todo:
*/
@Data
@EqualsAndHashCode()
public class ReviewSheetErpSearch {
}

@ -2,14 +2,13 @@ package org.springblade.desk.quality.pojo.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
/**
* todo:
*/
@Data
@EqualsAndHashCode()
public class ReviewSheetInitSearch {
@EqualsAndHashCode(callSuper = false)
public class ReviewSheetInitSearch extends ReviewSheet {
}

@ -0,0 +1,13 @@
package org.springblade.desk.quality.pojo.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* todo:
*/
@Data
@EqualsAndHashCode()
public class ReviewSheetRedoSearch {
}

@ -0,0 +1,13 @@
package org.springblade.desk.quality.pojo.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* todo:
*/
@Data
@EqualsAndHashCode()
public class ReviewSheetScrapSearch {
}

@ -0,0 +1,13 @@
package org.springblade.desk.quality.pojo.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* todo:
*/
@Data
@EqualsAndHashCode()
public class ReviewSheetSelfSearch {
}

@ -8,28 +8,31 @@ import lombok.EqualsAndHashCode;
@EqualsAndHashCode()
public class InspectionTaskSubPartVO {
// todo:
@Schema(description = "子件号")
private String subPartCode;
private String subPartCode = "SU11";
@Schema(description = "子件名称")
private String subPartName;
private String subPartName = "XS";
@Schema(description = "数量")
private String qty;
private Double qty = 100d;
@Schema(description = "产品型号")
private String prodTypeName;
private String prodTypeName = "iw100";
@Schema(description = "子件类型")
private String subPartTypeName;
private String subPartTypeName = "subX1";
@Schema(description = "镀种")
private String plateName;
private String plateName = "镀金";
@Schema(description = "材料")
private String material;
private String material = "Au";
@Schema(description = "面积")
private String area;
private Double area = 100d;
@Schema(description = "总面积")
private String totalArea;
private Double totalArea = 100d;
@Schema(description = "镀层代码")
private String matCode;
private String matCode = "mat100";
@Schema(description = "镀层厚度")
private String thickness;
private Long thickness = 10L;
@Schema(description = "备注")
private String remark;
private String remark = "";
@Schema(description = "修改人")
private String updateUserRealName = "";
}

@ -3,6 +3,7 @@
*/
package org.springblade.desk.quality.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.ReviewFault;
@ -21,4 +22,10 @@ public class ReviewFaultVO extends ReviewFault {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "故障类别[缺陷]名称")
private String ngType2Name;
@Schema(description = "问题大类[缺陷]名称")
private String ngType3Name;
@Schema(description = "问题小类[缺陷]名称")
private String ngType4Name;
}

@ -0,0 +1,35 @@
package org.springblade.desk.quality.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.basic.pojo.vo.BaseEntityVO;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
@Data
@EqualsAndHashCode(callSuper = true)
public class ReviewSheetErpListVO extends ReviewSheet {
@Schema(description = "BaseEntityVO")
private BaseEntityVO base;
@Schema(description = "审理状态 名称")
private String reviewStatusName;
@Schema(description = "审理[用户]真名")
private String reviewUserRealName;
@Schema(description = "打回[用户]真名")
private String backUserRealName;
@Schema(description = "责任零件")
private String dutyPart;
@Schema(description = "责任批号")
private String dutyBatNo;
@Schema(description = "工序号")
private String processNo;
@Schema(description = "工序名称")
private String processName;
@Schema(description = "发生单位")
private String ngOrg;
@Schema(description = "责任部门")
private String dutyDeptName;
@Schema(description = "零件号")
private String partCode;
}

@ -1,9 +1,13 @@
package org.springblade.desk.quality.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.basic.pojo.vo.BaseEntityVO;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
@Data
@EqualsAndHashCode(callSuper = true)
public class ReviewSheetInitListVO extends ReviewSheet {
@Schema(description = "BaseEntityVO")
@ -26,8 +30,6 @@ public class ReviewSheetInitListVO extends ReviewSheet {
private String cardNo;
@Schema(description = "生产数量")
private Double poQty;
@Schema(description = "不合格数量")
private Short unqualifiedQty;
@Schema(description = "[生产处置单]模式 名称")
private String reviewOrderModeName;
@Schema(description = "打回[用户]真名")

@ -0,0 +1,24 @@
package org.springblade.desk.quality.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.basic.pojo.vo.BaseEntityVO;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
@Data
@EqualsAndHashCode(callSuper = true)
public class ReviewSheetRedoListVO extends ReviewSheet {
@Schema(description = "BaseEntityVO")
private BaseEntityVO base;
@Schema(description = "审理状态 名称")
private String reviewStatusName;
@Schema(description = "审理[用户]真名")
private String reviewUserRealName;
@Schema(description = "打回[用户]真名")
private String backUserRealName;
@Schema(description = "车间订单号")
private String woCode;
}

@ -0,0 +1,29 @@
package org.springblade.desk.quality.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.basic.pojo.vo.BaseEntityVO;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
@Data
@EqualsAndHashCode(callSuper = true)
public class ReviewSheetScrapListVO extends ReviewSheet {
@Schema(description = "BaseEntityVO")
private BaseEntityVO base;
@Schema(description = "审理状态 名称")
private String reviewStatusName;
@Schema(description = "审理[用户]真名")
private String reviewUserRealName;
@Schema(description = "打回[用户]真名")
private String backUserRealName;
@Schema(description = "车间订单号")
private String woCode;
@Schema(description = "供应商代码")
private String oemCode;
@Schema(description = "供应商名称")
private String oemName;
@Schema(description = "镀前价格")
private String priceBeforePlate;
}

@ -0,0 +1,41 @@
package org.springblade.desk.quality.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.basic.pojo.vo.BaseEntityVO;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
@Data
@EqualsAndHashCode(callSuper = true)
public class ReviewSheetSelfListVO extends ReviewSheet {
@Schema(description = "BaseEntityVO")
private BaseEntityVO base;
@Schema(description = "单据编号")
private String docCode;
@Schema(description = "车间订单号")
private String woCode;
@Schema(description = "产品编号")
private String prodCode;
@Schema(description = "产品名称")
private String prodName;
@Schema(description = "产品型号名称")
private String prodTypeName;
@Schema(description = "生产标识")
private String prodIdent;
@Schema(description = "批次号")
private String batchNo;
@Schema(description = "流程卡号")
private String cardNo;
@Schema(description = "生产数量")
private Double poQty;
@Schema(description = "[生产处置单]模式 名称")
private String reviewOrderModeName;
@Schema(description = "打回[用户]真名")
private String backUserRealName;
@Schema(description = "审理状态 名称")
private String reviewStatusName;
@Schema(description = "审理[用户]真名")
private String reviewUserRealName;
}

@ -3,6 +3,7 @@
*/
package org.springblade.desk.quality.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
@ -11,7 +12,7 @@ import java.io.Serial;
import java.util.List;
/**
* [生产处置单] 视图实体类
* [生产处置单] 视图实体类 detail详情
*
* @author Tom Shuo
* @since 2026-01-06
@ -22,13 +23,12 @@ public class ReviewSheetVO extends ReviewSheet {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "故障list")
private List<ReviewFaultVO> faultList;
@Schema(description = "故障删除ids")
private String faultDeleteIds = "";
@Schema(description = "责任零件list")
private List<ReviewDutyVO> dutyList;
private String dutyDeleteIds;
private List<ReviewFaultVO> faultList;
private String faultDeleteIds;
private Integer submitErpType;
@Schema(description = "责任零件删除ids")
private String dutyDeleteIds = "";
}

@ -3,6 +3,7 @@
*/
package org.springblade.desk.quality.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.WorkPlanItemDetail;
@ -18,7 +19,9 @@ import java.io.Serial;
@Data
@EqualsAndHashCode(callSuper = true)
public class WorkPlanItemDetailVO extends WorkPlanItemDetail {
@Serial
private static final long serialVersionUID = 1L;
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "[量具]名称")
private String mtName = "标尺1";
}

@ -0,0 +1,237 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.basic.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.excel.RelTeamSetUserExcel;
import org.springblade.desk.basic.pojo.entity.RelTeamSetUser;
import org.springblade.desk.basic.pojo.vo.RelTeamSetUserVO;
import org.springblade.desk.basic.service.IRelTeamSetUserService;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.wrapper.RelTeamSetUserWrapper;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* [班组用户关联] 控制器
*
* @author Tom Shuo
* @since 2026-01-13
*/
@RestController
@RequestMapping("/RelTeamSetUser")
@Data
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Slf4j
@Tag(name = "[班组用户关联]", description = "[班组用户关联]接口")
public class RelTeamSetUserController extends BladeController {
@Resource
private IRelTeamSetUserService service;
/**
* [班组用户关联] 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入RelTeamSetUser Obj")
public R<RelTeamSetUserVO> detail(RelTeamSetUser relTeamSetUser) {
QueryWrapper<RelTeamSetUser> qw = Condition.getQueryWrapper(relTeamSetUser);
RelTeamSetUser detail = service.getOne(qw);
RelTeamSetUserVO detailVO = RelTeamSetUserWrapper.build().entityVO(detail);
service.setVOValue(detailVO);
return R.data(detailVO);
}
/**
* [班组用户关联] list分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 20)
@Operation(summary = "list分页", description = "传入RelTeamSetUser Obj")
public R<IPage<RelTeamSetUserVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> relTeamSetUser,
Query query) {
QueryWrapper<RelTeamSetUser> qw = Condition.getQueryWrapper(relTeamSetUser, RelTeamSetUser.class);
IPage<RelTeamSetUser> pages = service.page(Condition.getPage(query), qw);
IPage<RelTeamSetUserVO> pagesVO = RelTeamSetUserWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(service::setVOValue)
.collect(Collectors.toList());
return R.data(pagesVO);
}
/**
* [班组用户关联] page分页
*/
@GetMapping("/page")
@ApiOperationSupport(order = 21)
@Operation(summary = "page分页", description = "传入RelTeamSetUser Obj")
public R<IPage<RelTeamSetUserVO>> page(RelTeamSetUserVO relTeamSetUser, Query query) {
IPage<RelTeamSetUserVO> pagesVO = service.selectRelTeamSetUserPage(
Condition.getPage(query), relTeamSetUser
);
return R.data(pagesVO);
}
/**
* [班组用户关联] list下拉选择
*/
@GetMapping("/listForSelect")
@ApiOperationSupport(order = 22)
@Operation(summary = "list下拉选择", description = "")
public R<List<RelTeamSetUserVO>> listForSelect() {
List<RelTeamSetUser> list = service.list();
List<RelTeamSetUserVO> listVO = RelTeamSetUserWrapper.build().listVO(list);
return R.data(listVO);
}
/**
* [班组用户关联] 新增一条
*/
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入RelTeamSetUser Obj")
public R save(@Valid @RequestBody RelTeamSetUser addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
}
/**
* [班组用户关联] 新增批量
*/
@PostMapping("/saveBat")
@ApiOperationSupport(order = 31)
@Operation(summary = "新增批量", description = "传入RelTeamSetUser List")
public R saveBat(@Valid @RequestBody List<RelTeamSetUser> addList) {
addList.forEach(one -> {
one.setId(null);
});
return R.status(service.saveBatch(addList));
}
/**
* [班组用户关联] 修改一条
*/
@PostMapping("/update")
@ApiOperationSupport(order = 40)
@Operation(summary = "修改一条", description = "传入RelTeamSetUser Obj")
public R update(@Valid @RequestBody RelTeamSetUser updateOne) {
return R.status(service.updateById(updateOne));
}
/**
* [班组用户关联] 修改批量
*/
@PostMapping("/updateBat")
@ApiOperationSupport(order = 41)
@Operation(summary = "修改批量", description = "传入RelTeamSetUser List")
public R updateBat(@Valid @RequestBody List<RelTeamSetUser> updateList) {
return R.status(service.updateBatchById(updateList));
}
/**
* [班组用户关联] 新增或修改一条
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 50)
@Operation(summary = "新增或修改一条", description = "传入RelTeamSetUser Obj")
public R submit(@Valid @RequestBody RelTeamSetUser mergeOne) {
return R.status(service.saveOrUpdate(mergeOne));
}
/**
* [班组用户关联] 新增或修改批量
*/
@PostMapping("/submitBat")
@ApiOperationSupport(order = 51)
@Operation(summary = "新增或修改批量", description = "传入RelTeamSetUser List")
public R submitBat(@Valid @RequestBody List<RelTeamSetUser> mergeList) {
return R.status(service.saveOrUpdateBatch(mergeList));
}
/**
* [班组用户关联] 逻辑删除
*/
@PostMapping("/remove")
@ApiOperationSupport(order = 61)
@Operation(summary = "逻辑删除", description = "传入ids")
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
return R.status(service.deleteLogic(Func.toLongList(ids)));
}
/**
* [班组用户关联] 导出Excel
*/
@GetMapping("/exportExcel")
@ApiOperationSupport(order = 70)
@Operation(summary = "导出Excel", description = "传入RelTeamSetUser")
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> relTeamSetUser,
BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<RelTeamSetUser> qw = Condition.getQueryWrapper(relTeamSetUser, RelTeamSetUser.class);
//if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(RelTeamSetUser::getTenantId, bladeUser.getTenantId());
//}
//queryWrapper.lambda().eq(RelTeamSetUserEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<RelTeamSetUserExcel> list = service.exportRelTeamSetUser(qw);
ExcelUtil.export(response, "[班组用户关联]数据" + DateUtil.time(),
"[班组用户关联]数据表", list, RelTeamSetUserExcel.class);
}
/**
* [班组用户关联] 下载Excel模板
*/
@GetMapping("/downloadExcelTemplate")
@ApiOperationSupport(order = 71)
@Operation(summary = "下载Excel模板", description = "")
public ResponseEntity<org.springframework.core.io.Resource> downloadExcelTemplate() {
return ExcelExtUtil.downloadXlsTemplate(
"Excel/QA/ImportTemplate-CycleTestItem.xls",
"导入模版-周期试验项目.xls");
}
/**
* [班组用户关联] 导入Excel
*/
@PostMapping("/importExcel")
@ApiOperationSupport(order = 72)
@Operation(summary = "导入Excel", description = "MultipartFile")
public R importExcel(@RequestParam("file") MultipartFile file) {
R checkR = ExcelExtUtil.importExcelCheck(file);
if (checkR != null) {
return checkR;
}
List<RelTeamSetUser> importList = ExcelUtil.read(
file, 0, 1, RelTeamSetUser.class
);
return R.status(service.saveBatch(importList));
}
}

@ -127,6 +127,19 @@ public class TeamSetController extends BladeController {
return R.data(listVO);
}
/**
* [班组] getOneByUserId
*/
@GetMapping("/getOneByUserId")
@ApiOperationSupport(order = 23)
@Operation(summary = "getOneByUserId", description = "")
public R<TeamSetVO> getOneByUserId(
@Parameter(description = "用户id", required = true) @RequestParam Long userId) {
TeamSet one = service.getOneByUserId(userId);
TeamSetVO vo = TeamSetWrapper.build().entityVO(one);
return R.data(vo);
}
/**
* [班组] 新增一条
*/

@ -0,0 +1,45 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.basic.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* [班组用户关联] Excel实体类
*
* @author Tom Shuo
* @since 2026-01-13
*/
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class RelTeamSetUserExcel implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* [班组]id
*/
@ColumnWidth(20)
@ExcelProperty("[班组]id")
private BigDecimal teamSetId;
/**
* [用户]id
*/
@ColumnWidth(20)
@ExcelProperty("[用户]id")
private BigDecimal userId;
}

@ -0,0 +1,40 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.basic.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.desk.basic.excel.RelTeamSetUserExcel;
import org.springblade.desk.basic.pojo.entity.RelTeamSetUser;
import org.springblade.desk.basic.pojo.vo.RelTeamSetUserVO;
import java.util.List;
/**
* [班组用户关联] Mapper 接口
*
* @author Tom Shuo
* @since 2026-01-13
*/
public interface RelTeamSetUserMapper extends BaseMapper<RelTeamSetUser> {
/**
* 自定义分页
*
* @param page 分页参数
* @param relTeamSetUser 查询参数
* @return List<RelTeamSetUserVO>
*/
List<RelTeamSetUserVO> selectRelTeamSetUserPage(IPage page, RelTeamSetUserVO relTeamSetUser);
/**
* 获取导出数据
*
* @param queryWrapper 查询条件
* @return List<RelTeamSetUserExcel>
*/
List<RelTeamSetUserExcel> exportRelTeamSetUser(@Param("ew") Wrapper<RelTeamSetUser> queryWrapper);
}

@ -0,0 +1,18 @@
<?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.springblade.desk.basic.mapper.RelTeamSetUserMapper">
<!-- 通用查询映射结果 -->
<resultMap id="relTeamSetUserResultMap" type="org.springblade.desk.basic.pojo.entity.RelTeamSetUser">
<result column="TEAM_SET_ID" property="teamSetId"/>
<result column="USER_ID" property="userId"/>
</resultMap>
<select id="selectRelTeamSetUserPage" resultMap="relTeamSetUserResultMap">
SELECT * FROM BA_REL_TEAM_SET_USER WHERE is_deleted = 0
</select>
<select id="exportRelTeamSetUser" resultType="org.springblade.desk.basic.excel.RelTeamSetUserExcel">
SELECT * FROM BA_REL_TEAM_SET_USER ${ew.customSqlSegment}
</select>
</mapper>

@ -0,0 +1,44 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.basic.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.basic.excel.RelTeamSetUserExcel;
import org.springblade.desk.basic.pojo.entity.RelTeamSetUser;
import org.springblade.desk.basic.pojo.vo.RelTeamSetUserVO;
import java.util.List;
/**
* [班组用户关联] 服务类
*
* @author Tom Shuo
* @since 2026-01-13
*/
public interface IRelTeamSetUserService extends BaseService<RelTeamSetUser> {
/**
* 自定义分页
*
* @param page 分页参数
* @param relTeamSetUser 查询参数
* @return IPage<RelTeamSetUserVO>
*/
IPage<RelTeamSetUserVO> selectRelTeamSetUserPage(IPage<RelTeamSetUserVO> page, RelTeamSetUserVO relTeamSetUser);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<RelTeamSetUserExcel>
*/
List<RelTeamSetUserExcel> exportRelTeamSetUser(Wrapper<RelTeamSetUser> queryWrapper);
/**
* VO
* @param vo
*/
void setVOValue(RelTeamSetUserVO vo);
}

@ -6,9 +6,11 @@ package org.springblade.desk.basic.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.excel.TeamSetExcel;
import org.springblade.desk.basic.pojo.entity.TeamSet;
import org.springblade.desk.basic.pojo.vo.TeamSetVO;
import org.springblade.system.pojo.entity.User;
import java.util.List;
@ -19,20 +21,76 @@ import java.util.List;
* @since 2025-12-16
*/
public interface ITeamSetService extends BaseService<TeamSet> {
/**
* 自定义分页
*
* @param page 分页参数
* @param teamSet 查询参数
* @return IPage<TeamSetVO>
*/
IPage<TeamSetVO> selectTeamSetPage(IPage<TeamSetVO> page, TeamSetVO teamSet);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<TeamSetExcel>
*/
List<TeamSetExcel> exportTeamSet(Wrapper<TeamSet> queryWrapper);
/**
* 自定义分页
*
* @param page 分页参数
* @param teamSet 查询参数
* @return IPage<TeamSetVO>
*/
IPage<TeamSetVO> selectTeamSetPage(IPage<TeamSetVO> page, TeamSetVO teamSet);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<TeamSetExcel>
*/
List<TeamSetExcel> exportTeamSet(Wrapper<TeamSet> queryWrapper);
/**
*
* @param id [班组]id
* @return 用户 list
*/
List<User> listUserByTeamId(Long id);
/**
*
* @param userId [用户]id
* @return 用户所在班组 list
*/
List<TeamSet> listByUserId(Long userId);
/**
*
* @param userId [用户]id
* @return 用户所在班组
*/
TeamSet getOneByUserId(Long userId);
/**
* 设置 班组成员
*
* @param ids
* @return
*/
R setUsers(String ids);
/**
* 设置 日分派时间
*
* @param id
* @param dayPutDueTime
* @return
*/
R setDayPutDueTime(Long id, String dayPutDueTime);
/**
* 设置 特殊日分派时间
*
* @param id
* @param specDayPutDueTime
* @return
*/
R setSpecDayPutDueTime(Long id, String specDayPutDueTime);
/**
* 设置 轮换时间
*
* @param id
* @param exChangeTime
* @return
*/
R setExChangeTime(Long id, String exChangeTime);
}

@ -0,0 +1,61 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jakarta.annotation.Resource;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.desk.basic.excel.RelTeamSetUserExcel;
import org.springblade.desk.basic.mapper.RelTeamSetUserMapper;
import org.springblade.desk.basic.pojo.entity.RelTeamSetUser;
import org.springblade.desk.basic.pojo.vo.RelTeamSetUserVO;
import org.springblade.desk.basic.service.IRelTeamSetUserService;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.IUserClient;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* [班组用户关联] 服务实现类
*
* @author Tom Shuo
* @since 2026-01-13
*/
@Service
@Data
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Slf4j
public class RelTeamSetUserServiceImpl extends BaseServiceImpl<RelTeamSetUserMapper, RelTeamSetUser> implements IRelTeamSetUserService {
@Resource
private IUserClient userClient;
@Resource
private IDictClient dictClient;
@Override
public IPage<RelTeamSetUserVO> selectRelTeamSetUserPage(IPage<RelTeamSetUserVO> page, RelTeamSetUserVO relTeamSetUser) {
return page.setRecords(baseMapper.selectRelTeamSetUserPage(page, relTeamSetUser));
}
@Override
public List<RelTeamSetUserExcel> exportRelTeamSetUser(Wrapper<RelTeamSetUser> queryWrapper) {
List<RelTeamSetUserExcel> relTeamSetUserList = baseMapper.exportRelTeamSetUser(queryWrapper);
//relTeamSetUserList.forEach(relTeamSetUser -> {
// relTeamSetUser.setTypeName(DictCache.getValue(DictEnum.YES_NO, RelTeamSetUser.getType()));
//});
return relTeamSetUserList;
}
@Override
public void setVOValue(RelTeamSetUserVO vo) {
}
}

@ -4,18 +4,30 @@
package org.springblade.desk.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.excel.TeamSetExcel;
import org.springblade.desk.basic.mapper.TeamSetMapper;
import org.springblade.desk.basic.pojo.entity.RelTeamSetUser;
import org.springblade.desk.basic.pojo.entity.TeamSet;
import org.springblade.desk.basic.pojo.vo.TeamSetVO;
import org.springblade.desk.basic.service.IRelTeamSetUserService;
import org.springblade.desk.basic.service.ITeamSetService;
import org.springblade.desk.order.pojo.entity.YieldPlan;
import org.springblade.system.pojo.entity.User;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
@ -30,17 +42,69 @@ import java.util.List;
@EqualsAndHashCode(callSuper = true)
public class TeamSetServiceImpl extends BaseServiceImpl<TeamSetMapper, TeamSet> implements ITeamSetService {
@Override
public IPage<TeamSetVO> selectTeamSetPage(IPage<TeamSetVO> page, TeamSetVO teamSet) {
return page.setRecords(baseMapper.selectTeamSetPage(page, teamSet));
}
@Override
public List<TeamSetExcel> exportTeamSet(Wrapper<TeamSet> queryWrapper) {
List<TeamSetExcel> teamSetList = baseMapper.exportTeamSet(queryWrapper);
//teamSetList.forEach(teamSet -> {
// teamSet.setTypeName(DictCache.getValue(DictEnum.YES_NO, TeamSet.getType()));
//});
return teamSetList;
}
@Resource
private IRelTeamSetUserService relTeamSetUserService;
@Override
public IPage<TeamSetVO> selectTeamSetPage(IPage<TeamSetVO> page, TeamSetVO teamSet) {
return page.setRecords(baseMapper.selectTeamSetPage(page, teamSet));
}
@Override
public List<TeamSetExcel> exportTeamSet(Wrapper<TeamSet> queryWrapper) {
List<TeamSetExcel> teamSetList = baseMapper.exportTeamSet(queryWrapper);
//teamSetList.forEach(teamSet -> {
// teamSet.setTypeName(DictCache.getValue(DictEnum.YES_NO, TeamSet.getType()));
//});
return teamSetList;
}
@Override
public List<User> listUserByTeamId(Long teamId) {
return List.of();
}
@Override
public List<TeamSet> listByUserId(Long userId) {
LambdaQueryWrapper<RelTeamSetUser> qw = Wrappers.lambdaQuery(RelTeamSetUser.class)
.ne(RelTeamSetUser::getUserId, userId);
List<RelTeamSetUser> rList = relTeamSetUserService.list(qw);
List<TeamSet> tsList = new ArrayList<>();
for (RelTeamSetUser rel : rList) {
TeamSet ts = getById(rel.getTeamSetId());
tsList.add(ts);
}
return tsList;
}
@Override
public TeamSet getOneByUserId(Long userId) {
return listByUserId(userId).get(0);
}
@Override
public R setUsers(String ids) {
return null;
}
@Override
public R setDayPutDueTime(Long id, String dayPutDueTime) {
TeamSet f = getById(id);
f.setDayPutDueTime(dayPutDueTime);
return R.status(updateById(f));
}
@Override
public R setSpecDayPutDueTime(Long id, String specDayPutDueTime) {
TeamSet f = getById(id);
f.setSpecDayPutDueTime(specDayPutDueTime);
return R.status(updateById(f));
}
@Override
public R setExChangeTime(Long id, String exChangeTime) {
TeamSet f = getById(id);
f.setExChangeTime(exChangeTime);
return R.status(updateById(f));
}
}

@ -0,0 +1,36 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.basic.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.desk.basic.pojo.entity.RelTeamSetUser;
import org.springblade.desk.basic.pojo.vo.RelTeamSetUserVO;
import java.util.Objects;
/**
* [班组用户关联] 包装类,返回视图层所需的字段
*
* @author Tom Shuo
* @since 2026-01-13
*/
public class RelTeamSetUserWrapper extends BaseEntityWrapper<RelTeamSetUser, RelTeamSetUserVO> {
public static RelTeamSetUserWrapper build() {
return new RelTeamSetUserWrapper();
}
@Override
public RelTeamSetUserVO entityVO(RelTeamSetUser relTeamSetUser) {
RelTeamSetUserVO VO = Objects.requireNonNull(BeanUtil.copyProperties(relTeamSetUser, RelTeamSetUserVO.class));
//User createUser = UserCache.getUser(relTeamSetUser.getCreateUser());
//User updateUser = UserCache.getUser(relTeamSetUser.getUpdateUser());
//relTeamSetUserVO.setCreateUserName(createUser.getName());
//relTeamSetUserVO.setUpdateUserName(updateUser.getName());
return VO;
}
}

@ -5,22 +5,62 @@ package org.springblade.desk.quality.constant;
*/
public interface ReviewSheetConst {
/**
* 新建
*/
Integer S_NEW = 1;
/**
* 打回
*/
Integer S_REPULSE = 3;
/**
* 审理中
*/
Integer S_HEAR = 6;
/**
* 审理完成
*/
Integer S_COMPLETE = 10;
Integer S_INIT = 0;
// [1]:内部审理返修;[2]:内部审理报废;[3]:ERP审理;
interface BizType {
Integer T_1 = 1;
Integer T_2 = 2;
Integer T_3 = 3;
}
interface ERP {
/**
* 新建
*/
Integer S_NEW = 1;
/**
* 打回
*/
Integer S_REPULSE = 3;
/**
* 审理中
*/
Integer S_HEAR = 6;
/**
* 审理完成
*/
Integer S_COMPLETE = 10;
/**
* 让步接收
*/
Integer REVIEW_STATUS_3 = 3;
/**
* 返工
*/
Integer REVIEW_STATUS_4 = 4;
/**
* 返修
*/
Integer REVIEW_STATUS_5 = 5;
/**
* 报废
*/
Integer REVIEW_STATUS_6 = 6;
/**
* 挑出报废
*/
Integer REVIEW_STATUS_7 = 7;
/**
* 退库更换
*/
Integer REVIEW_STATUS_8 = 8;
/**
* 退回
*/
Integer REVIEW_STATUS_15 = 15;
}
/**
@ -35,34 +75,4 @@ public interface ReviewSheetConst {
* 售后模式
*/
Integer MODE_AFTER_SALES = 3;
/**
* 让步接收
*/
Integer REVIEW_STATUS_3 = 3;
/**
* 返工
*/
Integer REVIEW_STATUS_4 = 4;
/**
* 返修
*/
Integer REVIEW_STATUS_5 = 5;
/**
* 报废
*/
Integer REVIEW_STATUS_6 = 6;
/**
* 挑出报废
*/
Integer REVIEW_STATUS_7 = 7;
/**
* 退库更换
*/
Integer REVIEW_STATUS_8 = 8;
/**
* 退回
*/
Integer REVIEW_STATUS_15 = 15;
}

@ -22,6 +22,7 @@ import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.pojo.vo.UrlVO;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.InspectionTaskExcel;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
@ -29,11 +30,14 @@ import org.springblade.desk.quality.pojo.request.InspectionTaskSearch;
import org.springblade.desk.quality.pojo.request.InspectionTaskStartNew;
import org.springblade.desk.quality.pojo.vo.InspectionTaskDetailVO;
import org.springblade.desk.quality.pojo.vo.InspectionTaskListVO;
import org.springblade.desk.quality.pojo.vo.InspectionTaskSubPartVO;
import org.springblade.desk.quality.service.IInspectionTaskService;
import org.springblade.desk.quality.service.InspectionTaskService2;
import org.springblade.desk.quality.wrapper.InspectionTaskDetailWrapper;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.view.RedirectView;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -189,4 +193,35 @@ public class InspectionTaskController extends BladeController {
@Parameter(hidden = true) @RequestParam Long targetId) {
return service.sameResultCopy(sourceId, targetId);
}
/**
* 工序名称为 烧结包装防护页面展示内容
* [检验任务] 特殊 子件列表
*/
@GetMapping("/subPartList")
@ApiOperationSupport(order = 101)
@Operation(summary = "烧结包装防护-子件列表", description = "传入inspectionTask id")
public R subPartList(@Parameter(hidden = true) @RequestParam Long id) {
// todo: 车间订单关联查询
List<InspectionTaskSubPartVO> list = new ArrayList<>();
list.add(new InspectionTaskSubPartVO());
list.add(new InspectionTaskSubPartVO());
return R.data(list);
}
@GetMapping("/toQaRecord")
@ApiOperationSupport(order = 101)
@Operation(summary = "跳转-质量记录", description = "传入inspectionTask id")
public R toQaRecord(@Parameter(hidden = true) @RequestParam Long id) {
String url = "https://www.baidu.com" + "?id=" + id;
return R.data(new UrlVO(url));
}
@GetMapping("/toCertificate")
@ApiOperationSupport(order = 101)
@Operation(summary = "跳转-合格证", description = "传入inspectionTask id")
public R toCertificate(@Parameter(hidden = true) @RequestParam Long id) {
String url = "https://www.baidu.com" + "?id=" + id;
return R.data(new UrlVO(url));
}
}

@ -28,22 +28,30 @@ import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.constant.ReviewSheetConst;
import org.springblade.desk.quality.excel.ReviewSheetExcel;
import org.springblade.desk.quality.pojo.entity.ReviewDuty;
import org.springblade.desk.quality.pojo.entity.ReviewFault;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
import org.springblade.desk.quality.pojo.request.ReviewSheetInitSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetRedoSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetScrapSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetSelfSearch;
import org.springblade.desk.quality.pojo.vo.ReviewDutyVO;
import org.springblade.desk.quality.pojo.vo.ReviewFaultVO;
import org.springblade.desk.quality.pojo.vo.ReviewSheetInitListVO;
import org.springblade.desk.quality.pojo.vo.ReviewSheetVO;
import org.springblade.desk.quality.service.IReviewDutyService;
import org.springblade.desk.quality.service.IReviewFaultService;
import org.springblade.desk.quality.service.IReviewSheetService;
import org.springblade.desk.quality.wrapper.ReviewDutyWrapper;
import org.springblade.desk.quality.wrapper.ReviewSheetInitListWrapper;
import org.springblade.desk.quality.wrapper.ReviewSheetWrapper;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -87,48 +95,56 @@ public class ReviewSheetController extends BladeController {
/**
* [生产处置单] list分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 20)
@Operation(summary = "list分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> reviewSheet,
Query query) {
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(reviewSheet, ReviewSheet.class);
IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
IPage<ReviewSheetVO> pagesVO = ReviewSheetWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(service::setVOValue)
.collect(Collectors.toList());
return R.data(pagesVO);
}
// @GetMapping("/list")
// @ApiOperationSupport(order = 20)
// @Operation(summary = "list分页", description = "传入ReviewSheet Obj")
// public R<IPage<ReviewSheetVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> reviewSheet,
// Query query) {
// QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(reviewSheet, ReviewSheet.class);
// IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
// IPage<ReviewSheetVO> pagesVO = ReviewSheetWrapper.build().pageVO(pages);
// pagesVO.getRecords()
// .stream()
// .peek(service::setVOValue)
// .collect(Collectors.toList());
// return R.data(pagesVO);
// }
/**
*
*
* [生产处置单] list分页
*/
@GetMapping("/listInit")
@PostMapping("/listInit")
@ApiOperationSupport(order = 20)
@Operation(summary = "生产处置单list分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetVO>> listInit(@Parameter(hidden = true) @RequestParam Map<String, Object> reviewSheet,
Query query) {
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(reviewSheet, ReviewSheet.class);
public R<IPage<ReviewSheetInitListVO>> listInit(@Parameter(hidden = true) @RequestParam(required = false)
ReviewSheetInitSearch search, Query query) {
Map demo = new HashMap();
demo.put("status", ReviewSheetConst.S_INIT);
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
IPage<ReviewSheetVO> pagesVO = ReviewSheetWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(service::setVOValue)
.collect(Collectors.toList());
IPage<ReviewSheetInitListVO> pagesVO = ReviewSheetInitListWrapper.build().pageVO(pages);
// todo:
// pagesVO.getRecords()
// .stream()
// .peek(service::setVOValue)
// .collect(Collectors.toList());
return R.data(pagesVO);
}
/**
* [生产处置单] list分页
* [生产处置单] 返工审理list分页
*/
@GetMapping("/listRedo")
@PostMapping("/listRedo")
@ApiOperationSupport(order = 20)
@Operation(summary = "返工审理list分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetVO>> listRedo(@Parameter(hidden = true) @RequestParam Map<String, Object> reviewSheet,
Query query) {
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(reviewSheet, ReviewSheet.class);
public R<IPage<ReviewSheetVO>> listRedo(@Parameter(hidden = true) @RequestParam(required = false)
ReviewSheetRedoSearch search, Query query) {
Map demo = new HashMap();
demo.put("bizType", ReviewSheetConst.BizType.T_1);
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
IPage<ReviewSheetVO> pagesVO = ReviewSheetWrapper.build().pageVO(pages);
pagesVO.getRecords()
@ -139,14 +155,16 @@ public class ReviewSheetController extends BladeController {
}
/**
* [生产处置单] list分页
* [生产处置单] 返工审理list分页
*/
@GetMapping("/listScrap")
@PostMapping("/listScrap")
@ApiOperationSupport(order = 20)
@Operation(summary = "返工审理list分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetVO>> listScrap(@Parameter(hidden = true) @RequestParam Map<String, Object> reviewSheet,
Query query) {
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(reviewSheet, ReviewSheet.class);
public R<IPage<ReviewSheetVO>> listScrap(@Parameter(hidden = true) @RequestParam(required = false)
ReviewSheetScrapSearch search, Query query) {
Map demo = new HashMap();
demo.put("bizType", ReviewSheetConst.BizType.T_2);
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
IPage<ReviewSheetVO> pagesVO = ReviewSheetWrapper.build().pageVO(pages);
pagesVO.getRecords()
@ -159,12 +177,14 @@ public class ReviewSheetController extends BladeController {
/**
* [生产处置单] list分页
*/
@GetMapping("/listInternal")
@PostMapping("/listSelf")
@ApiOperationSupport(order = 20)
@Operation(summary = "内部list分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetVO>> listInternal(@Parameter(hidden = true) @RequestParam Map<String, Object> reviewSheet,
Query query) {
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(reviewSheet, ReviewSheet.class);
public R<IPage<ReviewSheetVO>> listSelf(@Parameter(hidden = true) @RequestParam(required = false)
ReviewSheetSelfSearch search, Query query) {
Map demo = new HashMap();
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
qw.in("bizType", ReviewSheetConst.BizType.T_1, ReviewSheetConst.BizType.T_2);
IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
IPage<ReviewSheetVO> pagesVO = ReviewSheetWrapper.build().pageVO(pages);
pagesVO.getRecords()
@ -177,12 +197,13 @@ public class ReviewSheetController extends BladeController {
/**
* [生产处置单] list分页
*/
@GetMapping("/listErp")
@PostMapping("/listErp")
@ApiOperationSupport(order = 20)
@Operation(summary = "ERPlist分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetVO>> listErp(@Parameter(hidden = true) @RequestParam Map<String, Object> reviewSheet,
Query query) {
Query query) {
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(reviewSheet, ReviewSheet.class);
qw.eq("bizType", ReviewSheetConst.BizType.T_3);
IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
IPage<ReviewSheetVO> pagesVO = ReviewSheetWrapper.build().pageVO(pages);
pagesVO.getRecords()
@ -195,15 +216,15 @@ public class ReviewSheetController extends BladeController {
/**
* [生产处置单] page分页
*/
@GetMapping("/page")
@ApiOperationSupport(order = 21)
@Operation(summary = "page分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetVO>> page(ReviewSheetVO reviewSheet, Query query) {
IPage<ReviewSheetVO> pagesVO = service.selectReviewSheetPage(
Condition.getPage(query), reviewSheet
);
return R.data(pagesVO);
}
// @GetMapping("/page")
// @ApiOperationSupport(order = 21)
// @Operation(summary = "page分页", description = "传入ReviewSheet Obj")
// public R<IPage<ReviewSheetVO>> page(ReviewSheetVO reviewSheet, Query query) {
// IPage<ReviewSheetVO> pagesVO = service.selectReviewSheetPage(
// Condition.getPage(query), reviewSheet
// );
// return R.data(pagesVO);
// }
/**
* [生产处置单] list下拉选择
@ -379,4 +400,14 @@ public class ReviewSheetController extends BladeController {
);
return R.status(service.saveBatch(importList));
}
/**
* [生产处置单] 修改一条
*/
@PostMapping("/fill")
@ApiOperationSupport(order = 40)
@Operation(summary = "fill", description = "ReviewSheetVO Obj")
public R fill(@Valid @RequestBody ReviewSheetVO vo) {
return service.fill(vo);
}
}

@ -9,6 +9,7 @@ import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.quality.excel.ReviewDutyExcel;
import org.springblade.desk.quality.pojo.entity.ReviewDuty;
import org.springblade.desk.quality.pojo.vo.ReviewDutyVO;
import org.springblade.desk.quality.pojo.vo.ReviewFaultVO;
import java.util.List;
@ -54,4 +55,6 @@ public interface IReviewDutyService extends BaseService<ReviewDuty> {
* @date 2022-12-20 15:01
*/
List<ReviewDuty> listByRsId(Long rsId);
List<ReviewDutyVO> listVOByRsId(Long rsId);
}

@ -53,4 +53,6 @@ public interface IReviewFaultService extends BaseService<ReviewFault> {
* @date 2022-12-20 15:06
*/
List<ReviewFault> listByRsId(Long rsId);
List<ReviewFaultVO> listVOByRsId(Long rsId);
}

@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.service.en.EnBaseService;
import org.springblade.desk.quality.excel.ReviewSheetExcel;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
@ -131,5 +132,7 @@ public interface IReviewSheetService extends EnBaseService<ReviewSheet> {
*/
void deleteReviewOrder(String trialId) throws Exception;
R fill(ReviewSheetVO vo);
}

@ -221,17 +221,25 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
if (!InspectionTaskConst.CHECK_RESULT_TODO.equals(wpItem.getCheckResult())) {
BladeUser bu = AuthUtil.getUser();
if (bu != null) {
log.info("bu = {}", bu);
wpItem.setCheckUserId(bu.getUserId());
}
wpItem.setCheckDate(LocalDateTime.now());
}
// 更新 WorkPlanItem
wpItemService.updateById(wpItem);
//
for (WorkPlanItemDetailVO wpItemDetailVO : wpItemVO.getWpItemDetailList()) {
WorkPlanItemDetail wpItemDetail = new WorkPlanItemDetail();
BeanUtil.copyProperties(wpItemDetailVO, wpItemDetail);
// 更新 WorkPlanItemDetail
wpItemDetailService.updateById(wpItemDetail);
wpItemDetail.setWorkPlanItemId(wpItem.getId());
if (IdUtil.isValid(wpItemDetail.getId())) {
// 更新 WorkPlanItemDetail
wpItemDetailService.updateById(wpItemDetail);
} else {
// 保存
wpItemDetailService.save(wpItemDetail);
}
}
}
//

@ -18,8 +18,12 @@ import org.springblade.desk.order.pojo.entity.YieldOrderCraft;
import org.springblade.desk.quality.excel.ReviewDutyExcel;
import org.springblade.desk.quality.mapper.ReviewDutyMapper;
import org.springblade.desk.quality.pojo.entity.ReviewDuty;
import org.springblade.desk.quality.pojo.entity.ReviewFault;
import org.springblade.desk.quality.pojo.vo.ReviewDutyVO;
import org.springblade.desk.quality.pojo.vo.ReviewFaultVO;
import org.springblade.desk.quality.service.IReviewDutyService;
import org.springblade.desk.quality.wrapper.ReviewDutyWrapper;
import org.springblade.desk.quality.wrapper.ReviewFaultWrapper;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.IUserClient;
import org.springframework.stereotype.Service;
@ -71,4 +75,17 @@ public class ReviewDutyServiceImpl extends BaseServiceImpl<ReviewDutyMapper, Rev
.eq(ReviewDuty::getIsDeleted, CommonConstant.DELETE_FALSE);
return baseMapper.selectList(queryWrapper);
}
@Override
public List<ReviewDutyVO> listVOByRsId(Long rsId) {
LambdaQueryWrapper<ReviewDuty> queryWrapper = Wrappers.lambdaQuery(ReviewDuty.class)
.eq(ReviewDuty::getReviewSheetId, rsId)
.eq(ReviewDuty::getIsDeleted, CommonConstant.DELETE_FALSE);
List<ReviewDuty> list = baseMapper.selectList(queryWrapper);
List<ReviewDutyVO> listVO = ReviewDutyWrapper.build().listVO(list);
for (ReviewDutyVO vo : listVO) {
setVOValue(vo);
}
return listVO;
}
}

@ -19,12 +19,15 @@ import org.springblade.desk.quality.mapper.ReviewFaultMapper;
import org.springblade.desk.quality.pojo.entity.ReviewDuty;
import org.springblade.desk.quality.pojo.entity.ReviewFault;
import org.springblade.desk.quality.pojo.vo.ReviewFaultVO;
import org.springblade.desk.quality.service.INgService;
import org.springblade.desk.quality.service.IReviewFaultService;
import org.springblade.desk.quality.wrapper.ReviewFaultWrapper;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.IUserClient;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
/**
* [生产处置单-问题故障] 服务实现类
@ -44,24 +47,28 @@ public class ReviewFaultServiceImpl extends BaseServiceImpl<ReviewFaultMapper, R
private IUserClient userClient;
@Resource
private IDictClient dictClient;
@Resource
private INgService ngService;
@Override
public IPage<ReviewFaultVO> selectReviewFaultPage(IPage<ReviewFaultVO> page, ReviewFaultVO reviewFault) {
return page.setRecords(baseMapper.selectReviewFaultPage(page, reviewFault));
}
@Override
public IPage<ReviewFaultVO> selectReviewFaultPage(IPage<ReviewFaultVO> page, ReviewFaultVO reviewFault) {
return page.setRecords(baseMapper.selectReviewFaultPage(page, reviewFault));
}
@Override
public List<ReviewFaultExcel> exportReviewFault(Wrapper<ReviewFault> queryWrapper) {
List<ReviewFaultExcel> reviewFaultList = baseMapper.exportReviewFault(queryWrapper);
//reviewFaultList.forEach(reviewFault -> {
// reviewFault.setTypeName(DictCache.getValue(DictEnum.YES_NO, ReviewFault.getType()));
//});
return reviewFaultList;
}
@Override
public List<ReviewFaultExcel> exportReviewFault(Wrapper<ReviewFault> queryWrapper) {
List<ReviewFaultExcel> reviewFaultList = baseMapper.exportReviewFault(queryWrapper);
//reviewFaultList.forEach(reviewFault -> {
// reviewFault.setTypeName(DictCache.getValue(DictEnum.YES_NO, ReviewFault.getType()));
//});
return reviewFaultList;
}
@Override
@Override
public void setVOValue(ReviewFaultVO vo) {
vo.setNgType2Name(ngService.getById(vo.getNgType2Id()).getName());
vo.setNgType3Name(ngService.getById(vo.getNgType3Id()).getName());
vo.setNgType4Name(ngService.getById(vo.getNgType4Id()).getName());
}
@Override
@ -71,4 +78,17 @@ public class ReviewFaultServiceImpl extends BaseServiceImpl<ReviewFaultMapper, R
.eq(ReviewFault::getIsDeleted, CommonConstant.DELETE_FALSE);
return baseMapper.selectList(queryWrapper);
}
@Override
public List<ReviewFaultVO> listVOByRsId(Long rsId) {
LambdaQueryWrapper<ReviewFault> queryWrapper = Wrappers.lambdaQuery(ReviewFault.class)
.eq(ReviewFault::getReviewSheetId, rsId)
.eq(ReviewFault::getIsDeleted, CommonConstant.DELETE_FALSE);
List<ReviewFault> list = baseMapper.selectList(queryWrapper);
List<ReviewFaultVO> listVO = ReviewFaultWrapper.build().listVO(list);
for (ReviewFaultVO vo : listVO) {
setVOValue(vo);
}
return listVO;
}
}

@ -3,6 +3,7 @@
*/
package org.springblade.desk.quality.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -15,28 +16,28 @@ import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.service.en.impl.EnBaseServiceImpl;
import org.springblade.desk.basic.util.IdUtil;
import org.springblade.desk.device.pojo.entity.FeiBaSetEntity;
import org.springblade.desk.quality.constant.InspectionTaskConst;
import org.springblade.desk.quality.constant.ReviewSheetConst;
import org.springblade.desk.quality.excel.ReviewSheetExcel;
import org.springblade.desk.quality.mapper.ReviewSheetMapper;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springblade.desk.quality.pojo.entity.ReviewDuty;
import org.springblade.desk.quality.pojo.entity.ReviewFault;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
import org.springblade.desk.quality.pojo.vo.PpmReportDetailModel;
import org.springblade.desk.quality.pojo.vo.PrintChildReviewSheet;
import org.springblade.desk.quality.pojo.vo.ReviewSheetVO;
import org.springblade.desk.quality.pojo.vo.*;
import org.springblade.desk.quality.service.IInspectionTaskService;
import org.springblade.desk.quality.service.IReviewDutyService;
import org.springblade.desk.quality.service.IReviewFaultService;
import org.springblade.desk.quality.service.IReviewSheetService;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.IUserClient;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
/**
@ -55,6 +56,10 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
@Resource
private IInspectionTaskService taskService;
@Resource
private IReviewFaultService faultService;
@Resource
private IReviewDutyService dutyService;
@Resource
private IUserClient userClient;
@ -77,7 +82,8 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
@Override
public void setVOValue(ReviewSheetVO vo) {
vo.setFaultList(faultService.listVOByRsId(vo.getId()));
vo.setDutyList(dutyService.listVOByRsId(vo.getId()));
}
/**
@ -103,7 +109,7 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
}
LambdaQueryWrapper<ReviewSheet> qw = Wrappers.lambdaQuery();
qw.eq(ReviewSheet::getWcId, wcId);
qw.in(ReviewSheet::getStatus, ReviewSheetConst.S_NEW, ReviewSheetConst.S_HEAR);
qw.in(ReviewSheet::getStatus, ReviewSheetConst.ERP.S_NEW, ReviewSheetConst.ERP.S_HEAR);
qw.orderByAsc(ReviewSheet::getRsCode);
return baseMapper.selectList(qw);
}
@ -115,7 +121,7 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
}
LambdaQueryWrapper<ReviewSheet> qw = Wrappers.lambdaQuery();
qw.eq(ReviewSheet::getWpId, wpId);
qw.eq(ReviewSheet::getStatus, ReviewSheetConst.S_HEAR);
qw.eq(ReviewSheet::getStatus, ReviewSheetConst.ERP.S_HEAR);
return baseMapper.selectOne(qw);
}
@ -145,7 +151,7 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
rs.setMemo(memo);
rs.setReviewDate(LocalDateTime.now());
rs.setReviewStatus((int) resultStatus); // todo:
rs.setStatus(ReviewSheetConst.S_COMPLETE);
rs.setStatus(ReviewSheetConst.ERP.S_COMPLETE);
// 装配模式
if (ReviewSheetConst.MODE_ASSEMBLY.equals(rs.getReviewOrderMode())) {
@ -174,6 +180,32 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
// todo:
}
@Override
public R fill(ReviewSheetVO vo) {
// 关联rsId
for (ReviewFaultVO voF : vo.getFaultList()) {
voF.setReviewSheetId(vo.getId());
}
if (StringUtils.isNotBlank(vo.getFaultDeleteIds())) {
faultService.deleteLogic(Func.toLongList(vo.getFaultDeleteIds()));
}
List<ReviewFault> listF = BeanUtil.copyToList(vo.getFaultList(), ReviewFault.class);
faultService.saveOrUpdateBatch(listF);
// 关联rsId
for (ReviewDutyVO voD : vo.getDutyList()) {
voD.setReviewSheetId(vo.getId());
}
if (StringUtils.isNotBlank(vo.getDutyDeleteIds())) {
dutyService.deleteLogic(Func.toLongList(vo.getDutyDeleteIds()));
}
List<ReviewDuty> listD = BeanUtil.copyToList(vo.getDutyList(), ReviewDuty.class);
dutyService.saveOrUpdateBatch(listD);
ReviewSheet bs = BeanUtil.copyProperties(vo, ReviewSheet.class);
// ReviewSheetVO
saveOrUpdate(bs);
return R.success("");
}
@Override
public ReviewSheet getByRsCode(String rsCode) {
LambdaQueryWrapper<ReviewSheet> qw = Wrappers.lambdaQuery();

@ -15,6 +15,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.util.IdUtil;
import org.springblade.desk.quality.constant.InspectionItemConst;
import org.springblade.desk.quality.excel.WorkPlanItemExcel;
import org.springblade.desk.quality.mapper.WorkPlanItemMapper;
@ -82,9 +83,11 @@ public class WorkPlanItemServiceImpl extends BaseServiceImpl<WorkPlanItemMapper,
@Override
public void setVOValue(WorkPlanItemVO vo) {
R<UserInfo> rUI = userClient.userInfo(vo.getCheckUserId());
if (rUI != null && rUI.isSuccess() && rUI.getData().getUser() != null) {
vo.setCheckUserRealName(rUI.getData().getUser().getRealName());
if (IdUtil.isValid(vo.getCheckUserId())) {
R<UserInfo> rUI = userClient.userInfo(vo.getCheckUserId());
if (rUI != null && rUI.isSuccess() && rUI.getData().getUser() != null) {
vo.setCheckUserRealName(rUI.getData().getUser().getRealName());
}
}
{
InspectionItem item = inspectionItemService.getById(vo.getItemId());

@ -0,0 +1,37 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
import org.springblade.desk.quality.pojo.vo.ReviewSheetErpListVO;
import org.springblade.desk.quality.pojo.vo.ReviewSheetInitListVO;
import java.util.Objects;
/**
* [生产处置单] 包装类,返回视图层所需的字段
*
* @author Tom Shuo
* @since 2026-01-06
*/
public class ReviewSheetErpListWrapper extends BaseEntityWrapper<ReviewSheet, ReviewSheetErpListVO> {
public static ReviewSheetErpListWrapper build() {
return new ReviewSheetErpListWrapper();
}
@Override
public ReviewSheetErpListVO entityVO(ReviewSheet reviewSheet) {
ReviewSheetErpListVO VO = Objects.requireNonNull(BeanUtil.copyProperties(reviewSheet, ReviewSheetErpListVO.class));
//User createUser = UserCache.getUser(reviewSheet.getCreateUser());
//User updateUser = UserCache.getUser(reviewSheet.getUpdateUser());
//reviewSheetVO.setCreateUserName(createUser.getName());
//reviewSheetVO.setUpdateUserName(updateUser.getName());
return VO;
}
}

@ -0,0 +1,37 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
import org.springblade.desk.quality.pojo.vo.ReviewSheetInitListVO;
import org.springblade.desk.quality.pojo.vo.ReviewSheetVO;
import java.util.Objects;
/**
* [生产处置单] 包装类,返回视图层所需的字段
*
* @author Tom Shuo
* @since 2026-01-06
*/
public class ReviewSheetInitListWrapper extends BaseEntityWrapper<ReviewSheet, ReviewSheetInitListVO> {
public static ReviewSheetInitListWrapper build() {
return new ReviewSheetInitListWrapper();
}
@Override
public ReviewSheetInitListVO entityVO(ReviewSheet reviewSheet) {
ReviewSheetInitListVO VO = Objects.requireNonNull(BeanUtil.copyProperties(reviewSheet, ReviewSheetInitListVO.class));
//User createUser = UserCache.getUser(reviewSheet.getCreateUser());
//User updateUser = UserCache.getUser(reviewSheet.getUpdateUser());
//reviewSheetVO.setCreateUserName(createUser.getName());
//reviewSheetVO.setUpdateUserName(updateUser.getName());
return VO;
}
}

@ -0,0 +1,37 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
import org.springblade.desk.quality.pojo.vo.ReviewSheetErpListVO;
import org.springblade.desk.quality.pojo.vo.ReviewSheetRedoListVO;
import java.util.Objects;
/**
* [生产处置单] 包装类,返回视图层所需的字段
*
* @author Tom Shuo
* @since 2026-01-06
*/
public class ReviewSheetRedoListWrapper extends BaseEntityWrapper<ReviewSheet, ReviewSheetRedoListVO> {
public static ReviewSheetRedoListWrapper build() {
return new ReviewSheetRedoListWrapper();
}
@Override
public ReviewSheetRedoListVO entityVO(ReviewSheet reviewSheet) {
ReviewSheetRedoListVO VO = Objects.requireNonNull(BeanUtil.copyProperties(reviewSheet, ReviewSheetRedoListVO.class));
//User createUser = UserCache.getUser(reviewSheet.getCreateUser());
//User updateUser = UserCache.getUser(reviewSheet.getUpdateUser());
//reviewSheetVO.setCreateUserName(createUser.getName());
//reviewSheetVO.setUpdateUserName(updateUser.getName());
return VO;
}
}

@ -0,0 +1,37 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
import org.springblade.desk.quality.pojo.vo.ReviewSheetRedoListVO;
import org.springblade.desk.quality.pojo.vo.ReviewSheetScrapListVO;
import java.util.Objects;
/**
* [生产处置单] 包装类,返回视图层所需的字段
*
* @author Tom Shuo
* @since 2026-01-06
*/
public class ReviewSheetScrapListWrapper extends BaseEntityWrapper<ReviewSheet, ReviewSheetScrapListVO> {
public static ReviewSheetScrapListWrapper build() {
return new ReviewSheetScrapListWrapper();
}
@Override
public ReviewSheetScrapListVO entityVO(ReviewSheet reviewSheet) {
ReviewSheetScrapListVO VO = Objects.requireNonNull(BeanUtil.copyProperties(reviewSheet, ReviewSheetScrapListVO.class));
//User createUser = UserCache.getUser(reviewSheet.getCreateUser());
//User updateUser = UserCache.getUser(reviewSheet.getUpdateUser());
//reviewSheetVO.setCreateUserName(createUser.getName());
//reviewSheetVO.setUpdateUserName(updateUser.getName());
return VO;
}
}

@ -0,0 +1,37 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
import org.springblade.desk.quality.pojo.vo.ReviewSheetScrapListVO;
import org.springblade.desk.quality.pojo.vo.ReviewSheetSelfListVO;
import java.util.Objects;
/**
* [生产处置单] 包装类,返回视图层所需的字段
*
* @author Tom Shuo
* @since 2026-01-06
*/
public class ReviewSheetSelfListWrapper extends BaseEntityWrapper<ReviewSheet, ReviewSheetSelfListVO> {
public static ReviewSheetSelfListWrapper build() {
return new ReviewSheetSelfListWrapper();
}
@Override
public ReviewSheetSelfListVO entityVO(ReviewSheet reviewSheet) {
ReviewSheetSelfListVO VO = Objects.requireNonNull(BeanUtil.copyProperties(reviewSheet, ReviewSheetSelfListVO.class));
//User createUser = UserCache.getUser(reviewSheet.getCreateUser());
//User updateUser = UserCache.getUser(reviewSheet.getUpdateUser());
//reviewSheetVO.setCreateUserName(createUser.getName());
//reviewSheetVO.setUpdateUserName(updateUser.getName());
return VO;
}
}
Loading…
Cancel
Save