From ecb952183c70a4d07a83a0144a2ee1d096ef269f Mon Sep 17 00:00:00 2001 From: 15856 <15856818120@163.com> Date: Mon, 15 Apr 2024 09:42:52 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SltAgreementInfoController.java | 30 +++-- .../impl/SltAgreementInfoServiceImpl.java | 124 +++++++++++++----- 2 files changed, 107 insertions(+), 47 deletions(-) diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/SltAgreementInfoController.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/SltAgreementInfoController.java index 5003db01..433035f4 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/SltAgreementInfoController.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/SltAgreementInfoController.java @@ -20,6 +20,7 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; @@ -31,8 +32,8 @@ import java.util.List; @RestController @RequestMapping("/sltAgreementInfo") public class SltAgreementInfoController extends BaseController { - @Autowired - private SltAgreementInfoService service; + @Resource + private SltAgreementInfoService sltAgreementInfoService; /** * 根据条件获取协议结算列表 @@ -42,11 +43,16 @@ public class SltAgreementInfoController extends BaseController { public TableDataInfo getSltAgreementInfo(AgreementInfo bean) { startPage(); List list = new ArrayList<>(); + //逻辑需要确认,当往来单位id,工程标段ID,结算状态为空时是否返回异常,如果返回异常前端配合改造 if (bean.getUnitId() == null && bean.getProjectId() == null && bean.getSltStatus()== null){ }else { - list = service.getSltAgreementInfo(bean); + list = sltAgreementInfoService.getSltAgreementInfo(bean); } + //上面代码可以改造为 + /*if(bean.getUnitId() != null || bean.getProjectId() != null || bean.getSltStatus()!= null){ + list = sltAgreementInfoService.getSltAgreementInfo(bean); + }*/ return getDataTable(list); } @@ -56,7 +62,7 @@ public class SltAgreementInfoController extends BaseController { @ApiOperation(value = "根据协议获取结算清单") @PostMapping("/getSltInfo") public AjaxResult getSltInfo(@RequestBody List list) { - SltInfoVo bean = service.getSltInfo(list); + SltInfoVo bean = sltAgreementInfoService.getSltInfo(list); return AjaxResult.success(bean); } @@ -67,7 +73,7 @@ public class SltAgreementInfoController extends BaseController { @PostMapping("/exportLease") public void exportLease(HttpServletResponse response,@RequestBody List list) { - List explist = service.getLeaseList(list); + List explist = sltAgreementInfoService.getLeaseList(list); List leaseInfoList = Convert.toList(LeaseInfo.class,explist); ExcelUtil util = new ExcelUtil(LeaseInfo.class); util.exportExcel(response, leaseInfoList, "租赁明细导出"); @@ -80,7 +86,7 @@ public class SltAgreementInfoController extends BaseController { @PostMapping("/exportLose") public void exportLose(HttpServletResponse response,@RequestBody List list) { - List explist = service.getLoseList(list); + List explist = sltAgreementInfoService.getLoseList(list); List leaseInfoList = Convert.toList(LoseInfo.class,explist); ExcelUtil util = new ExcelUtil(LoseInfo.class); util.exportExcel(response, leaseInfoList, "丢失明细导出"); @@ -93,7 +99,7 @@ public class SltAgreementInfoController extends BaseController { @PostMapping("/exportRepair") public void exportRepair(HttpServletResponse response,@RequestBody List list) { - List explist = service.getRepairList(list); + List explist = sltAgreementInfoService.getRepairList(list); List leaseInfoList = Convert.toList(LeaseInfo.class,explist); ExcelUtil util = new ExcelUtil(LeaseInfo.class); util.exportExcel(response, leaseInfoList, "维修明细导出"); @@ -106,7 +112,7 @@ public class SltAgreementInfoController extends BaseController { @PostMapping("/exportScrap") public void exportScrap(HttpServletResponse response,@RequestBody List list) { - List explist = service.getScrapList(list); + List explist = sltAgreementInfoService.getScrapList(list); List leaseInfoList = Convert.toList(ScrapInfo.class,explist); ExcelUtil util = new ExcelUtil(ScrapInfo.class); util.exportExcel(response, leaseInfoList, "维修明细导出"); @@ -119,7 +125,7 @@ public class SltAgreementInfoController extends BaseController { @PostMapping("/submitFee") public AjaxResult submitFee(@RequestBody SltAgreementApply apply) { - return service.submitFee(apply); + return sltAgreementInfoService.submitFee(apply); } /** @@ -130,7 +136,7 @@ public class SltAgreementInfoController extends BaseController { public TableDataInfo getSltExam(AgreementInfo bean) { startPage(); - List list = service.getSltExam(bean); + List list = sltAgreementInfoService.getSltExam(bean); return getDataTable(list); } @@ -141,7 +147,7 @@ public class SltAgreementInfoController extends BaseController { @GetMapping("/getSltExamInfo") public AjaxResult getSltExamInfo(SltAgreementApply apply) { - SltInfoVo bean = service.getSltExamInfo(apply); + SltInfoVo bean = sltAgreementInfoService.getSltExamInfo(apply); return AjaxResult.success(bean); } @@ -152,7 +158,7 @@ public class SltAgreementInfoController extends BaseController { @GetMapping("/settlementReview") public AjaxResult settlementReview(SltAgreementApply apply) { - return toAjax(service.settlementReview(apply)); + return toAjax(sltAgreementInfoService.settlementReview(apply)); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/SltAgreementInfoServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/SltAgreementInfoServiceImpl.java index 0f976181..1419218d 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/SltAgreementInfoServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/SltAgreementInfoServiceImpl.java @@ -4,21 +4,24 @@ import com.bonus.sgzb.base.api.domain.SltAgreementApply; import com.bonus.sgzb.base.api.domain.SltAgreementInfo; import com.bonus.sgzb.base.api.domain.SltAgreementRelation; import com.bonus.sgzb.base.api.domain.SltInfoVo; +import com.bonus.sgzb.common.core.enums.CostTypeEnum; +import com.bonus.sgzb.common.core.enums.PartTypeEnum; +import com.bonus.sgzb.common.core.enums.ScrapTypeEnum; +import com.bonus.sgzb.common.core.enums.TaskTypeEnum; import com.bonus.sgzb.common.core.exception.ServiceException; import com.bonus.sgzb.common.core.utils.DateUtils; import com.bonus.sgzb.common.core.web.domain.AjaxResult; import com.bonus.sgzb.common.security.utils.SecurityUtils; import com.bonus.sgzb.material.domain.AgreementInfo; -import com.bonus.sgzb.material.domain.RepairTaskDetails; -import com.bonus.sgzb.material.domain.ScrapApplyDetails; import com.bonus.sgzb.material.domain.TmTask; +import com.bonus.sgzb.material.exception.ExceptionDict; import com.bonus.sgzb.material.mapper.SltAgreementInfoMapper; import com.bonus.sgzb.material.service.SltAgreementInfoService; import com.bonus.sgzb.material.vo.GlobalContants; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -31,20 +34,24 @@ import java.util.List; */ @Service public class SltAgreementInfoServiceImpl implements SltAgreementInfoService { - @Autowired - private SltAgreementInfoMapper mapper; + @Resource + private SltAgreementInfoMapper sltAgreementInfoMapper; @Override - public List getSltAgreementInfo(AgreementInfo bean) { - return mapper.getSltAgreementInfo(bean); + public List getSltAgreementInfo(AgreementInfo bean) { + return sltAgreementInfoMapper.getSltAgreementInfo(bean); } @Override public SltInfoVo getSltInfo(List list) { SltInfoVo sltInfoVo = new SltInfoVo(); + //租赁费用列表 List leaseList = getLeaseList(list); + //维修费用列表 List repairList = getRepairList(list); + //报废费用列表 List scrapList = getScrapList(list); + //丢失费用列表 List loseList = getLoseList(list); sltInfoVo.setLeaseList(leaseList); sltInfoVo.setRepairList(repairList); @@ -59,8 +66,8 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService { public SltInfoVo getSltExamInfo(SltAgreementApply apply) { SltInfoVo sltInfoVo = new SltInfoVo(); List list = new ArrayList<>(); - String cost = mapper.getCost(apply); - List relations = mapper.getRelations(apply); + String cost = sltAgreementInfoMapper.getCost(apply); + List relations = sltAgreementInfoMapper.getRelations(apply); sltInfoVo.setRelations(relations); for (SltAgreementRelation relation : relations){ AgreementInfo info = new AgreementInfo(); @@ -84,10 +91,10 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService { public int settlementReview(SltAgreementApply apply) { Long userid = SecurityUtils.getLoginUser().getUserid(); apply.setAuditor(String.valueOf(userid)); - int i = mapper.updateRelation(apply); + int i = sltAgreementInfoMapper.updateRelation(apply); int j = 0; if (i > 0){ - List relations = mapper.getRelations(apply); + List relations = sltAgreementInfoMapper.getRelations(apply); List infos = new ArrayList<>(); for (SltAgreementRelation bean : relations){ AgreementInfo info = new AgreementInfo(); @@ -97,12 +104,13 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService { List loseList = getLoseList(infos); for (SltAgreementInfo agreementInfo : loseList){ if (agreementInfo.getMaId() != null && agreementInfo.getMaId().isEmpty()){ - mapper.updateMaStatus(agreementInfo); + sltAgreementInfoMapper.updateMaStatus(agreementInfo); } } - j = mapper.updateApply(apply); + j = sltAgreementInfoMapper.updateApply(apply); }else { throw new ServiceException("结算审核失败"); + //throw new ServiceException(ExceptionDict.SETTLEMENT_REVIEW_ERROR_MSG,ExceptionDict.SETTLEMENT_REVIEW_ERROR); } return j; } @@ -111,10 +119,14 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService { List relations = new ArrayList<>(); for (AgreementInfo info : list){ SltAgreementRelation relation = new SltAgreementRelation(); - BigDecimal loseCost = new BigDecimal("0"); + /*BigDecimal loseCost = new BigDecimal("0"); BigDecimal leaseCost = new BigDecimal("0"); BigDecimal scrapCost = new BigDecimal("0"); - BigDecimal repairCost = new BigDecimal("0"); + BigDecimal repairCost = new BigDecimal("0");*/ + BigDecimal loseCost = BigDecimal.ZERO; + BigDecimal leaseCost = BigDecimal.ZERO; + BigDecimal scrapCost = BigDecimal.ZERO; + BigDecimal repairCost = BigDecimal.ZERO; for (SltAgreementInfo lease : leaseList){ if (lease.getAgreementId().equals(info.getAgreementId().toString())){ relation.setAgreementId(lease.getAgreementId()); @@ -139,6 +151,7 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService { } for (SltAgreementInfo lose : loseList){ if (lose.getAgreementId().equals(info.getAgreementId().toString())){ + //TODO 上面已经set过值,这里为什么还要set值 relation.setAgreementId(lose.getAgreementId()); relation.setProjectName(lose.getProjectName()); relation.setUnitName(lose.getUnitName()); @@ -166,17 +179,18 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService { apply.setCreator(String.valueOf(userid)); apply.setCode(code); apply.setCompanyId(relations.get(0).getCompanyId()); - int i = mapper.insApply(apply); + int i = sltAgreementInfoMapper.insApply(apply); if (i > 0){ for (SltAgreementRelation relation : relations){ AgreementInfo info = new AgreementInfo(); info.setAgreementId(Long.valueOf(relation.getAgreementId())); list.add(info); relation.setApplyId(String.valueOf(apply.getId())); - mapper.updateInfoStatus(relation.getAgreementId()); - int j = mapper.insRelation(relation); + sltAgreementInfoMapper.updateInfoStatus(relation.getAgreementId()); + int j = sltAgreementInfoMapper.insRelation(relation); if (j < 0){ throw new ServiceException("新增协议结算记录失败"); + //throw new ServiceException(ExceptionDict.NEW_AGREEMENT_SETTLEMENT_ERROR_MSG,ExceptionDict.NEW_AGREEMENT_SETTLEMENT_ERROR); } } List leaseList = getLeaseList(list); @@ -185,45 +199,57 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService { List loseList = getLoseList(list); for (SltAgreementInfo info : leaseList){ info.setSltType("1"); + //info.setSltType(CostTypeEnum.LEASE_COST.getCode()); info.setApplyId(String.valueOf(apply.getId())); info.setPartType("1"); - mapper.insDetails(info); + //info.setPartType(PartTypeEnum.CHARGE.getCode()); + sltAgreementInfoMapper.insDetails(info); } for (SltAgreementInfo info : repairList){ info.setSltType("3"); + //info.setSltType(CostTypeEnum.MAINTENANCE_COST.getCode()); info.setApplyId(String.valueOf(apply.getId())); - mapper.insDetails(info); + //对是否收费进行转换 + //info.setPartType(PartTypeEnum.getCodeByInfo(info.getPartType())); + info.setPartType(info.getPartType()=="不收费" ? "0" : "1"); + sltAgreementInfoMapper.insDetails(info); } for (SltAgreementInfo info : scrapList){ info.setSltType("4"); + //info.setSltType(CostTypeEnum.SCRAP_COST.getCode()); info.setApplyId(String.valueOf(apply.getId())); - info.setPartType(info.getScrapType()); - mapper.insDetails(info); + //info.setPartType(info.getScrapType()); + //info.setPartType(ScrapTypeEnum.getCodeByInfo(info.getScrapType())); + info.setPartType(info.getScrapType()=="自然" ? "0" : "1"); + sltAgreementInfoMapper.insDetails(info); } for (SltAgreementInfo info : loseList){ info.setSltType("2"); + //info.setSltType(CostTypeEnum.LOSE_COST.getCode()); info.setApplyId(String.valueOf(apply.getId())); - info.setPartType("1"); - mapper.insDetails(info); + info.setPartType("1"); + //info.setPartType(PartTypeEnum.CHARGE.getCode()); + sltAgreementInfoMapper.insDetails(info); } }else { throw new ServiceException("新增结算单号失败"); + //throw new ServiceException(ExceptionDict.NEW_SETTLEMENT_NUMBER_ERROR_MSG,ExceptionDict.NEW_SETTLEMENT_NUMBER_ERROR); } return AjaxResult.success(); } @Override public List getSltExam(AgreementInfo bean) { - return mapper.getSltExam(bean); + return sltAgreementInfoMapper.getSltExam(bean); } public List getLoseList(List list) { List loseList = new ArrayList<>(); for (AgreementInfo bean : list){ - List oneOflist = mapper.getLoseList(bean); - loseList.addAll(oneOflist); + List oneOfList = sltAgreementInfoMapper.getLoseList(bean); + loseList.addAll(oneOfList); } for (SltAgreementInfo bean : loseList){ if (bean.getBuyPrice() == null){ @@ -235,7 +261,14 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService { BigDecimal buyPrice = new BigDecimal(bean.getBuyPrice()); BigDecimal num = new BigDecimal(bean.getNum()); BigDecimal costs = buyPrice.multiply(num); - bean.setCosts(String.valueOf(costs)); + //计算租赁费用 + /* BigDecimal costs = BigDecimal.ZERO; + if (bean.getBuyPrice() != null && bean.getNum() != null){ + BigDecimal buyPrice = new BigDecimal(bean.getBuyPrice()); + BigDecimal num = new BigDecimal(bean.getNum()); + costs = buyPrice.multiply(num); + } + bean.setCosts(String.valueOf(costs));*/ } return loseList; } @@ -243,15 +276,17 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService { public List getScrapList(List list) { List scrapList = new ArrayList<>(); String taskType = "57"; + //String taskType = TaskTypeEnum.SCRAP_TASK.getCode(); for (AgreementInfo bean : list){ - List taskList = mapper.getTaskList(bean,taskType); + List taskList = sltAgreementInfoMapper.getTaskList(bean,taskType); if (taskList != null && taskList.size() > 0){ - List scrapDetailsList = mapper.getScrapDetailsList(taskList); + List scrapDetailsList = sltAgreementInfoMapper.getScrapDetailsList(taskList); scrapList.addAll(scrapDetailsList); } } if (scrapList != null && scrapList.size() > 0){ for (SltAgreementInfo bean : scrapList){ + if (bean.getBuyPrice() == null){ bean.setBuyPrice("0"); } @@ -261,6 +296,13 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService { BigDecimal buyPrice = new BigDecimal(bean.getBuyPrice()); BigDecimal num = new BigDecimal(bean.getNum()); BigDecimal costs = buyPrice.multiply(num); + //计算总金额 + /*BigDecimal costs = BigDecimal.ZERO; + if (bean.getBuyPrice() != null && bean.getBuyPrice() != null){ + BigDecimal buyPrice = new BigDecimal(bean.getBuyPrice()); + BigDecimal num = new BigDecimal(bean.getNum()); + costs = buyPrice.multiply(num); + }*/ bean.setCosts(String.valueOf(costs)); } } @@ -271,10 +313,11 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService { public List getRepairList(List list) { List repairList = new ArrayList<>(); String taskType = "41"; + //String taskType = TaskTypeEnum.MAINTENANCE_TASK.getCode(); for (AgreementInfo bean : list){ - List taskList = mapper.getTaskList(bean,taskType); + List taskList = sltAgreementInfoMapper.getTaskList(bean,taskType); if (taskList != null && taskList.size() > 0){ - List repairDetailsList = mapper.getRepairDetailsList(taskList); + List repairDetailsList = sltAgreementInfoMapper.getRepairDetailsList(taskList); repairList.addAll(repairDetailsList); } } @@ -284,8 +327,8 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService { public List getLeaseList(List list) { List leaseList = new ArrayList<>(); for (AgreementInfo bean : list){ - List oneOflist = mapper.getLeaseList(bean); - leaseList.addAll(oneOflist); + List oneOfList = sltAgreementInfoMapper.getLeaseList(bean); + leaseList.addAll(oneOfList); } for (SltAgreementInfo bean : leaseList){ if (bean.getLeasePrice() == null){ @@ -302,6 +345,15 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService { BigDecimal leaseDays = new BigDecimal(bean.getLeaseDays()); BigDecimal costs = leasePrice.multiply(num).multiply(leaseDays); bean.setCosts(String.valueOf(costs)); + /* BigDecimal costs = BigDecimal.ZERO; + //当单价,数量,租赁天数都不为空时计算总价 + if(bean.getLeasePrice() != null && bean.getNum() != null && bean.getLeaseDays() != null){ + BigDecimal leasePrice = new BigDecimal(bean.getLeasePrice()); + BigDecimal num = new BigDecimal(bean.getNum()); + BigDecimal leaseDays = new BigDecimal(bean.getLeaseDays()); + costs = leasePrice.multiply(num).multiply(leaseDays); + } + bean.setCosts(String.valueOf(costs));*/ } return leaseList; } @@ -311,7 +363,9 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); Date nowDate = DateUtils.getNowDate(); String format = dateFormat.format(nowDate); - int taskNum = mapper.selectNumByDate(nowDate) + 1; + //String format = DateUtils.dateTime(); + //为什么要加1?是为了防止结果为0? + int taskNum = sltAgreementInfoMapper.selectNumByDate(nowDate) + 1; String codeNum = ""; if (taskNum > GlobalContants.NUM1 && taskNum < GlobalContants.NUM2) { codeNum = code + format + "-00" + taskNum;