@ -14,6 +14,7 @@ import com.chanko.yunxi.mes.module.biz.dal.dataobject.taskdispatch.TaskDispatchD
import com.chanko.yunxi.mes.module.biz.dal.dataobject.taskreport.TaskReportDO ;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.warehouse.WarehouseDO ;
import com.chanko.yunxi.mes.module.biz.dal.mysql.warehouse.WarehouseMapper ;
import com.chanko.yunxi.mes.module.system.controller.admin.user.vo.user.UserPageReqVO ;
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO ;
import com.github.yulichang.wrapper.MPJLambdaWrapper ;
import org.apache.ibatis.annotations.Mapper ;
@ -168,5 +169,37 @@ public interface TaskReportMapper extends BaseMapperX<TaskReportDO> {
return selectList ( query ) ;
}
default PageResult < TaskReportDO > selectUserReportDetail ( UserPageReqVO pageReqVO ) {
MPJLambdaWrapperX < TaskReportDO > query = new MPJLambdaWrapperX < > ( ) ;
query . distinct ( )
. select ( "d.code project_code,h.name dept_name,e.code material_code,e.name material_name,e.spec,f.nickname as ownerName,DATE_FORMAT(t.report_time,'%Y-%m-%d') as report_time" )
. select ( "g.name procedure_name,sum(t.work_time) work_time,sum(t.amount) amount" )
. leftJoin ( "pro_task_dispatch_detail as a on a.id=t.dispatch_detail_id" )
. leftJoin ( "pro_task_dispatch as b on b.id=a.dispatch_id" )
. leftJoin ( "project_sale_order_sub as c on c.id=b.project_sub_id" )
. leftJoin ( "project_sale_order as d on d.id=c.project_order_id" )
. leftJoin ( "base_material as e on e.id=c.material_id" )
. leftJoin ( "system_users as f on f.id=t.owner" )
. leftJoin ( "base_procedure as g on g.id=t.procedure_id" )
. leftJoin ( "system_dept as h on h.id=f.dept_id" )
. groupBy ( "d.code,h.name,e.code,e.name,e.spec,t.owner,DATE_FORMAT(t.report_time,'%Y-%m-%d'),t.procedure_id" )
. disableSubLogicDel ( ) ;
if ( ! StringUtils . isEmpty ( pageReqVO . getUserNickName ( ) ) ) {
query . apply ( true , "(f.nickname like {0} or f.username like {0})" , "%" + pageReqVO . getUserNickName ( ) + "%" ) ;
}
if ( ! StringUtils . isEmpty ( pageReqVO . getProjectCode ( ) ) ) {
query . apply ( true , "d.code like {0}" , pageReqVO . getProjectCode ( ) ) ;
}
if ( ! StringUtils . isEmpty ( pageReqVO . getExternalCode ( ) ) ) {
query . apply ( true , "d.external_code like {0}" , pageReqVO . getExternalCode ( ) ) ;
}
if ( ! StringUtils . isEmpty ( pageReqVO . getYearMonth ( ) ) ) {
query . eq ( true , "DATE_FORMAT(t.report_time,'%Y%m')" , pageReqVO . getYearMonth ( ) ) ;
}
return selectPage ( pageReqVO , query ) ;
}
}