diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/domain/BackApplyInfo.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/domain/BackApplyInfo.java index 3c108b28..f83a8792 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/domain/BackApplyInfo.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/domain/BackApplyInfo.java @@ -186,4 +186,16 @@ public class BackApplyInfo { private String endTime; private Integer flag; private Integer partNum; + /** + * 合格数量 + */ + private Integer hgNum; + /** + * 维修数量 + */ + private Integer wxNum; + /** + * 报废数量 + */ + private Integer bfNum; } diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/BackApplyAppMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/BackApplyAppMapper.java index 0b625f01..01da2bc8 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/BackApplyAppMapper.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/BackApplyAppMapper.java @@ -2,6 +2,7 @@ package com.bonus.sgzb.app.mapper; import com.bonus.sgzb.app.domain.BackApplyInfo; import com.bonus.sgzb.app.domain.BmAgreementInfo; +import com.bonus.sgzb.app.domain.MachinePart; import com.bonus.sgzb.app.domain.TmTask; import org.apache.ibatis.annotations.Mapper; @@ -52,4 +53,8 @@ public interface BackApplyAppMapper { int refuse(BackApplyInfo record); int updateTmTask(BackApplyInfo record); + + List getMaTypeDetails(BackApplyInfo backApplyInfo); + + MachinePart getMachineParts(TmTask typeId); } \ No newline at end of file diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/BackApplyServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/BackApplyServiceImpl.java index 829f568e..50d490ff 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/BackApplyServiceImpl.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/BackApplyServiceImpl.java @@ -3,11 +3,13 @@ package com.bonus.sgzb.app.service.impl; import cn.hutool.core.collection.CollUtil; import com.bonus.sgzb.app.domain.BackApplyInfo; import com.bonus.sgzb.app.domain.BmAgreementInfo; +import com.bonus.sgzb.app.domain.MachinePart; import com.bonus.sgzb.app.domain.TmTask; import com.bonus.sgzb.app.mapper.BackApplyAppMapper; import com.bonus.sgzb.app.service.BackApplyService; import com.bonus.sgzb.common.core.utils.StringUtils; import com.bonus.sgzb.common.security.utils.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -112,7 +114,27 @@ public class BackApplyServiceImpl implements BackApplyService { @Override public List examineView(BackApplyInfo record) { - return backApplyMapper.examineView(record); + List backApplyInfoList = backApplyMapper.examineView(record); + return getMaTypeDetails(backApplyInfoList); + } + + private List getMaTypeDetails(List view) { + if (view.size() > 0) { + for (BackApplyInfo backApplyInfo : view) { + if ("2".equals(backApplyInfo.getManageType())) { + List machineParts = new ArrayList<>(); + List typeIds = backApplyMapper.getMaTypeDetails(backApplyInfo); + typeIds.removeIf(item -> item == null); + for (TmTask typeId : typeIds) { + MachinePart machinePart = backApplyMapper.getMachineParts(typeId); + machinePart.setPartNum((typeId.getPartNum() * Double.parseDouble(backApplyInfo.getPreNum()))); + machineParts.add(machinePart); + } + backApplyInfo.setMaTypeDetails(machineParts); + } + } + } + return view; } @Override @@ -124,11 +146,11 @@ public class BackApplyServiceImpl implements BackApplyService { record.setCreateBy(userId); if (roles.contains("jjfgs") || roles.contains("admin")) { record.setStatus("1"); - backApplyMapper.audit(record); + backApplyMapper.audit(record); } if (roles.contains("tsfgs") || roles.contains("admin")) { record.setStatus("3"); - backApplyMapper.audit(record); + backApplyMapper.audit(record); } List taskIdById = backApplyMapper.getTaskIdById(record); if (CollUtil.isNotEmpty(taskIdById)) { diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/BackApplyAppMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/BackApplyAppMapper.xml index 7432ec36..d1eeff16 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/BackApplyAppMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/BackApplyAppMapper.xml @@ -466,7 +466,7 @@ GROUP_CONCAT(bai.company_id) as companyId, GROUP_CONCAT(DISTINCT bad.type_id) as typeId, GROUP_CONCAT(CONCAT_WS('/', IFNULL(mt2.type_name, ''))) AS typeName, - SUM(DISTINCT bad.pre_num) AS num, + SUM(bad.pre_num) AS num, bai.direct_audit_remark as directAuditRemark FROM back_apply_info bai @@ -488,6 +488,9 @@ SELECT mt.type_name typeCode, CONCAT_WS('/', IFNULL(mt2.type_name, '')) AS typeName, + bad.type_id as typeId, + mt.manage_type as manageType, + bad.pre_num as preNum, bad.pre_num as num FROM back_apply_details bad @@ -511,6 +514,27 @@ (SELECT * FROM back_apply_info bai2 WHERE bai2.id = #{id}) dd on bai1.task_id = dd.task_id + + \ No newline at end of file diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/BackReceiveMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/BackReceiveMapper.xml index fe18cbab..f16c7ec5 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/BackReceiveMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/BackReceiveMapper.xml @@ -621,8 +621,7 @@ WHERE tt.task_status IN ( 37, 38, 39, 40 ) - and (bai.code like concat('%', #{keyWord}, '%') or - bagi.agreement_code like concat('%', #{keyWord}, '%')) + and bai.code like concat('%', #{keyWord}, '%') and bui.unit_id = #{unitId} @@ -964,8 +963,10 @@ SELECT mt2.type_name AS typeName, mt1.type_name AS typeCode, - ifnull(sum( bcd.back_num ), 0) AS backNum, - mm.ma_code as maCode, + SUM( CASE WHEN bcd.back_status = 1 THEN bcd.back_num ELSE 0 END ) AS hgNum, + SUM( CASE WHEN bcd.back_status = 2 THEN bcd.back_num ELSE 0 END ) AS wxNum, + SUM( CASE WHEN bcd.back_status = 3 THEN bcd.back_num ELSE 0 END ) AS bfNum, + mm.ma_code AS maCode, bcd.create_time AS backTime, bcd.type_id as modelId, bcd.back_status AS backStatus