diff --git a/sql/mysql/view.sql b/sql/mysql/view.sql index e551b55275..ed911a2800 100644 --- a/sql/mysql/view.sql +++ b/sql/mysql/view.sql @@ -27,4 +27,6 @@ FROM ( `mes_work_report_plan` `wp` JOIN `mes_produce_report_detail` `pd` ON (( `wp`.`report_id` = `pd`.`id` + and `wp`.`deleted` = 0 + and `pd`.`deleted` =0 ))) \ 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/orgworker/OrgWorkerController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/orgworker/OrgWorkerController.java index 00028f2c70..a6824e499f 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/orgworker/OrgWorkerController.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/orgworker/OrgWorkerController.java @@ -181,4 +181,15 @@ public class OrgWorkerController { return success(orgWorkerService.buildVOList(orgWorkers)); } + + /**个人报工,获取某日期当前用户绑定的工位情况**/ + @GetMapping("/getOrgWorkerListByOrgId") + @Operation(summary = "获得工位安排") + public CommonResult> getOrgWorkerListByOrgId(@RequestParam("orgId") Long orgId) { + OrganizationDO org = organizationService.getOrganization(orgId); + OrgWorkerRespVO respVO = new OrgWorkerRespVO().setOrgId(orgId).setOrgName(org.getName()).setOrgType(org.getOrgType()); + List list = new ArrayList<>(); + list.add(respVO); + return success(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/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 74cbeabf2c..eae8d01cb0 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 @@ -101,14 +101,16 @@ public class ProduceReportController { Long userId = getLoginUserId(); WorkTeamDO workTeamDO = new WorkTeamDO().setTeamLeaderId(userId); List listTeam = workTeamService.selectBy(workTeamDO); - List idList = listTeam.stream() - .map(WorkTeamDO::getId) - .collect(Collectors.toList()); - List detailDOList = workTeamService.getDetailByWorkTeamIds(idList); - List userList = detailDOList.stream() - .map(WorkTeamDetailDO::getUserId) - .collect(Collectors.toList()); - pageReqVO.setUserIds(userList); + if(listTeam!=null && listTeam.size()>0){ + List idList = listTeam.stream() + .map(WorkTeamDO::getId) + .collect(Collectors.toList()); + List detailDOList = workTeamService.getDetailByWorkTeamIds(idList); + List userList = detailDOList.stream() + .map(WorkTeamDetailDO::getUserId) + .collect(Collectors.toList()); + pageReqVO.setUserIds(userList); + } PageResult pageResult = produceReportService.getProduceReportPage(pageReqVO); return success(new PageResult<>(produceReportService.buildVOList(pageResult.getList()),pageResult.getTotal())); } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/vo/ProduceReportDetailSaveReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/vo/ProduceReportDetailSaveReqVO.java index 25fc509f50..c3cc0c0936 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/vo/ProduceReportDetailSaveReqVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/vo/ProduceReportDetailSaveReqVO.java @@ -63,7 +63,7 @@ public class ProduceReportDetailSaveReqVO { private LocalDateTime reportDate; @Schema(description = "计件时间") - private BigDecimal reportTime; + private String reportTime; @Schema(description = "报工状态", example = "1") private Integer reportStatus; diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/vo/ProduceReportPageReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/vo/ProduceReportPageReqVO.java index 17678e6f01..a2ea1f4217 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/vo/ProduceReportPageReqVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/vo/ProduceReportPageReqVO.java @@ -35,12 +35,10 @@ public class ProduceReportPageReqVO extends PageParam { private String orgType; @Schema(description = "计件时段") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private String[] reportTime; + private String reportTime; @Schema(description = "总时长") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private BigDecimal[] totalTime; + private BigDecimal totalTime; @Schema(description = "报工状态", example = "2") private Integer reportStatus; diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereportplan/vo/ReportPlanViewReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereportplan/vo/ReportPlanViewReqVO.java index 3c7616a346..3652734107 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereportplan/vo/ReportPlanViewReqVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereportplan/vo/ReportPlanViewReqVO.java @@ -68,7 +68,7 @@ public class ReportPlanViewReqVO extends PageParam { @Schema(description = "报工状态", example = "1") private Integer reportStatus; @Schema(description = "计件时间", example = "10:10-12:00,14:10-16:10") - private String reportTime; + private BigDecimal reportTime; @Schema(description = "工序类型") private String orgType; diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereportplan/vo/ReportPlanViewRespVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereportplan/vo/ReportPlanViewRespVO.java index 442f25696e..6bf13f951f 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereportplan/vo/ReportPlanViewRespVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereportplan/vo/ReportPlanViewRespVO.java @@ -91,7 +91,7 @@ public class ReportPlanViewRespVO { @Schema(description = "计件时间") @ExcelProperty("计件时间") - private String reportTime; + private BigDecimal reportTime; @Schema(description = "报工状态", example = "1") @ExcelProperty(value = "报工状态", converter = DictConvert.class) diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/producereport/ProduceReportDetailDO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/producereport/ProduceReportDetailDO.java index 79ed065b8a..633d7ad205 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/producereport/ProduceReportDetailDO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/producereport/ProduceReportDetailDO.java @@ -101,7 +101,7 @@ public class ProduceReportDetailDO extends BaseDO { /** * 计件时间 */ - private BigDecimal reportTime; + private String reportTime; /** * 报工状态 *

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 1e2f19ac63..0bb423e8b7 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 @@ -22,8 +22,6 @@ public interface ProduceReportMapper extends BaseMapperX { .eqIfPresent(ProduceReportDO::getUserId, reqVO.getUserId()) .eqIfPresent(ProduceReportDO::getOrgId, reqVO.getOrgId()) .eqIfPresent(ProduceReportDO::getOrgType, reqVO.getOrgType()) - .betweenIfPresent(ProduceReportDO::getReportTime, reqVO.getReportTime()) - .betweenIfPresent(ProduceReportDO::getTotalTime, reqVO.getTotalTime()) .eqIfPresent(ProduceReportDO::getReportStatus, reqVO.getReportStatus()) .eqIfPresent(ProduceReportDO::getRemark, reqVO.getRemark()) .betweenIfPresent(ProduceReportDO::getCreateTime, reqVO.getCreateTime()) diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportDetailServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportDetailServiceImpl.java index 37f7668159..61ad06714d 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportDetailServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportDetailServiceImpl.java @@ -184,9 +184,7 @@ public class ProduceReportDetailServiceImpl implements ProduceReportDetailServic .setReportId(id).setPlanId(planList.get(0).getId()) .setProductId(reportDetailDO.getProductId()) .setQualityNumberPlan(reportDetailDO.getQualityNumber()) - .setWasteNumberPlan(reportDetailDO.getWasteNumber()) - .setReportTimePlan(reportDetailDO.getReportTime()) - .setTotalTimePlan(reportDetailDO.getTotalTime()); + .setWasteNumberPlan(reportDetailDO.getWasteNumber()); workReportPlanService.createWorkReportPlan(saveReqVO); } else{ @@ -205,16 +203,12 @@ public class ProduceReportDetailServiceImpl implements ProduceReportDetailServic if(planNeed>0){ BigDecimal planNumber = reportDetailDO.getQualityNumber().multiply(BigDecimal.valueOf(planNeed/totalNeed),mc); BigDecimal wasteNumber = reportDetailDO.getWasteNumber().multiply(BigDecimal.valueOf(planNeed/totalNeed),mc); - BigDecimal totalTime = reportDetailDO.getTotalTime().multiply(BigDecimal.valueOf(planNeed/totalNeed),mc); - BigDecimal reportTime = reportDetailDO.getReportTime().multiply(BigDecimal.valueOf(planNeed/totalNeed),mc); WorkReportPlanSaveReqVO saveReqVO = new WorkReportPlanSaveReqVO() .setReportId(id).setPlanId(planId) .setProductId(reportDetailDO.getProductId()) .setQualityNumberPlan(planNumber) - .setWasteNumberPlan(wasteNumber) - .setReportTimePlan(reportTime) - .setTotalTimePlan(totalTime); + .setWasteNumberPlan(wasteNumber); workReportPlanService.createWorkReportPlan(saveReqVO); } } 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 00ca67ebd2..bffb405854 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 @@ -53,6 +53,7 @@ public class ProduceReportServiceImpl implements ProduceReportService { @Override @Transactional(rollbackFor = Exception.class) public Long createProduceReport(ProduceReportSaveReqVO createReqVO) { + createReqVO.setReportStatus(ReportStatusEnum.草稿.getValue()); // 插入 ProduceReportDO produceReport = BeanUtils.toBean(createReqVO, ProduceReportDO.class); produceReportMapper.insert(produceReport); @@ -161,10 +162,13 @@ public class ProduceReportServiceImpl implements ProduceReportService { @Override @Transactional public void updateStatus(Long id, Integer status) { + ProduceReportDO reportDO = getProduceReport(id); + reportDO.setReportStatus(status); + produceReportMapper.updateById(reportDO); if(status.equals(ReportStatusEnum.送审.getValue())){ produceReportChangeRecordService.saveChange(id,"", "", ChangeTypeEnum.提交.getValue()); } - if(status.equals(ReportStatusEnum.通过.getValue())) { + else if(status.equals(ReportStatusEnum.通过.getValue())) { produceReportChangeRecordService.saveChange(id, "", "", ChangeTypeEnum.审核.getValue()); List list = getProduceReportDetailListByReportId(id); for (ProduceReportDetailDO detail: list) { diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/workreportplan/WorkReportPlanServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/workreportplan/WorkReportPlanServiceImpl.java index 83c581db8f..ba4606bb7e 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/workreportplan/WorkReportPlanServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/workreportplan/WorkReportPlanServiceImpl.java @@ -14,6 +14,7 @@ import cn.iocoder.yudao.module.mes.dal.dataobject.workreportplan.WorkReportPlanD import cn.iocoder.yudao.module.mes.dal.mysql.workreportplan.ReportPlanSummaryMapper; import cn.iocoder.yudao.module.mes.dal.mysql.workreportplan.ReportPlanViewMapper; import cn.iocoder.yudao.module.mes.dal.mysql.workreportplan.WorkReportPlanMapper; +import cn.iocoder.yudao.module.mes.service.organization.OrganizationService; import cn.iocoder.yudao.module.mes.service.plan.PlanService; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -47,6 +48,8 @@ public class WorkReportPlanServiceImpl implements WorkReportPlanService { private PlanService planService; @Resource private ReportPlanSummaryMapper planSummaryMapper; + @Resource + private OrganizationService organizationService; @Override public Long createWorkReportPlan(WorkReportPlanSaveReqVO createReqVO) { // 插入 @@ -156,6 +159,7 @@ public class WorkReportPlanServiceImpl implements WorkReportPlanService { convertSet(list, ReportPlanSummaryDO::getProductId)); Map planMap = planService.getPlanMap( convertSet(list, ReportPlanSummaryDO::getPlanId)); + return BeanUtils.toBean(list, ReportPlanSummaryRespVO.class, item -> { MapUtils.findAndThen(map, item.getProductId(), product -> item.setProductName(product.getName())); 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 2a95e404c7..9f813d3c44 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 @@ -137,7 +137,10 @@ public class WorkTeamServiceImpl implements WorkTeamService { throw exception(new ErrorCode(500,"该班组已存在组长,请先取消其他组长角色!")); zuzhang.setUserRole(null); WorkTeamDO teamDO = workTeamMapper.selectById(workTeamDetail.getWorkTeamId()); - if(teamDO!=null)teamDO.setTeamLeaderId(workTeamDetail.getUserId()); + if(teamDO!=null){ + teamDO.setTeamLeaderId(workTeamDetail.getUserId()); + workTeamMapper.updateById(teamDO); + } } //同一个组不能有同一个人 zuzhang.setUserId(workTeamDetail.getUserId()); @@ -171,7 +174,10 @@ public class WorkTeamServiceImpl implements WorkTeamService { throw exception(new ErrorCode(500,"该班组已存在组长,请先取消其他组长角色!")); //更新WorkTeamDO组长 WorkTeamDO teamDO = workTeamMapper.selectById(workTeamDetail.getWorkTeamId()); - if(teamDO!=null)teamDO.setTeamLeaderId(workTeamDetail.getUserId()); + if(teamDO!=null){ + teamDO.setTeamLeaderId(workTeamDetail.getUserId()); + workTeamMapper.updateById(teamDO); + } } // 更新