diff --git a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/SltAgreementApply.java b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/SltAgreementApply.java new file mode 100644 index 00000000..d2e3b93e --- /dev/null +++ b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/SltAgreementApply.java @@ -0,0 +1,56 @@ +package com.bonus.sgzb.base.api.domain; + +import lombok.Data; + +import java.util.List; + +/** + * @author c liu + * @date 2024/2/21 + */ +@Data +public class SltAgreementApply { + /** + * + */ + private Long id; + /** + *协议id + */ + private String agreementId; + /** + *结算单号 + */ + private String code; + /** + *创建人 + */ + private String creator; + /** + *创建时间 + */ + private String create_time; + /** + *审核人 + */ + private String auditor; + /** + *审核时间 + */ + private String audit_time; + /** + *状态0待审核1审核通过2审核驳回 + */ + private String status; + /** + *数据所属 + */ + private String company_id; + /** + *结算总费用 + */ + private String cost; + + private List agreementIds; + +} diff --git a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/SltAgreementDetails.java b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/SltAgreementDetails.java new file mode 100644 index 00000000..4c41bce4 --- /dev/null +++ b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/SltAgreementDetails.java @@ -0,0 +1,58 @@ +package com.bonus.sgzb.base.api.domain; + +import lombok.Data; + +import java.util.List; + +/** + * @author c liu + * @date 2024/2/21 + */ +@Data +public class SltAgreementDetails { + /** + * + */ + private Long id; + /** + *申请id + */ + private String apply_id; + /** + *机具规格id + */ + private String type_id; + /** + *机具id + */ + private String ma_id; + /** + *费用类型:1租赁2丢失3维修4报废 + */ + private String slt_type; + /** + *数量 + */ + private String num; + /** + *开始时间 + */ + private String start_time; + /** + *结束时间 + */ + private String end_time; + /** + *单价 + */ + private String price; + /** + *金额 + */ + private String money; + /** + *是否收费 + */ + private String is_charge; + +} diff --git a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/SltAgreementInfo.java b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/SltAgreementInfo.java index 9c8eb4d6..fa9f2b03 100644 --- a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/SltAgreementInfo.java +++ b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/SltAgreementInfo.java @@ -60,5 +60,46 @@ public class SltAgreementInfo { * */ private String companyId; + /** + * 项目名称 + */ + private String unitName; + /** + * 工程名称 + */ + private String projectName; + /** + * 设备名称 + */ + private String typeName; + /** + * 规格型号 + */ + private String modelName; + /** + * 计量单位 + */ + private String nuitName; + /** + * 租赁天数 + */ + private String leaseDays; + /** + * 租赁费用 + */ + private String costs; + /** + * 类型(0不收费,1收费) + */ + private String partType; + /** + * 维修审核:0未审核,1已审核,2已驳回 + */ + private String repairStatus; + /** + * (0自然,1人为) + */ + private String scrapType; + } diff --git a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/SltInfoVo.java b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/SltInfoVo.java new file mode 100644 index 00000000..1d0bf5c5 --- /dev/null +++ b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/SltInfoVo.java @@ -0,0 +1,34 @@ +package com.bonus.sgzb.base.api.domain; + +import lombok.Data; + +import java.util.List; + +/** + * @author c liu + * @date 2024/2/23 + */ +@Data +public class SltInfoVo { + /** + * 租赁费用列表 + */ + List leaseList; + /** + * 维修费用列表 + */ + List repairList; + /** + * 报废费用列表 + */ + List scrapList; + /** + * 丢失费用列表 + */ + List loseList; + String loseCost; + String leaseCost; + String scrapCost; + String repairCost; + +} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/BackReceiveMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/BackReceiveMapper.java index e2a971a8..98b5eef4 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/BackReceiveMapper.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/BackReceiveMapper.java @@ -183,4 +183,6 @@ public interface BackReceiveMapper { int updateStlInfoTwo(@Param("info") SltAgreementInfo info,@Param("record") BackApplyInfo record, @Param("backNum") Double backNum); int insStlInfoTwo(@Param("info")SltAgreementInfo info, @Param("many")Double many); + + List getAllList(BackApplyInfo record); } \ No newline at end of file diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/BackReceiveServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/BackReceiveServiceImpl.java index 34353c9d..8c9001b0 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/BackReceiveServiceImpl.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/BackReceiveServiceImpl.java @@ -127,10 +127,7 @@ public class BackReceiveServiceImpl implements BackReceiveService { if(res == 0) { throw new RuntimeException("ma_machines"); } - res = updateSlt(record,hgList); - if(res == 0) { - throw new RuntimeException("slt_agreement_info"); - } + } //维修的创建维修任务,插入任务协议表 List wxList = backReceiveMapper.getWxList(record); @@ -153,6 +150,14 @@ public class BackReceiveServiceImpl implements BackReceiveService { //插入维修记录表scrap_apply_details res = insertSad(newTaskId,bfList); } + + List allList = backReceiveMapper.getAllList(record); + if(allList!=null && allList.size()>0){ + res = updateSlt(record,allList); + if(res == 0) { + throw new RuntimeException("slt_agreement_info"); + } + } }catch (Exception e){ throw new RuntimeException(e.getMessage()); } diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/RepairMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/RepairMapper.java index 42604b9c..5f8700fc 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/RepairMapper.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/RepairMapper.java @@ -9,6 +9,7 @@ import com.bonus.sgzb.system.api.domain.SysUser; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -158,4 +159,6 @@ public interface RepairMapper { * @return */ List exportRepairTaskList(RepairTask bean); + + int addRepairCost(@Param("bean") RepairApplyRecord bean, @Param("costs") BigDecimal costs,@Param("partType") String partType); } diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/RepairServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/RepairServiceImpl.java index 1fe4c727..01fc77a4 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/RepairServiceImpl.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/RepairServiceImpl.java @@ -16,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -42,6 +43,7 @@ public class RepairServiceImpl implements RepairService { @Override public List getRepairMaTypeList(RepairTaskDetails bean) { + Long companyId = SecurityUtils.getLoginUser().getSysUser().getCompanyId(); List repairMaTypeList = mapper.getRepairMaTypeList(bean); return repairMaTypeList; } @@ -53,8 +55,12 @@ public class RepairServiceImpl implements RepairService { LoginUser loginUser = SecurityUtils.getLoginUser(); bean.setCreateBy(loginUser.getUserid()); List partList = bean.getPartList(); + BigDecimal sfCosts = new BigDecimal("0"); + BigDecimal bsfCosts = new BigDecimal("0"); String nbType = "1"; String fcType = "2"; + String sfPart = "1"; + String bsfPart = "0"; if (partList != null && partList.size()>0){ bean.setRepairNum(partList.get(0).getRepairNum()); bean.setRepairer(partList.get(0).getRepairer()); @@ -83,7 +89,6 @@ public class RepairServiceImpl implements RepairService { int num = scrapNum + details.getRepairedNum(); if (num > details.getRepairNum()) { throw new ServiceException("维修数量大于维修总量"); - //添加维修记录 } mapper.updateScrapNum(bean.getId(), scrapNum,loginUser.getUserid()); break; @@ -123,7 +128,23 @@ public class RepairServiceImpl implements RepairService { } bean.setPartNum(partList.get(0).getPartNum()); } - + for (RepairPartDetails partDetails : partList){ + if (sfPart.equals(partDetails.getPartType())){ + BigDecimal partCost = new BigDecimal(partDetails.getPartCost()); + sfCosts = sfCosts.add(partCost); + } else if (bsfPart.equals(partDetails.getPartType())) { + BigDecimal partCost = new BigDecimal(partDetails.getPartCost()); + bsfCosts = bsfCosts.add(partCost); + } else{ + throw new ServiceException("请选择配件收费类型"); + } + } + if (!sfCosts.toString().equals("0")){ + mapper.addRepairCost(bean,sfCosts,sfPart); + } + if (!bsfCosts.toString().equals("0")){ + mapper.addRepairCost(bean,bsfCosts,bsfPart); + } } mapper.addRecord(bean); return AjaxResult.success(); diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/AppMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/AppMapper.xml index 5d25ddf7..b40843e9 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/AppMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/AppMapper.xml @@ -4,7 +4,7 @@ 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 6c390f14..304c8a6e 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 @@ -667,7 +667,6 @@ WHERE parent_id=#{parentId} and bcd.back_status='1' - + \ No newline at end of file diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/base/RepairMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/base/RepairMapper.xml index 6d3b53be..ffe45cbb 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/base/RepairMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/base/RepairMapper.xml @@ -21,6 +21,10 @@ insert into repair_audit_details (task_id,repair_id,ma_id,type_id,repair_num,repaired_num,scrap_num,status,create_by,create_time,company_id) values (#{taskId},#{id},#{maId},#{typeId},#{repairNum},#{repairedNum},#{scrapNum},'0',#{createBy},now(),#{companyId}); + + insert into repair_cost (task_id,repair_id,type_id,ma_id,repair_num,costs,part_type,status,company_id) + values (#{bean.taskId},#{bean.id},#{bean.typeId},#{bean.maId},#{bean.repairNum},#{costs},#{partType},'0',#{bean.companyId}); + update repair_apply_details set repaired_num = #{repairNum}, 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 c6792507..f8e99880 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 @@ -1,15 +1,17 @@ package com.bonus.sgzb.material.controller; +import com.bonus.sgzb.base.api.domain.SltAgreementApply; +import com.bonus.sgzb.base.api.domain.SltInfoVo; import com.bonus.sgzb.common.core.web.controller.BaseController; +import com.bonus.sgzb.common.core.web.domain.AjaxResult; import com.bonus.sgzb.common.core.web.page.TableDataInfo; import com.bonus.sgzb.material.domain.AgreementInfo; import com.bonus.sgzb.material.service.SltAgreementInfoService; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.List; /** @@ -30,8 +32,35 @@ public class SltAgreementInfoController extends BaseController { public TableDataInfo getSltAgreementInfo(AgreementInfo bean) { startPage(); - List list = service.getSltAgreementInfo(bean); + List list = new ArrayList<>(); + if (bean.getUnitId() == null && bean.getProjectId() == null && bean.getSltStatus()== null){ + + }else { + list = service.getSltAgreementInfo(bean); + } return getDataTable(list); } + /** + * 根据协议获取结算清单 + */ + @ApiOperation(value = "根据协议获取结算清单") + @PostMapping("/getSltInfo") + public AjaxResult getSltInfo(@RequestBody List list) + { + SltInfoVo bean = service.getSltInfo(list); + return AjaxResult.success(bean); + } + + /** + * 费用结算提交 + */ + @ApiOperation(value = "费用结算提交") + @PostMapping("/submitFee") + public AjaxResult submitFee(@RequestBody SltAgreementApply apply) + { + AjaxResult res = service.submitFee(apply); + return res; + } + } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTaskDetails.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTaskDetails.java index ea7fe481..372bd36d 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTaskDetails.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairTaskDetails.java @@ -80,6 +80,7 @@ public class RepairTaskDetails { private Long typeId; private Long companyId; private String remark; + /** * 任务创建人 */ diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/ScrapApplyDetails.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/ScrapApplyDetails.java index afc56ca8..be21937f 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/ScrapApplyDetails.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/ScrapApplyDetails.java @@ -91,6 +91,7 @@ public class ScrapApplyDetails extends BaseEntity @ApiModelProperty(value = "机具编号") private String maCode; + private String buyPrice; /** * 传入参数 diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairAuditDetailsMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairAuditDetailsMapper.java index c784ca19..7573f386 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairAuditDetailsMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairAuditDetailsMapper.java @@ -7,6 +7,7 @@ import com.bonus.sgzb.material.domain.RepairTaskDetails; import com.bonus.sgzb.material.vo.RepairAuditDetailsVO; import com.bonus.sgzb.material.vo.ScrapApplyDetailsVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -142,4 +143,6 @@ public interface RepairAuditDetailsMapper RepairAuditDetails getRepairId(RepairAuditDetails repairAuditDetails); List getPartRecord(RepairAuditDetails bean); + + int updateRepairCost(@Param("inputDetails")RepairAuditDetails inputDetails, @Param("status") String status); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/SltAgreementInfoMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/SltAgreementInfoMapper.java index 55b688be..1667e4d3 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/SltAgreementInfoMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/SltAgreementInfoMapper.java @@ -1,7 +1,12 @@ package com.bonus.sgzb.material.mapper; +import com.bonus.sgzb.base.api.domain.SltAgreementInfo; 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 org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -12,4 +17,14 @@ import java.util.List; @Mapper public interface SltAgreementInfoMapper { List getSltAgreementInfo(AgreementInfo bean); + + List getLeaseList(AgreementInfo bean); + + List getTaskList(@Param("bean") AgreementInfo bean, @Param("taskType")String taskType); + + List getRepairDetailsList(@Param("taskList") List taskList); + + List getScrapDetailsList(@Param("taskList") List taskList); + + List getLoseList(AgreementInfo bean); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/SltAgreementInfoService.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/SltAgreementInfoService.java index 6159a198..aaf5c081 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/SltAgreementInfoService.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/SltAgreementInfoService.java @@ -1,5 +1,8 @@ package com.bonus.sgzb.material.service; +import com.bonus.sgzb.base.api.domain.SltAgreementApply; +import com.bonus.sgzb.base.api.domain.SltInfoVo; +import com.bonus.sgzb.common.core.web.domain.AjaxResult; import com.bonus.sgzb.material.domain.AgreementInfo; import org.springframework.stereotype.Service; @@ -11,4 +14,8 @@ import java.util.List; */ public interface SltAgreementInfoService { List getSltAgreementInfo(AgreementInfo bean); + + SltInfoVo getSltInfo(List list); + + AjaxResult submitFee(SltAgreementApply apply); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairAuditDetailsServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairAuditDetailsServiceImpl.java index 6a32bd72..8a9e36c4 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairAuditDetailsServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairAuditDetailsServiceImpl.java @@ -219,7 +219,6 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService Long typeId = inputDetails.getTypeId(); Long maId = inputDetails.getMaId(); BigDecimal repairNum = inputDetails.getRepairedNum(); - // 创建修饰后入库任务 if (repairNum.compareTo(b) > 0) { // 添加修试后入库任务 @@ -236,6 +235,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService repairInputDetails.setCompanyId((long) companyId); repairTestInputMapper.insertRepairInputDetails(repairInputDetails); } + repairAuditDetailsMapper.updateRepairCost(inputDetails,status); } } if (scrapNumList != null && scrapNumList.size() > 0) { @@ -313,6 +313,8 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService repairTaskDetails.setCompanyId((long) companyId); repairTaskDetails.setBackId(backId); repairAuditDetailsMapper.insertRepairDetails(repairTaskDetails); + + repairAuditDetailsMapper.updateRepairCost(inputDetails,status); } } // 修饰审核任务不通过时 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 ff25e814..b9762bcc 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 @@ -1,11 +1,20 @@ package com.bonus.sgzb.material.service.impl; +import com.bonus.sgzb.base.api.domain.SltAgreementApply; +import com.bonus.sgzb.base.api.domain.SltAgreementInfo; +import com.bonus.sgzb.base.api.domain.SltInfoVo; +import com.bonus.sgzb.common.core.web.domain.AjaxResult; 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.mapper.SltAgreementInfoMapper; import com.bonus.sgzb.material.service.SltAgreementInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; /** @@ -21,4 +30,119 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService { public List getSltAgreementInfo(AgreementInfo bean) { return mapper.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); + sltInfoVo.setScrapList(scrapList); + sltInfoVo.setLoseList(loseList); + return sltInfoVo; + } + + @Override + public AjaxResult submitFee(SltAgreementApply apply) { + List agreementIds = apply.getAgreementIds(); + List list = new ArrayList<>(); + for (String agreementId : agreementIds){ + AgreementInfo info = new AgreementInfo(); + info.setAgreementId(Long.valueOf(agreementId)); + list.add(info); + } + + + return null; + } + + private List getLoseList(List list) { + List loseList = new ArrayList<>(); + for (AgreementInfo bean : list){ + List oneOflist = mapper.getLoseList(bean); + loseList.addAll(oneOflist); + } + for (SltAgreementInfo bean : loseList){ + if (bean.getBuyPrice() == null){ + bean.setBuyPrice("0"); + } + if (bean.getNum() == null){ + bean.setNum("0"); + } + BigDecimal buyPrice = new BigDecimal(bean.getBuyPrice()); + BigDecimal num = new BigDecimal(bean.getNum()); + BigDecimal costs = buyPrice.multiply(num); + bean.setCosts(String.valueOf(costs)); + } + return loseList; + } + + private List getScrapList(List list) { + List scrapList = new ArrayList<>(); + String taskType = "57"; + for (AgreementInfo bean : list){ + List taskList = mapper.getTaskList(bean,taskType); + if (taskList != null && taskList.size() > 0){ + List scrapDetailsList = mapper.getScrapDetailsList(taskList); + scrapList.addAll(scrapDetailsList); + } + } + if (scrapList != null && scrapList.size() > 0){ + for (SltAgreementInfo bean : scrapList){ + if (bean.getBuyPrice() == null){ + bean.setBuyPrice("0"); + } + if (bean.getNum() == null){ + bean.setNum("0"); + } + BigDecimal buyPrice = new BigDecimal(bean.getBuyPrice()); + BigDecimal num = new BigDecimal(bean.getNum()); + BigDecimal costs = buyPrice.multiply(num); + bean.setCosts(String.valueOf(costs)); + } + } + + return scrapList; + } + + private List getRepairList(List list) { + List repairList = new ArrayList<>(); + String taskType = "41"; + for (AgreementInfo bean : list){ + List taskList = mapper.getTaskList(bean,taskType); + if (taskList != null && taskList.size() > 0){ + List repairDetailsList = mapper.getRepairDetailsList(taskList); + repairList.addAll(repairDetailsList); + } + } + return repairList; + } + + private List getLeaseList(List list) { + List leaseList = new ArrayList<>(); + for (AgreementInfo bean : list){ + List oneOflist = mapper.getLeaseList(bean); + leaseList.addAll(oneOflist); + } + for (SltAgreementInfo bean : leaseList){ + if (bean.getLeasePrice() == null){ + bean.setLeasePrice("0"); + } + if (bean.getNum() == null){ + bean.setNum("0"); + } + if (bean.getLeaseDays() == null){ + bean.setLeaseDays("0"); + } + BigDecimal leasePrice = new BigDecimal(bean.getLeasePrice()); + BigDecimal num = new BigDecimal(bean.getNum()); + BigDecimal leaseDays = new BigDecimal(bean.getLeaseDays()); + BigDecimal costs = leasePrice.multiply(num).multiply(leaseDays); + bean.setCosts(String.valueOf(costs)); + } + return leaseList; + } } diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairAuditDetailsMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairAuditDetailsMapper.xml index e74a6d8a..38bbb808 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairAuditDetailsMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairAuditDetailsMapper.xml @@ -218,6 +218,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" audit_remark = #{auditRemark} where id = #{id} + + update repair_cost + set part_type = #{status} + where repair_id = #{inputDetails.repairId} + delete from repair_audit_details where id = #{id} diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/SltAgreementInfoMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/SltAgreementInfoMapper.xml index 576f603b..2ea18fcb 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/SltAgreementInfoMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/SltAgreementInfoMapper.xml @@ -4,14 +4,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file