开发员工绩效报表
This commit is contained in:
parent
570c59d441
commit
35768acf9e
@ -0,0 +1,39 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.ygjx
|
||||
;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.ygjx.vo.YgjxPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.taskdispatch.TaskDispatchService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Slf4j
|
||||
@Tag(name = "管理后台 - 车间")
|
||||
@RestController
|
||||
@RequestMapping("/heli/ygJx")
|
||||
@Validated
|
||||
public class YgJxController {
|
||||
@Resource
|
||||
private TaskDispatchService taskDispatchService;
|
||||
|
||||
@GetMapping("/task-dispatch-detail/page")
|
||||
@Operation(summary = "获得派工明细分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:task-dispatch:query')")
|
||||
public CommonResult<PageResult<TaskDispatchDetailDO>> getTaskDispatchPageDetail(@Valid YgjxPageReqVO pageReqVO) {
|
||||
PageResult<TaskDispatchDetailDO> pageResult = taskDispatchService.getGroupTaskDispatchDetailPage(pageReqVO);
|
||||
return success(pageResult);
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.ygjx.vo;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
|
||||
@Schema(description = "管理后台 - 员工绩效 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class YgjxPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "年月,唯一")
|
||||
private String yearMonth;
|
||||
|
||||
@Schema(description = "工号/名称,唯一", example = "芋艿")
|
||||
private String workerIdOrName;
|
||||
|
||||
@Schema(description = "制造设备", example = "14307")
|
||||
private Long manufacturingEquipment;
|
||||
|
||||
|
||||
}
|
@ -6,6 +6,8 @@ import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchDetailPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchDetailTotalVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskPlanJDBaoBiaoPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.ygjx.vo.YgjxPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.equipmanufacture.EquipManufactureDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
|
||||
@ -35,6 +37,31 @@ import java.util.Set;
|
||||
@Mapper
|
||||
public interface TaskDispatchDetailMapper extends BaseMapperX<TaskDispatchDetailDO> {
|
||||
|
||||
default PageResult<TaskDispatchDetailDO> selectPageGroup(YgjxPageReqVO pageReqVO) {
|
||||
MPJLambdaWrapper<TaskDispatchDetailDO> query = new MPJLambdaWrapper<>();
|
||||
query.select( "DATE_FORMAT(t.create_time, '%Y-%m') as yearMonth,\n" +
|
||||
" t.owner," +
|
||||
" t.device_model," +
|
||||
" max(c.name) as manufacturingEquipment," +
|
||||
" sum(t.work_time) as totalPlannedHours," +
|
||||
" sum(b.work_time) as totalReportedHours," +
|
||||
" sum(t.amount) as totalDispatchedQuantity," +
|
||||
" sum(b.amount) as totalReportedQuantity,max(u2.username) as workerId ,max(u2.nickname) as workerName ")
|
||||
.leftJoin(TaskReportDO.class,"b",TaskReportDO::getDispatchDetailId,TaskDispatchDetailDO::getId)
|
||||
.leftJoin(EquipManufactureDO.class,"c",EquipManufactureDO::getId,TaskDispatchDetailDO::getDeviceModel)
|
||||
.leftJoin("system_users u2 on u2.id = t.owner");
|
||||
if (pageReqVO.getWorkerIdOrName()!= null &&!pageReqVO.getWorkerIdOrName().isEmpty()) {
|
||||
query.and(i -> i.like("u2.username", pageReqVO.getWorkerIdOrName()).or().like("u2.nickname", pageReqVO.getWorkerIdOrName()));
|
||||
}
|
||||
query.isNotNull(TaskReportDO::getOwner)
|
||||
.isNotNull(TaskDispatchDetailDO::getOwner)
|
||||
.eq(pageReqVO.getYearMonth() !=null&&pageReqVO.getYearMonth()!="","DATE_FORMAT(t.create_time, '%Y-%m')",pageReqVO.getYearMonth())
|
||||
.eq(pageReqVO.getManufacturingEquipment() !=null&&pageReqVO.getManufacturingEquipment()>0,"t.device_model",pageReqVO.getManufacturingEquipment())
|
||||
.groupBy("DATE_FORMAT(t.create_time, '%Y-%m'),t.OWNER,t.device_model");
|
||||
|
||||
return selectPage(pageReqVO, query);
|
||||
}
|
||||
|
||||
public int updateOwnerAndPostIdById(@Param("id") Long id,@Param("type") Integer type);
|
||||
List<TaskDispatchDetailDO> planBbPage(@Param("reqVO")TaskPlanJDBaoBiaoPageReqVO reqVO);
|
||||
List<TaskDispatchDetailDO> planBb(@Param("reqVO")TaskPlanJDBaoBiaoPageReqVO reqVO);
|
||||
|
@ -2,6 +2,7 @@ package com.chanko.yunxi.mes.module.heli.service.taskdispatch;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.ygjx.vo.YgjxPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO;
|
||||
|
||||
@ -76,6 +77,7 @@ public interface TaskDispatchService {
|
||||
|
||||
void deleteTaskDispatchDetail(Long id);
|
||||
|
||||
PageResult<TaskDispatchDetailDO> getGroupTaskDispatchDetailPage(YgjxPageReqVO pageReqVO);
|
||||
PageResult<TaskDispatchDetailDO> getTaskDispatchDetailPage(TaskDispatchDetailPageReqVO pageReqVO);
|
||||
PageResult<TaskDispatchDetailDO> getTaskDispatchDetailPageWx(TaskDispatchDetailPageReqVO pageReqVO);
|
||||
TaskDispatchDetailDO getTaskDispatchDetail(TaskDispatchDetailPageReqVO pageReqVO);
|
||||
|
@ -10,6 +10,7 @@ import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.ygjx.vo.YgjxPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.equipmanufacture.EquipManufactureDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuserdetail.FpUserDetailDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO;
|
||||
@ -328,6 +329,12 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
||||
taskDispatchDetailMapper.deleteByDispatchId(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<TaskDispatchDetailDO> getGroupTaskDispatchDetailPage(YgjxPageReqVO pageReqVO) {
|
||||
|
||||
return taskDispatchDetailMapper.selectPageGroup(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<TaskDispatchDetailDO> getTaskDispatchDetailPage(TaskDispatchDetailPageReqVO pageReqVO) {
|
||||
List<FpUserDetailDO> fpUserDetailDOS = fpUserDetailMapper.selectList(new LambdaQueryWrapper<FpUserDetailDO>().eq(FpUserDetailDO::getBusyId, pageReqVO.getOwner()));
|
||||
|
Loading…
Reference in New Issue
Block a user