Browse Source

1、人员报工列表接口

master_hella_20240701
bjang03 1 year ago
parent
commit
add3a22ec8
  1. 24
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesorderdayworker/MesOrderDayWorkerController.java
  2. 19
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesorderdayworker/vo/GetPeopleReportByOrderReqVO.java
  3. 13
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesorderdayworker/vo/GetPeopleReportByOrderResVO.java
  4. 3
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesworkschedulingdetail/MesWorkSchedulingDetailController.java
  5. 23
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesworkschedulingdetail/vo/ReportWorkByProcessReqVO.java
  6. 31
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesworkschedulingdetail/vo/ReportWorkDetailReqVO.java
  7. 8
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/mesorderdayworker/MesOrderDayWorkerService.java
  8. 5
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/mesorderdayworker/MesOrderDayWorkerServiceImpl.java
  9. 4
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/mesworkschedulingdetail/MesWorkSchedulingDetailService.java
  10. 24
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/mesworkschedulingdetail/MesWorkSchedulingDetailServiceImpl.java

24
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesorderdayworker/MesOrderDayWorkerController.java

@ -1,11 +1,9 @@
package com.win.module.mes.controller.mesorderdayworker; package com.win.module.mes.controller.mesorderdayworker;
import com.win.module.mes.controller.mesorderdayroutesub.vo.MesOrderDayRoutesubRespVO;
import com.win.module.mes.controller.mesorderdayworker.vo.*; import com.win.module.mes.controller.mesorderdayworker.vo.*;
import com.win.module.mes.convert.mesorderdayroutesub.MesOrderDayRoutesubConvert; import com.win.module.mes.controller.mesorderdayworker.vo.GetPeopleReportByOrderReqVO;
import com.win.module.mes.dal.dataobject.mesorderdayroutesub.MesOrderDayRoutesubDO; import com.win.module.mes.controller.mesorderdayworker.vo.GetPeopleReportByOrderResVO;
import com.win.module.mes.query.vo.OrderDayQueryParamVo; import com.win.module.mes.query.vo.OrderDayQueryParamVo;
import io.swagger.v3.oas.annotations.Parameters;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -15,26 +13,15 @@ import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*; import javax.validation.*;
import javax.servlet.http.*;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*; import java.util.*;
import java.io.IOException;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CommonResult;
import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.mes.controller.mesorderdayworker.vo.*;
import com.win.module.mes.dal.dataobject.mesorderdayworker.MesOrderDayWorkerDO; import com.win.module.mes.dal.dataobject.mesorderdayworker.MesOrderDayWorkerDO;
import com.win.module.mes.convert.mesorderdayworker.MesOrderDayWorkerConvert; import com.win.module.mes.convert.mesorderdayworker.MesOrderDayWorkerConvert;
import com.win.module.mes.service.mesorderdayworker.MesOrderDayWorkerService; import com.win.module.mes.service.mesorderdayworker.MesOrderDayWorkerService;
import org.springframework.web.multipart.MultipartFile;
@Tag(name = "管理后台 - 计划工单人员配置") @Tag(name = "管理后台 - 计划工单人员配置")
@RestController @RestController
@ -99,5 +86,10 @@ public class MesOrderDayWorkerController {
PageResult<MesOrderDayWorkerDO> pageResult = orderDayWorkerService.getOrderDayWorkerPage(pageVO); PageResult<MesOrderDayWorkerDO> pageResult = orderDayWorkerService.getOrderDayWorkerPage(pageVO);
return success(MesOrderDayWorkerConvert.INSTANCE.convertPage(pageResult)); return success(MesOrderDayWorkerConvert.INSTANCE.convertPage(pageResult));
} }
@GetMapping("/getPeopleReportList")
@Operation(summary = "获取人员报工列表")
public CommonResult<GetPeopleReportByOrderResVO> getPeopleReportList(@Valid GetPeopleReportByOrderReqVO req) {
GetPeopleReportByOrderResVO res = orderDayWorkerService.getPeopleReportList(req);
return success(res);
}
} }

19
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesorderdayworker/vo/GetPeopleReportByOrderReqVO.java

@ -0,0 +1,19 @@
package com.win.module.mes.controller.mesorderdayworker.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class GetPeopleReportByOrderReqVO {
@Schema(description = "日计划编码")
@NotNull(message = "日计划编码不能为空")
private String planNoDay;
@Schema(description = "工序编码")
@NotNull(message = "工序编码不能为空")
private String processCode;
}

13
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesorderdayworker/vo/GetPeopleReportByOrderResVO.java

@ -0,0 +1,13 @@
package com.win.module.mes.controller.mesorderdayworker.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
@Schema(description = "管理后台 - 工序报工 Request VO")
@Data
@ToString(callSuper = true)
public class GetPeopleReportByOrderResVO {
@Schema(description = "工单编码", requiredMode = Schema.RequiredMode.REQUIRED)
private Integer schedulingCode;
}

3
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesworkschedulingdetail/MesWorkSchedulingDetailController.java

@ -11,6 +11,7 @@ import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*; import javax.validation.*;
import javax.servlet.http.*; import javax.servlet.http.*;
import javax.validation.constraints.NotEmpty;
import java.util.*; import java.util.*;
import java.io.IOException; import java.io.IOException;
@ -107,7 +108,7 @@ public class MesWorkSchedulingDetailController {
@PutMapping("/reportWorkByProcess") @PutMapping("/reportWorkByProcess")
@Operation(summary = "工序报工") @Operation(summary = "工序报工")
@PreAuthorize("@ss.hasPermission('mes:work-scheduling:update')") @PreAuthorize("@ss.hasPermission('mes:work-scheduling:update')")
public CommonResult<Boolean> reportWorkByProcess(@Valid @RequestBody ReportWorkByProcessReqVO reqVO) { public CommonResult<Boolean> reportWorkByProcess(@Valid @RequestBody @NotEmpty List<ReportWorkByProcessReqVO> reqVO) {
workSchedulingDetailService.reportWorkByProcess(reqVO); workSchedulingDetailService.reportWorkByProcess(reqVO);
return success(null); return success(null);
} }

23
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesworkschedulingdetail/vo/ReportWorkByProcessReqVO.java

@ -4,20 +4,27 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 工序报工 Request VO") @Schema(description = "管理后台 - 工序报工 Request VO")
@Data @Data
@ToString(callSuper = true) @ToString(callSuper = true)
public class ReportWorkByProcessReqVO { public class ReportWorkByProcessReqVO {
@Schema(description = "工单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "736") @Schema(description = "工单编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "工单ID不能为空") @NotNull(message = "工单编码不能为空")
private Integer schedulingId; private Integer schedulingCode;
@Schema(description = "报工明细", requiredMode = Schema.RequiredMode.REQUIRED, example = "736") @Schema(description = "报工数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "报工明细不能为空") @NotNull(message = "报工数量不能为空")
private List<ReportWorkDetailReqVO> reportWorkDetailList; private Integer reportCount;
@Schema(description = "报工日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "报工日期不能为空")
private LocalDateTime reportDate;
@Schema(description = "工时", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "工时不能为空")
private BigDecimal workTerm;
} }

31
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/mesworkschedulingdetail/vo/ReportWorkDetailReqVO.java

@ -1,31 +0,0 @@
package com.win.module.mes.controller.mesworkschedulingdetail.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 工序报工 Request VO")
@Data
@ToString(callSuper = true)
public class ReportWorkDetailReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "736")
@NotNull(message = "主键不能为空")
private Long id;
@Schema(description = "报工数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "报工数量不能为空")
private Integer reportCount;
@Schema(description = "报工日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "报工日期不能为空")
private LocalDateTime reportDate;
@Schema(description = "工时", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "工时不能为空")
private BigDecimal workTerm;
}

8
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/mesorderdayworker/MesOrderDayWorkerService.java

@ -51,7 +51,6 @@ public interface MesOrderDayWorkerService {
/** /**
* 获得计划工单人员配置列表 * 获得计划工单人员配置列表
* *
* @param ids 编号
* @return 计划工单人员配置列表 * @return 计划工单人员配置列表
*/ */
List<MesOrderDayWorkerDO> getOrderDayWorkerList(OrderDayQueryParamVo orderVO); List<MesOrderDayWorkerDO> getOrderDayWorkerList(OrderDayQueryParamVo orderVO);
@ -81,4 +80,11 @@ public interface MesOrderDayWorkerService {
* @return 导入结果 * @return 导入结果
*/ */
public List<MesOrderDayWorkerExcelVO> importMesOrderDayWorkerList(List<MesOrderDayWorkerExcelVO> datas, Integer mode, boolean updatePart); public List<MesOrderDayWorkerExcelVO> importMesOrderDayWorkerList(List<MesOrderDayWorkerExcelVO> datas, Integer mode, boolean updatePart);
/**
* 获取人员报工列表
* @param req
* @return
*/
GetPeopleReportByOrderResVO getPeopleReportList(GetPeopleReportByOrderReqVO req);
} }

5
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/mesorderdayworker/MesOrderDayWorkerServiceImpl.java

@ -147,4 +147,9 @@ public class MesOrderDayWorkerServiceImpl implements MesOrderDayWorkerService {
return errorList; return errorList;
} }
@Override
public GetPeopleReportByOrderResVO getPeopleReportList(GetPeopleReportByOrderReqVO req) {
return null;
}
} }

4
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/mesworkschedulingdetail/MesWorkSchedulingDetailService.java

@ -2,11 +2,13 @@ package com.win.module.mes.service.mesworkschedulingdetail;
import java.util.*; import java.util.*;
import javax.validation.*; import javax.validation.*;
import javax.validation.constraints.NotEmpty;
import com.win.module.mes.controller.mesworkschedulingdetail.vo.*; import com.win.module.mes.controller.mesworkschedulingdetail.vo.*;
import com.win.module.mes.dal.dataobject.mesworkschedulingdetail.MesWorkSchedulingDetailDO; import com.win.module.mes.dal.dataobject.mesworkschedulingdetail.MesWorkSchedulingDetailDO;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import org.springframework.web.bind.annotation.RequestBody;
/** /**
* 工单任务明细 Service 接口 * 工单任务明细 Service 接口
@ -74,5 +76,5 @@ public interface MesWorkSchedulingDetailService {
* *
* @param reqVO 更新信息 * @param reqVO 更新信息
*/ */
void reportWorkByProcess(@Valid ReportWorkByProcessReqVO reqVO); void reportWorkByProcess(@Valid @NotEmpty List<ReportWorkByProcessReqVO> reqVO);
} }

24
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/mesworkschedulingdetail/MesWorkSchedulingDetailServiceImpl.java

@ -10,13 +10,15 @@ import com.win.module.mes.dal.dataobject.mesworkschedulingdetail.MesWorkScheduli
import com.win.module.mes.dal.mysql.mesjobreportlog.MesJobReportLogMapper; import com.win.module.mes.dal.mysql.mesjobreportlog.MesJobReportLogMapper;
import com.win.module.mes.dal.mysql.mesworkscheduling.MesWorkSchedulingMapper; import com.win.module.mes.dal.mysql.mesworkscheduling.MesWorkSchedulingMapper;
import com.win.module.mes.dal.mysql.mesworkschedulingdetail.MesWorkSchedulingDetailMapper; import com.win.module.mes.dal.mysql.mesworkschedulingdetail.MesWorkSchedulingDetailMapper;
import com.win.module.mes.service.mesworkscheduling.MesWorkSchedulingService;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -95,18 +97,19 @@ public class MesWorkSchedulingDetailServiceImpl implements MesWorkSchedulingDeta
@Override @Override
@Transactional @Transactional
public void reportWorkByProcess(ReportWorkByProcessReqVO reqVO) { public void reportWorkByProcess(@Valid @NotEmpty List<ReportWorkByProcessReqVO> reqVO) {
//todo 验证工单任务是否存在 List<MesWorkSchedulingDO> workSchedulingDOList = new ArrayList<>();
MesWorkSchedulingDO workSchedulingDO = workSchedulingMapper.selectOne(MesWorkSchedulingDO::getId,reqVO.getSchedulingId());
if (workSchedulingDO == null) {
throw exception(WORK_SCHEDULING_NOT_EXISTS);
}
List<MesWorkSchedulingDetailDO> workSchedulingDetailDOList = new ArrayList<>(); List<MesWorkSchedulingDetailDO> workSchedulingDetailDOList = new ArrayList<>();
List<MesJobReportLogDO> jobReportLogDOList = new ArrayList<>(); List<MesJobReportLogDO> jobReportLogDOList = new ArrayList<>();
String currentUserId = userApi.getUser(getLoginUserId()).getId().toString(); String currentUserId = userApi.getUser(getLoginUserId()).getId().toString();
reqVO.getReportWorkDetailList().forEach(item -> { //todo 验证工单任务是否存在
reqVO.forEach(item ->{
MesWorkSchedulingDO workSchedulingDO = workSchedulingMapper.selectOne(MesWorkSchedulingDO::getSchedulingCode,item.getSchedulingCode());
if (workSchedulingDO == null) {
throw exception(WORK_SCHEDULING_NOT_EXISTS);
}
//todo 更新工单任务明细表 //todo 更新工单任务明细表
MesWorkSchedulingDetailDO workSchedulingDetailDO = workSchedulingDetailMapper.selectById(item.getId()); MesWorkSchedulingDetailDO workSchedulingDetailDO = workSchedulingDetailMapper.selectOne(MesWorkSchedulingDetailDO::getSchedulingCode,item.getSchedulingCode());
// 校验存在 // 校验存在
if (workSchedulingDetailDO == null) { if (workSchedulingDetailDO == null) {
throw exception(WORK_SCHEDULING_DETAIL_NOT_EXISTS); throw exception(WORK_SCHEDULING_DETAIL_NOT_EXISTS);
@ -140,9 +143,10 @@ public class MesWorkSchedulingDetailServiceImpl implements MesWorkSchedulingDeta
workSchedulingDO.setWorkingNode(workSchedulingDetailDO.getNodeCode()); workSchedulingDO.setWorkingNode(workSchedulingDetailDO.getNodeCode());
workSchedulingDO.setWorkingTaskSort(workSchedulingDetailDO.getTaskSort()); workSchedulingDO.setWorkingTaskSort(workSchedulingDetailDO.getTaskSort());
workSchedulingDO.setCurrentWorkstation(workSchedulingDetailDO.getReceiveWorkstation()); workSchedulingDO.setCurrentWorkstation(workSchedulingDetailDO.getReceiveWorkstation());
workSchedulingDOList.add(workSchedulingDO);
}); });
workSchedulingDetailMapper.updateBatch(workSchedulingDetailDOList); workSchedulingDetailMapper.updateBatch(workSchedulingDetailDOList);
jobReportLogMapper.insertBatch(jobReportLogDOList); jobReportLogMapper.insertBatch(jobReportLogDOList);
workSchedulingMapper.updateById(workSchedulingDO); workSchedulingMapper.updateBatch(workSchedulingDOList);
} }
} }

Loading…
Cancel
Save