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;
import com.win.module.mes.controller.mesorderdayroutesub.vo.MesOrderDayRoutesubRespVO;
import com.win.module.mes.controller.mesorderdayworker.vo.*;
import com.win.module.mes.convert.mesorderdayroutesub.MesOrderDayRoutesubConvert;
import com.win.module.mes.dal.dataobject.mesorderdayroutesub.MesOrderDayRoutesubDO;
import com.win.module.mes.controller.mesorderdayworker.vo.GetPeopleReportByOrderReqVO;
import com.win.module.mes.controller.mesorderdayworker.vo.GetPeopleReportByOrderResVO;
import com.win.module.mes.query.vo.OrderDayQueryParamVo;
import io.swagger.v3.oas.annotations.Parameters;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
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 javax.validation.*;
import javax.servlet.http.*;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
import java.io.IOException;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
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.convert.mesorderdayworker.MesOrderDayWorkerConvert;
import com.win.module.mes.service.mesorderdayworker.MesOrderDayWorkerService;
import org.springframework.web.multipart.MultipartFile;
@Tag(name = "管理后台 - 计划工单人员配置")
@RestController
@ -99,5 +86,10 @@ public class MesOrderDayWorkerController {
PageResult<MesOrderDayWorkerDO> pageResult = orderDayWorkerService.getOrderDayWorkerPage(pageVO);
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.servlet.http.*;
import javax.validation.constraints.NotEmpty;
import java.util.*;
import java.io.IOException;
@ -107,7 +108,7 @@ public class MesWorkSchedulingDetailController {
@PutMapping("/reportWorkByProcess")
@Operation(summary = "工序报工")
@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);
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.ToString;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 工序报工 Request VO")
@Data
@ToString(callSuper = true)
public class ReportWorkByProcessReqVO {
@Schema(description = "工单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "736")
@NotNull(message = "工单ID不能为空")
private Integer schedulingId;
@Schema(description = "工单编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "工单编码不能为空")
private Integer schedulingCode;
@Schema(description = "报工明细", requiredMode = Schema.RequiredMode.REQUIRED, example = "736")
@NotEmpty(message = "报工明细不能为空")
private List<ReportWorkDetailReqVO> reportWorkDetailList;
@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;
}

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 计划工单人员配置列表
*/
List<MesOrderDayWorkerDO> getOrderDayWorkerList(OrderDayQueryParamVo orderVO);
@ -81,4 +80,11 @@ public interface MesOrderDayWorkerService {
* @return 导入结果
*/
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;
}
@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 javax.validation.*;
import javax.validation.constraints.NotEmpty;
import com.win.module.mes.controller.mesworkschedulingdetail.vo.*;
import com.win.module.mes.dal.dataobject.mesworkschedulingdetail.MesWorkSchedulingDetailDO;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CustomConditions;
import org.springframework.web.bind.annotation.RequestBody;
/**
* 工单任务明细 Service 接口
@ -74,5 +76,5 @@ public interface MesWorkSchedulingDetailService {
*
* @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.mesworkscheduling.MesWorkSchedulingMapper;
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 org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.Resource;
import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import java.util.ArrayList;
import java.util.List;
@ -95,18 +97,19 @@ public class MesWorkSchedulingDetailServiceImpl implements MesWorkSchedulingDeta
@Override
@Transactional
public void reportWorkByProcess(ReportWorkByProcessReqVO reqVO) {
//todo 验证工单任务是否存在
MesWorkSchedulingDO workSchedulingDO = workSchedulingMapper.selectOne(MesWorkSchedulingDO::getId,reqVO.getSchedulingId());
if (workSchedulingDO == null) {
throw exception(WORK_SCHEDULING_NOT_EXISTS);
}
public void reportWorkByProcess(@Valid @NotEmpty List<ReportWorkByProcessReqVO> reqVO) {
List<MesWorkSchedulingDO> workSchedulingDOList = new ArrayList<>();
List<MesWorkSchedulingDetailDO> workSchedulingDetailDOList = new ArrayList<>();
List<MesJobReportLogDO> jobReportLogDOList = new ArrayList<>();
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 更新工单任务明细表
MesWorkSchedulingDetailDO workSchedulingDetailDO = workSchedulingDetailMapper.selectById(item.getId());
MesWorkSchedulingDetailDO workSchedulingDetailDO = workSchedulingDetailMapper.selectOne(MesWorkSchedulingDetailDO::getSchedulingCode,item.getSchedulingCode());
// 校验存在
if (workSchedulingDetailDO == null) {
throw exception(WORK_SCHEDULING_DETAIL_NOT_EXISTS);
@ -140,9 +143,10 @@ public class MesWorkSchedulingDetailServiceImpl implements MesWorkSchedulingDeta
workSchedulingDO.setWorkingNode(workSchedulingDetailDO.getNodeCode());
workSchedulingDO.setWorkingTaskSort(workSchedulingDetailDO.getTaskSort());
workSchedulingDO.setCurrentWorkstation(workSchedulingDetailDO.getReceiveWorkstation());
workSchedulingDOList.add(workSchedulingDO);
});
workSchedulingDetailMapper.updateBatch(workSchedulingDetailDOList);
jobReportLogMapper.insertBatch(jobReportLogDOList);
workSchedulingMapper.updateById(workSchedulingDO);
workSchedulingMapper.updateBatch(workSchedulingDOList);
}
}

Loading…
Cancel
Save