diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/report/BusinessDetailsQuery.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/report/BusinessDetailsQuery.java new file mode 100644 index 0000000000..22a859d4a1 --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/report/BusinessDetailsQuery.java @@ -0,0 +1,92 @@ +package com.yxt.anrui.as.api.asbusrepairbill.report; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/11/13 14:30 + */ +@Data +public class BusinessDetailsQuery implements Query { + + private String billNo; + private String vinNo; + /** + * 车牌号 + */ + private String vehMark; + /** + * 维修类型 + */ + private String billType; + /** + * 单据类型 + */ + private String busType; + /** + * 单据编号 + */ + private String createEndTime; + /** + * 客户 + */ + private String customer; + /** + * 1本日2本月3本年 + */ + private String dateType; + /** + * 欠款区间结束 + */ + private String debtEnd; + /** + * 欠款区间开始 + */ + private String debtStart; + /** + * 对接人 + */ + private String dockingPeople; + private String menuUrl; + private String orgPath; + /** + * 超期天数区间结束 + */ + private String overdueEndDay; + /** + * 超期天数区间开始 + */ + private String overdueStartDay; + /** + * 承诺交款日期结束 + */ + private String paymentEndDate; + /** + * 承诺交款日期开始 + */ + private String paymentStartDate; + /** + * 车架号 + */ + private String serviceType; + /** + * 结算结束 + */ + private String settleEndTime; + /** + * 结算开始 + */ + private String settleStartTime; + /** + * 科目 + */ + private String subject; + private String userSid; + /** + * 服务顾问 + */ + private String waitorName; + +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/report/BusinessDetailsVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/report/BusinessDetailsVo.java new file mode 100644 index 0000000000..41a70c71e0 --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/report/BusinessDetailsVo.java @@ -0,0 +1,128 @@ +package com.yxt.anrui.as.api.asbusrepairbill.report; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/11/13 14:30 + */ +@Data +public class BusinessDetailsVo implements Vo { + + + + /** + * 附加费 + */ + private String addAmount; + /** + * 单据编号 + */ + private String billNo; + /** + * 维修类型 + */ + private String billType; + /** + * 单据类型 + */ + private String busType; + /** + * 成本合计 + */ + private String costTotal; + /** + * 开单时间 + */ + private String createTime; + /** + * 客户 + */ + private String customerName; + /** + * 欠款 + */ + private String debt; + /** + * 门店 + */ + private String deptName; + /** + * 对接人 + */ + private String dockingPeople; + /** + * 竣工时间 + */ + private String finishTime; + /** + * 材料费 + */ + private String goodsAmount; + /** + * 材料成本 + */ + private String goodsAmountCost; + /** + * 工时费 + */ + private String hourAmount; + /** + * 工时成本 + */ + private String hourAmountCost; + /** + * 其他附加 + */ + private String otherAmount; + /** + * 其他附加项目成本 + */ + private String otherAmountCost; + /** + * 超期天数 + */ + private String overDueDays; + /** + * 承诺回款日期 + */ + private String paymentDate; + /** + * 利润 + */ + private String profit; + /** + * 已交款 + */ + private String receivedAmount; + /** + * 结算时间 + */ + private String settleTime; + /** + * 科目 + */ + private String subject; + /** + * 合计 + */ + private String totalAmount; + /** + * 分公司 + */ + private String useOrgName; + /** + * 车牌号 + */ + private String vehMark; + /** + * 车架号 + */ + private String vinNo; + /** + * 服务顾问 + */ + private String waitorName; +} 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 756b9e7d65..ca94c84f91 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 @@ -76,4 +76,6 @@ public interface AsBusrepairBillMapper extends BaseMapper { IPage outInsuranceBusiness(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); IPage debtBusiness(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage businessDetails(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 f4db5e2c62..48e7bb1495 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 @@ -786,4 +786,50 @@ ${ew.sqlSegment} + 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 57d5a3506e..65d43dc12c 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 @@ -339,4 +339,11 @@ public class AsBusrepairBillRest { return rb.success().setData(pv); } + @PostMapping("/businessDetails") + @ApiOperation("营业明细") + ResultBean> businessDetails(@RequestBody PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = asBusrepairBillService.businessDetails(pq); + 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 276cfb3c6e..289abf398d 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 @@ -2908,4 +2908,100 @@ public class AsBusrepairBillService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); return p; } + + public PagerVo businessDetails(PagerQuery pq) { + BusinessDetailsQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setUserSid(query.getUserSid()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("m.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("m.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("m.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("m.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { +// qw.eq("a.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + if (StringUtils.isNotBlank(query.getDateType())) { + String dateType = query.getDateType(); + if (dateType.equals("1")) { + //本日 + qw.apply("m.settleTime = CURDATE()"); + } else if (dateType.equals("2")) { + //本月 + qw.apply("m.settleTime >= date_add(curdate(), interval - day(curdate()) + 1 day) AND m.settleTime <= last_day(curdate())"); + } else if (dateType.equals("3")) { + //本年 + qw.apply("m.settleTime >= date_sub(curdate(), interval dayofyear(curdate())-1 day) AND m.settleTime <= concat(year(curdate()),'-12-31')"); + } + } + if (StringUtils.isNotBlank(query.getBillNo())) { + qw.like("m.billNo",query.getBillNo()); + } + if (StringUtils.isNotBlank(query.getBusType())) { + qw.like("m.busType",query.getBusType()); + } + if (StringUtils.isNotBlank(query.getBillType())) { + qw.like("m.billType",query.getBillType()); + } + if (StringUtils.isNotBlank(query.getSubject())) { + qw.like("m.subject",query.getSubject()); + } + if (StringUtils.isNotBlank(query.getCustomer())) { + qw.like("m.customerName",query.getCustomer()); + } + if (StringUtils.isNotBlank(query.getVehMark())) { + qw.like("m.vehMark",query.getVehMark()); + } + if (StringUtils.isNotBlank(query.getVinNo())) { + qw.like("m.vinNo",query.getVinNo()); + } + if (StringUtils.isNotBlank(query.getDockingPeople())) { + qw.like("m.dockingPeople",query.getDockingPeople()); + } + if (StringUtils.isNotBlank(query.getWaitorName())) { + qw.like("m.waitorName",query.getWaitorName()); + } + //结算时间 + qw.apply(StringUtils.isNotBlank(query.getSettleStartTime()), "date_format (m.settleTime,'%Y-%m-%d') >= date_format('" + query.getSettleStartTime() + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(query.getSettleEndTime()), "date_format (m.settleTime,'%Y-%m-%d') <= date_format('" + query.getSettleEndTime() + "','%Y-%m-%d')" + ); + qw.apply(StringUtils.isNotBlank(query.getPaymentStartDate()), "date_format (m.paymentDate,'%Y-%m-%d') >= date_format('" + query.getPaymentStartDate() + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(query.getPaymentEndDate()), "date_format (m.paymentDate,'%Y-%m-%d') <= date_format('" + query.getPaymentEndDate() + "','%Y-%m-%d')" + ); + + qw.apply(StringUtils.isNotBlank(query.getOverdueStartDay()), "m.overDueDays >=" + query.getOverdueStartDay()). + apply(StringUtils.isNotBlank(query.getOverdueEndDay()), "m.overDueDays <=" + query.getOverdueEndDay() + ); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.businessDetails(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } }