From ef12a108bd8b33f4c6e1dbe46cbcaad88136e270 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Sat, 11 May 2024 13:35:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B4=A2=E8=B5=94=E5=8D=95=E5=BE=85=E6=A0=B8?= =?UTF-8?q?=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/databases/yxt-as.sql | 28 +++- .../api/asbusclaimcheck/AsBusclaimCheck.java | 31 ++++ .../asbusclaimcheck/AsBusclaimCheckDto.java | 26 ++++ .../asbusclaimcheck/AsBusclaimCheckQuery.java | 18 +++ .../asbusclaimcheck/AsBusclaimCheckVo.java | 75 ++++++++++ .../asbusclaimbill/AsBusclaimBillMapper.java | 4 + .../asbusclaimbill/AsBusclaimBillMapper.xml | 14 ++ .../asbusclaimbill/AsBusclaimBillRest.java | 137 +++++++++++++++++- .../asbusclaimbill/AsBusclaimBillService.java | 6 + .../AsBusclaimCheckMapper.java | 20 +++ .../asbusclaimcheck/AsBusclaimCheckMapper.xml | 16 ++ .../asbusclaimcheck/AsBusclaimCheckRest.java | 46 ++++++ .../AsBusclaimCheckService.java | 55 +++++++ .../AsBusclaimInvoiceBillService.java | 23 +++ .../AsBusclaimInvoiceBillDetailMapper.java | 2 + .../AsBusclaimInvoiceBillDetailMapper.xml | 7 + .../AsBusclaimInvoiceBillDetailService.java | 4 + 17 files changed, 503 insertions(+), 9 deletions(-) create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheck/AsBusclaimCheck.java create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheck/AsBusclaimCheckDto.java create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheck/AsBusclaimCheckQuery.java create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheck/AsBusclaimCheckVo.java create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheck/AsBusclaimCheckMapper.java create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheck/AsBusclaimCheckMapper.xml create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheck/AsBusclaimCheckRest.java create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheck/AsBusclaimCheckService.java diff --git a/doc/databases/yxt-as.sql b/doc/databases/yxt-as.sql index ba98d2c103..1b5153b51e 100644 --- a/doc/databases/yxt-as.sql +++ b/doc/databases/yxt-as.sql @@ -214,4 +214,30 @@ CREATE TABLE `as_busclaim_invoice_bill_detail` PRIMARY KEY (`id`), KEY `id` (`id`) ) ENGINE = INNODB - DEFAULT CHARSET = utf8 COMMENT ='索赔单开票申请明细'; \ No newline at end of file + DEFAULT CHARSET = utf8 COMMENT ='索赔单开票申请明细'; + + +DROP TABLE IF EXISTS `as_busclaim_check`; +CREATE TABLE `as_busclaim_check` +( + `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id', + `sid` varchar(64) NOT NULL COMMENT 'sid', + `lockVersion` int(32) DEFAULT '0' COMMENT '版本锁', + `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用', + `state` int(32) DEFAULT '1' COMMENT '1正常、0作废,申请-审批中-完成-作废', + `isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除', + `remarks` varchar(255) DEFAULT NULL COMMENT '备注', + `createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid', + `updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid', + `repairBillNo` varchar(64) DEFAULT NULL COMMENT '维修工单号', + `vehMark` varchar(64) DEFAULT NULL COMMENT '车牌号', + `vinNo` varchar(64) DEFAULT NULL COMMENT '车架号', + `billNo` varchar(64) DEFAULT NULL COMMENT '索赔单号', + `billInvoiceSid` varchar(64) DEFAULT NULL COMMENT '索赔开票sid', + `billInvoiceDetailSid` varchar(64) DEFAULT NULL COMMENT '开票明细sid', + PRIMARY KEY (`id`), + KEY `id` (`id`) +) ENGINE = INNODB + DEFAULT CHARSET = utf8 COMMENT ='索赔单待核对'; \ No newline at end of file diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheck/AsBusclaimCheck.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheck/AsBusclaimCheck.java new file mode 100644 index 0000000000..0a3c155c2e --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheck/AsBusclaimCheck.java @@ -0,0 +1,31 @@ +package com.yxt.anrui.as.api.asbusclaimcheck; + +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class AsBusclaimCheck extends BaseEntity { + private static final long serialVersionUID = -7407671609091940363L; + + @ApiModelProperty("维修工单号") + private String repairBillNo; + @ApiModelProperty("车牌号") + private String vehMark; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("索赔单号") + private String billNo; + @ApiModelProperty("索赔单开票sid") + private String billInvoiceSid; + + @ApiModelProperty("开票明细sid") + private String billInvoiceDetailSid; + + +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheck/AsBusclaimCheckDto.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheck/AsBusclaimCheckDto.java new file mode 100644 index 0000000000..e5e520e25a --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheck/AsBusclaimCheckDto.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.as.api.asbusclaimcheck; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class AsBusclaimCheckDto { + + @ApiModelProperty("维修工单号") + private String repairBillNo; + @ApiModelProperty("车牌号") + private String vehMark; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("索赔单号") + private String billNo; + @ApiModelProperty("索赔单开票sid") + private String billInvoiceSid; + @ApiModelProperty("开票明细sid") + private String billInvoiceDetailSid; +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheck/AsBusclaimCheckQuery.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheck/AsBusclaimCheckQuery.java new file mode 100644 index 0000000000..a9aea91fbf --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheck/AsBusclaimCheckQuery.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.as.api.asbusclaimcheck; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class AsBusclaimCheckQuery implements Query { + + private static final long serialVersionUID = -5046272268264726533L; + @ApiModelProperty("维修工单号") + private String repairBillNo; +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheck/AsBusclaimCheckVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheck/AsBusclaimCheckVo.java new file mode 100644 index 0000000000..664bc46a86 --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheck/AsBusclaimCheckVo.java @@ -0,0 +1,75 @@ +package com.yxt.anrui.as.api.asbusclaimcheck; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class AsBusclaimCheckVo { + + @ApiModelProperty("索赔单号") + private String billNo; + @ApiModelProperty("索赔单开票sid") + private String billInvoiceSid; + + @ApiModelProperty("开票明细sid") + private String billInvoiceDetailSid; + + //维修工单号 + private String repairBillNo; + + //车牌号 + private String vehMark; + + //车架号 + private String vinNo; + + //关联索赔单数量 + private String count; + + //已开票索赔单数量 + private String count1; + + //未开票索赔单数量 + private String count2; + + //工单:工时费 + private String hourAmount1; + + //工单材料费 + private String goodsAmount1; + + //工单外出费 + private String claimOutAmount1; + + //工单厂家补助 + private String claimSubsidyAmount1; + + //工单其他费用 + private String claimOtherAmount1; + + //工单合计 + private String all1; + + //索赔开票工时费 + private String claimHourAmount2; + + //索赔开票材料费 + private String claimGoodsAmount2; + + //索赔开票外出费 + private String claimOutAmount2; + + //索赔开票厂家补助 + private String claimSubsidyAmount2; + + //索赔开票其他金额 + private String claimOtherAmount2; + + //合计 + private String all2; +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillMapper.java index d9e34366bb..1d9e26ac75 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillMapper.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillMapper.java @@ -9,6 +9,8 @@ import com.yxt.anrui.as.api.asbusclaimbill.AsBusclaimBillVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @description: * @author: dimengzhe @@ -17,4 +19,6 @@ import org.apache.ibatis.annotations.Param; @Mapper public interface AsBusclaimBillMapper extends BaseMapper { IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + int saveList(List resultList); } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillMapper.xml index d34ccc4870..8509c1a65e 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillMapper.xml +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillMapper.xml @@ -19,4 +19,18 @@ ${ew.sqlSegment} + + + INSERT INTO as_busclaim_bill(sid, billNo, hourAmount, goodsAmount, + claimOutAmount, claimSubsidyAmount, claimOtherAmount) values + + (UUID(), + #{item.billNo,jdbcType=VARCHAR}, + #{item.hourAmount,jdbcType=DECIMAL}, + #{item.goodsAmount,jdbcType=DECIMAL}, + #{item.claimOutAmount,jdbcType=DECIMAL}, + #{item.claimSubsidyAmount,jdbcType=DECIMAL}, + #{item.claimOtherAmount,jdbcType=DECIMAL}) + + \ No newline at end of file diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillRest.java index 3267daf8c1..16fc279893 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillRest.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillRest.java @@ -1,25 +1,32 @@ package com.yxt.anrui.as.biz.asbusclaimbill; -import com.yxt.anrui.as.api.asbusclaimbill.AsBusclaimBillDto; -import com.yxt.anrui.as.api.asbusclaimbill.AsBusclaimBillExcelVo; -import com.yxt.anrui.as.api.asbusclaimbill.AsBusclaimBillQuery; -import com.yxt.anrui.as.api.asbusclaimbill.AsBusclaimBillVo; +import com.yxt.anrui.as.api.asbusclaimbill.*; import com.yxt.anrui.as.api.asbusrepairbill.AsBusrepairBillPageListVo; import com.yxt.common.base.utils.ExportExcelUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import io.swagger.annotations.ApiOperation; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; import java.net.URLEncoder; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -66,5 +73,119 @@ public class AsBusclaimBillRest { ExportExcelUtils.export(fileNameURL, list, AsBusclaimBillExcelVo.class, response); } + @PostMapping("/getExcelInfo") + @ResponseBody + @ApiOperation(value = "导入") + public ResultBean getExcelInfo(@RequestParam(value = "fileName") String fileName, @RequestParam(value = "file") MultipartFile file) throws IOException, ParseException { + if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) { + return ResultBean.fireFail().setMsg("上传文件不正确"); + } + int[] resultCell = new int[]{0, 1, 2, 3, 4, 5, 6, 7}; + List resultList = new ArrayList<>(); + boolean isExcel2003 = true; + if (fileName.matches("^.+\\.(?i)(xlsx)$")) { + isExcel2003 = false; + } + InputStream is = file.getInputStream(); + Workbook wb = null; + if (isExcel2003) { + wb = new HSSFWorkbook(is); + } else { + wb = new XSSFWorkbook(is); + } + Sheet sheet = wb.getSheetAt(0); + resultList = getSheetVal(sheet, resultCell); + System.out.println("结果是--->" + resultList); + try { + asBusclaimBillService.saveList(resultList); + return ResultBean.fireSuccess().setMsg("数据导入成功"); + } catch (Exception e) { + e.printStackTrace(); + return ResultBean.fireFail().setMsg("数据导入失败"); + } + } + + private List getSheetVal(Sheet sheet, int[] resultCell) { + SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd"); + List asBusclaimBillList = new ArrayList<>(); + int[] resultIndex = new int[resultCell.length]; + AsBusclaimBill asBusclaimBill; + for (int r = 1; r <= sheet.getLastRowNum(); r++) { + Row row = sheet.getRow(r); + if (row == null) { + continue; + } + asBusclaimBill = new AsBusclaimBill(); + for (int i = 0; i < row.getPhysicalNumberOfCells(); i++) { + String temp = getCellVal(row.getCell(i)).toString().trim(); + for (int j = 0; j < resultCell.length; j++) { + if (i == resultCell[j]) { + switch (i) { + case 0: + asBusclaimBill.setBillNo(temp); + break; + case 1: + //车架号 + break; + case 2: + //工时费 + asBusclaimBill.setHourAmount(new BigDecimal(temp)); + break; + case 3: + //材料费 + asBusclaimBill.setGoodsAmount(new BigDecimal(temp)); + break; + case 4: + //外出费 + asBusclaimBill.setClaimOutAmount(new BigDecimal(temp)); + break; + case 5: + //厂家补助 + asBusclaimBill.setClaimSubsidyAmount(new BigDecimal(temp)); + break; + case 6: + //其他费用 + asBusclaimBill.setClaimOtherAmount(new BigDecimal(temp)); + break; + case 7: + //状态 + break; + default: + break; + } + } else { + continue; + } + } + } + asBusclaimBillList.add(asBusclaimBill); + + } + return asBusclaimBillList; + } + + public Object getCellVal(Cell cell) { + Object obj = null; + if (cell != null) { + switch (cell.getCellTypeEnum()) { + case BOOLEAN: + obj = cell.getBooleanCellValue(); + break; + case ERROR: + obj = cell.getErrorCellValue(); + break; + case NUMERIC: + obj = cell.getNumericCellValue(); + break; + case STRING: + obj = cell.getStringCellValue(); + break; + default: + break; + } + } + return obj; + } + } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillService.java index 0557ed3026..3373e6245f 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimbill/AsBusclaimBillService.java @@ -19,6 +19,8 @@ import com.yxt.common.core.vo.PagerVo; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import java.util.List; + /** * @description: * @author: dimengzhe @@ -64,4 +66,8 @@ public class AsBusclaimBillService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); return p; } + + public int saveList(List resultList) { + return baseMapper.saveList(resultList); + } } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheck/AsBusclaimCheckMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheck/AsBusclaimCheckMapper.java new file mode 100644 index 0000000000..269da5e1f9 --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheck/AsBusclaimCheckMapper.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.as.biz.asbusclaimcheck; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.as.api.asbusclaimcheck.AsBusclaimCheck; +import com.yxt.anrui.as.api.asbusclaimcheck.AsBusclaimCheckVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Mapper +public interface AsBusclaimCheckMapper extends BaseMapper { + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheck/AsBusclaimCheckMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheck/AsBusclaimCheckMapper.xml new file mode 100644 index 0000000000..0a59be5054 --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheck/AsBusclaimCheckMapper.xml @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheck/AsBusclaimCheckRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheck/AsBusclaimCheckRest.java new file mode 100644 index 0000000000..1771d1e797 --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheck/AsBusclaimCheckRest.java @@ -0,0 +1,46 @@ +package com.yxt.anrui.as.biz.asbusclaimcheck; + +import com.yxt.anrui.as.api.asbusclaimcheck.AsBusclaimCheckDto; +import com.yxt.anrui.as.api.asbusclaimcheck.AsBusclaimCheckQuery; +import com.yxt.anrui.as.api.asbusclaimcheck.AsBusclaimCheckVo; +import com.yxt.anrui.as.api.asbusclaiminvoicebill.AsBusclaimInvoiceBillVo; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @description: 索赔工单待核对 + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@RestController +@RequestMapping("v1/AsBusclaimCheck") +public class AsBusclaimCheckRest { + + @Autowired + private AsBusclaimCheckService asBusclaimCheckService; + + @PostMapping("/save") + @ApiOperation("新增") + ResultBean save(@RequestBody List list) { + return asBusclaimCheckService.saveCheck(list); + } + + @PostMapping("/listPage") + @ApiOperation("分页列表") + ResultBean> listPage(@RequestBody PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = asBusclaimCheckService.listPage(pagerQuery); + return rb.success().setData(pv); + } + + +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheck/AsBusclaimCheckService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheck/AsBusclaimCheckService.java new file mode 100644 index 0000000000..4f3ab93011 --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheck/AsBusclaimCheckService.java @@ -0,0 +1,55 @@ +package com.yxt.anrui.as.biz.asbusclaimcheck; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.as.api.asbusclaimcheck.AsBusclaimCheck; +import com.yxt.anrui.as.api.asbusclaimcheck.AsBusclaimCheckDto; +import com.yxt.anrui.as.api.asbusclaimcheck.AsBusclaimCheckQuery; +import com.yxt.anrui.as.api.asbusclaimcheck.AsBusclaimCheckVo; +import com.yxt.anrui.as.api.asbusclaiminvoicebill.AsBusclaimInvoiceBill; +import com.yxt.anrui.as.api.asbusclaiminvoicebill.AsBusclaimInvoiceBillQuery; +import com.yxt.anrui.as.api.asbusclaiminvoicebill.AsBusclaimInvoiceBillVo; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Service +public class AsBusclaimCheckService extends MybatisBaseService { + public ResultBean saveCheck(List list) { + ResultBean rb = ResultBean.fireFail(); + list.removeAll(Collections.singleton(null)); + if (!list.isEmpty()) { + for (int i = 0; i < list.size(); i++) { + AsBusclaimCheckDto dto = list.get(i); + AsBusclaimCheck asBusclaimCheck = new AsBusclaimCheck(); + BeanUtil.copyProperties(dto, asBusclaimCheck, "sid"); + baseMapper.insert(asBusclaimCheck); + } + } + return rb.success(); + } + + public PagerVo listPage(PagerQuery pagerQuery) { + AsBusclaimCheckQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //ToDo:添加查询条件 + + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.listPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaiminvoicebill/AsBusclaimInvoiceBillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaiminvoicebill/AsBusclaimInvoiceBillService.java index f8ab8333f9..68bd3ff3fc 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaiminvoicebill/AsBusclaimInvoiceBillService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaiminvoicebill/AsBusclaimInvoiceBillService.java @@ -6,10 +6,13 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.google.common.util.concurrent.ThreadFactoryBuilder; +import com.yxt.anrui.as.api.asbusclaimcheck.AsBusclaimCheckDto; import com.yxt.anrui.as.api.asbusclaiminvoicebill.*; import com.yxt.anrui.as.api.asbusclaiminvoicebill.flowable.*; +import com.yxt.anrui.as.api.asbusclaiminvoicebilldetail.AsBusclaimInvoiceBillDetail; import com.yxt.anrui.as.api.asbusclaiminvoicebilldetail.AsBusclaimInvoiceBillDetailDto; import com.yxt.anrui.as.api.asbusclaiminvoicebilldetail.AsBusclaimInvoiceBillDetailVo; +import com.yxt.anrui.as.biz.asbusclaimcheck.AsBusclaimCheckService; import com.yxt.anrui.as.biz.asbusclaiminvoicebilldetail.AsBusclaimInvoiceBillDetailMapper; import com.yxt.anrui.as.biz.asbusclaiminvoicebilldetail.AsBusclaimInvoiceBillDetailService; import com.yxt.anrui.as.feign.flowable.flow.BusinessVariables; @@ -78,6 +81,8 @@ public class AsBusclaimInvoiceBillService extends MybatisBaseService listPage(PagerQuery pagerQuery) { AsBusclaimInvoiceBillQuery query = pagerQuery.getParams(); @@ -332,6 +337,24 @@ public class AsBusclaimInvoiceBillService extends MybatisBaseService list = new ArrayList<>(); + List detailList = asBusclaimInvoiceBillDetailService.selectByBillSid(businessSid); + detailList.removeAll(Collections.singleton(null)); + if (!detailList.isEmpty()) { + for (int i = 0; i < detailList.size(); i++) { + AsBusclaimInvoiceBillDetail asBusclaimInvoiceBillDetail = detailList.get(i); + AsBusclaimCheckDto asBusclaimCheckDto = new AsBusclaimCheckDto(); + asBusclaimCheckDto.setRepairBillNo(asBusclaimInvoiceBillDetail.getRepairBillNo()); + asBusclaimCheckDto.setBillInvoiceSid(businessSid); + asBusclaimCheckDto.setBillInvoiceDetailSid(asBusclaimInvoiceBillDetail.getSid()); + asBusclaimCheckDto.setBillNo(asBusclaimInvoiceBillDetail.getClaimBillNo()); + asBusclaimCheckDto.setVehMark(asBusclaimInvoiceBillDetail.getVehmark()); + asBusclaimCheckDto.setVinNo(asBusclaimInvoiceBillDetail.getVinNo()); + list.add(asBusclaimCheckDto); + } + ResultBean resultBean1 = asBusclaimCheckService.saveCheck(list); + } } else { //极光推送 asBusclaimInvoiceBill = fetchBySid(businessSid); diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaiminvoicebilldetail/AsBusclaimInvoiceBillDetailMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaiminvoicebilldetail/AsBusclaimInvoiceBillDetailMapper.java index 60bc761178..703ddd92c4 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaiminvoicebilldetail/AsBusclaimInvoiceBillDetailMapper.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaiminvoicebilldetail/AsBusclaimInvoiceBillDetailMapper.java @@ -17,4 +17,6 @@ public interface AsBusclaimInvoiceBillDetailMapper extends BaseMapper selectDetails(String sid); + + List selectByBillSid(String businessSid); } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaiminvoicebilldetail/AsBusclaimInvoiceBillDetailMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaiminvoicebilldetail/AsBusclaimInvoiceBillDetailMapper.xml index fd9d6c95a8..46820851a5 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaiminvoicebilldetail/AsBusclaimInvoiceBillDetailMapper.xml +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaiminvoicebilldetail/AsBusclaimInvoiceBillDetailMapper.xml @@ -22,4 +22,11 @@ from as_busclaim_invoice_bill_detail a where billSid = #{sid} + + \ No newline at end of file diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaiminvoicebilldetail/AsBusclaimInvoiceBillDetailService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaiminvoicebilldetail/AsBusclaimInvoiceBillDetailService.java index e15ba7729f..e7b7c116c6 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaiminvoicebilldetail/AsBusclaimInvoiceBillDetailService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaiminvoicebilldetail/AsBusclaimInvoiceBillDetailService.java @@ -30,4 +30,8 @@ public class AsBusclaimInvoiceBillDetailService extends MybatisBaseService selectDetails(String sid) { return baseMapper.selectDetails(sid); } + + public List selectByBillSid(String businessSid) { + return baseMapper.selectByBillSid(businessSid); + } }