From a2a25fe20f61a721bb90479bcead9dc0d791e5a8 Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 27 Aug 2025 21:55:56 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ma/service/impl/MachineServiceImpl.java | 4 +- .../part/mapper/PartArrivedMapper.java | 7 ++++ .../service/impl/PartArrivedServiceImpl.java | 16 +++++--- .../impl/RepairInputDetailsServiceImpl.java | 39 ++++++++++++++++--- .../mapper/material/ma/MachineMapper.xml | 9 ++++- .../material/part/PartArrivedMapper.xml | 20 +++++++++- .../repair/RepairInputDetailsMapper.xml | 10 ++++- 7 files changed, 88 insertions(+), 17 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java index 3a1275a5..cf6dcd9d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java @@ -368,7 +368,7 @@ public class MachineServiceImpl implements IMachineService // 根据maid查询领料任务 LeaseApplyInfo leaseInfo = machineMapper.getLeaseParentId(machine); - if (leaseInfo.getParentId() == null){ + if (leaseInfo == null || leaseInfo.getParentId() == null){ baseInfo.setLeaseTime(null); baseInfo.setLeaseUnit(null); baseInfo.setLeaseProject(null); @@ -381,7 +381,7 @@ public class MachineServiceImpl implements IMachineService // 根据maid查询退料任务 LeaseApplyInfo leaseInfoBack = machineMapper.getBackParentId(machine); - if (leaseInfoBack.getParentId() == null){ + if (leaseInfoBack == null || leaseInfoBack.getParentId() == null){ baseInfo.setBackTime(null); baseInfo.setBackUnit(null); baseInfo.setBackProject(null); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/mapper/PartArrivedMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/mapper/PartArrivedMapper.java index feba904d..db714a75 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/mapper/PartArrivedMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/mapper/PartArrivedMapper.java @@ -125,4 +125,11 @@ public interface PartArrivedMapper * @return */ int updateTaskStatus(@Param("taskId") Long taskId,@Param("status") Integer status); + + /** + * 修改采购配件主表 + * @param partTypeCheckInfo + * @return + */ + int updatePurchaseCheckInfo(PartTypeCheckInfo partTypeCheckInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartArrivedServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartArrivedServiceImpl.java index feeb8808..44086ced 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartArrivedServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartArrivedServiceImpl.java @@ -105,6 +105,7 @@ public class PartArrivedServiceImpl implements IPartArrivedService @Transactional public AjaxResult insertPartTypeCheckInfo(PartTypeCheckDto partTypeCheckDto) { partTypeCheckDto.getPartTypeCheckInfo().setCreateTime(DateUtils.getNowDate()); + partTypeCheckDto.getPartTypeCheckInfo().setPurchaseTime(DateUtils.getNowDate()); partTypeCheckDto.getPartTypeCheckInfo().setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName()); try { final int thisMonthMaxOrder = partArrivedMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_PART_TYPE.getTaskTypeId()); @@ -237,17 +238,17 @@ public class PartArrivedServiceImpl implements IPartArrivedService BigDecimal inputNum = new BigDecimal(0); BigDecimal purchasePrice = new BigDecimal(0); BigDecimal purchaseTaxPrice = new BigDecimal(0); - String partName = ""; + Set partNameSet = new HashSet<>(); for (int j = 0; j < partTypeCheckDetails.size(); j++) { purchaseNum = purchaseNum.add(partTypeCheckDetails.get(j).getPurchaseNum()); inputNum = inputNum.add(partTypeCheckDetails.get(j).getInputNum()); purchasePrice = purchasePrice.add(partTypeCheckDetails.get(j).getPurchasePrice().multiply(partTypeCheckDetails.get(j).getPurchaseNum())); purchaseTaxPrice = purchaseTaxPrice.add(partTypeCheckDetails.get(j).getPurchaseTaxPrice().multiply(partTypeCheckDetails.get(j).getPurchaseNum())); - partName = partName + partTypeCheckDetails.get(j).getMaTypeName(); - if (j < partTypeCheckDetails.size() - 1) { - partName += ","; - } + // 将名称添加到Set中(自动去重) + partNameSet.add(partTypeCheckDetails.get(j).getMaTypeName()); } + // 将Set中的元素用逗号拼接成字符串 + String partName = String.join(",", partNameSet); partTypeCheckInfos.get(i).setInputMaNumber(inputNum); partTypeCheckInfos.get(i).setPurchaseMaNumber(purchaseNum); partTypeCheckInfos.get(i).setPurchasePrice(purchasePrice); @@ -402,6 +403,11 @@ public class PartArrivedServiceImpl implements IPartArrivedService } partArrivedMapper.deletePartTypeCheckDetailsByParentIds(partTypeCheckDto.getPartTypeCheckInfo().getTaskId()); if (ids.length > 0) { + // 修改采购配件主表 + int res = partArrivedMapper.updatePurchaseCheckInfo(partTypeCheckDto.getPartTypeCheckInfo()); + if (res == 0) { + throw new ServiceException("修改失败"); + } insertPartTypeCheckDetails(partTypeCheckDto.getPartTypeCheckDetailsList(), partTypeCheckDto.getPartTypeCheckInfo().getTaskId()); } return true; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairInputDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairInputDetailsServiceImpl.java index 920d2600..012cf75e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairInputDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairInputDetailsServiceImpl.java @@ -335,14 +335,14 @@ public class RepairInputDetailsServiceImpl implements IRepairInputDetailsService */ @Override public AjaxResult getInfoByQrcode(BmQrcodeInfo bmQrcodeInfo) { - if (bmQrcodeInfo.getQrCode() == null) { - return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "二维码code不能为空"); + if (bmQrcodeInfo.getQrCode() == null && bmQrcodeInfo.getMaCode() == null) { + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "编码或二维码code不能为空"); } List recordList = repairInputDetailsMapper.getInfoByQrcode(bmQrcodeInfo); if (CollectionUtil.isNotEmpty(recordList)) { return AjaxResult.success(recordList); } - return AjaxResult.error(HttpCodeEnum.SYSTEM_ERROR.getCode(), "该二维码处于非修试待入库状态"); + return AjaxResult.error(HttpCodeEnum.SYSTEM_ERROR.getCode(), "该编码处于非修试待入库状态"); } /** @@ -781,8 +781,11 @@ public class RepairInputDetailsServiceImpl implements IRepairInputDetailsService //1查询入参设备是否为待入库设备 RepairInputDetails inputInfo = new RepairInputDetails(); - - inputInfo = checkMachineStatus(inputApplyDetails.getQrCode()); + if (StringUtils.isNotBlank(inputApplyDetails.getMaCode())) { + inputInfo = checkCodeMachineStatus(inputApplyDetails.getMaCode()); + } else { + inputInfo = checkMachineStatus(inputApplyDetails.getQrCode()); + } if(inputInfo ==null){ throw new ServiceException("设备不是修试后待入库状态"); } @@ -808,6 +811,32 @@ public class RepairInputDetailsServiceImpl implements IRepairInputDetailsService return result; } + /** + * 修饰入库之编码入库 + * @param maCode + * @return + */ + private RepairInputDetails checkCodeMachineStatus(String maCode) { + RepairInputDetails inputInfo = new RepairInputDetails(); + + Machine ma = new Machine(); + ma.setMaCode(maCode); + Machine ma2 = machineMapper.selectMachineByQrCode(ma); + long maId = ma2.getMaId(); + + String status = ma2.getMaStatus(); + if("5".equals(status)){ + InputApplyDetails inputApplyDetails = new InputApplyDetails(); + inputApplyDetails.setMaId(maId); + inputInfo = repairInputDetailsMapper.selectInputInfoByMaId(inputApplyDetails); + + + }else{ + inputInfo = null; + } + return inputInfo; + } + @Override @Transactional(rollbackFor = Exception.class) public int sanQrBoxInput(RepairInputDetails repairInputDetails) { diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml index 7f8c9755..fa0d0ac6 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml @@ -622,8 +622,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" FROM ma_machine mm WHERE - mm.qr_code = #{qrCode} - + 1 = 1 + + and mm.qr_code = #{qrCode} + + + and mm.ma_code LIKE CONCAT('%',#{maCode},'%') + select DISTINCT m.pa_id as partId, m.pa_name as partName, m.parent_id as parentId, m.unit_id as unitId, m.unit_name as unitName, m.storage_num as storageNum, m.rent_price as rentPrice, m.buy_price as buyPrice, m.level,m.del_flag as delFlag,m.remark @@ -130,7 +147,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairInputDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairInputDetailsMapper.xml index 4e73b453..fc21b03f 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairInputDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairInputDetailsMapper.xml @@ -331,7 +331,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN repair_apply_details rad ON rad.id = rid.repair_id LEFT JOIN tm_task tt1 on rad.task_id = tt1.task_id WHERE - mm.ma_status = '5' and mm.qr_code = #{qrCode} + rid.`status` = '0' and mm.ma_status = '5' + + and mm.qr_code = #{qrCode} + + + and mm.ma_code like concat('%',#{maCode},'%') + @@ -491,7 +497,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" From 9e4bea6e873b680f53054bed90efa374e3f29cfd Mon Sep 17 00:00:00 2001 From: hayu <1604366271@qq.com> Date: Wed, 27 Aug 2025 21:57:11 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/material/repair/service/impl/RepairServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java index 6cf4a630..9c0271d1 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java @@ -1349,6 +1349,8 @@ public class RepairServiceImpl implements RepairService { } } } + //修改退料任务的状态,以及退料详情里面的状态 + int res = taskMapper.updateTaskStatus(String.valueOf(taskId), 1); // 4. 删除维修明细数据 result = repairMapper.deleteByTaskId(taskId); if (result < 1) { From b0159a8e18501c8a9769daab20d708f726958db3 Mon Sep 17 00:00:00 2001 From: hayu <1604366271@qq.com> Date: Thu, 28 Aug 2025 15:25:52 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WsMaInfoController.java | 12 ++++++++ .../codeCollection/domain/WsMaInfo.java | 12 ++++++++ .../codeCollection/mapper/WsMaInfoMapper.java | 7 +++++ .../service/WsMaInfoService.java | 7 +++++ .../service/impl/WsMaInfoServiceImpl.java | 11 +++++++ .../codeCollection/WsMaInfoMapper.xml | 30 +++++++++++++++++++ 6 files changed, 79 insertions(+) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/controller/WsMaInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/controller/WsMaInfoController.java index cfbeecf1..3a7752a3 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/controller/WsMaInfoController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/controller/WsMaInfoController.java @@ -2,12 +2,15 @@ package com.bonus.material.codeCollection.controller; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.common.log.annotation.SysLog; import com.bonus.common.log.enums.OperaType; import com.bonus.common.security.utils.SecurityUtils; import com.bonus.material.codeCollection.domain.WsMaInfo; import com.bonus.material.codeCollection.service.WsMaInfoService; import com.bonus.material.common.annotation.PreventRepeatSubmit; +import com.bonus.material.ma.domain.Machine; +import com.bonus.material.ma.domain.vo.MachineVo; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; @@ -94,4 +97,13 @@ public class WsMaInfoController extends BaseController { } + + + @ApiOperation(value = "查询小工具编码信息列表") + @GetMapping("/getGadgetList") + public TableDataInfo getGadgetList(WsMaInfo info) { + startPage(); + List list = service.getGadgetList(info); + return getDataTable(list); + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/domain/WsMaInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/domain/WsMaInfo.java index e6964042..d9d78c44 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/domain/WsMaInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/domain/WsMaInfo.java @@ -1,5 +1,6 @@ package com.bonus.material.codeCollection.domain; +import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -108,4 +109,15 @@ public class WsMaInfo { * 二维码 */ private String qrCode; + + /** + * 关键字 + */ + private String keyWord; + + @ApiModelProperty(value = "开始时间") + private String startTime; + + @ApiModelProperty(value = "结束时间") + private String endTime; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/mapper/WsMaInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/mapper/WsMaInfoMapper.java index 70fd247e..e1063f6a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/mapper/WsMaInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/mapper/WsMaInfoMapper.java @@ -93,4 +93,11 @@ public interface WsMaInfoMapper { * @return 条数 */ int updateCheckTime(WsMaInfo info); + + /** + * 获取机具信息 + * @param info 查询条件 + * @return 机具信息集合 + */ + List getGadgetList(WsMaInfo info); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/service/WsMaInfoService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/service/WsMaInfoService.java index 6b96035d..3ef70f2b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/service/WsMaInfoService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/service/WsMaInfoService.java @@ -85,4 +85,11 @@ public interface WsMaInfoService { * @return 条数 */ AjaxResult updateCheckTime(WsMaInfo info); + + /** + * 查询小工具编码信息列表 + * @param info + * @return + */ + List getGadgetList(WsMaInfo info); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/service/impl/WsMaInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/service/impl/WsMaInfoServiceImpl.java index cb20da0c..83cacede 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/service/impl/WsMaInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/codeCollection/service/impl/WsMaInfoServiceImpl.java @@ -10,6 +10,7 @@ import org.apache.commons.lang3.ObjectUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; @@ -209,4 +210,14 @@ public class WsMaInfoServiceImpl implements WsMaInfoService { return AjaxResult.error("更新失败"); } } + + @Override + public List getGadgetList(WsMaInfo info) { + try { + return mapper.getGadgetList(info); + } catch (Exception e) { + log.error("查询小工具编码信息列表:", e.getMessage()); + return new ArrayList<>(); + } + } } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/codeCollection/WsMaInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/codeCollection/WsMaInfoMapper.xml index 5b39d59f..3ed24f7b 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/codeCollection/WsMaInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/codeCollection/WsMaInfoMapper.xml @@ -121,6 +121,36 @@ ) AS t2 + Date: Thu, 28 Aug 2025 16:38:21 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E7=9B=98=E7=82=B9=E5=85=A5=E5=BA=93bug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../material/ma/service/impl/WarehousingServiceImpl.java | 2 -- .../main/resources/mapper/material/ma/WarehousingMapper.xml | 6 +++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/WarehousingServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/WarehousingServiceImpl.java index 4afde39d..62ff146b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/WarehousingServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/WarehousingServiceImpl.java @@ -173,8 +173,6 @@ public class WarehousingServiceImpl implements WarehousingService { machIneDto.setNum(dto.getNum()); machIneDto.setIsCode(dto.getIsCode()); machIneDto.setTypeId(dto.getTypeId()); - machIneDto.setUnitId(dto.getUnitId()); - machIneDto.setProId(dto.getProId()); machIneDto.setRemarks(dto.getRemarks()); res += insertInfo(machIneDto); machIneDto.setInfoId(machIneDto.getId()); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/WarehousingMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/WarehousingMapper.xml index a7451a2d..c9857f64 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/WarehousingMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/WarehousingMapper.xml @@ -64,8 +64,8 @@ - type_id, - creator, + + creator, code, remarks, create_time @@ -83,7 +83,7 @@ - #{typeId}, + #{creator}, #{code}, #{remarks}, From b8905ea4f4610538abe69f77343b6c3b68a17cd4 Mon Sep 17 00:00:00 2001 From: syruan <15555146157@163.com> Date: Thu, 28 Aug 2025 18:01:10 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=B7=B2=E7=BB=93=E7=AE=97=E8=B4=B9?= =?UTF-8?q?=E7=94=A8=E7=BB=9F=E8=AE=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/material/settlement/SltAgreementInfoMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/settlement/SltAgreementInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/settlement/SltAgreementInfoMapper.xml index df79e383..5e90f0b0 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/settlement/SltAgreementInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/settlement/SltAgreementInfoMapper.xml @@ -796,8 +796,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" saa.create_time as createTime, SUM(IF(sad.slt_type = '1',sad.money,0)) AS leaseCost, SUM(IF(sad.slt_type = '2',sad.money,0)) AS loseCost, - SUM(IF(sad.slt_type = '3',sad.money,0)) AS repairCost, - SUM(IF(sad.slt_type = '4',sad.money,0)) AS scrapCost, + SUM(IF(sad.slt_type = '3' AND sad.is_charge = '1',sad.money,0)) AS repairCost, + SUM(IF(sad.slt_type = '4' AND sad.is_charge = '1',sad.money,0)) AS scrapCost, case when saa.status = '1' then '1' when saa.status = '2' then '2' when saa.status = '3' then '3' end as sltStatus FROM bm_agreement_info bai