diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/AppOrgWorkerController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/AppOrgWorkerController.java new file mode 100644 index 000000000..df910e254 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/AppOrgWorkerController.java @@ -0,0 +1,121 @@ +package cn.iocoder.yudao.module.mes.controller.admin.app; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.date.DateUtils; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.erp.controller.admin.product.vo.product.ErpProductRespVO; +import cn.iocoder.yudao.module.mes.controller.admin.app.service.AppService; +import cn.iocoder.yudao.module.mes.controller.admin.app.vo.AppOrgWorkerVO; +import cn.iocoder.yudao.module.mes.controller.admin.app.vo.AppProductVo; +import cn.iocoder.yudao.module.mes.controller.admin.app.vo.AppReportReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.app.vo.AppReportSaveReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.OrgWorkerPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.plan.vo.PlanStatusEnum; +import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ProduceReportSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.orgworker.OrgWorkerDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.workteam.WorkTeamDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.workteam.WorkTeamDetailDO; +import cn.iocoder.yudao.module.mes.service.orgworker.OrgWorkerService; +import cn.iocoder.yudao.module.mes.service.plan.PlanService; +import cn.iocoder.yudao.module.mes.service.producereport.ProduceReportService; +import cn.iocoder.yudao.module.mes.service.workteam.WorkTeamService; +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; + +@Tag(name = "app - 工位安排") +@RestController +@RequestMapping("/mes/app/org-worker") +@Validated +public class AppOrgWorkerController { + + @Resource + private OrgWorkerService orgWorkerService; + @Resource + private AdminUserApi adminUserApi; + @Resource + private AppService appService; + @Resource + private WorkTeamService workTeamService; + @Resource + private PlanService planService; + @Resource + private ProduceReportService produceReportService; + + /**个人报工,获取某日期当前用户绑定的工位情况**/ + @GetMapping("/getOrgList") + @Operation(summary = "获得工位安排") + public CommonResult> getOrgWorkerRespVO(@Valid AppReportReqVO reqVO) { + OrgWorkerPageReqVO pageReqVO = new OrgWorkerPageReqVO().setOrgType(reqVO.getOrgType()).setGroupType(reqVO.getGroupType()); + pageReqVO.setWorkDate(DateUtils.getDateRange(reqVO.getReportDate())); + Long userId = getLoginUserId(); + pageReqVO.setWorkerId(userId); + List orgWorkers = orgWorkerService.getOrgWorkerByReportResVo(pageReqVO); + return success(appService.getOrgList(orgWorkers)); + } + + /**代替报工,获取某日期某用户绑定的工位情况**/ + @GetMapping("/getOtherOrgList") + @Operation(summary = "获得工位安排") + public CommonResult> getOtherPersonal(@Valid AppReportReqVO reqVO) { + OrgWorkerPageReqVO pageReqVO = new OrgWorkerPageReqVO().setOrgType(reqVO.getOrgType()).setGroupType(reqVO.getGroupType()); + pageReqVO.setWorkDate(DateUtils.getDateRange(reqVO.getReportDate())); + List orgWorkers = orgWorkerService.getOrgWorkerByReportResVo(pageReqVO); + return success(appService.getOrgList(orgWorkers)); + } + + /**代替报工,用户列表**/ + @GetMapping("/getOtherPersonalUser") + @Operation(summary = "获得用户列表") + public CommonResult> getOtherPersonalUser(@Valid AppReportReqVO reqVO) { + + WorkTeamDO workTeamDO = new WorkTeamDO().setGroupType(reqVO.getGroupType().toString()) + .setTeamType(reqVO.getOrgType()); + List workTeamDOList =workTeamService.getList(workTeamDO); + List teamIds = workTeamDOList.stream().map(WorkTeamDO::getId).collect(Collectors.toList()); + List doList = workTeamService.getDetailByWorkTeamIds(teamIds); + + List ids = doList.stream().map(WorkTeamDetailDO::getUserId).collect(Collectors.toList()); + Map userMap = adminUserApi.getUserMap(ids); + List userList = new ArrayList<>(userMap.values()); + return success(appService.getUserList(userList)); + } + @GetMapping("/getProductList") + @Operation(summary = "获得正在开工生产的产品") + public CommonResult> getProductList() { + List status = new ArrayList<>(); + status.add(PlanStatusEnum.开工.getValue()); + List proList = planService.getProductByPlanStatus(status); + return success(appService.getProductList(proList)); + } + + + @PostMapping("/createReport") + @Operation(summary = "创建生产报工单") + //@PreAuthorize("@ss.hasPermission('mes:produce-report:create')") + public CommonResult createReport(@Valid @RequestBody AppReportSaveReqVO appSaveVo) { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + LocalDateTime localDateTime = LocalDateTime.parse(appSaveVo.getReportDateString(), formatter); + appSaveVo.setReportDate(localDateTime); + + ProduceReportSaveReqVO createReqVO = BeanUtils.toBean(appSaveVo,ProduceReportSaveReqVO.class); + createReqVO.setProduceReportDetails(appSaveVo.getProductList()); + + return success(produceReportService.createProduceReport(createReqVO)); + } +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/service/AppService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/service/AppService.java new file mode 100644 index 000000000..e51ff99e0 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/service/AppService.java @@ -0,0 +1,26 @@ +package cn.iocoder.yudao.module.mes.controller.admin.app.service; + +import cn.iocoder.yudao.module.erp.controller.admin.product.vo.product.ErpProductRespVO; +import cn.iocoder.yudao.module.mes.controller.admin.app.vo.AppOrgWorkerVO; +import cn.iocoder.yudao.module.mes.controller.admin.app.vo.AppProductVo; +import cn.iocoder.yudao.module.mes.dal.dataobject.orgworker.OrgWorkerDO; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; + +import java.util.List; + +/** + * AppService 接口 + * + * @author 内蒙必硕 + */ +public interface AppService { + + + /** + * + * @return 获取app端个人报工的工位列表 + */ + List getOrgList(List orgWorkerDOList); + List getUserList(List list); + List getProductList(List list); +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/service/AppServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/service/AppServiceImpl.java new file mode 100644 index 000000000..a773171f8 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/service/AppServiceImpl.java @@ -0,0 +1,78 @@ +package cn.iocoder.yudao.module.mes.controller.admin.app.service; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.util.collection.MapUtils; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.erp.controller.admin.product.vo.product.ErpProductRespVO; +import cn.iocoder.yudao.module.mes.controller.admin.app.vo.AppOrgWorkerVO; +import cn.iocoder.yudao.module.mes.controller.admin.app.vo.AppProductVo; +import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.orgworker.OrgWorkerDO; +import cn.iocoder.yudao.module.mes.service.organization.OrganizationService; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; + +/** + * APPService 实现类 + * + * @author 内蒙必硕 + */ +@Service +@Validated +public class AppServiceImpl implements AppService { + + + @Resource + private OrganizationService organizationService; + + @Override + public List getOrgList(List list){ + if (CollUtil.isEmpty(list)) { + return Collections.emptyList(); + } + Map map = organizationService.getMap( + convertSet(list, OrgWorkerDO::getOrgId)); + + return BeanUtils.toBean(list, AppOrgWorkerVO.class, item -> { + MapUtils.findAndThen(map, item.getOrgId(), + org -> item.setOrgName(org.getName()).setOrgType(org.getOrgType()) + .setValue(org.getId()).setText(org.getName()) + ); + + }); + } + @Override + public List getUserList(List list){ + if (CollUtil.isEmpty(list)) { + return Collections.emptyList(); + } + List workerList = new ArrayList<>(); + for (AdminUserRespDTO user : list) { + AppOrgWorkerVO workerVO = new AppOrgWorkerVO().setValue(user.getId()).setText(user.getNickname()); + workerList.add(workerVO); + } + return workerList; + } + @Override + public List getProductList(List list){ + if (CollUtil.isEmpty(list)) { + return Collections.emptyList(); + } + List workerList = new ArrayList<>(); + for (ErpProductRespVO product : list) { + AppProductVo workerVO = new AppProductVo().setValue(product.getId()).setText(product.getName()) + .setProductId(product.getId()).setProductName(product.getName()); + workerList.add(workerVO); + } + return workerList; + } +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/vo/AppOrgWorkerVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/vo/AppOrgWorkerVO.java new file mode 100644 index 000000000..750da6fed --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/vo/AppOrgWorkerVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.mes.controller.admin.app.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "app 工位选择 Response VO") +@Data +@ExcelIgnoreUnannotated +public class AppOrgWorkerVO { + + @Schema(description = "工位id", requiredMode = Schema.RequiredMode.REQUIRED, example = "4727") + private Long value; + + @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "4727") + private String text; + + @Schema(description = "工位id", requiredMode = Schema.RequiredMode.REQUIRED, example = "4727") + private Long orgId; + + @Schema(description = "工位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "4727") + private String orgName; + @Schema(description = "工位类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "4727") + private String orgType; +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/vo/AppProductVo.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/vo/AppProductVo.java new file mode 100644 index 000000000..00057654e --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/vo/AppProductVo.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.mes.controller.admin.app.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "app 工位选择 Response VO") +@Data +@ExcelIgnoreUnannotated +public class AppProductVo { + + @Schema(description = "产品id", requiredMode = Schema.RequiredMode.REQUIRED, example = "4727") + private Long value; + + @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "4727") + private String text; + + @Schema(description = "产品id", requiredMode = Schema.RequiredMode.REQUIRED, example = "4727") + private Long productId; + @Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "4727") + private String productName; +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/vo/AppReportReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/vo/AppReportReqVO.java new file mode 100644 index 000000000..0c19da41a --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/vo/AppReportReqVO.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.module.mes.controller.admin.app.vo; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "app 报工单 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class AppReportReqVO extends PageParam { + + @Schema(description = "用户ID", example = "19983") + private Long userId; + + @Schema(description = "工序ID", example = "28795") + private Long orgId; + + @Schema(description = "工序", example = "2") + private String orgType; + + @Schema(description = "计件时段") + private String reportTime; + + @Schema(description = "总时长") + private BigDecimal totalTime; + + @Schema(description = "报工状态", example = "2") + private Integer reportStatus; + + @Schema(description = "班别", example = "1") + private Integer groupType; + + @Schema(description = "报工类型", example = "1") + private String reportType; + + @Schema(description = "报工日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime reportDate; + + private List userIds; +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/vo/AppReportSaveReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/vo/AppReportSaveReqVO.java new file mode 100644 index 000000000..8afd2e31b --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/app/vo/AppReportSaveReqVO.java @@ -0,0 +1,58 @@ +package cn.iocoder.yudao.module.mes.controller.admin.app.vo; + +import cn.iocoder.yudao.module.mes.dal.dataobject.producereport.ProduceReportDetailDO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +@Schema(description = "管理后台 - 生产报工单新增/修改 Request VO") +@Data +public class AppReportSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29099") + private Long id; + + @Schema(description = "编号") + private String reportCode; + + @Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19983") + @NotNull(message = "用户ID不能为空") + private Long userId; + + @Schema(description = "工序ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28795") + @NotNull(message = "工序ID不能为空") + private Long orgId; + + @Schema(description = "工序", example = "2") + private String orgType; + + @Schema(description = "计件时段") + private String reportTime; + + @Schema(description = "总时长") + private BigDecimal totalTime; + + @Schema(description = "报工状态", example = "2") + private Integer reportStatus; + + @Schema(description = "备注", example = "你猜") + private String remark; + + @Schema(description = "班别", example = "1") + private Integer groupType; + + @Schema(description = "报工类型", example = "1") + private String reportType; + + @Schema(description = "报工日期") + private LocalDateTime reportDate; + + @Schema(description = "生产报工明细列表") + private List productList; + @Schema(description = "报工日期字符串") + private String reportDateString; +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/bom/BomController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/bom/BomController.java index 113a144e4..f5081b3da 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/bom/BomController.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/bom/BomController.java @@ -69,6 +69,14 @@ public class BomController { BomDO bom = bomService.getBom(id); return success(BeanUtils.toBean(bom, BomRespVO.class)); } + @GetMapping("/getByProductId") + @Operation(summary = "获得产品BOM") + @Parameter(name = "productId", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('mes:bom:query')") + public CommonResult getByProductId(@RequestParam("id") Long id) { + BomDO bom = bomService.getBom(id); + return success(BeanUtils.toBean(bom, BomRespVO.class)); + } @GetMapping("/page") @Operation(summary = "获得产品BOM分页") diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/plan/PlanController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/plan/PlanController.java index 7157b2942..7975ce3b9 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/plan/PlanController.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/plan/PlanController.java @@ -123,7 +123,6 @@ public class PlanController { @Operation(summary = "更新生产计划状态") //@PreAuthorize("@ss.hasPermission('mes:plan:update')") public CommonResult updatePlanStatus(@Valid @RequestBody PlanStatusUpdateVO statusUpdateVO) { - System.out.println(statusUpdateVO); PlanDO planDO = planMapper.selectById(statusUpdateVO.getId()); //开工 if ("start".equals(statusUpdateVO.getCode())) { @@ -142,7 +141,7 @@ public class PlanController { } @GetMapping("/getProductByStatus") - @Operation(summary = "获得生产计划") + @Operation(summary = "获得正在开工生产的产品") @Parameter(name = "id", description = "编号", required = true, example = "1024") //@PreAuthorize("@ss.hasPermission('mes:plan:query')") public CommonResult> getPlan() { diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/ProduceReportController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/ProduceReportController.java index 5ae4f7d29..160ad8e37 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/ProduceReportController.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/ProduceReportController.java @@ -143,4 +143,27 @@ public class ProduceReportController { produceReportService.updateStatus(id,status); return success(true); } + + //获取个人30天内生产报工单,以时间排序 + @GetMapping("/getMyList") + @Operation(summary = "获得生产报工单") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult> getMyList() { + Long userId = getLoginUserId(); + ProduceReportPageReqVO pageReqVO = new ProduceReportPageReqVO(); + pageReqVO.setUserId(userId); + LocalDateTime[] dateTimes= {LocalDateTime.now().plusDays(-10),LocalDateTime.now()}; + pageReqVO.setReportDate(dateTimes); + List reportDOList = produceReportService.getList(pageReqVO); + return success(produceReportService.buildVOList(reportDOList)); + } + @GetMapping("/getOtherList") + @Operation(summary = "获得近两日的生产报工单") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult> getOtherList(ProduceReportPageReqVO pageReqVO) { + LocalDateTime[] dateTimes= {LocalDateTime.now().plusDays(-1),LocalDateTime.now()}; + pageReqVO.setReportDate(dateTimes); + List reportDOList = produceReportService.getList(pageReqVO); + return success(produceReportService.buildVOList(reportDOList)); + } } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/producereport/ProduceReportMapper.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/producereport/ProduceReportMapper.java index 0bb423e8b..14d1a16ee 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/producereport/ProduceReportMapper.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/producereport/ProduceReportMapper.java @@ -7,6 +7,8 @@ import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ProduceRepo import cn.iocoder.yudao.module.mes.dal.dataobject.producereport.ProduceReportDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 生产报工单 Mapper * @@ -31,5 +33,12 @@ public interface ProduceReportMapper extends BaseMapperX { .inIfPresent(ProduceReportDO::getUserId, reqVO.getUserIds()) .orderByDesc(ProduceReportDO::getId)); } - + default List selectBy(ProduceReportPageReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(ProduceReportDO::getGroupType, reqVO.getGroupType()) + .eqIfPresent(ProduceReportDO::getUserId, reqVO.getUserId()) + .betweenIfPresent(ProduceReportDO::getReportDate, reqVO.getReportDate()) + .eqIfPresent(ProduceReportDO::getOrgType, reqVO.getOrgType()) + .orderByDesc(ProduceReportDO::getReportDate)); + } } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportService.java index e2f44ea41..a51da072a 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportService.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportService.java @@ -67,4 +67,6 @@ public interface ProduceReportService { List getProduceReportDetailListByReportId(Long reportId); List getDetailListByReportId(Long reportId); void updateStatus(Long id, Integer status); + + List getList(ProduceReportPageReqVO pageReqVO); } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportServiceImpl.java index 4ffcfb084..7e1735975 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportServiceImpl.java @@ -59,7 +59,8 @@ public class ProduceReportServiceImpl implements ProduceReportService { produceReportMapper.insert(produceReport); // 插入子表 - createProduceReportDetailList( produceReport, createReqVO.getProduceReportDetails()); + if( createReqVO.getProduceReportDetails()!=null&& createReqVO.getProduceReportDetails().size()>0) + createProduceReportDetailList( produceReport, createReqVO.getProduceReportDetails()); // 返回 return produceReport.getId(); } @@ -137,7 +138,7 @@ public class ProduceReportServiceImpl implements ProduceReportService { return produceReportDetailService.buildVOList(list); } private void createProduceReportDetailList(ProduceReportDO reportDO, List list) { - list.forEach(o -> o.setReportId(reportDO.getId()).setReportStatus(reportDO.getReportStatus()) + list.forEach(o -> o.setId(null).setReportId(reportDO.getId()).setReportStatus(reportDO.getReportStatus()) .setReportDate(reportDO.getReportDate()).setGroupType(reportDO.getGroupType()) .setOrgId(reportDO.getOrgId()).setOrgType(reportDO.getOrgType()) .setUserId(reportDO.getUserId()) @@ -177,4 +178,9 @@ public class ProduceReportServiceImpl implements ProduceReportService { } } } + + @Override + public List getList(ProduceReportPageReqVO pageReqVO){ + return produceReportMapper.selectBy(pageReqVO); + } } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/workteam/WorkTeamService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/workteam/WorkTeamService.java index 8388117c9..0ebc5c7f0 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/workteam/WorkTeamService.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/workteam/WorkTeamService.java @@ -113,4 +113,5 @@ public interface WorkTeamService { List selectByIds(List ids); List getDetailByWorkTeamIds(List workerIds); + public List getList(WorkTeamDO workTeamDO); } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/workteam/WorkTeamServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/workteam/WorkTeamServiceImpl.java index 9f813d3c4..c8250ea59 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/workteam/WorkTeamServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/workteam/WorkTeamServiceImpl.java @@ -263,4 +263,8 @@ public class WorkTeamServiceImpl implements WorkTeamService { public List getDetailByWorkTeamIds(List workerIds){ return workTeamDetailMapper.getDetailByWorkTeamIds(workerIds); } + @Override + public List getList(WorkTeamDO workTeamDO){ + return workTeamMapper.selectBy(workTeamDO); + } } \ No newline at end of file