From 2bfb16ffc4c7e178413a8686c54ba96745b16230 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Tue, 7 May 2024 16:52:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=85=E7=B4=A2=E8=B5=94=E7=BB=B4=E4=BF=AE?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E5=88=86=E9=A1=B5=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/databases/yxt-as.sql | 39 +++++++++- .../AsBusrepairBillPageListQuery.java | 71 +++++++++++++++++ .../AsBusrepairBillPageListVo.java | 64 ++++++++++++++++ .../AsBusrepairBillMapper.java | 7 +- .../asbusrepairbill/AsBusrepairBillMapper.xml | 26 +++++++ .../asbusrepairbill/AsBusrepairBillRest.java | 14 +++- .../AsBusrepairBillService.java | 76 +++++++++++++++++++ 7 files changed, 289 insertions(+), 8 deletions(-) create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillPageListQuery.java create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillPageListVo.java diff --git a/doc/databases/yxt-as.sql b/doc/databases/yxt-as.sql index 0ff7a425b8..698d4b95ff 100644 --- a/doc/databases/yxt-as.sql +++ b/doc/databases/yxt-as.sql @@ -110,4 +110,41 @@ CREATE TABLE `as_busrepair_inventorybill_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_bill`; +CREATE TABLE `as_busclaim_bill` +( + `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', + `billNo` varchar(64) DEFAULT NULL COMMENT '索赔单号', + `reportDate` varchar(64) DEFAULT NULL COMMENT '上报日期', + `repairBillsid` varchar(64) DEFAULT NULL COMMENT '维修工单sid', + `repairBillNo` varchar(64) DEFAULT NULL COMMENT '维修工单号', + `hourAmount` decimal(10, 2) DEFAULT NULL COMMENT '工时费', + `goodsAmount` decimal(10, 2) DEFAULT NULL COMMENT '材料费', + `otherAmount` decimal(10, 2) DEFAULT NULL COMMENT '其他费用', + `claimHourAmount` decimal(10, 2) DEFAULT NULL COMMENT '索赔工时费', + `claimGoodsAmount` decimal(10, 2) DEFAULT NULL COMMENT '索赔材料费', + `claimOutAmount` decimal(10, 2) DEFAULT NULL COMMENT '索赔外出费', + `claimSubsidyAmount` decimal(10, 2) DEFAULT NULL COMMENT '索赔厂家补助', + `claimOtherAmount` decimal(10, 2) DEFAULT NULL COMMENT '索赔其他费用', + `invoiceState` int(32) DEFAULT '0' COMMENT '开票状态(未开票,开票中1,已开票2)', + `invoiceTime` timestamp null DEFAULT NULL COMMENT '开票时间', + `returnAmountTime` timestamp null DEFAULT NULL COMMENT '回款时间', + `adjustState` int(32) DEFAULT NULL COMMENT '调整状态(未调整0,已调整1)', + `createOrgSid` varchar(64) DEFAULT NULL COMMENT '创建组织sid', + `useOrgSid` 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/asbusrepairbill/AsBusrepairBillPageListQuery.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillPageListQuery.java new file mode 100644 index 0000000000..fb44d0feb6 --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillPageListQuery.java @@ -0,0 +1,71 @@ +package com.yxt.anrui.as.api.asbusrepairbill; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/7 + **/ +@Data +public class AsBusrepairBillPageListQuery implements Query { + private static final long serialVersionUID = -4727573438243441267L; + private String orgPath; + private String createBySid; + @ApiModelProperty("分公司") + private String useOrgName; + + @ApiModelProperty("制单部门") + private String deptName; + + @ApiModelProperty("制单人") + private String createByName; + + @ApiModelProperty("单据编号") + private String billNo; + + //制单日期开始时间-制单日期结束时间 + private String createTimeStart; + private String createTimeEnd; + + @ApiModelProperty("工单类型") + private String billType; + + @ApiModelProperty("科目") + private String subject; + + //进场时间开始时间-进厂时间结束时间 + private String entryTimeStart; + private String entryTimeEnd; + + //预计完工开始时间-预计完工结束时间 + private String estimatedFinishTimeStart; + private String estimatedFinishTimeEnd; + + @ApiModelProperty("客户名称") + private String customerName; + + @ApiModelProperty("联系电话") + private String mobile; + + @ApiModelProperty("客户单位") + private String customerOrg; + + @ApiModelProperty("车牌号") + private String vehMark; + + @ApiModelProperty("车架号") + private String vinNo; + + @ApiModelProperty("服务顾问") + private String waitorName; + @ApiModelProperty("班组名称") + private String groupName; + + @ApiModelProperty("主修人(可多选)销售单") + private String mainRepairers; + + //是否开票 +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillPageListVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillPageListVo.java new file mode 100644 index 0000000000..1436caf47a --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillPageListVo.java @@ -0,0 +1,64 @@ +package com.yxt.anrui.as.api.asbusrepairbill; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: 待索赔维修工单返回参数 + * @author: dimengzhe + * @date: 2024/5/7 + **/ +@Data +public class AsBusrepairBillPageListVo { + + @ApiModelProperty("索赔单数量") + private String num; + + @ApiModelProperty("单据编号") + private String billNo; + + @ApiModelProperty("环节") + private String nodeName; + + @ApiModelProperty("分公司") + private String useOrgName; + + @ApiModelProperty("制单部门") + private String deptName; + + @ApiModelProperty("制单人") + private String createByName; + + @ApiModelProperty("制单日期") + private String createTime; + + @ApiModelProperty("工单类型") + private String billType; + + @ApiModelProperty("科目") + private String subject; + + @ApiModelProperty("进厂时间") + private String entryTime; + + @ApiModelProperty("预计完工时间") + private String estimatedFinishTime; + @ApiModelProperty("客户名称") + private String customerName; + @ApiModelProperty("联系电话") + private String mobile; + @ApiModelProperty("客户单位") + private String customerOrg; + @ApiModelProperty("车牌号") + private String vehMark; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("车型") + private String vehModel; + @ApiModelProperty("服务顾问") + private String waitorName; + @ApiModelProperty("班组名称") + private String groupName; + @ApiModelProperty("主修人(可多选)销售单") + private String mainRepairers; +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.java index 9575611f15..cb45c7a151 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.java @@ -4,10 +4,7 @@ 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.asbusrepairbill.AsBusrepairBill; -import com.yxt.anrui.as.api.asbusrepairbill.AsBusrepairBillListVo; -import com.yxt.anrui.as.api.asbusrepairbill.AsBusrepairBillVo; -import com.yxt.anrui.as.api.asbusrepairbill.AsBusrepairPageVo; +import com.yxt.anrui.as.api.asbusrepairbill.*; import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.SitemsVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -40,4 +37,6 @@ public interface AsBusrepairBillMapper extends BaseMapper { AsBusrepairPageVo selectByBillNo(String sid); List selectSitemList(String sourceBillSid); + + IPage billPageList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml index 05a6a6f1c3..05cec008aa 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml @@ -109,4 +109,30 @@ from as_busrepair_bill_sitem a where a.billSid = #{sourceBillSid} + + diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java index f4db6fe89f..01679d758d 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java @@ -42,13 +42,13 @@ public class AsBusrepairBillRest { @PostMapping("/sureMaterialFee") @ApiOperation("确认材料费") - ResultBean sureMaterialFee(@RequestBody AsBusrepairBillDto dto){ + ResultBean sureMaterialFee(@RequestBody AsBusrepairBillDto dto) { return asBusrepairBillService.sureMaterialFee(dto); } @PostMapping("/settle") @ApiOperation("结算") - ResultBean settle(@RequestBody AsBusrepairBillDto dto){ + ResultBean settle(@RequestBody AsBusrepairBillDto dto) { return asBusrepairBillService.settle(dto); } @@ -114,7 +114,15 @@ public class AsBusrepairBillRest { @GetMapping("/detailsInit") @ApiOperation("根据维修单sid获取维修单主信息及服务信息") - ResultBean detailsInit(@RequestParam("sid")String sid){ + ResultBean detailsInit(@RequestParam("sid") String sid) { return asBusrepairBillService.detailsInit(sid); } + + @PostMapping("/billPageList") + @ApiOperation("待索赔维修工单分页") + ResultBean> billPageList(@RequestBody PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = asBusrepairBillService.billPageList(pagerQuery); + return rb.success().setData(pv); + } } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java index dff7c8d112..209b434dc8 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java @@ -729,4 +729,80 @@ public class AsBusrepairBillService extends MybatisBaseService selectSitemList(String sourceBillSid) { return baseMapper.selectSitemList(sourceBillSid); } + + public PagerVo billPageList(PagerQuery pagerQuery) { + AsBusrepairBillPageListQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //ToDo:添加查询条件 + //分公司 + if (StringUtils.isNotBlank(query.getUseOrgName())) { + qw.like("a.useOrgName", query.getUseOrgName()); + } + //制单部门 + if (StringUtils.isNotBlank(query.getDeptName())) { + qw.like("a.deptName", query.getDeptName()); + } + //制单人 + if (StringUtils.isNotBlank(query.getCreateByName())) { + qw.like("a.createByName", query.getCreateByName()); + } + //维修工单编号 + if (StringUtils.isNotBlank(query.getBillNo())) { + qw.like("a.billNo", query.getBillNo()); + } + //单据日期开始时间-单据日期结束时间 + qw.apply(StringUtils.isNotBlank(query.getCreateTimeStart()), "date_format (a.createTime,'%Y-%m-%d') >= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (a.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')" + ); + //工单类型 + if (StringUtils.isNotBlank(query.getBillType())) { + qw.like("a.billType", query.getBillType()); + } + //科目 + if (StringUtils.isNotBlank(query.getSubject())) { + qw.like("a.subject", query.getSubject()); + } + //进厂时间开始时间-进厂时间结束时间 + qw.apply(StringUtils.isNotBlank(query.getEstimatedFinishTimeStart()), "date_format (a.estimatedFinishTime,'%Y-%m-%d') >= date_format('" + query.getEstimatedFinishTimeStart() + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(query.getEstimatedFinishTimeEnd()), "date_format (a.estimatedFinishTime,'%Y-%m-%d') <= date_format('" + query.getEstimatedFinishTimeEnd() + "','%Y-%m-%d')" + ); + //客户名称 + if (StringUtils.isNotBlank(query.getCustomerName())) { + qw.like("a.customerName", query.getCustomerName()); + } + //联系电话 + if (StringUtils.isNotBlank(query.getMobile())) { + qw.like("a.mobile", query.getMobile()); + } + //客户单位 + if (StringUtils.isNotBlank(query.getCustomerOrg())) { + qw.like("a.customerOrg", query.getCustomerOrg()); + } + //车牌号 + if (StringUtils.isNotBlank(query.getVehMark())) { + qw.like("b.vehMark", query.getVehMark()); + } + //车架号 + if (StringUtils.isNotBlank(query.getVinNo())) { + qw.like("b.vinNo", query.getVinNo()); + } + //服务顾问 + if (StringUtils.isNotBlank(query.getWaitorName())) { + qw.like("a.waitorName", query.getWaitorName()); + } + //班组名称 + if (StringUtils.isNotBlank(query.getGroupName())) { + qw.like("a.groupName", query.getGroupName()); + } + //主修人 + if (StringUtils.isNotBlank(query.getMainRepairers())) { + qw.like("a.mainRepairers", query.getMainRepairers()); + } + qw.like("a.subject", "保内"); + qw.gt("a.nodeCode", 3); + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.billPageList(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } }