diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basefiles/BaseFiles.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basefiles/BaseFiles.java index 99106b9bc0..7e3972ac3c 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basefiles/BaseFiles.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basefiles/BaseFiles.java @@ -31,19 +31,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -/** - * Project: anrui-base(安瑞基础信息)
- * File: BaseDataList.java
- * Class: com.yxt.anrui.base.api.basedatalist.BaseDataList
- * Description: 资料清单.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2022-02-26 09:59:29
- * - * @author liupopo - * @version 1.0 - * @since 1.0 - */ @ApiModel(value = "附件清单", description = "附件清单") @TableName("base_files") @Data diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeign.java index 383ab4681d..a88b1278f5 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeign.java @@ -38,23 +38,9 @@ import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.*; - import javax.validation.Valid; import java.util.List; -/** - * Project: anrui-base(内申请管理)
- * File: BaseInternalPurchaseFeign.java
- * Class: com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseFeign
- * Description: 内购表.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2022-06-16 13:46:25
- * - * @author liupopo - * @version 1.0 - * @since 1.0 - */ @Api(tags = "内购表") @FeignClient( contextId = "anrui-base-BaseInternalPurchase", @@ -72,12 +58,12 @@ public interface BaseInternalPurchaseFeign { @PostMapping("/save") @ResponseBody public ResultBean save(@RequestBody BaseInternalPurchaseDto dto); - + @ApiOperation("根据sid删除记录") @DeleteMapping("/delBySids") @ResponseBody public ResultBean delBySids(@RequestBody String[] sids); - + @ApiOperation("根据SID获取一条记录") @GetMapping("/fetchDetailsBySid/{sid}") @ResponseBody @@ -91,6 +77,7 @@ public interface BaseInternalPurchaseFeign { /** * 申请方审批同意、应对方审批同意(除申请方最后一个环节) + * * @param bvd * @return */ @@ -100,6 +87,7 @@ public interface BaseInternalPurchaseFeign { /** * 申请方跳应对方的同意 + * * @param bvd * @return */ @@ -109,6 +97,7 @@ public interface BaseInternalPurchaseFeign { /** * 分公司到事业部同意 + * * @param bvd * @return */ @@ -138,6 +127,6 @@ public interface BaseInternalPurchaseFeign { @ApiOperation(value = "移动端调车详情") @PostMapping(value = "/getCompanyShunting/{sid}") - ResultBean getCompanyShunting(@PathVariable("sid")String sid); + ResultBean getCompanyShunting(@PathVariable("sid") String sid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepurchasesystem/BasePurchaseSystemFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepurchasesystem/BasePurchaseSystemFeign.java index bdbad2a44a..d91d49c53e 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepurchasesystem/BasePurchaseSystemFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepurchasesystem/BasePurchaseSystemFeign.java @@ -69,13 +69,13 @@ public interface BasePurchaseSystemFeign { @ApiOperation("维护分摊比例") @PostMapping("/maintenance") @ResponseBody - public ResultBean maintenance(@RequestParam("sid") String sid,@RequestParam("shareProportion") String shareProportion); - + public ResultBean maintenance(@RequestParam("sid") String sid, @RequestParam("shareProportion") String shareProportion); + @ApiOperation("根据sid删除记录") @DeleteMapping("/delBySids") @ResponseBody public ResultBean delBySids(@RequestBody String[] sids); - + @ApiOperation("根据SID获取一条记录") @GetMapping("/fetchDetailsBySid/{sid}") @ResponseBody @@ -100,4 +100,9 @@ public interface BasePurchaseSystemFeign { @GetMapping("/fetchDetailsByUseOrgPath") @ResponseBody public ResultBean> fetchDetailsByUseOrgPath(@RequestParam("orgPath") String orgPath); + + @ApiOperation("根据采购系统名称查询采购系统sid") + @GetMapping("/selByPurchaseSystemName") + @ResponseBody + public ResultBean selByPurchaseSystemName(@RequestParam("purchaseSystemName") String purchaseSystemName, @RequestParam("useOrgSid") String useOrgSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepurchasesystem/BasePurchaseSystemFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepurchasesystem/BasePurchaseSystemFeignFallback.java index 76019efae5..213fb31935 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepurchasesystem/BasePurchaseSystemFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepurchasesystem/BasePurchaseSystemFeignFallback.java @@ -94,4 +94,9 @@ public class BasePurchaseSystemFeignFallback implements BasePurchaseSystemFeign public ResultBean> fetchDetailsByUseOrgPath(String orgPath) { return null; } + + @Override + public ResultBean selByPurchaseSystemName(String purchaseSystemName, String useOrgSid) { + return null; + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeign.java index a7bd152e73..1d289557cc 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeign.java @@ -43,23 +43,9 @@ import com.yxt.common.core.vo.PagerVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.*; - import javax.validation.Valid; import java.util.List; -/** - * Project: anrui-base(调车开票)
- * File: BaseShuntingInvoicingApplyFeign.java
- * Class: com.yxt.anrui.base.api.baseshuntinginvoicingapply.BaseShuntingInvoicingApplyFeign
- * Description: 调车开票申请表.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2022-07-11 15:30:28
- * - * @author liupopo - * @version 1.0 - * @since 1.0 - */ @Api(tags = "调车开票申请表") @FeignClient( contextId = "anrui-base-BaseShuntingInvoicingApply", diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrandFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrandFeign.java index 2869935ca2..58176c4248 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrandFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrandFeign.java @@ -108,7 +108,7 @@ public interface BaseVehicleBrandFeign { @ApiOperation("手机端根据厂商sid查询品牌列表") @GetMapping("/selectAppListByManufacturerSid") - ResultBean> selectAppListByManufacturerSid(@RequestParam(value = "manufacturerSid",required = false) String manufacturerSid); + ResultBean> selectAppListByManufacturerSid(@RequestParam(value = "manufacturerSid", required = false) String manufacturerSid); @ApiOperation("手机端-获取品牌数据字典") @GetMapping("/selectAppListByUserSid/{userSid}") @@ -121,4 +121,8 @@ public interface BaseVehicleBrandFeign { @ApiOperation("根据品牌sid获取品牌信息") @GetMapping("/fetchBySid/{sid}") BaseVehicleBrand fetchBySid(@RequestParam("sid") String sid); + + @ApiOperation("根据品牌名称获取品牌sid") + @GetMapping("/selByBrandName") + ResultBean selByBrandName(@RequestParam("brandName") String brandName); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrandFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrandFeignFallback.java index 8b5f6e7e27..edd0bcc1ec 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrandFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrandFeignFallback.java @@ -91,5 +91,10 @@ public class BaseVehicleBrandFeignFallback implements BaseVehicleBrandFeign { return null; } + @Override + public ResultBean selByBrandName(String brandName) { + return null; + } + } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java index e36c63305a..1060a2b321 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java @@ -28,7 +28,6 @@ package com.yxt.anrui.base.biz.baseaccadjapply; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.TypeReference; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.base.api.baseaccadjapply.*; @@ -37,25 +36,13 @@ import com.yxt.anrui.base.api.baseaccadjapply.flow.GetNodeQuery; import com.yxt.anrui.base.api.baseaccadjapply.flow.GetNodeVo; import com.yxt.anrui.base.api.baseaccadjapply.flow.SubmitBaseAccAdjApplyDto; import com.yxt.anrui.base.api.baseaccadjapplyeveh.BaseAccadjApplyeVeh; -import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchase; import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicle; import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleDetailsVo; -import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturer; -import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturerDetailsVo; -import com.yxt.anrui.base.api.basemanufacturerbank.BaseManPayVo; -import com.yxt.anrui.base.api.baseoutsourcingapplication.BaseOutsourcingApplicationDetailsVo; import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo; -import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign; import com.yxt.anrui.base.api.basevehicle.BaseVehicle; -import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; -import com.yxt.anrui.base.api.basevehicle.BaseVehicleSelectVo; import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrand; -import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel; -import com.yxt.anrui.base.api.basevehinstall.BaseVehinstallDetailsVo; import com.yxt.anrui.base.biz.baseaccadjapplyeveh.BaseAccadjApplyeVehService; -import com.yxt.anrui.base.biz.baseinternalpurchase.BaseInternalPurchaseService; import com.yxt.anrui.base.biz.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleService; -import com.yxt.anrui.base.biz.basemanufacturer.BaseManufacturerService; import com.yxt.anrui.base.biz.basemanufacturerbank.BaseManufacturerBankService; import com.yxt.anrui.base.biz.basepurchasesystem.BasePurchaseSystemService; import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService; @@ -80,7 +67,6 @@ import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; -import com.yxt.anrui.portal.api.flow.PCHistTaskListAndCommentList; import com.yxt.anrui.portal.api.sysorganization.SysOrganization; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; @@ -88,43 +74,25 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; -import com.yxt.anrui.portal.api.sysuser.UserQuery; import com.yxt.anrui.portal.api.sysuser.UserRoleQuery; import com.yxt.anrui.scm.api.scmapplyinboundquery.ScmApplyInboundQueryDto; import com.yxt.anrui.scm.api.scmapplyinboundquery.ScmApplyInboundQueryFeign; -import com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicleDto; import com.yxt.anrui.scm.api.scmapplyinboundvehquery.ScmApplyInboundVehQueryDto; import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseFeign; import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseVo; -import com.yxt.common.base.utils.HanZiConverterPinYin; import org.apache.commons.lang3.StringUtils; 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.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; -/** - * Project: anrui-base(调账管理)
- * File: BaseAccadjApplyService.java
- * Class: com.yxt.anrui.base.biz.baseaccadjapply.BaseAccadjApplyService
- * Description: 调账申请表 业务逻辑.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2022-07-07 16:57:24
- * - * @author liupopo - * @version 1.0 - * @since 1.0 - */ @Service public class BaseAccadjApplyService extends MybatisBaseService { @@ -514,21 +482,21 @@ public class BaseAccadjApplyService extends MybatisBaseService flowList = flowRecordVo.getFlowList(); for (FlowTask flowTask : flowList) { - if (flowTask.getTaskName().equals("发起方分公司会计主管审批")){ + if (flowTask.getTaskName().equals("发起方分公司会计主管审批")) { confirmSid = flowTask.getTaskUserInfos().get(0).getAssigneeSid(); confirmName = flowTask.getTaskUserInfos().get(0).getAssigneeName(); confirmDate = DateUtil.formatDate(flowTask.getFinishTime()); } } - }else if (baseAccadjApply.getAccadjTypeValue().equals("调出")){ + } else if (baseAccadjApply.getAccadjTypeValue().equals("调出")) { FlowRecordVo flowRecordVo = flowTaskFeign.businessFlowRecord(bv.getInstanceId()).getData(); List flowList = flowRecordVo.getFlowList(); for (FlowTask flowTask : flowList) { - if (flowTask.getTaskName().equals("应对方分公司会计主管审批")){ + if (flowTask.getTaskName().equals("应对方分公司会计主管审批")) { confirmSid = flowTask.getTaskUserInfos().get(0).getAssigneeSid(); confirmName = flowTask.getTaskUserInfos().get(0).getAssigneeName(); confirmDate = DateUtil.formatDate(flowTask.getFinishTime()); @@ -1083,21 +1051,10 @@ public class BaseAccadjApplyService extends MybatisBaseService resultBean = flowableFeign.breakProcess(flowTaskVo); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - Map map = BeanUtil.beanToMap(resultBean.getData()); - updateFlowFiled(map); - return rb.success().setData(resultBean.getData()); - } - List purchaseSids = baseAccadjApplyeVehService.fetchByMainSid(baseAccadjApply.getSid()); String businessTaskId = baseAccadjApply.getTaskId(); + List purchaseSids = baseAccadjApplyeVehService.fetchByMainSid(baseAccadjApply.getSid()); if (StringUtils.isNotBlank(businessTaskId)) { - if (businessTaskId.equals(query.getTaskId())) { + if (query.getUserSid().equals(baseAccadjApply.getCreateBySid())) { FlowTaskVo flowTaskVo = new FlowTaskVo(); BeanUtil.copyProperties(query, flowTaskVo); ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); @@ -1110,6 +1067,21 @@ public class BaseAccadjApplyService extends MybatisBaseService resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + for (String purchaseSid : purchaseSids) { + baseInternalPurchaseVehicleService.updateIsAccadj(purchaseSid, "0"); + } + return rb.success().setData(resultBean.getData()); + } } } return rb.setMsg("操作失败!提交的数据不一致!"); diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java index f4ee8c02e3..53267796d3 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java @@ -940,7 +940,7 @@ public class BaseInternalPurchaseService extends MybatisBaseService resultBean = flowableFeign.breakProcess(flowTaskVo); @@ -957,6 +957,25 @@ public class BaseInternalPurchaseService extends MybatisBaseService resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + List baseInternalPurchaseVehicleVos = baseInternalPurchaseVehicleService.fetchByMainSid(query.getBusinessSid()); + for (BaseInternalPurchaseVehicleVo baseInternalPurchaseVehicleVo : baseInternalPurchaseVehicleVos) { + BaseVehicle baseVehicle = baseVehicleService.selVehicleByVinNoAndOrgSid(baseInternalPurchaseVehicleVo.getVinNo(), baseInternalPurchase.getCreateOrgSid()); + baseVehicle.setVinNo(baseInternalPurchaseVehicleVo.getVinNo()); + baseVehicle.setVehicleState(VehicleState.StockEnum.STOCK.getCode()); + baseVehicle.setVehicleStateValue(VehicleState.StockEnum.STOCK.getRemarks()); + baseVehicleService.updateVeh(baseVehicle); + } + return rb.success().setData(resultBean.getData()); + } } } return rb.setMsg("操作失败!提交的数据不一致!"); diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretwareveh/BaseManufacturerRetwareVehMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretwareveh/BaseManufacturerRetwareVehMapper.xml index 5c43ab49dd..5b13584e8b 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretwareveh/BaseManufacturerRetwareVehMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretwareveh/BaseManufacturerRetwareVehMapper.xml @@ -33,10 +33,10 @@ FROM base_manufacturer_retware_veh mrv LEFT JOIN base_manufacturer_retware mr - ON mrv.`mainSid` = mr.sid + ON mrv.mainSid = mr.sid WHERE mrv.vinNo = #{vinNo} - AND mr.`createOrgSid` = #{createOrgSid} - ORDER BY mr.`createTime` DESC + AND mr.createOrgSid = #{createOrgSid} + ORDER BY mr.createTime DESC LIMIT 1 \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemMapper.java index 4810bdeb28..8c7a21b326 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemMapper.java @@ -56,24 +56,24 @@ import java.util.List; @Mapper public interface BasePurchaseSystemMapper extends BaseMapper { - //@Update("update base_purchase_system set name=#{msg} where id=#{id}") - //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - - IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); - - List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); - - @Select("select * from base_purchase_system") - List selectListVo(); + //@Update("update base_purchase_system set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - @Select("select * from base_purchase_system where useOrgSid = #{useOrgSid}") - List fetchDetailsByUseOrgSid(String useOrgSid); + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); - @Select("select * from base_purchase_system where deptSid = #{deptSid}") - BasePurchaseSystemDetailsVo fetchDetailsByDeptSid(String deptSid); + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); - @Select("select * from base_purchase_system where deptSid = #{deptSid} and sid != #{sid}") - BasePurchaseSystemDetailsVo fetchDetailsByDeptSidAndSid(@Param("deptSid") String deptSid,@Param("sid") String sid); + @Select("select * from base_purchase_system") + List selectListVo(); + + @Select("select * from base_purchase_system where useOrgSid = #{useOrgSid}") + List fetchDetailsByUseOrgSid(String useOrgSid); + + @Select("select * from base_purchase_system where deptSid = #{deptSid}") + BasePurchaseSystemDetailsVo fetchDetailsByDeptSid(String deptSid); + + @Select("select * from base_purchase_system where deptSid = #{deptSid} and sid != #{sid}") + BasePurchaseSystemDetailsVo fetchDetailsByDeptSidAndSid(@Param("deptSid") String deptSid, @Param("sid") String sid); List fetchOrgCodeByUseOrgSid(String useOrgSid); @@ -81,6 +81,9 @@ public interface BasePurchaseSystemMapper extends BaseMapper List selectByUseOrgSid(String useOrgSid); - @Update("update base_purchase_system set shareProportion = #{shareProportion} where sid = #{sid}") - void maintenance(@Param("sid") String sid,@Param("shareProportion") String shareProportion); + @Update("update base_purchase_system set shareProportion = #{shareProportion} where sid = #{sid}") + void maintenance(@Param("sid") String sid, @Param("shareProportion") String shareProportion); + + @Select("select deptSid from base_purchase_system where purchaseSystemName = #{purchaseSystemName} and useOrgSid = #{useOrgSid}") + String selByPurchaseSystemName(@Param("purchaseSystemName") String purchaseSystemName, @Param("useOrgSid") String useOrgSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemRest.java index 191f9e2aa9..05e5b55ae8 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemRest.java @@ -36,83 +36,75 @@ import org.springframework.web.bind.annotation.*; import java.util.List; -/** - * Project: anrui-base(采购系统管理)
- * File: BasePurchaseSystemFeignFallback.java
- * Class: com.yxt.anrui.base.biz.basepurchasesystem.BasePurchaseSystemRest
- * Description: 采购系统管理表.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2023-01-06 09:27:28
- * - * @author liupopo - * @version 1.0 - * @since 1.0 - */ @Api(tags = "采购系统管理表") -@RestController("com.yxt.anrui.base.biz.basepurchasesystem.BasePurchaseSystemRest") +@RestController @RequestMapping("v1/basepurchasesystem") public class BasePurchaseSystemRest implements BasePurchaseSystemFeign { - @Autowired - private BasePurchaseSystemService basePurchaseSystemService; + @Autowired + private BasePurchaseSystemService basePurchaseSystemService; - @Override - @ApiOperation("根据条件分页查询数据的列表") - @PostMapping("/listPage") - public ResultBean> listPage(@RequestBody PagerQuery pq){ - ResultBean rb = ResultBean.fireFail(); - PagerVo pv = basePurchaseSystemService.listPageVo(pq); - return rb.success().setData(pv); - } + @Override + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = basePurchaseSystemService.listPageVo(pq); + return rb.success().setData(pv); + } - @Override - @ApiOperation("新增或修改") - @PostMapping("/save") - public ResultBean save(@RequestBody BasePurchaseSystemDto dto){ - return basePurchaseSystemService.saveOrUpdateDto(dto); - } + @Override + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody BasePurchaseSystemDto dto) { + return basePurchaseSystemService.saveOrUpdateDto(dto); + } - @Override - public ResultBean maintenance(String sid, String shareProportion) { - return basePurchaseSystemService.maintenance(sid,shareProportion); - } + @Override + public ResultBean maintenance(String sid, String shareProportion) { + return basePurchaseSystemService.maintenance(sid, shareProportion); + } - @Override - @ApiOperation("根据sid批量删除") + @Override + @ApiOperation("根据sid批量删除") @DeleteMapping("/delBySids") - public ResultBean delBySids(@RequestBody String[] sids){ - ResultBean rb = ResultBean.fireFail(); - basePurchaseSystemService.delBySids(sids); - return rb.success(); - } + public ResultBean delBySids(@RequestBody String[] sids) { + ResultBean rb = ResultBean.fireFail(); + basePurchaseSystemService.delBySids(sids); + return rb.success(); + } - @Override - @ApiOperation("根据SID获取一条记录") + @Override + @ApiOperation("根据SID获取一条记录") @GetMapping("/fetchDetailsBySid/{sid}") - public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){ - ResultBean rb = ResultBean.fireFail(); - BasePurchaseSystemDetailsVo vo = basePurchaseSystemService.fetchDetailsVoBySid(sid); - return rb.success().setData(vo); - } + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + BasePurchaseSystemDetailsVo vo = basePurchaseSystemService.fetchDetailsVoBySid(sid); + return rb.success().setData(vo); + } - @Override - public ResultBean> fetchDetailsByUseOrgSid(String useOrgSid) { - return basePurchaseSystemService.fetchDetailsByUseOrgSid(useOrgSid); - } + @Override + public ResultBean> fetchDetailsByUseOrgSid(String useOrgSid) { + return basePurchaseSystemService.fetchDetailsByUseOrgSid(useOrgSid); + } - @Override - public ResultBean> fetchOrgCodeByUseOrgSid(String useOrgSid) { - return basePurchaseSystemService.fetchOrgCodeByUseOrgSid(useOrgSid); - } + @Override + public ResultBean> fetchOrgCodeByUseOrgSid(String useOrgSid) { + return basePurchaseSystemService.fetchOrgCodeByUseOrgSid(useOrgSid); + } - @Override - public ResultBean fetchDetailsByDeptSid(String deptSid) { - return basePurchaseSystemService.fetchDetailsByDeptSid(deptSid); - } + @Override + public ResultBean fetchDetailsByDeptSid(String deptSid) { + return basePurchaseSystemService.fetchDetailsByDeptSid(deptSid); + } - @Override - public ResultBean> fetchDetailsByUseOrgPath(String orgPath) { - return basePurchaseSystemService.fetchDetailsByUseOrgPath(orgPath); - } + @Override + public ResultBean> fetchDetailsByUseOrgPath(String orgPath) { + return basePurchaseSystemService.fetchDetailsByUseOrgPath(orgPath); + } + + @Override + public ResultBean selByPurchaseSystemName(String purchaseSystemName, String useOrgSid) { + return basePurchaseSystemService.selByPurchaseSystemName(purchaseSystemName, useOrgSid); + } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemService.java index 916c217a20..0f37f382fd 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemService.java @@ -57,109 +57,115 @@ import java.util.List; @Service public class BasePurchaseSystemService extends MybatisBaseService { - @Autowired - private SysStaffOrgFeign sysStaffOrgFeign; - - private QueryWrapper createQueryWrapper(BasePurchaseSystemQuery query) { - // todo: 这里根据具体业务调整查询条件 - // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); - QueryWrapper qw = new QueryWrapper<>(); - return qw; - } - - public PagerVo listPageVo(PagerQuery pq) { - BasePurchaseSystemQuery query = pq.getParams(); - QueryWrapper qw = new QueryWrapper<>(); - if (StringUtils.isNotBlank(query.getUseOrgSid())){ - qw.eq("useOrgSid",query.getUseOrgSid()); - } - if (StringUtils.isNotBlank(query.getPurchaseSystemName())){ - qw.like("purchaseSystemName",query.getPurchaseSystemName()); - } - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } - - public ResultBean saveOrUpdateDto(BasePurchaseSystemDto dto){ - ResultBean rb = ResultBean.fireFail(); + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + + private QueryWrapper createQueryWrapper(BasePurchaseSystemQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + BasePurchaseSystemQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getUseOrgSid())) { + qw.eq("useOrgSid", query.getUseOrgSid()); + } + if (StringUtils.isNotBlank(query.getPurchaseSystemName())) { + qw.like("purchaseSystemName", query.getPurchaseSystemName()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean saveOrUpdateDto(BasePurchaseSystemDto dto) { + ResultBean rb = ResultBean.fireFail(); String dtoSid = dto.getSid(); if (StringUtils.isBlank(dtoSid)) { - BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = baseMapper.fetchDetailsByDeptSid(dto.getDeptSid()); - if (basePurchaseSystemDetailsVo == null){ - this.insertByDto(dto); - return rb.success().setMsg("添加成功"); - } + BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = baseMapper.fetchDetailsByDeptSid(dto.getDeptSid()); + if (basePurchaseSystemDetailsVo == null) { + this.insertByDto(dto); + return rb.success().setMsg("添加成功"); + } return rb.setMsg("该部门下已存在采购系统,请重新选择"); } - BasePurchaseSystem basePurchaseSystem = fetchBySid(dtoSid); - if (basePurchaseSystem == null){ - return rb.setMsg("该采购系统信息不存在"); - } - BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = baseMapper.fetchDetailsByDeptSidAndSid(dto.getDeptSid(), dtoSid); - if (basePurchaseSystemDetailsVo == null){ - this.updateByDto(dto); - return rb.success().setMsg("修改成功"); - } - return rb.setMsg("该部门下已存在采购系统,请重新选择"); - } - - public void insertByDto(BasePurchaseSystemDto dto){ - BasePurchaseSystem entity = new BasePurchaseSystem(); - BeanUtil.copyProperties(dto, entity, "id", "sid"); - baseMapper.insert(entity); - } - - public void updateByDto(BasePurchaseSystemDto dto){ - String dtoSid = dto.getSid(); + BasePurchaseSystem basePurchaseSystem = fetchBySid(dtoSid); + if (basePurchaseSystem == null) { + return rb.setMsg("该采购系统信息不存在"); + } + BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = baseMapper.fetchDetailsByDeptSidAndSid(dto.getDeptSid(), dtoSid); + if (basePurchaseSystemDetailsVo == null) { + this.updateByDto(dto); + return rb.success().setMsg("修改成功"); + } + return rb.setMsg("该部门下已存在采购系统,请重新选择"); + } + + public void insertByDto(BasePurchaseSystemDto dto) { + BasePurchaseSystem entity = new BasePurchaseSystem(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + } + + public void updateByDto(BasePurchaseSystemDto dto) { + String dtoSid = dto.getSid(); if (StringUtils.isBlank(dtoSid)) { return; - } - BasePurchaseSystem entity = fetchBySid(dtoSid); - BeanUtil.copyProperties(dto, entity, "id", "sid"); - baseMapper.updateById(entity); - } - - public BasePurchaseSystemDetailsVo fetchDetailsVoBySid(String sid){ - BasePurchaseSystem entity = fetchBySid(sid); - BasePurchaseSystemDetailsVo vo = new BasePurchaseSystemDetailsVo(); - BeanUtil.copyProperties(entity, vo); - return vo; - } - - public ResultBean> fetchDetailsByUseOrgSid(String useOrgSid) { - ResultBean rb = ResultBean.fireFail(); - List basePurchaseSystemDetailsVos = baseMapper.fetchDetailsByUseOrgSid(useOrgSid); - return rb.success().setData(basePurchaseSystemDetailsVos); - } - - public ResultBean fetchDetailsByDeptSid(String deptSid) { - ResultBean rb = ResultBean.fireFail(); - BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = baseMapper.fetchDetailsByDeptSid(deptSid); - return rb.success().setData(basePurchaseSystemDetailsVo); - } - - public ResultBean> fetchOrgCodeByUseOrgSid(String useOrgSid) { - ResultBean rb = ResultBean.fireFail(); - List basePurchaseSystemDetailsVos = baseMapper.fetchOrgCodeByUseOrgSid(useOrgSid); - return rb.success().setData(basePurchaseSystemDetailsVos); - } - - public ResultBean> fetchDetailsByUseOrgPath(String orgPath) { - ResultBean rb = ResultBean.fireFail(); - String orgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); - List basePurchSystemVoList = baseMapper.fetchDetailsByUseOrgPath(orgSid); - return rb.success().setData(basePurchSystemVoList); - } - - public List selectByUseOrgSid(String useOrgSid) { - return baseMapper.selectByUseOrgSid(useOrgSid); - } - - public ResultBean maintenance(String sid, String shareProportion) { - ResultBean rb = ResultBean.fireFail(); - baseMapper.maintenance(sid,shareProportion); - return rb.success(); - } + } + BasePurchaseSystem entity = fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + + public BasePurchaseSystemDetailsVo fetchDetailsVoBySid(String sid) { + BasePurchaseSystem entity = fetchBySid(sid); + BasePurchaseSystemDetailsVo vo = new BasePurchaseSystemDetailsVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + public ResultBean> fetchDetailsByUseOrgSid(String useOrgSid) { + ResultBean rb = ResultBean.fireFail(); + List basePurchaseSystemDetailsVos = baseMapper.fetchDetailsByUseOrgSid(useOrgSid); + return rb.success().setData(basePurchaseSystemDetailsVos); + } + + public ResultBean fetchDetailsByDeptSid(String deptSid) { + ResultBean rb = ResultBean.fireFail(); + BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = baseMapper.fetchDetailsByDeptSid(deptSid); + return rb.success().setData(basePurchaseSystemDetailsVo); + } + + public ResultBean> fetchOrgCodeByUseOrgSid(String useOrgSid) { + ResultBean rb = ResultBean.fireFail(); + List basePurchaseSystemDetailsVos = baseMapper.fetchOrgCodeByUseOrgSid(useOrgSid); + return rb.success().setData(basePurchaseSystemDetailsVos); + } + + public ResultBean> fetchDetailsByUseOrgPath(String orgPath) { + ResultBean rb = ResultBean.fireFail(); + String orgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); + List basePurchSystemVoList = baseMapper.fetchDetailsByUseOrgPath(orgSid); + return rb.success().setData(basePurchSystemVoList); + } + + public List selectByUseOrgSid(String useOrgSid) { + return baseMapper.selectByUseOrgSid(useOrgSid); + } + + public ResultBean maintenance(String sid, String shareProportion) { + ResultBean rb = ResultBean.fireFail(); + baseMapper.maintenance(sid, shareProportion); + return rb.success(); + } + + public ResultBean selByPurchaseSystemName(String purchaseSystemName, String useOrgSid) { + ResultBean rb = ResultBean.fireFail(); + String purchaseSystemSid = baseMapper.selByPurchaseSystemName(purchaseSystemName, useOrgSid); + return rb.success().setData(purchaseSystemSid); + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandMapper.java index dbdd32de0e..15d4541c83 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandMapper.java @@ -138,4 +138,7 @@ public interface BaseVehicleBrandMapper extends BaseMapper { String selectByManufacturerSid(@Param("carBrandSid") String carBrandSid); List selectByUseOrgSid(String sid); + + @Select("select sid from base_vehicle_brand where brandName=#{brandName}") + String selByBrandName(String brandName); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandRest.java index 7c24b31e80..b8e3f77a29 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandRest.java @@ -189,4 +189,9 @@ public class BaseVehicleBrandRest implements BaseVehicleBrandFeign { public BaseVehicleBrand fetchBySid(String sid) { return baseVehicleBrandService.fetchBySid(sid); } + + @Override + public ResultBean selByBrandName(String brandName) { + return baseVehicleBrandService.selByBrandName(brandName); + } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandService.java index 3a0450cc77..c15dead2f9 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandService.java @@ -10,6 +10,7 @@ import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.AppResultData; +import com.yxt.common.core.result.ResultBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -256,4 +257,10 @@ public class BaseVehicleBrandService extends MybatisBaseService selectByUseOrgSid(String sid) { return baseMapper.selectByUseOrgSid(sid); } + + public ResultBean selByBrandName(String brandName) { + ResultBean rb = ResultBean.fireFail(); + String sid = baseMapper.selByBrandName(brandName); + return rb.success().setData(sid); + } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java index 85184ee4a3..8db454751f 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java @@ -1191,14 +1191,17 @@ public class BusDeliveredApplyService extends MybatisBaseService { - pushVehRebate(busDeliveredApply, detailsList, solutionsDetailsVo.getFactoryDiscount()); - }); - Future future12 = pool.submit(() -> { - pushVehRebateAdjustBill(busDeliveredApply, detailsList, solutionsDetailsVo); - }); + if(!"0".equals(solutionsDetailsVo.getFactoryDiscount())){ + if ("2".equals(busSalesOrder.getFinancePlan())) { + Future future11 = pool.submit(() -> { + pushVehRebate(busDeliveredApply, detailsList, solutionsDetailsVo.getFactoryDiscount()); + }); + Future future12 = pool.submit(() -> { + pushVehRebateAdjustBill(busDeliveredApply, detailsList, solutionsDetailsVo); + }); + } } + } } } @@ -1680,14 +1683,17 @@ public class BusDeliveredApplyService extends MybatisBaseService { - pushVehRebate(busDeliveredApply, detailsList, solutionsDetailsVo.getFactoryDiscount()); - }); - Future future12 = pool.submit(() -> { - pushVehRebateAdjustBill(busDeliveredApply, detailsList, solutionsDetailsVo); - }); + if(!"0".equals(solutionsDetailsVo.getFactoryDiscount())){ + if ("2".equals(busSalesOrder.getFinancePlan())) { + Future future11 = pool.submit(() -> { + pushVehRebate(busDeliveredApply, detailsList, solutionsDetailsVo.getFactoryDiscount()); + }); + Future future12 = pool.submit(() -> { + pushVehRebateAdjustBill(busDeliveredApply, detailsList, solutionsDetailsVo); + }); + } } + } } } diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyService.java index 73d3466595..463deec5bd 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyService.java @@ -746,7 +746,7 @@ public class BusSalesOrderReturnVehApplyService extends MybatisBaseService> selectSids(@RequestParam("busVehSid") String busVehSid); - /*-------------------------------------------------------------------------*/ + /*-----------------------------售后认款申请--------------------------------------------*/ @ApiOperation("售后提交新增保存") @PostMapping("/asSave") diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java index 995492918a..78a21c2f86 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java @@ -52,14 +52,19 @@ import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDe import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; -import com.yxt.anrui.crm.api.crmcustomertemp.*; +import com.yxt.anrui.crm.api.crmcustomertemp.AppCrmCustomerTempDto; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; +import com.yxt.anrui.crm.api.crmcustomertemp.CustomerQuery; import com.yxt.anrui.fin.api.fincollectionconfirmation.*; import com.yxt.anrui.fin.api.fincollectionconfirmation.app.AppBusArrearsCarryMoneyVo; import com.yxt.anrui.fin.api.fincollectionconfirmation.app.FinConfirmDto; import com.yxt.anrui.fin.api.fincollectionconfirmation.as.*; import com.yxt.anrui.fin.api.fincollectionconfirmation.rsk.*; -import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto; -import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.*; +import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.AppFinSelectedReceivablesDetailedDto; +import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed; +import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedDto; +import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.AppFinUncollectedReceivablesDetailedVo; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR; @@ -96,9 +101,6 @@ import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBank; import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankFeign; import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy; import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy; -import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyFeign; -import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyVo; -import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord.LoanMonthlyAccrualRecord; import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistory; import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistoryFeign; import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory; @@ -106,15 +108,11 @@ import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryFei import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForFundVoucher; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsFeign; -import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsForOverDue; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentScheduleFeign; -import com.yxt.anrui.riskcenter.api.loansettleapply.LoanSettleApply; import com.yxt.anrui.riskcenter.api.loansettleapply.LoanSettleApplyFeign; import com.yxt.anrui.riskcenter.api.loansettleapply.SettleFinVo; -import com.yxt.anrui.riskcenter.api.loansettlebankcost.LoanSettleBankCost; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; -import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; import com.yxt.anrui.riskcenter.api.loansolutionsdetail.LoanSolutionsDetail; import com.yxt.anrui.riskcenter.api.loansolutionsotherpolicy.LoanSolutionsOtherpolicy; import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateDto; @@ -123,7 +121,10 @@ import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateVehDto; import com.yxt.common.base.config.component.DocPdfComponent; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; -import com.yxt.common.base.utils.*; +import com.yxt.common.base.utils.HanZiConverterPinYin; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.WordConvertUtils; +import com.yxt.common.base.utils.WordUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -2205,14 +2206,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService scmVehRebateVehDtos = new ArrayList<>(); - ScmVehRebateVehDto scmVehRebateVehDto = new ScmVehRebateVehDto(); - scmVehRebateDto.setCreateBySid(confirmation.getCreateBySid()); - scmVehRebateDto.setRebateTypeKey("029"); - scmVehRebateDto.setRebateTypeValue("金融贴息"); - scmVehRebateDto.setRebateName("金融贴息"); BigDecimal all = BigDecimal.ZERO; if(loanSolutions.getActualDiscount() != null){ all = all.add(loanSolutions.getActualDiscount()); @@ -2220,33 +2213,44 @@ public class FinCollectionConfirmationService extends MybatisBaseService 0){ + //推送单车返利管理 + ScmVehRebateDto scmVehRebateDto = new ScmVehRebateDto(); + List scmVehRebateVehDtos = new ArrayList<>(); + ScmVehRebateVehDto scmVehRebateVehDto = new ScmVehRebateVehDto(); + scmVehRebateDto.setCreateBySid(confirmation.getCreateBySid()); + scmVehRebateDto.setRebateTypeKey("029"); + scmVehRebateDto.setRebateTypeValue("金融贴息"); + scmVehRebateDto.setRebateName("金融贴息"); + scmVehRebateDto.setCalculationStandard(all.toString()); + scmVehRebateDto.setPalceGenDate(DateUtil.format(new Date(), "yyyy-MM")); + scmVehRebateDto.setCalculationModeKey("002"); + scmVehRebateDto.setCalculationModeValue("固定金额"); + scmVehRebateDto.setOrgPath(confirmation.getOrgSidPath()); + scmVehRebateVehDto.setState("2"); + scmVehRebateVehDto.setBrandSid(baseVehicle.getCarBrandSid()); + scmVehRebateVehDto.setBrandName(baseVehicle.getCarBrandName()); + scmVehRebateVehDto.setVehModelSid(baseVehicle.getModelSid()); + scmVehRebateVehDto.setVehModelName(baseVehicle.getModelName()); + scmVehRebateVehDto.setVehSid(baseVehicle.getSid()); + scmVehRebateVehDto.setVinNo(baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8)); + scmVehRebateVehDto.setManufactorSettlementPrice(baseVehicle.getCostPrice().toString()); + scmVehRebateVehDto.setFreight(baseVehicle.getFreight().toString()); + BigDecimal ll = BigDecimal.ZERO; + if(loanSolutions.getActualDiscount() != null){ + ll = ll.add(loanSolutions.getActualDiscount()); + } + if(loanSolutionsOtherpolicy != null && loanSolutionsOtherpolicy.getOtherActualDiscount() != null){ + ll = ll.add(loanSolutionsOtherpolicy.getOtherActualDiscount()); + } + scmVehRebateVehDto.setEstimateRebate(ll.toString()); + scmVehRebateVehDto.setPurchaseSystemSid(baseVehicle.getPurchaseSystemSid()); + scmVehRebateVehDto.setPurchaseSystemName(baseVehicle.getPurchaseSystemName()); + scmVehRebateVehDtos.add(scmVehRebateVehDto); + scmVehRebateDto.setScmVehRebateVehs(scmVehRebateVehDtos); + scmVehRebateFeign.save(scmVehRebateDto); } - scmVehRebateVehDto.setEstimateRebate(ll.toString()); - scmVehRebateVehDto.setPurchaseSystemSid(baseVehicle.getPurchaseSystemSid()); - scmVehRebateVehDto.setPurchaseSystemName(baseVehicle.getPurchaseSystemName()); - scmVehRebateVehDtos.add(scmVehRebateVehDto); - scmVehRebateDto.setScmVehRebateVehs(scmVehRebateVehDtos); - scmVehRebateFeign.save(scmVehRebateDto); + finUncollectedReceivablesDetailed.setReveivableMoney(finSelectedReceivablesDetailed.getSubscriptionMoney().toString()); finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed); } @@ -2374,14 +2378,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService scmVehRebateVehDtos = new ArrayList<>(); - ScmVehRebateVehDto scmVehRebateVehDto = new ScmVehRebateVehDto(); - scmVehRebateDto.setCreateBySid(confirmation.getCreateBySid()); - scmVehRebateDto.setRebateTypeKey("029"); - scmVehRebateDto.setRebateTypeValue("金融贴息"); - scmVehRebateDto.setRebateName("金融贴息"); BigDecimal all = BigDecimal.ZERO; if(loanSolutions.getActualDiscount() != null){ all = all.add(loanSolutions.getActualDiscount()); @@ -2389,33 +2385,45 @@ public class FinCollectionConfirmationService extends MybatisBaseService0){ + //推送单车返利管理 + ScmVehRebateDto scmVehRebateDto = new ScmVehRebateDto(); + List scmVehRebateVehDtos = new ArrayList<>(); + ScmVehRebateVehDto scmVehRebateVehDto = new ScmVehRebateVehDto(); + scmVehRebateDto.setCreateBySid(confirmation.getCreateBySid()); + scmVehRebateDto.setRebateTypeKey("029"); + scmVehRebateDto.setRebateTypeValue("金融贴息"); + scmVehRebateDto.setRebateName("金融贴息"); + + scmVehRebateDto.setCalculationStandard(all.toString()); + scmVehRebateDto.setPalceGenDate(DateUtil.format(new Date(), "yyyy-MM")); + scmVehRebateDto.setCalculationModeKey("002"); + scmVehRebateDto.setCalculationModeValue("固定金额"); + scmVehRebateDto.setOrgPath(confirmation.getOrgSidPath()); + scmVehRebateVehDto.setState("2"); + scmVehRebateVehDto.setBrandSid(baseVehicle.getCarBrandSid()); + scmVehRebateVehDto.setBrandName(baseVehicle.getCarBrandName()); + scmVehRebateVehDto.setVehModelSid(baseVehicle.getModelSid()); + scmVehRebateVehDto.setVehModelName(baseVehicle.getModelName()); + scmVehRebateVehDto.setVehSid(baseVehicle.getSid()); + scmVehRebateVehDto.setVinNo(baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8)); + scmVehRebateVehDto.setManufactorSettlementPrice(baseVehicle.getCostPrice().toString()); + scmVehRebateVehDto.setFreight(baseVehicle.getFreight().toString()); + BigDecimal ll = BigDecimal.ZERO; + if(loanSolutions.getActualDiscount() != null){ + ll = ll.add(loanSolutions.getActualDiscount()); + } + if(loanSolutionsOtherpolicy != null && loanSolutionsOtherpolicy.getOtherActualDiscount() != null){ + ll = ll.add(loanSolutionsOtherpolicy.getOtherActualDiscount()); + } + scmVehRebateVehDto.setEstimateRebate(ll.toString()); + scmVehRebateVehDto.setPurchaseSystemSid(baseVehicle.getPurchaseSystemSid()); + scmVehRebateVehDto.setPurchaseSystemName(baseVehicle.getPurchaseSystemName()); + scmVehRebateVehDtos.add(scmVehRebateVehDto); + scmVehRebateDto.setScmVehRebateVehs(scmVehRebateVehDtos); + scmVehRebateFeign.save(scmVehRebateDto); } - scmVehRebateVehDto.setEstimateRebate(ll.toString()); - scmVehRebateVehDto.setPurchaseSystemSid(baseVehicle.getPurchaseSystemSid()); - scmVehRebateVehDto.setPurchaseSystemName(baseVehicle.getPurchaseSystemName()); - scmVehRebateVehDtos.add(scmVehRebateVehDto); - scmVehRebateDto.setScmVehRebateVehs(scmVehRebateVehDtos); - scmVehRebateFeign.save(scmVehRebateDto); + finUncollectedReceivablesDetailed.setReveivableMoney(finSelectedReceivablesDetailed.getSubscriptionMoney().toString()); finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed); } @@ -5826,6 +5834,11 @@ public class FinCollectionConfirmationService extends MybatisBaseService 0) { + if (voucherDetail.getAmount().compareTo(BigDecimal.ZERO) != 0) { + Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方 + dto1.setSummary(voucherDetail.getBankName() + "结清"); + dto1.setSubjectNo(bankCode); + dto1.setDimensionDept(voucherDetail.getDeptCode()); + dto1.setDimensionCustom(voucherDetail.getCustomerCode()); + dto1.setDebit(String.valueOf(voucherDetail.getAmount())); + resultDetails.add(dto1); + } + if (voucherDetail.getPaymentCharges().compareTo(BigDecimal.ZERO) != 0) { Voucher.VoucherResultDetailDto dto0 = new Voucher.VoucherResultDetailDto(); //借方 dto0.setSummary("付款手续费"); dto0.setSubjectNo("6603.03.00"); dto0.setDebit(String.valueOf(voucherDetail.getPaymentCharges())); resultDetails.add(dto0); } - if (voucherDetail.getNoRelief().compareTo(BigDecimal.ZERO) > 0) { + if (voucherDetail.getNoRelief().compareTo(BigDecimal.ZERO) != 0) { Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //借方 dto2.setSummary(voucherDetail.getBankName() + "结清未到期利息不减免"); dto2.setSubjectNo("6002.01.17"); @@ -1678,49 +1680,58 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { dto2.setCredit(String.valueOf(voucherDetail.getNoRelief())); resultDetails.add(dto2); } - if (voucherDetail.getRelief().compareTo(BigDecimal.ZERO) > 0) { + if (voucherDetail.getRelief().compareTo(BigDecimal.ZERO) != 0) { Voucher.VoucherResultDetailDto dto3 = new Voucher.VoucherResultDetailDto(); //借方 dto3.setSummary(voucherDetail.getBankName() + "结清未到期利息减免"); dto3.setSubjectNo("1201.01.00"); dto3.setDimensionDept(voucherDetail.getDeptCode()); - dto1.setDimensionCustom(voucherDetail.getCustomerCode()); + dto3.setDimensionCustom(voucherDetail.getCustomerCode()); dto3.setCredit(String.valueOf(voucherDetail.getRelief())); resultDetails.add(dto3); } - Voucher.VoucherResultDetailDto dto4 = new Voucher.VoucherResultDetailDto(); //贷方 - dto4.setSummary(voucherDetail.getBankName() + "个贷保证金抵结清款"); - dto4.setSubjectNo("1009.01.00"); - dto4.setDimensionDept(voucherDetail.getDeptCode()); - dto4.setDimensionCustom(voucherDetail.getCustomerCode()); - dto4.setBank("342"); - dto4.setCredit(String.valueOf(voucherDetail.getSubtrahend())); - resultDetails.add(dto4); - Voucher.VoucherResultDetailDto dto5 = new Voucher.VoucherResultDetailDto(); //贷方 - dto5.setSummary(voucherDetail.getBankName() + "结清"); - if (voucher.getPayTypeCode().equals("02")) { - dto5.setSubjectNo("1002.01.00"); - } else if (voucher.getPayTypeCode().equals("01")) { - dto5.setSubjectNo("1002.02.01"); + if (voucherDetail.getSubtrahend().compareTo(BigDecimal.ZERO) != 0) { + Voucher.VoucherResultDetailDto dto4 = new Voucher.VoucherResultDetailDto(); //贷方 + dto4.setSummary(voucherDetail.getBankName() + "个贷保证金抵结清款"); + dto4.setSubjectNo("1009.01.00"); + dto4.setDimensionDept(voucherDetail.getDeptCode()); + dto4.setDimensionCustom(voucherDetail.getCustomerCode()); + dto4.setBank("342"); + dto4.setCredit(String.valueOf(voucherDetail.getSubtrahend())); + resultDetails.add(dto4); + } + + if (voucherDetail.getBalance().compareTo(BigDecimal.ZERO) != 0) { + Voucher.VoucherResultDetailDto dto5 = new Voucher.VoucherResultDetailDto(); //贷方 + dto5.setSummary(voucherDetail.getBankName() + "结清"); + if (voucher.getPayTypeCode().equals("02")) { + dto5.setSubjectNo("1002.01.00"); + } else if (voucher.getPayTypeCode().equals("01")) { + dto5.setSubjectNo("1002.02.01"); + } + dto5.setBankAccount(voucher.getBankAccount()); + dto5.setCredit(String.valueOf(voucherDetail.getBalance())); + resultDetails.add(dto5); } - dto5.setBankAccount(voucher.getBankAccount()); - dto5.setCredit(String.valueOf(voucherDetail.getBalance())); - resultDetails.add(dto5); + } else { - Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方 - dto1.setSummary(voucherDetail.getBankName() + "结清"); - dto1.setSubjectNo(bankCode); - dto1.setDimensionDept(voucherDetail.getDeptCode()); - dto1.setDimensionCustom(voucherDetail.getCustomerCode()); - dto1.setDebit(String.valueOf(voucherDetail.getAmount())); - resultDetails.add(dto1); - if (voucherDetail.getPaymentCharges().compareTo(BigDecimal.ZERO) > 0) { + if (voucherDetail.getAmount().compareTo(BigDecimal.ZERO) != 0) { + Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方 + dto1.setSummary(voucherDetail.getBankName() + "结清"); + dto1.setSubjectNo(bankCode); + dto1.setDimensionDept(voucherDetail.getDeptCode()); + dto1.setDimensionCustom(voucherDetail.getCustomerCode()); + dto1.setDebit(String.valueOf(voucherDetail.getAmount())); + resultDetails.add(dto1); + } + + if (voucherDetail.getPaymentCharges().compareTo(BigDecimal.ZERO) != 0) { Voucher.VoucherResultDetailDto dto0 = new Voucher.VoucherResultDetailDto(); //借方 dto0.setSummary("付款手续费"); dto0.setSubjectNo("6603.03.00"); dto0.setDebit(String.valueOf(voucherDetail.getPaymentCharges())); resultDetails.add(dto0); } - if (voucherDetail.getNoRelief().compareTo(BigDecimal.ZERO) > 0) { + if (voucherDetail.getNoRelief().compareTo(BigDecimal.ZERO) != 0) { Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //借方 dto2.setSummary(voucherDetail.getBankName() + "结清未到期利息不减免"); dto2.setSubjectNo("6002.01.17"); @@ -1728,7 +1739,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { dto2.setCredit(String.valueOf(voucherDetail.getNoRelief())); resultDetails.add(dto2); } - if (voucherDetail.getRelief().compareTo(BigDecimal.ZERO) > 0) { + if (voucherDetail.getRelief().compareTo(BigDecimal.ZERO) != 0) { Voucher.VoucherResultDetailDto dto3 = new Voucher.VoucherResultDetailDto(); //借方 dto3.setSummary(voucherDetail.getBankName() + "结清未到期利息减免"); dto3.setSubjectNo("1201.01.00"); @@ -1737,16 +1748,18 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { dto3.setCredit(String.valueOf(voucherDetail.getRelief())); resultDetails.add(dto3); } - Voucher.VoucherResultDetailDto dto4 = new Voucher.VoucherResultDetailDto(); //贷方 - dto4.setSummary(voucherDetail.getBankName() + "结清"); - if (voucher.getPayTypeCode().equals("02")) { - dto4.setSubjectNo("1002.01.00"); - } else if (voucher.getPayTypeCode().equals("01")) { - dto4.setSubjectNo("1002.02.01"); + if (voucherDetail.getBalance().compareTo(BigDecimal.ZERO) != 0) { + Voucher.VoucherResultDetailDto dto4 = new Voucher.VoucherResultDetailDto(); //贷方 + dto4.setSummary(voucherDetail.getBankName() + "结清"); + if (voucher.getPayTypeCode().equals("02")) { + dto4.setSubjectNo("1002.01.00"); + } else if (voucher.getPayTypeCode().equals("01")) { + dto4.setSubjectNo("1002.02.01"); + } + dto4.setBankAccount(voucher.getBankAccount()); + dto4.setCredit(String.valueOf(voucherDetail.getBalance())); + resultDetails.add(dto4); } - dto4.setBankAccount(voucher.getBankAccount()); - dto4.setCredit(String.valueOf(voucherDetail.getBalance())); - resultDetails.add(dto4); } } newVoucher.setResultDetails(resultDetails); diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowapprover/FlowApprover.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowapprover/FlowApprover.java new file mode 100644 index 0000000000..d111bd2c1c --- /dev/null +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowapprover/FlowApprover.java @@ -0,0 +1,23 @@ +package com.yxt.anrui.flowable.api.flowapprover; + +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/2/20 + **/ +@Data +public class FlowApprover extends BaseEntity { + private static final long serialVersionUID = 8140464420543873852L; + @ApiModelProperty("申请sid") + private String businessSid; + @ApiModelProperty("序号") + private Integer sortNo; + @ApiModelProperty("审批人sid") + private String approverSid; + @ApiModelProperty("审批人名称") + private String approverName; +} diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowapprover/FlowApproverDto.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowapprover/FlowApproverDto.java new file mode 100644 index 0000000000..2d7597af72 --- /dev/null +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowapprover/FlowApproverDto.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.flowable.api.flowapprover; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/2/20 + **/ +@Data +public class FlowApproverDto { + + @ApiModelProperty("申请sid") + private String businessSid; + @ApiModelProperty("审批人sid") + private List approverSidList; +} diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcc/FlowCc.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcc/FlowCc.java new file mode 100644 index 0000000000..24f6e3810a --- /dev/null +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcc/FlowCc.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.flowable.api.flowcc; + +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/2/20 + **/ +@Data +public class FlowCc extends BaseEntity { + private static final long serialVersionUID = -4299550952719113083L; + @ApiModelProperty("申请sid") + private String businessSid; + @ApiModelProperty("抄送人sids") + private String ccSids; + @ApiModelProperty("抄送人名称") + private String ccNames; +} diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java index d21fdf8daa..c5de7f4850 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java @@ -38,10 +38,10 @@ public enum ProcDefEnum { QKBUSDELIVEREDAPPLY("欠款出库申请", "process_161otrwo:3:7192504"), BASESHUNINVOICAPPLY("调车开票申请", "process_u4xrvaso:1:400008"), BASEVEHINSTALLMODPRICE("上装调价申请", "process_s0a0svth:1:492508"), - SCMVEHREBATEWITHAPPLY("单车返利预提申请", "process_qegarc7r:4:16412508"), - SCMVEHREBATECHECKAPPLY("单车返利核对申请", "process_3xtbbru8:4:16412512"), - SCMSPECIALREBATEWITHAPPLY("专项返利预提申请", "process_l0yxpgs2:4:16412520"), - SCMSPECIALREBATECHECKAPPLY("专项返利核对申请", "process_qw22vupn:4:16412516"), + SCMVEHREBATEWITHAPPLY("单车返利预提申请", "process_qegarc7r:5:17935004"), + SCMVEHREBATECHECKAPPLY("单车返利核对申请", "process_3xtbbru8:5:17935008"), + SCMSPECIALREBATEWITHAPPLY("专项返利预提申请", "process_l0yxpgs2:5:17935012"), + SCMSPECIALREBATECHECKAPPLY("专项返利核对申请", "process_qw22vupn:5:17935016"), SCMSPECIALREBATECHEDISTRIBUTE("专项返利分配申请", "process_h3w1aval:4:16412524"), SCMCOLLECTIONREBATEWITHAPPLY("回款返利预提申请", "process_k4lodiyg:4:16412532"), SCMCOLLECTIONREBATECHECKAPPLY("回款返利核对申请", "process_fgrv1mbv:4:16412528"), diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow3/Flow3Service.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow3/Flow3Service.java index cb7e2ce5b3..e0628875e7 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow3/Flow3Service.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow3/Flow3Service.java @@ -95,8 +95,6 @@ public class Flow3Service extends MybatisBaseService { private MessageFeign messageFeign; @Autowired private SysFlowccFeign sysFlowccFeign; - @Autowired - private ProcessEngine processEngine; public ResultBean businessStartProcessInstanceById(BusinessVariables bv) { ResultBean rb = ResultBean.fireFail(); @@ -146,6 +144,8 @@ public class Flow3Service extends MybatisBaseService { String id_ = ""; String name_ = ""; String task_def_key_ = ""; + //设置是否是管理员自动审批,默认否 + boolean adminContains = false; //查询当前实例的最新待办任务 List tasks = taskService.createTaskQuery().processInstanceId(processInstance.getId()).list(); if (StringUtils.isBlank(nextNodeUserSids)) { @@ -168,6 +168,21 @@ public class Flow3Service extends MybatisBaseService { taskService.setVariablesLocal(id_, variables); } } + tasks = taskService.createTaskQuery().processInstanceId(processInstance.getId()).list(); + //遍历待办任务 + for (int i = 0; i < tasks.size(); i++) { + Task task2 = tasks.get(i); + String isMultiInstanceTask = isMultiInstanceTask(task2); + id_ = task2.getId(); + task_def_key_ = task2.getTaskDefinitionKey(); + name_ = task2.getName(); + if ("会签任务".equals(isMultiInstanceTask) || "或签任务".equals(isMultiInstanceTask)) { + if(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId().equals(task2.getAssignee())){ + adminContains = true; + break; + } + } + } } else { Task task2 = tasks.get(0); id_ = task2.getId(); @@ -179,8 +194,10 @@ public class Flow3Service extends MybatisBaseService { taskService.setVariablesLocal(id_, variables); } + + //提交前传入下一环节待办人 - if (ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId().equals(nextNodeUserSids)) { + if (ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId().equals(nextNodeUserSids) || adminContains) { return handleAutomaticApproval(bv, task, id_, task_def_key_, variables, variablesSeconds, processDefinition); } // 如果申请人与下一环节审批人相同,则自动审批 @@ -301,6 +318,22 @@ public class Flow3Service extends MybatisBaseService { nodeState = task2.getName(); taskDefKey = task2.getTaskDefinitionKey(); } + tasks = taskService.createTaskQuery().processInstanceId(instanceId).list(); + //遍历待办任务 + for (int i = 0; i < tasks.size(); i++) { + Task task2 = tasks.get(i); + isMultiInstanceTask = isMultiInstanceTask(task2); + vo.setTaskId(task2.getId()); + nodeState = task2.getName(); + taskDefKey = task2.getTaskDefinitionKey(); + if ("会签任务".equals(isMultiInstanceTask) || "或签任务".equals(isMultiInstanceTask)) { + if(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId().equals(task2.getAssignee())){ + nextUserSid = ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId(); + adminContains = true; + break; + } + } + } } else { nodeState = FlowComment.SETTLE.getRemark(); taskDefKey = "Event_end"; diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Mapper.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Mapper.java new file mode 100644 index 0000000000..a2c0a120ba --- /dev/null +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Mapper.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.flowable.biz.flow4; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.anrui.flowable.api.flow.Flowable; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/2/20 + **/ +@Mapper +public interface Flow4Mapper extends BaseMapper { + + List selectByProcInstId(String instanceId); +} diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Mapper.xml b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Mapper.xml new file mode 100644 index 0000000000..457aa52e23 --- /dev/null +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Mapper.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Rest.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Rest.java new file mode 100644 index 0000000000..658a5b531d --- /dev/null +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Rest.java @@ -0,0 +1,112 @@ +package com.yxt.anrui.flowable.biz.flow4; + +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSONObject; +import com.google.common.util.concurrent.ThreadFactoryBuilder; +import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flowcc.FlowCc; +import com.yxt.anrui.flowable.biz.flow2.FlowRest; +import com.yxt.anrui.flowable.feign.form.MessageFlowVo; +import com.yxt.anrui.flowable.feign.form.MessageFlowableQuery; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +import com.yxt.anrui.portal.api.sysflowcc.SysFlowccVo; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.portal.api.sysuser.UserByRolesAndOrgQuery; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.result.ResultBean; +import org.apache.tomcat.util.threads.ThreadPoolExecutor; +import org.flowable.task.api.history.HistoricTaskInstance; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +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.*; +import java.util.concurrent.*; + +/** + * @description: 通用审批 + * @author: dimengzhe + * @date: 2025/2/20 + **/ +@RestController +@RequestMapping("v4/flow") +public class Flow4Rest { + + Logger log = LoggerFactory.getLogger(FlowRest.class); + + @Autowired + private Flow4Service flowService; + + @PostMapping("/startProcess") + public ResultBean startProcess(@RequestBody BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + //获取表单中的参数 + Map formVariables = bv.getFormVariables(); + formVariables = formVariables == null ? new HashMap<>() : formVariables; + //发起人的组织全路径 + String orgPath = bv.getOrgSidPath(); + formVariables.put("createrOrgPath", orgPath); + formVariables.put("businessSid", bv.getBusinessSid()); + + //启动流程实例 + ResultBean startResultBean = flowService.businessStartProcessInstanceById(bv); + return startResultBean; + } + + @PostMapping("/submit2") + ResultBean submit2() { + ResultBean rb = ResultBean.fireFail(); + List userIds = new ArrayList<>(); + userIds.add("1d85d1fe-e527-4ec5-a5e4-c37a76a36518"); + userIds.add("64e289bc-80cd-487a-9498-5ae61e260f71"); + userIds.add("7ffcd76a-4fa0-4c9c-87ca-a0c2116bb2ed"); + + Map variables = new HashMap<>(); + variables.put("approvers", userIds); + BusinessVariables bv = new BusinessVariables(); + bv.setFormVariables(variables); + bv.setModelId("process_wj9q4vwi:1:17170004"); + bv.setUserSid("7f56f6ec-4a5f-47b0-aaab-158d64cb97b1"); + //启动流程 + ResultBean voResultBean = startProcess(bv); + System.out.println("voResultBean{}" + voResultBean); + return voResultBean; + } + + public ResultBean handleProsess(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + ResultBean updateFlowFieldVoResultBean = flowService.handleProsess(bv, true); + //添加抄送 + log.info("流程返回:{}", JSONObject.toJSONString(updateFlowFieldVoResultBean)); + //需要判断办结后再执行 TODO + if (updateFlowFieldVoResultBean.getSuccess()) { + log.info("流程返回:{}", JSONObject.toJSONString(updateFlowFieldVoResultBean)); + if ("Event_end".equals(updateFlowFieldVoResultBean.getData().getTaskDefKey())) { + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + + Future future1 = pool.submit(() -> { + HashMap map = new HashMap<>(); + map.put("bv", bv); + UpdateFlowFieldVo ufVo = updateFlowFieldVoResultBean.getData(); + ufVo.setTaskId(bv.getTaskId()); + map.put("uff", ufVo); + flowService.cc(map, bv.getTaskDefKey()); + }); + } catch (Exception e) { + e.printStackTrace(); + return rb.setMsg("抄送失败"); + } + } + } + return updateFlowFieldVoResultBean; + } +} diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Service.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Service.java new file mode 100644 index 0000000000..e576886108 --- /dev/null +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Service.java @@ -0,0 +1,449 @@ +package com.yxt.anrui.flowable.biz.flow4; + +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.yxt.anrui.flowable.api.flow.Flowable; +import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flowapprover.FlowApprover; +import com.yxt.anrui.flowable.api.flowapprover.FlowApproverDto; +import com.yxt.anrui.flowable.api.flowcc.FlowCc; +import com.yxt.anrui.flowable.api.flowcomment.FlowComment; +import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; +import com.yxt.anrui.flowable.api.processcomment.ProcessCommentDto; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.biz.flow2.FlowMapper; +import com.yxt.anrui.flowable.biz.flowapprover.FlowApproverService; +import com.yxt.anrui.flowable.biz.flowcc.FlowCcService; +import com.yxt.anrui.flowable.biz.flowtask.FlowTaskService; +import com.yxt.anrui.flowable.biz.process.ProcessService; +import com.yxt.anrui.flowable.biz.processcomment.ProcessCommentService; +import com.yxt.anrui.flowable.common.ProcessConstants; +import com.yxt.anrui.flowable.feign.MessageFeign; +import com.yxt.anrui.flowable.feign.form.MessageFlowVo; +import com.yxt.anrui.flowable.feign.form.MessageFlowableQuery; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +import com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfigFeign; +import com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfigQuery; +import com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfigVvo; +import com.yxt.anrui.portal.api.sysflowcc.SysFlowccFeign; +import com.yxt.anrui.portal.api.sysflowcc.SysFlowccVo; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.portal.api.sysuser.UserByRolesAndOrgQuery; +import com.yxt.anrui.portal.api.sysuser.UserssQuery; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.result.ResultBean; +import lombok.extern.slf4j.Slf4j; +import org.flowable.bpmn.model.BpmnModel; +import org.flowable.bpmn.model.FlowElement; +import org.flowable.bpmn.model.UserTask; +import org.flowable.common.engine.impl.identity.Authentication; +import org.flowable.engine.*; +import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl; +import org.flowable.engine.repository.ProcessDefinition; +import org.flowable.engine.runtime.ProcessInstance; +import org.flowable.task.api.DelegationState; +import org.flowable.task.api.Task; +import org.flowable.task.api.history.HistoricTaskInstance; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/2/20 + **/ +@Service +@Slf4j +public class Flow4Service extends MybatisBaseService { + + @Autowired + RepositoryService repositoryService; + @Autowired + RuntimeService runtimeService; + + @Autowired + ManagementService managementService; + @Autowired + ProcessEngineConfigurationImpl processEngineConfiguration; + @Autowired + private SysUserFeign sysUserFeign; + + @Autowired + protected IdentityService identityService; + @Autowired + protected TaskService taskService; + @Autowired + private SysFlowableConfigFeign sysFlowableConfigFeign; + @Autowired + private FlowTaskService flowTaskService; + @Autowired + private ProcessCommentService processCommentService; + + @Autowired + protected HistoryService historyService; + + @Autowired + private ProcessService processService; + + @Autowired + private MessageFeign messageFeign; + @Autowired + private SysFlowccFeign sysFlowccFeign; + + @Autowired + private FlowApproverService flowApproverService; + @Autowired + private FlowCcService flowCcService; + + + /** + * 启动流程 + * + * @param bv + * @return + */ + public ResultBean businessStartProcessInstanceById(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + UpdateFlowFieldVo updateFlowFieldVo = new UpdateFlowFieldVo(); + String procDefId = bv.getModelId(); + String userSid = bv.getUserSid(); + String nextNodeUserSids = bv.getNextNodeUserSids(); + Map variables = bv.getFormVariables(); + // 获取审批人列表 + List approvers = (List) variables.get("approvers"); + // 获取抄送人列表 + List ccList = (List) variables.get("ccList"); + + + //根据流程定义id查询 + ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(procDefId) + .latestVersion().singleResult(); + if (Objects.nonNull(processDefinition) && processDefinition.isSuspended()) { + return rb.setMsg("流程已被挂起,请先激活流程"); + } + // 设置流程发起人Id到流程中 + ResultBean sysUserVoResultBean = sysUserFeign.fetchBySid(userSid); + SysUserVo sysUser = sysUserVoResultBean.getData(); + identityService.setAuthenticatedUserId(sysUser.getSid()); + variables.put(ProcessConstants.PROCESS_INITIATOR, userSid); + variables.put(ProcessConstants.USER_TYPE_ASSIGNEE, userSid); + ProcessInstance processInstance = runtimeService.startProcessInstanceById(procDefId, variables); + // 给第一步申请人节点设置任务执行人和意见 + Task task = taskService.createTaskQuery().processInstanceId(processInstance.getProcessInstanceId()).singleResult(); + if (Objects.nonNull(task)) { + taskService.addComment(task.getId(), processInstance.getProcessInstanceId(), FlowComment.START.getType(), + sysUser.getName() + "发起流程申请"); + taskService.setAssignee(task.getId(), userSid); + taskService.complete(task.getId(), variables); + } + assembleFlowApprover(bv); + //查询当前实例的最新待办任务 + List tasks = taskService.createTaskQuery().processInstanceId(processInstance.getId()).list(); + task = tasks.get(0); + Integer sortNo = sortNo(procDefId, task.getTaskDefinitionKey()); + System.out.println("获取环节序号================" + sortNo); + String approverSid = flowApproverService.selectApproverSid(bv.getBusinessSid(), sortNo); + String id_ = task.getId(); + String task_def_key_ = task.getTaskDefinitionKey(); + String nodeState = task.getName(); + //查询下一环节是否有转办并添加评论 + nextNodeUserSids = change(approverSid, processInstance.getProcessInstanceId()); + taskService.setAssignee(id_, nextNodeUserSids); + taskService.setVariablesLocal(id_, variables); + updateFlowFieldVo.setProcInsId(task.getProcessInstanceId()); + updateFlowFieldVo.setNodeState(nodeState); + updateFlowFieldVo.setTaskId(id_); + updateFlowFieldVo.setTaskDefKey(task_def_key_); + updateFlowFieldVo.setProcDefId(bv.getModelId()); + updateFlowFieldVo.setSid(bv.getBusinessSid()); + updateFlowFieldVo.setName(processDefinition.getName()); + return rb.success().setData(updateFlowFieldVo).setMsg("流程启动成功"); + } + + /** + * 查询下一环节用户是否有转办用户,若有转办用户则添加转办评论 + * + * @param nextNodeUserSids 下一环节用户 + * @param instanceId 实例id + * @return + */ + public String change(String nextNodeUserSids, String instanceId) { + //查询下一环节是否有转办 + String firstSid = ""; + String firstName = ""; + //默认无转办 + boolean isChange = false; + if (StringUtils.isNotBlank(nextNodeUserSids)) { + List nextUserList = Arrays.asList(nextNodeUserSids.split(",")); + if (nextUserList.size() == 1) { + firstSid = nextUserList.get(0); + ResultBean userVoResultBean = sysUserFeign.fetchBySid(firstSid); + if (userVoResultBean.getData() != null) { + firstName = userVoResultBean.getData().getName(); + } + SysFlowableConfigQuery sysFlowableConfigQuery = new SysFlowableConfigQuery(); + sysFlowableConfigQuery.setUserSid(firstSid); + sysFlowableConfigQuery.setNowDate(new Date()); + ResultBean sysFlowableConfigVvoResultBean = sysFlowableConfigFeign.selectByUserSid(sysFlowableConfigQuery); + if (sysFlowableConfigVvoResultBean.getData() != null) { + if (StringUtils.isNotBlank(sysFlowableConfigVvoResultBean.getData().getChangeUserSid())) { + nextNodeUserSids = sysFlowableConfigVvoResultBean.getData().getChangeUserSid(); + isChange = true; + } + } + } + } + if (isChange) {//添加评论 + ResultBean userVoResultBean = sysUserFeign.fetchBySid(nextNodeUserSids); + ProcessCommentDto processCommentDto = new ProcessCommentDto(); + processCommentDto.setReviewerSid(firstSid); + if (userVoResultBean.getData() != null) { + String changeName = userVoResultBean.getData().getName(); + processCommentDto.setReviewer(firstName); + processCommentDto.setContent("交" + changeName + "转办"); + } + processCommentDto.setTime(new Date()); + processCommentDto.setProcessId(instanceId); + processCommentService.saveOrUpdateDto(processCommentDto); + } + return nextNodeUserSids; + } + + public Integer sortNo(String proDefId, String taskDefKey) { + // 获取所有 UserTask,并以 Map 形式存储环节位置 + Map taskKeyToPositionMap = new HashMap<>(); + // 获取流程定义的 BPMN 模型 + BpmnModel bpmnModel = repositoryService.getBpmnModel(proDefId); + // 使用 Stream API 遍历流程元素并缓存顺序 + List userTasks = bpmnModel.getProcesses().stream() + .flatMap(process -> process.getFlowElements().stream()) // 遍历所有流程 + .filter(flowElement -> flowElement instanceof UserTask) // 只筛选 UserTask + .map(flowElement -> (UserTask) flowElement) + .collect(Collectors.toList()); + + // 将 UserTask 的 key 和位置映射到 Map 中 + int position = 1; + for (UserTask userTask : userTasks) { + taskKeyToPositionMap.put(userTask.getId(), position++); + } + Integer taskPosition = taskKeyToPositionMap.get(taskDefKey); + + return taskPosition; + } + + public void assembleFlowApprover(BusinessVariables bv) { + Map variables = bv.getFormVariables(); + // 获取审批人列表 + List approvers = (List) variables.get("approvers"); + // 获取抄送人列表 + List ccList = (List) variables.get("ccList"); + if (approvers != null) { + FlowApproverDto flowApproverDto = new FlowApproverDto(); + flowApproverDto.setBusinessSid(bv.getBusinessSid()); + flowApproverDto.setApproverSidList(approvers); + ResultBean resultBean = flowApproverService.saveFlowApprover(flowApproverDto); + } + + if (ccList != null) { + String ccSids = String.join(",", ccList); + ResultBean> listResultBean = sysUserFeign.fetchBySids(ccSids); + List ccNameList = listResultBean.getData().stream().map(v -> v.getName()).collect(Collectors.toList()); + // 将 List 转换为逗号分隔的字符串 + String result = String.join(",", ccNameList); + FlowCc flowCc = new FlowCc(); + flowCc.setBusinessSid(bv.getBusinessSid()); + flowCc.setCcSids(ccSids); + flowCc.setCcNames(result); + flowCcService.insertFlowCc(flowCc); + } + + } + + /** + * 办理 + * + * @param bv + * @param b + * @return + */ + public ResultBean handleProsess(BusinessVariables bv, boolean b) { + ResultBean rb = ResultBean.fireFail(); + UpdateFlowFieldVo vo = new UpdateFlowFieldVo(); + //获取表单中的参数 + Map formVariables = bv.getFormVariables(); + formVariables = formVariables == null ? new HashMap<>() : formVariables; + formVariables.put("businessSid", bv.getBusinessSid()); + String nextUserSid = bv.getNextNodeUserSids(); + String taskId = bv.getTaskId(); + String userSid = bv.getUserSid(); + String instanceId = bv.getInstanceId(); + String comment = bv.getComment(); + String nodeState = ""; + String taskDefKey = ""; + String orgPath = bv.getOrgSidPath(); + //查询任务id为taskId的任务是否存在 + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + if (Objects.isNull(task)) { + return rb.setMsg("任务不存在"); + } + String assignee = task.getAssignee(); + if (b && (StringUtils.isNotBlank(assignee) && assignee.indexOf(userSid) < 0)) { + return rb.setMsg("当前用户不是环节的待办人,不能进行办理操作!"); + } + if (DelegationState.PENDING.equals(task.getDelegationState())) { + //加签 + Authentication.setAuthenticatedUserId(userSid); + taskService.addComment(taskId, instanceId, + FlowComment.DELEGATE.getType(), comment); + taskService.resolveTask(taskId, formVariables); + nodeState = task.getName(); + taskDefKey = task.getTaskDefinitionKey(); + } else { + //当前环节办理通过,且将下一环节用户放入流程中 + taskService.addComment(taskId, instanceId, FlowComment.NORMAL.getType(), comment); + log.error("taskid:{},userSid:{}", taskId, userSid); + log.error("formVariables:{}", JSON.toJSONString(formVariables)); + taskService.setAssignee(taskId, userSid); + taskService.complete(taskId, formVariables);//当前用户办理通过 + //查询当前实例的最新待办任务 + List tasks = taskService.createTaskQuery().processInstanceId(bv.getInstanceId()).list(); + if (tasks.size() > 0) { + task = tasks.get(0); + Integer sortNo = sortNo(bv.getModelId(), task.getTaskDefinitionKey()); + System.out.println("获取环节序号================" + sortNo); + String approverSid = flowApproverService.selectApproverSid(bv.getBusinessSid(), sortNo); + String id_ = task.getId(); + //查询下一环节用户是否有转办人 + nextUserSid = change(approverSid, bv.getInstanceId()); + taskService.setAssignee(id_, nextUserSid);//将下一环节用户放入流程中 + vo.setTaskId(id_); + //在act_ru_variable表中增加环节上的业务参数的变量 + taskService.setVariablesLocal(id_, formVariables); + nodeState = task.getName(); + taskDefKey = task.getTaskDefinitionKey(); + + } else { + nodeState = FlowComment.SETTLE.getRemark(); + taskDefKey = "Event_end"; + vo.setNodeState(FlowComment.SETTLE.getRemark()); + } + } + vo.setProcInsId(instanceId); + vo.setProcDefId(bv.getModelId()); + vo.setNodeState(nodeState); + vo.setTaskDefKey(taskDefKey); + vo.setSid(bv.getBusinessSid()); + return rb.success().setData(vo); + } + + /** + * 流程抄送的功能 + * + * @param map + * @return + */ + public ResultBean cc(Map map, String taskDefKey) { + ResultBean rb = ResultBean.fireFail(); + log.info("FlowableRest-cc:{}", JSONObject.toJSONString(map)); + Object bv1 = map.get("bv"); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(bv1, bv); + Object uff1 = map.get("uff"); + UpdateFlowFieldVo uff = new UpdateFlowFieldVo(); + BeanUtil.copyProperties(uff1, uff); + uff.setTaskDefKey(taskDefKey); + StringBuilder userSids = new StringBuilder(); + StringBuilder userName = new StringBuilder(); + FlowCc flowCc = flowCcService.selectByBusinessSid(bv.getBusinessSid()); + if(flowCc != null){ + userSids = new StringBuilder(flowCc.getCcSids()); + userName = new StringBuilder(flowCc.getCcNames()); + } + + //抄送的业务逻辑 + MessageFlowableQuery mfq = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(uff, messageFlowVo); + mfq.setUfVo(messageFlowVo); + //移动端的参数 + HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery() + .includeProcessVariables().taskId(bv.getTaskId()).singleResult(); + if (historicTaskInstance == null) { + log.info("抄送失败:没有获取到业务参数!"); + return rb.setMsg("抄送失败!"); + } + Map processVariables = historicTaskInstance.getProcessVariables(); + String createrOrgPath = (String) processVariables.get("createrOrgPath"); + if (historicTaskInstance == null) { + log.info("抄送失败:没有获取到业务参数!"); + return rb.setMsg("抄送失败!"); + } + // + String assignee = (String) processVariables.get("assignee"); + ResultBean stringResultBean = sysUserFeign.fetchBySid(assignee); + String assigneeName = ""; + if (stringResultBean.getData() != null) { + assigneeName = stringResultBean.getData().getName(); + } + + Map app = new HashMap<>(); + if (processVariables.get("app") != null) { + app = (Map) processVariables.get("app"); + } + log.info("抄送方法-historicTaskInstance:{}", JSONObject.toJSONString(historicTaskInstance)); + mfq.setAppMap(app); + mfq.setBusinessSid(bv.getBusinessSid()); + mfq.setMsgContent(assigneeName + "抄送的流程审批,请查看"); +// act_re_procdef + Map process = processService.getProcessDefByDefId(historicTaskInstance.getProcessDefinitionId()); + log.info("抄送成功-process:{}", process); + if (process == null) { + log.info("抄送失败,流程定义不存在!"); + return rb.setMsg("抄送失败,流程定义不存在!"); + } + mfq.setModuleName(process.get("NAME_")); + if (processVariables.containsKey("orderNames")) { + mfq.setMsgTitle(processVariables.get("orderNames").toString()); + } else { + mfq.setMsgTitle(process.get("NAME_")); + } + if (processVariables.containsKey("sendRecommendSid")) {//增加的其他的抄送人 + userSids.append(processVariables.get("sendRecommendSid").toString()).append(","); + } + //查询是否有设置转办的,抄送给设置转办人员 + List zbUserSids = processCommentService.selectByIdAndComment("转办", bv.getInstanceId()); + zbUserSids.removeAll(Collections.singleton(null)); + if (!zbUserSids.isEmpty()) { + String zbUser = String.join(",", zbUserSids); + userSids.append(zbUser).append(","); + } + userSids.deleteCharAt(userSids.length() - 1); + //若抄送的用户已在审批人员中(审批记录中有该用户),则该用户不抄送 + List taskinstUserSidList = baseMapper.selectByProcInstId(bv.getInstanceId()); + List uss = Arrays.asList(userSids.toString().split(",")); + List uniqueList = new ArrayList(new HashSet(uss)); + uniqueList.removeIf(taskinstUserSidList::contains); + String userSidss = String.join(",", uniqueList); + mfq.setUserSids(userSidss); + mfq.setOrgPath(createrOrgPath); + mfq.setUserSid(assignee); + mfq.setApplicationName(assigneeName); + ResultBean resultBean = messageFeign.pushMessageCC(mfq); + log.info("抄送成功:{}", userName.toString()); + log.info("抄送成功-resultBean:{}", resultBean); + if (!resultBean.getSuccess()) { + log.info("抄送失败,同送消息异常!:{}", JSONObject.toJSONString(resultBean)); + return rb.setMsg("抄送失败,同送消息异常!"); + } + return rb.success().setMsg("抄送" + userName.toString() + "成功!"); + } + +} diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.java new file mode 100644 index 0000000000..e712aeff93 --- /dev/null +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.flowable.biz.flowapprover; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.anrui.flowable.api.flow.Flowable; +import com.yxt.anrui.flowable.api.flowapprover.FlowApprover; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/2/20 + **/ +@Mapper +public interface FlowApproverMapper extends BaseMapper { + String selectApproverSid(@Param("businessSid") String businessSid, @Param("sortNo") Integer sortNo); + + int insertApprover(FlowApprover flowApprover); +} diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.xml b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.xml new file mode 100644 index 0000000000..71963306b9 --- /dev/null +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.xml @@ -0,0 +1,44 @@ + + + + + + + insert into flow_approver + + sid, + + businessSid, + + + approverSid, + + + approverName, + + + sortNo, + + + + UUID(), + + #{businessSid}, + + + #{approverSid}, + + + #{approverName}, + + + #{sortNo}, + + + + \ No newline at end of file diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverService.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverService.java new file mode 100644 index 0000000000..7d5127d362 --- /dev/null +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverService.java @@ -0,0 +1,53 @@ +package com.yxt.anrui.flowable.biz.flowapprover; + +import com.yxt.anrui.flowable.api.flow.Flowable; +import com.yxt.anrui.flowable.api.flowapprover.FlowApprover; +import com.yxt.anrui.flowable.api.flowapprover.FlowApproverDto; +import com.yxt.anrui.flowable.biz.flow4.Flow4Mapper; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/2/20 + **/ +@Service +public class FlowApproverService extends MybatisBaseService { + + @Autowired + private SysUserFeign sysUserFeign; + + public ResultBean saveFlowApprover(FlowApproverDto flowApproverDto) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = flowApproverDto.getBusinessSid(); + List approverSidList = flowApproverDto.getApproverSidList(); + approverSidList.removeAll(Collections.singleton(null)); + if (!approverSidList.isEmpty()) { + for (int i = 0; i < approverSidList.size(); i++) { + FlowApprover flowApprover = new FlowApprover(); + String approverSid = approverSidList.get(i); + Integer sortNo = i + 2; + flowApprover.setBusinessSid(businessSid); + flowApprover.setApproverSid(approverSid); + ResultBean sysUserVoResultBean = sysUserFeign.fetchBySid(approverSid); + SysUserVo sysUser = sysUserVoResultBean.getData(); + flowApprover.setApproverName(sysUser.getName()); + flowApprover.setSortNo(sortNo); + baseMapper.insertApprover(flowApprover); + } + } + return rb.success(); + } + + public String selectApproverSid(String businessSid, Integer sortNo) { + return baseMapper.selectApproverSid(businessSid, sortNo); + } +} diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.java new file mode 100644 index 0000000000..3306cea860 --- /dev/null +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.flowable.biz.flowcc; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.anrui.flowable.api.flowapprover.FlowApprover; +import com.yxt.anrui.flowable.api.flowcc.FlowCc; +import org.apache.ibatis.annotations.Mapper; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/2/20 + **/ +@Mapper +public interface FlowCcMapper extends BaseMapper { + FlowCc selectByBusinessSid(String businessSid); + + int insertFlowCc(FlowCc flowCc); +} diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.xml b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.xml new file mode 100644 index 0000000000..46dcb001f4 --- /dev/null +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.xml @@ -0,0 +1,37 @@ + + + + + + + insert into flow_cc + + sid, + + businessSid, + + + ccSids, + + + ccNames, + + + + UUID(), + + #{businessSid}, + + + #{ccSids}, + + + #{ccNames}, + + + + \ No newline at end of file diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcService.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcService.java new file mode 100644 index 0000000000..8cdecd1f70 --- /dev/null +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcService.java @@ -0,0 +1,23 @@ +package com.yxt.anrui.flowable.biz.flowcc; + +import com.yxt.anrui.flowable.api.flowapprover.FlowApprover; +import com.yxt.anrui.flowable.api.flowcc.FlowCc; +import com.yxt.anrui.flowable.biz.flowapprover.FlowApproverMapper; +import com.yxt.common.base.service.MybatisBaseService; +import org.springframework.stereotype.Service; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/2/20 + **/ +@Service +public class FlowCcService extends MybatisBaseService { + public FlowCc selectByBusinessSid(String businessSid) { + return baseMapper.selectByBusinessSid(businessSid); + } + + public int insertFlowCc(FlowCc flowCc) { + return baseMapper.insertFlowCc(flowCc); + } +} diff --git a/anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongAdd.vue b/anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongAdd.vue index 68222996d7..44763f6624 100644 --- a/anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongAdd.vue +++ b/anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongAdd.vue @@ -22,7 +22,7 @@ - + @@ -45,11 +45,11 @@ - *出生年月日 + 出生日期 - - + + @@ -59,7 +59,7 @@ - + @@ -553,7 +553,8 @@ export default { // props传值 value: 'sid', label: 'name', - children: 'children' + children: 'children', + checkStrictly: true }, // 上传图片 // photo_list: [], @@ -834,6 +835,14 @@ export default { }) }, + changeIdNo(value) { + if (value.length === 18) { + const year = value.substr(6, 4) + const month = value.substr(10, 2) + const day = value.substr(12, 2) + this.temp.birthday = year + '-' + (month >= 10 ? month : '0' + month) + '-' + (day >= 10 ? day : '0' + day) + } + }, getNational(value) { console.log('触发下拉框按钮') let bb = null diff --git a/anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongInfo.vue b/anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongInfo.vue index 9be2fe7653..cd202e2555 100644 --- a/anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongInfo.vue +++ b/anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongInfo.vue @@ -49,7 +49,7 @@ - 出生年月日 + 出生日期 diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/index/AppIndexEnum.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/index/AppIndexEnum.java index 85bb9d5dd8..45002fafdd 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/index/AppIndexEnum.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/index/AppIndexEnum.java @@ -54,9 +54,9 @@ public class AppIndexEnum { JFKC("a204a3fa-c8ac-4795-966c-df1d0e131bcf", "家访考察"), FKZLSC("65dc12e0-9213-4364-ae81-18afa9c7e1ee", "放款资料上传"), DYBL("ab7df5a0-9708-48b1-b58a-60d7e024d0a2", "抵押办理"), - WXWB("c3a6be91-3e95-4520-b5a7-c805d8f187d7", "维修完毕-售后"), - SPSJ("781ce38b-b003-4efd-accf-fbee0ca33091", "商品上架-售后"), - PJJS("37905444-5454-4b08-897d-6c2c089c317d", "配件接收-售后"), + WXWB("c3a6be91-3e95-4520-b5a7-c805d8f187d7", "维修完毕"), + SPSJ("781ce38b-b003-4efd-accf-fbee0ca33091", "商品上架"), + PJJS("37905444-5454-4b08-897d-6c2c089c317d", "配件接收"), ; /** diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java index 0fd0d3faf2..381c8423a3 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java @@ -624,8 +624,15 @@ public class SysStaffinfoService extends MybatisBaseService 0) { //根据staffSid查询token String token = sysUserService.selectByStaffsid(sid).getToken(); - //清空该token - redisUtil.remove(token); + if(StringUtils.isNotBlank(token)){ + //查询redis中是否包含该token + String userName = redisUtil.get(token); + if(StringUtils.isNotBlank(userName)){ + //清空该token + redisUtil.remove(token); + } + } + } return rb.success().setMsg("更新员工信息成功"); } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml index 2f582d15a9..c0413d3deb 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml @@ -481,10 +481,12 @@ #{deptSid}, '%' ) + AND st.name LIKE CONCAT( '%', #{name}, '%' ) + \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java index abb8a6cdbc..d69fa4a151 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java @@ -286,7 +286,9 @@ public class SysUserRest implements SysUserFeign { if (i == 0) { return ResultBean.fireFail().setMsg("修改失败"); } - redisUtil.remove(token); + if(StringUtils.isNotBlank(token)){ + redisUtil.remove(token); + } return ResultBean.fireSuccess().setMsg("修改成功"); } diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java index e0aaef1b58..5a12848c45 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java @@ -12,6 +12,7 @@ import org.apache.ibatis.annotations.Param; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; +import java.util.Map; /** * @description: @@ -41,8 +42,10 @@ public interface DailyReportMapper extends BaseMapper { String select3(@Param("busOrgSid") String busOrgSid, @Param("brandSid") String brandSid, @Param("vehModelSid") String vehModelSid, @Param("vehMConfigSid") String vehMConfigSid, @Param("createTime") String createTime); List selectByBrand(@Param("sybOrgSid") String sybOrgSid, @Param("queryTime") String queryTime); + List selectByBrandNew(@Param("sybOrgSid") String sybOrgSid, @Param("startDate") String startDate,@Param("endDate") String endDate); List selectReport(@Param("join") List brandList, @Param("sybOrgSid") String sybOrgSid, @Param("queryTime") String queryTime); + List selectReportNew(@Param("join") List brandList, @Param("sybOrgSid") String sybOrgSid, @Param("startDate") String startDate,@Param("endDate") String endDate); IPage pageList1(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); IPage pageList2(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); @@ -50,14 +53,28 @@ public interface DailyReportMapper extends BaseMapper { ReportVo getReport(@Param(Constants.WRAPPER) QueryWrapper qw); List selectReport2(String date); + List selectReport2New(@Param("startDate") String startDate,@Param("endDate") String endDate); List list2(String date); + List list2New(@Param("startDate") String startDate,@Param("endDate") String endDate); List list3(@Param("date") String date, @Param("busOrgSid") String busOrgSid); + List list3New(@Param("startDate") String startDate,@Param("endDate") String endDate, @Param("busOrgSid") String busOrgSid); List selectReport3(@Param("date") String date, @Param("busOrgSid") String busOrgSid); + List selectReport3New(@Param("startDate") String startDate,@Param("endDate") String endDate, @Param("busOrgSid") String busOrgSid); List selectByBrand2(@Param("useOrgSid") String useOrgSid, @Param("date") String date,@Param(Constants.WRAPPER) QueryWrapper qw); + List selectByBrand2New(@Param("useOrgSid") String useOrgSid,@Param("startDate") String startDate,@Param("endDate") String endDate,@Param(Constants.WRAPPER) QueryWrapper qw); List selectReport4(@Param("join") List brandList, @Param("useOrgSid") String useOrgSid, @Param("date") String date,@Param(Constants.WRAPPER) QueryWrapper qw); + List selectReport4New(@Param(Constants.WRAPPER) QueryWrapper qw); + + List selectRecordList(@Param("map") Map map, @Param(Constants.WRAPPER)QueryWrapper qw); + + int selectRecordCount(@Param(Constants.WRAPPER)QueryWrapper qw); + + List selectRecordList2(@Param("map") Map map, @Param(Constants.WRAPPER)QueryWrapper qw); + + List selectRecordList3(@Param("map") Map map, @Param(Constants.WRAPPER)QueryWrapper qw); } diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml index dabb7578be..e8d1d4abaa 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml @@ -10,111 +10,111 @@ ${ew.sqlSegment} --> select ifnull(sum(dr.saleOfStockRatio), 0) - as saleOfStockRatio, - ifnull(sum(dr.stock_total), 0) as stock_total, - ifnull(sum(dr.stock_unreserve), 0) as stock_unreserve, - ifnull(sum(dr.stock_reserve), 0) as stock_reserve, - ifnull(sum(dr.stock_subtotal), 0) as stock_subtotal, - ifnull(sum(dr.stock_buyout_unreserve), 0) as stock_buyout_unreserve, - ifnull(sum(dr.stock_buyout_reserve), 0) as stock_buyout_reserve, - ifnull(sum(dr.stock_buyout_subtotal), 0) as stock_buyout_subtotal, - ifnull(sum(dr.pcOrder_unreserve), 0) as pcOrder_unreserve, - ifnull(sum(dr.pcOrder_reserve), 0) as pcOrder_reserve, - ifnull(sum(dr.pcOrder_subtotal), 0) as pcOrder_subtotal, - ifnull(sum(dr.simpleOrder_day), 0) as simpleOrder_day, - ifnull(sum(dr.simpleOrder_month), 0) as simpleOrder_month, - ifnull(sum(dr.saleOrder_full_day), 0) as saleOrder_full_day, - ifnull(sum(dr.saleOrder_loan_day), 0) as saleOrder_loan_day, - ifnull(sum(dr.saleOrder_subtotal_day), 0) as saleOrder_subtotal_day, - ifnull(sum(dr.saleOrder_full_month), 0) as saleOrder_full_month, - ifnull(sum(dr.saleOrder_loan_month), 0) as saleOrder_loan_month, - ifnull(sum(dr.saleOrder_subtotal_month), 0) as saleOrder_subtotal_month, - ifnull(sum(dr.saleOrder_waitVeh_total), 0) as saleOrder_waitVeh_total, - ifnull(sum(dr.sale_full_day), 0) as sale_full_day, - ifnull(sum(dr.sale_loan_day), 0) as sale_loan_day, - ifnull(sum(dr.sale_subtotal_day), 0) as sale_subtotal_day, - ifnull(sum(dr.sale_full_month), 0) as sale_full_month, - ifnull(sum(dr.sale_loan_month), 0) as sale_loan_month, - ifnull(sum(dr.sale_subtotal_month), 0) as sale_subtotal_month, - ifnull(sum(dr.sale_full_year), 0) as sale_full_year, - ifnull(sum(dr.sale_loan_year), 0) as sale_loan_year, - ifnull(sum(dr.sale_subtotal_year), 0) as sale_subtotal_year, - ifnull(sum(dr.manufacturer_invoicing_year), 0) as manufacturer_invoicing_year, - ifnull(sum(dr.buyout_day), 0) as buyout_day, - ifnull(sum(dr.buyout_month), 0) as buyout_month, - ifnull(sum(dr.buyout_year), 0) as buyout_year, - ifnull(sum(dr.arrears_carry_veh_count), 0) as arrears_carry_veh_count, - ifnull(sum(dr.arrears_carry_veh_amount), 0) as arrears_carry_veh_amount, - ifnull(sum(dr.loan_not_count), 0) as loan_not_count, - ifnull(sum(dr.loan_not_amount), 0) as loan_not_amount, - ifnull(sum(dr.deliver_loan_day), 0) as deliver_loan_day, - ifnull(sum(dr.deliver_full_day), 0) as deliver_full_day, - ifnull(sum(dr.deliver_subtotal_day), 0) as deliver_subtotal_day, - ifnull(sum(dr.deliver_loan_month), 0) as deliver_loan_month, - ifnull(sum(dr.deliver_full_month), 0) as deliver_full_month, - ifnull(sum(dr.deliver_subtotal_month), 0) as deliver_subtotal_month, - ifnull(sum(dr.deliver_loan_year), 0) as deliver_loan_year, - ifnull(sum(dr.deliver_full_year), 0) as deliver_full_year, - ifnull(sum(dr.deliver_subtotal_year), 0) as deliver_subtotal_year, - ifnull(sum(dr.saleAllToThree), 0) as saleAllToThree - , - ifnull(sum(dr.loan_not_counts), 0) as loan_not_counts, - ifnull(sum(dr.loan_not_amounts), 0) as loan_not_amounts, - dr.busOrgName, - dr.brandName, - dr.busOrgSid, - dr.useOrgSid, - dr.useOrgName, - dr.remarks, - bm.vehicleAlias vehModeName, - bmc.carColor, - bmc.specification, - bmc.fuelTank, - bmc.baffleModel, - bmc.independentSources, - bmc.tireCover, - bmc.saddle, - bmc.airConditioner, - bmc.rearAxleRatio, - bmc.rearAxleValue, - bmc.tireSize, - bmc.slowMachine, - bmc.rearViewMirror, - bmc.wheelbase, - bmc.suspension, - bmc.packingCase, - bmc.seat, - bmc.hubMaterial, - bmc.configuringBao, - bmc.multimedia, - bmc.bumper, - bmc.clutchValue, - bmc.dirMachineValue, - bmc.proponsValue, - bmc.doorAndWindowValue, - bmc.doorLockValue, - bmc.headlightValue, - bmc.boardPedalValue, - bmc.steerWheelValue, - bmc.storagBatteryValue, - bmc.comfortPackValue, - bmc.cheBasePackValue, - bmc.savingPackValue, - bmc.conPackValue, - bm.vehicleTypeValue, - bm.emissionStandardValue, - bm.productLineValue, - bm.driveFormValue, - bm.powerValue, - bm.tranCaseTypeValue, - bm.gearboxTypeValue, - bm.fuelTypeValue, - bm.vehicleVersionValue, - bm.engineTypeValue, - bm.specifications + as saleOfStockRatio, + ifnull(sum(dr.stock_total), 0) as stock_total, + ifnull(sum(dr.stock_unreserve), 0) as stock_unreserve, + ifnull(sum(dr.stock_reserve), 0) as stock_reserve, + ifnull(sum(dr.stock_subtotal), 0) as stock_subtotal, + ifnull(sum(dr.stock_buyout_unreserve), 0) as stock_buyout_unreserve, + ifnull(sum(dr.stock_buyout_reserve), 0) as stock_buyout_reserve, + ifnull(sum(dr.stock_buyout_subtotal), 0) as stock_buyout_subtotal, + ifnull(sum(dr.pcOrder_unreserve), 0) as pcOrder_unreserve, + ifnull(sum(dr.pcOrder_reserve), 0) as pcOrder_reserve, + ifnull(sum(dr.pcOrder_subtotal), 0) as pcOrder_subtotal, + ifnull(sum(dr.simpleOrder_day), 0) as simpleOrder_day, + ifnull(sum(dr.simpleOrder_month), 0) as simpleOrder_month, + ifnull(sum(dr.saleOrder_full_day), 0) as saleOrder_full_day, + ifnull(sum(dr.saleOrder_loan_day), 0) as saleOrder_loan_day, + ifnull(sum(dr.saleOrder_subtotal_day), 0) as saleOrder_subtotal_day, + ifnull(sum(dr.saleOrder_full_month), 0) as saleOrder_full_month, + ifnull(sum(dr.saleOrder_loan_month), 0) as saleOrder_loan_month, + ifnull(sum(dr.saleOrder_subtotal_month), 0) as saleOrder_subtotal_month, + ifnull(sum(dr.saleOrder_waitVeh_total), 0) as saleOrder_waitVeh_total, + ifnull(sum(dr.sale_full_day), 0) as sale_full_day, + ifnull(sum(dr.sale_loan_day), 0) as sale_loan_day, + ifnull(sum(dr.sale_subtotal_day), 0) as sale_subtotal_day, + ifnull(sum(dr.sale_full_month), 0) as sale_full_month, + ifnull(sum(dr.sale_loan_month), 0) as sale_loan_month, + ifnull(sum(dr.sale_subtotal_month), 0) as sale_subtotal_month, + ifnull(sum(dr.sale_full_year), 0) as sale_full_year, + ifnull(sum(dr.sale_loan_year), 0) as sale_loan_year, + ifnull(sum(dr.sale_subtotal_year), 0) as sale_subtotal_year, + ifnull(sum(dr.manufacturer_invoicing_year), 0) as manufacturer_invoicing_year, + ifnull(sum(dr.buyout_day), 0) as buyout_day, + ifnull(sum(dr.buyout_month), 0) as buyout_month, + ifnull(sum(dr.buyout_year), 0) as buyout_year, + ifnull(sum(dr.arrears_carry_veh_count), 0) as arrears_carry_veh_count, + ifnull(sum(dr.arrears_carry_veh_amount), 0) as arrears_carry_veh_amount, + ifnull(sum(dr.loan_not_count), 0) as loan_not_count, + ifnull(sum(dr.loan_not_amount), 0) as loan_not_amount, + ifnull(sum(dr.deliver_loan_day), 0) as deliver_loan_day, + ifnull(sum(dr.deliver_full_day), 0) as deliver_full_day, + ifnull(sum(dr.deliver_subtotal_day), 0) as deliver_subtotal_day, + ifnull(sum(dr.deliver_loan_month), 0) as deliver_loan_month, + ifnull(sum(dr.deliver_full_month), 0) as deliver_full_month, + ifnull(sum(dr.deliver_subtotal_month), 0) as deliver_subtotal_month, + ifnull(sum(dr.deliver_loan_year), 0) as deliver_loan_year, + ifnull(sum(dr.deliver_full_year), 0) as deliver_full_year, + ifnull(sum(dr.deliver_subtotal_year), 0) as deliver_subtotal_year, + ifnull(sum(dr.saleAllToThree), 0) as saleAllToThree + , + ifnull(sum(dr.loan_not_counts), 0) as loan_not_counts, + ifnull(sum(dr.loan_not_amounts), 0) as loan_not_amounts, + dr.busOrgName, + dr.brandName, + dr.busOrgSid, + dr.useOrgSid, + dr.useOrgName, + dr.remarks, + bm.vehicleAlias vehModeName, + bmc.carColor, + bmc.specification, + bmc.fuelTank, + bmc.baffleModel, + bmc.independentSources, + bmc.tireCover, + bmc.saddle, + bmc.airConditioner, + bmc.rearAxleRatio, + bmc.rearAxleValue, + bmc.tireSize, + bmc.slowMachine, + bmc.rearViewMirror, + bmc.wheelbase, + bmc.suspension, + bmc.packingCase, + bmc.seat, + bmc.hubMaterial, + bmc.configuringBao, + bmc.multimedia, + bmc.bumper, + bmc.clutchValue, + bmc.dirMachineValue, + bmc.proponsValue, + bmc.doorAndWindowValue, + bmc.doorLockValue, + bmc.headlightValue, + bmc.boardPedalValue, + bmc.steerWheelValue, + bmc.storagBatteryValue, + bmc.comfortPackValue, + bmc.cheBasePackValue, + bmc.savingPackValue, + bmc.conPackValue, + bm.vehicleTypeValue, + bm.emissionStandardValue, + bm.productLineValue, + bm.driveFormValue, + bm.powerValue, + bm.tranCaseTypeValue, + bm.gearboxTypeValue, + bm.fuelTypeValue, + bm.vehicleVersionValue, + bm.engineTypeValue, + bm.specifications from daily_report dr - left join anrui_base.base_vehicle_model bm on bm.sid = dr.vehModelSid - left join anrui_base.base_model_config bmc on bmc.sid = dr.vehMConfigSid + left join anrui_base.base_vehicle_model bm on bm.sid = dr.vehModelSid + left join anrui_base.base_model_config bmc on bmc.sid = dr.vehMConfigSid ${ew.sqlSegment} @@ -122,67 +122,67 @@ select DATE_FORMAT(createTime, '%Y-%m-%d') as date, - sum(saleOfStockRatio) as saleOfStockRatio, - sum(stock_subtotal) as stock_subtotal, - sum(pcOrder_subtotal) as pcOrder_subtotal, - sum(saleOrder_subtotal_day) as saleOrder_subtotal_day, - sum(sale_subtotal_day) as sale_subtotal_day, - sum(arrears_carry_veh_amount) as arrears_carry_veh_amount, - sum(loan_not_amount) as loan_not_amount, - sum(loan_not_amounts) as loan_not_amounts, - sum(buyout_day) as buyout_day, - useOrgSid, - sum(saleAllToThree) as saleAllToThree, - SUM(stock_total) as stock_total + sum(saleOfStockRatio) as saleOfStockRatio, + sum(stock_subtotal) as stock_subtotal, + sum(pcOrder_subtotal) as pcOrder_subtotal, + sum(saleOrder_subtotal_day) as saleOrder_subtotal_day, + sum(sale_subtotal_day) as sale_subtotal_day, + sum(arrears_carry_veh_amount) as arrears_carry_veh_amount, + sum(loan_not_amount) as loan_not_amount, + sum(loan_not_amounts) as loan_not_amounts, + sum(buyout_day) as buyout_day, + useOrgSid, + sum(saleAllToThree) as saleAllToThree, + SUM(stock_total) as stock_total from daily_report ${ew.sqlSegment} @@ -301,69 +301,99 @@ GROUP BY dr.brandSid order by dr.brandSid desc + + + + + select DATE_FORMAT(createTime, '%Y-%m-%d') as date, - - ifnull(sum(saleOfStockRatio), 0) as saleOfStockRatio, - ifnull(sum(stock_total), 0) as stock_total, - ifnull(sum(stock_subtotal), 0) as stock_subtotal, - ifnull(sum(stock_unreserve), 0) as stock_unreserve, - ifnull(sum(stock_reserve), 0) as stock_reserve, - ifnull(sum(stock_buyout_unreserve), 0) as stock_buyout_unreserve, - ifnull(sum(stock_buyout_reserve), 0) as stock_buyout_reserve, - ifnull(sum(stock_buyout_subtotal), 0) as stock_buyout_subtotal, - ifnull(sum(pcOrder_unreserve), 0) as pcOrder_unreserve, - ifnull(sum(pcOrder_reserve), 0) as pcOrder_reserve, - ifnull(sum(pcOrder_subtotal), 0) as pcOrder_subtotal, - - ifnull(sum(simpleOrder_day), 0) as simpleOrder_day, - ifnull(sum(simpleOrder_month), 0) as simpleOrder_month, - ifnull(sum(saleOrder_full_day), 0) as saleOrder_full_day, - ifnull(sum(saleOrder_loan_day), 0) as saleOrder_loan_day, - ifnull(sum(saleOrder_subtotal_day), 0) as saleOrder_subtotal_day, - ifnull(sum(saleOrder_full_month), 0) as saleOrder_full_month, - ifnull(sum(saleOrder_loan_month), 0) as saleOrder_loan_month, - ifnull(sum(saleOrder_subtotal_month), 0) as saleOrder_subtotal_month, - ifnull(sum(saleOrder_waitVeh_total), 0) as saleOrder_waitVeh_total, - - ifnull(sum(sale_full_day), 0) as sale_full_day, - ifnull(sum(sale_loan_day), 0) as sale_loan_day, - ifnull(sum(sale_subtotal_day), 0) as sale_subtotal_day, - ifnull(sum(sale_full_month), 0) as sale_full_month, - ifnull(sum(sale_loan_month), 0) as sale_loan_month, - ifnull(sum(sale_subtotal_month), 0) as sale_subtotal_month, - ifnull(sum(sale_full_year), 0) as sale_full_year, - ifnull(sum(sale_loan_year), 0) as sale_loan_year, - ifnull(sum(sale_subtotal_year), 0) as sale_subtotal_year, - ifnull(sum(deliver_loan_day), 0) as deliver_loan_day, - ifnull(sum(deliver_full_day), 0) as deliver_full_day, - ifnull(sum(deliver_subtotal_day), 0) as deliver_subtotal_day, - ifnull(sum(deliver_loan_month), 0) as deliver_loan_month, - ifnull(sum(deliver_full_month), 0) as deliver_full_month, - ifnull(sum(deliver_subtotal_month), 0) as deliver_subtotal_month, - ifnull(sum(deliver_loan_year), 0) as deliver_loan_year, - ifnull(sum(deliver_full_year), 0) as deliver_full_year, - ifnull(sum(deliver_subtotal_year), 0) as deliver_subtotal_year, + ifnull(sum(saleOfStockRatio), 0) as saleOfStockRatio, + ifnull(sum(stock_total), 0) as stock_total, + ifnull(sum(stock_subtotal), 0) as stock_subtotal, + ifnull(sum(stock_unreserve), 0) as stock_unreserve, + ifnull(sum(stock_reserve), 0) as stock_reserve, + ifnull(sum(stock_buyout_unreserve), 0) as stock_buyout_unreserve, + ifnull(sum(stock_buyout_reserve), 0) as stock_buyout_reserve, + ifnull(sum(stock_buyout_subtotal), 0) as stock_buyout_subtotal, + ifnull(sum(pcOrder_unreserve), 0) as pcOrder_unreserve, + ifnull(sum(pcOrder_reserve), 0) as pcOrder_reserve, + ifnull(sum(pcOrder_subtotal), 0) as pcOrder_subtotal, + + ifnull(sum(simpleOrder_day), 0) as simpleOrder_day, + ifnull(sum(simpleOrder_month), 0) as simpleOrder_month, + ifnull(sum(saleOrder_full_day), 0) as saleOrder_full_day, + ifnull(sum(saleOrder_loan_day), 0) as saleOrder_loan_day, + ifnull(sum(saleOrder_subtotal_day), 0) as saleOrder_subtotal_day, + ifnull(sum(saleOrder_full_month), 0) as saleOrder_full_month, + ifnull(sum(saleOrder_loan_month), 0) as saleOrder_loan_month, + ifnull(sum(saleOrder_subtotal_month), 0) as saleOrder_subtotal_month, + ifnull(sum(saleOrder_waitVeh_total), 0) as saleOrder_waitVeh_total, + + ifnull(sum(sale_full_day), 0) as sale_full_day, + ifnull(sum(sale_loan_day), 0) as sale_loan_day, + ifnull(sum(sale_subtotal_day), 0) as sale_subtotal_day, + ifnull(sum(sale_full_month), 0) as sale_full_month, + ifnull(sum(sale_loan_month), 0) as sale_loan_month, + ifnull(sum(sale_subtotal_month), 0) as sale_subtotal_month, + ifnull(sum(sale_full_year), 0) as sale_full_year, + ifnull(sum(sale_loan_year), 0) as sale_loan_year, + ifnull(sum(sale_subtotal_year), 0) as sale_subtotal_year, + ifnull(sum(deliver_loan_day), 0) as deliver_loan_day, + ifnull(sum(deliver_full_day), 0) as deliver_full_day, + ifnull(sum(deliver_subtotal_day), 0) as deliver_subtotal_day, + ifnull(sum(deliver_loan_month), 0) as deliver_loan_month, + ifnull(sum(deliver_full_month), 0) as deliver_full_month, + ifnull(sum(deliver_subtotal_month), 0) as deliver_subtotal_month, + ifnull(sum(deliver_loan_year), 0) as deliver_loan_year, + ifnull(sum(deliver_full_year), 0) as deliver_full_year, + ifnull(sum(deliver_subtotal_year), 0) as deliver_subtotal_year, ifnull(sum(manufacturer_invoicing_year), 0) as manufacturer_invoicing_year, - ifnull(sum(buyout_day), 0) as buyout_day, - ifnull(sum(buyout_month), 0) as buyout_month, - ifnull(sum(buyout_year), 0) as buyout_year, - ifnull(sum(arrears_carry_veh_count), 0) as arrears_carry_veh_count, - ifnull(sum(arrears_carry_veh_amount), 0) as arrears_carry_veh_amount, - ifnull(sum(loan_not_count), 0) as loan_not_count, - ifnull(sum(loan_not_amount), 0) as loan_not_amount, - ifnull(sum(saleAllToThree), 0) as saleAllToThree, - ifnull(sum(loan_not_counts), 0) as loan_not_counts, - ifnull(sum(loan_not_amounts), 0) as loan_not_amounts, + ifnull(sum(buyout_day), 0) as buyout_day, + ifnull(sum(buyout_month), 0) as buyout_month, + ifnull(sum(buyout_year), 0) as buyout_year, + ifnull(sum(arrears_carry_veh_count), 0) as arrears_carry_veh_count, + ifnull(sum(arrears_carry_veh_amount), 0) as arrears_carry_veh_amount, + ifnull(sum(loan_not_count), 0) as loan_not_count, + ifnull(sum(loan_not_amount), 0) as loan_not_amount, + ifnull(sum(saleAllToThree), 0) as saleAllToThree, + ifnull(sum(loan_not_counts), 0) as loan_not_counts, + ifnull(sum(loan_not_amounts), 0) as loan_not_amounts, busOrgSid, useOrgSid, busOrgName, @@ -487,63 +583,122 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java index 2bb1476f64..4564cf1b40 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java @@ -74,7 +74,7 @@ public class DailyReportRest implements DailyReportFeign { @Override public ResultBean list1Old(String date, String busOrgSid) { - return dailyReportService.list1(date, busOrgSid); + return dailyReportService.list1Old(date, busOrgSid); } @Override @@ -106,7 +106,7 @@ public class DailyReportRest implements DailyReportFeign { @Override public ResultBean list4Old(String date, String useOrgSid) { - return dailyReportService.list4(date, useOrgSid); + return dailyReportService.list4Old(date, useOrgSid); } @Override diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java index a3b58d131d..f9a634be71 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfig; import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel; +import com.yxt.anrui.portal.api.flow.app.FlowTaskFinishVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.reportcenter.api.dailyreport.*; import com.yxt.anrui.reportcenter.api.reportset.ReportSetVo; @@ -15,6 +16,7 @@ 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 lombok.extern.slf4j.Slf4j; import net.sf.jsqlparser.expression.StringValue; import org.apache.commons.lang3.StringUtils; import org.apache.tomcat.util.threads.ThreadPoolExecutor; @@ -36,6 +38,7 @@ import java.util.stream.Collectors; * @date: 2023/9/28 **/ @Service +@Slf4j public class DailyReportService extends MybatisBaseService { @Autowired @@ -447,7 +450,7 @@ public class DailyReportService extends MybatisBaseService list1(String date, String busOrgSid) { + public ResultBean list1Old(String date, String busOrgSid) { ResultBean rb = ResultBean.fireFail(); DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); List rows1 = baseMapper.selectByBrand(busOrgSid, date); @@ -726,7 +729,7 @@ public class DailyReportService extends MybatisBaseService list1New(String date, String busOrgSid) { + public ResultBean list1New_old(String date, String busOrgSid) { ResultBean rb = ResultBean.fireFail(); DailyReportAppBrandVo dailyReportAppVo = new DailyReportAppBrandVo(); List rows1 = baseMapper.selectByBrand(busOrgSid, date); @@ -1316,451 +1319,773 @@ public class DailyReportService extends MybatisBaseService pageList1(PagerQuery pagerQuery) { - DailyReportAppPagerQuery query = pagerQuery.getParams(); - QueryWrapper qw = new QueryWrapper<>(); - if (query != null) { - + public ResultBean list1New(String date, String busOrgSid) { + long startTime = System.currentTimeMillis(); // 记录开始时间 + ResultBean rb = ResultBean.fireFail(); + DailyReportAppBrandVo dailyReportAppVo = new DailyReportAppBrandVo(); + String startDate = date + " 00:00:00"; + String endDate = date + " 23:59:59"; + List rows1 = baseMapper.selectByBrandNew(busOrgSid, startDate, endDate); + rows1.removeAll(Collections.singleton(null)); + if (!rows1.isEmpty()) { + rows1.forEach(v -> { + v.setColspan(Integer.parseInt(v.getColspan()) > 0 ? String.valueOf(Integer.parseInt(v.getColspan()) + 1) : v.getColspan()); + }); } - IPage page = PagerUtil.queryToPage(pagerQuery); - IPage pagging = baseMapper.pageList1(page, qw); - List recordList = pagging.getRecords(); - recordList.removeAll(Collections.singleton(null)); - if (!recordList.isEmpty()) { - for (int i = 0; i < recordList.size(); i++) { - DailyReportListVo dailyReportListVo = recordList.get(i); - String ratio = ""; - if (StringUtils.isBlank(dailyReportListVo.getSaleAllToThree())) { - ratio = dailyReportListVo.getStock_subtotal() + ":1"; - } else { - if ("0".equals(dailyReportListVo.getSaleAllToThree())) { - ratio = dailyReportListVo.getStock_subtotal() + ":1"; + dailyReportAppVo.setRow1(rows1); + List brandList = rows1.stream().map(v -> v.getLinkSid()).collect(Collectors.toList()); + List dailyReportVoList = baseMapper.selectReportNew(brandList, busOrgSid, startDate, endDate); + //排放标准 + List row3 = dailyReportVoList.stream().map(v -> v.getEmissionStandardValue()).collect(Collectors.toList()); + dailyReportAppVo.setRow3(row3); + + //按品牌sid分组,为保证dailyReportVoList分组的顺序,使用LinkedHashMap + Map> groupedByBrandSid = dailyReportVoList.stream() + .collect(Collectors.groupingBy(DailyReportVo::getBrandSid, LinkedHashMap::new, Collectors.toList())); + //遍历分组并组装每组的数据 + List row2 = new ArrayList<>(); + List row4 = new ArrayList<>(); + List row5 = new ArrayList<>(); + List row6 = new ArrayList<>(); + List row7 = new ArrayList<>(); + List row8 = new ArrayList<>(); + List row9 = new ArrayList<>(); + List row10 = new ArrayList<>(); + List row11 = new ArrayList<>(); + List row12 = new ArrayList<>(); + List row13 = new ArrayList<>(); + List row14 = new ArrayList<>(); + List row15 = new ArrayList<>(); + List row16 = new ArrayList<>(); + List row17 = new ArrayList<>(); + List row18 = new ArrayList<>(); + List row19 = new ArrayList<>(); + List row20 = new ArrayList<>(); + List row21 = new ArrayList<>(); + List row22 = new ArrayList<>(); + List row23 = new ArrayList<>(); + List row24 = new ArrayList<>(); + List row25 = new ArrayList<>(); + List row26 = new ArrayList<>(); + List row27 = new ArrayList<>(); + List row28 = new ArrayList<>(); + List row29 = new ArrayList<>(); + List row30 = new ArrayList<>(); + List row31 = new ArrayList<>(); + List row32 = new ArrayList<>(); + List row33 = new ArrayList<>(); + List row34 = new ArrayList<>(); + List row35 = new ArrayList<>(); + List row36 = new ArrayList<>(); + List row37 = new ArrayList<>(); + List row38 = new ArrayList<>(); + List row39 = new ArrayList<>(); + List row40 = new ArrayList<>(); + List row41 = new ArrayList<>(); + List row42 = new ArrayList<>(); + List row43 = new ArrayList<>(); + List row44 = new ArrayList<>(); + List row45 = new ArrayList<>(); + List row46 = new ArrayList<>(); + List row47 = new ArrayList<>(); + List row48 = new ArrayList<>(); + List row49 = new ArrayList<>(); + List row50 = new ArrayList<>(); + List row51 = new ArrayList<>(); + groupedByBrandSid.forEach((brandSid, sameBrandSidList) -> { + for (int i = 0; i <= sameBrandSidList.size(); i++) { + if (i == sameBrandSidList.size()) { + FuelTypeVo fuelTypeVo = new FuelTypeVo(); + fuelTypeVo.setName("小计"); + fuelTypeVo.setRowspan(String.valueOf(2)); + row2.add(fuelTypeVo); + //小计 + int saleAllToThreeAll = sameBrandSidList.stream().mapToInt(v -> v.getSaleAllToThree()).sum(); + int stock_totalAll = sameBrandSidList.stream().mapToInt(v -> v.getStock_total()).sum(); + String saleOfStockRatioString = ""; + if (saleAllToThreeAll == 0) { + saleOfStockRatioString = stock_totalAll + ":1"; } else { - ratio = new BigDecimal(dailyReportListVo.getStock_total()).divide((new BigDecimal(dailyReportListVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; } - } - dailyReportListVo.setSaleOfStockRatio(ratio); - } - } - PagerVo p = PagerUtil.pageToVo(pagging, null); - - return p; - } - - public ResultBean getReport(String date, String userSid, String orgPath, String type) { - ResultBean rb = ResultBean.fireFail(); - QueryWrapper qw = new QueryWrapper<>(); - if (StringUtils.isNotBlank(date)) { - qw.like("createTime", date); - } - if (StringUtils.isNotBlank(type)) {//事业部或分公司 - if ("syb".equals(type)) { - if (StringUtils.isNotBlank(orgPath)) { - List stringList = Arrays.asList(orgPath.split("/")); - String busOrgSid = orgPath.substring(37, 73); - qw.eq("busOrgSid", busOrgSid); - } - } else if ("fgs".equals(type)) { - if (StringUtils.isNotBlank(orgPath)) { - String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); - qw.eq("useOrgSid", useOrgSid); - } - } - } - ReportVo reportVo = baseMapper.getReport(qw); - String ratio = ""; - if (StringUtils.isBlank(reportVo.getSaleAllToThree())) { - ratio = reportVo.getStock_subtotal() + ":1"; - } else { - if ("0".equals(reportVo.getSaleAllToThree())) { - ratio = reportVo.getStock_subtotal() + ":1"; - } else { - ratio = new BigDecimal(reportVo.getStock_total()).divide((new BigDecimal(reportVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; - } - } - reportVo.setSaleOfStockRatio(ratio); - ResultBean> listResultBean = reportSetService.selectVoByUserSid(userSid); - if (listResultBean.getSuccess()) { - List list = listResultBean.getData(); - reportVo.setList(list); - } - return rb.success().setData(reportVo); - } + row4.add(saleOfStockRatioString); + List row5i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row5.add(row5All.toString()); + List row6i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row6.add(row6All.toString()); + List row7i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row7.add(row7All.toString()); + List row8i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + BigDecimal row8All = row8i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row8.add(row8All.toString()); + List row9i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); + BigDecimal row9All = row9i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row9.add(row9All.toString()); + List row10i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); + BigDecimal row10All = row10i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row10.add(row10All.toString()); + List row11i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); + BigDecimal row11All = row11i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row11.add(row11All.toString()); + List row12i = sameBrandSidList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); + BigDecimal row12All = row12i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row12.add(row12All.toString()); + List row13i = sameBrandSidList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); + BigDecimal row13All = row13i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row13.add(row13All.toString()); + List row14i = sameBrandSidList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); + BigDecimal row14All = row14i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row14.add(row14All.toString()); + List row15i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); + BigDecimal row15All = row15i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row15.add(row15All.toString()); + List row16i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); + BigDecimal row16All = row16i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row16.add(row16All.toString()); - public ResultBean list2(String date) { - ResultBean rb = ResultBean.fireFail(); - DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); - dailyReportAppVo.setTitle("集团(事业部)" + date + "日报"); - List rows1 = baseMapper.list2(date); - rows1.removeAll(Collections.singleton(null)); - dailyReportAppVo.setRow1(rows1); - List dailyReportVoList = baseMapper.selectReport2(date); - /*//存销比 - List row4 = dailyReportVoList.stream().map(v -> v.getSaleOfStockRatio()).collect(Collectors.toList()); - //合计 - BigDecimal row4All = row4.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - row4.add(row4All.toString()); - dailyReportAppVo.setRow4(row4);*/ - //存销比 - /*List row4 = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(v.getSaleOfStockRatio())) : (v.getSaleOfStockRatio() + ":1") - ).collect(Collectors.toList()); - //合计 - BigDecimal row4All = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() - ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1"); - row4.add(row4alll); - dailyReportAppVo.setRow4(row4);*/ - /*List row4 = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() + ":1" - ).collect(Collectors.toList()); - BigDecimal row4All = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() - ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - String row4alll = row4All.toString() + ":1"; - row4.add(row4alll); - dailyReportAppVo.setRow4(row4);*/ - List row4 = dailyReportVoList.stream().map(v -> { - String saleOfStockRatio = ""; - String saleAllToThree = String.valueOf(v.getSaleAllToThree()); - String stock_total = String.valueOf(v.getStock_total()); - if (StringUtils.isBlank(saleAllToThree)) { - saleOfStockRatio = stock_total + ":1"; - } else { - if ("0".equals(saleAllToThree)) { - saleOfStockRatio = stock_total + ":1"; - } else { - saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; - } - } - return saleOfStockRatio; - }).collect(Collectors.toList()); - int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v -> v.getSaleAllToThree()).sum(); - int stock_totalAll = dailyReportVoList.stream().mapToInt(v -> v.getStock_total()).sum(); - String saleOfStockRatioString = ""; - if (saleAllToThreeAll == 0) { - saleOfStockRatioString = stock_totalAll + ":1"; - } else { - saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; - } - row4.add(saleOfStockRatioString); - dailyReportAppVo.setRow4(row4); - //库存总计 - List row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); - BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - row5.add(row5All.toString()); - dailyReportAppVo.setRow5(row5); - //库存未定 - List row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); - BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - row6.add(row6All.toString()); - dailyReportAppVo.setRow6(row6); - //库存-已定 - List row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); - BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + //订车-本日销售订单-贷款 + List row17i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); + BigDecimal row17All = row17i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row17.add(row17All.toString()); + //订车-本日销售订单-全款 + List row18i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); + BigDecimal row18All = row18i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row18.add(row18All.toString()); + //订车-本日销售订单-小计 + List row19i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); + BigDecimal row19All = row19i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row19.add(row19All.toString()); + //订车-本月销售订单-贷款 + List row20i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); + BigDecimal row20All = row20i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row20.add(row20All.toString()); + //订车-本月销售订单-全款 + List row21i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); + BigDecimal row21All = row21i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row21.add(row21All.toString()); + //订车-本月销售订单-小计 + List row22i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); + BigDecimal row22All = row22i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row22.add(row22All.toString()); + //订车-待交车累计总订单 + List row23i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); + BigDecimal row23All = row23i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row23.add(row23All.toString()); + //销售-本日销售-贷款 + List row24i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); + BigDecimal row24All = row24i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row24.add(row24All.toString()); + //销售-本日销售-全款 + List row25i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); + BigDecimal row25All = row25i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row25.add(row25All.toString()); + //销售-本日销售-小计 + List row26i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); + BigDecimal row26All = row26i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row26.add(row26All.toString()); + //销售-本月销售-贷款 + List row27i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); + BigDecimal row27All = row27i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row27.add(row27All.toString()); + //销售-本月销售-全款 + List row28i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); + BigDecimal row28All = row28i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row28.add(row28All.toString()); + //销售-本月销售-小计 + List row29i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); + BigDecimal row29All = row29i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row29.add(row29All.toString()); + //销售-全年销售-贷款 + List row30i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); + BigDecimal row30All = row30i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row30.add(row30All.toString()); + //销售-全年销售-全款 + List row31i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); + BigDecimal row31All = row31i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row31.add(row31All.toString()); + //销售-全年销售-小计 + List row32i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); + BigDecimal row32All = row32i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row32.add(row32All.toString()); + //交付-本日交付-贷款 + List row33i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); + BigDecimal row33All = row33i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row33.add(row33All.toString()); + //交付-本日交付-全款 + List row34i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); + BigDecimal row34All = row34i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row34.add(row34All.toString()); + //交付-本日交付-小计 + List row35i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); + BigDecimal row35All = row35i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row35.add(row35All.toString()); + //交付-本月交付-贷款 + List row36i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); + BigDecimal row36All = row36i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row36.add(row36All.toString()); + //交付-本月交付-全款 + List row37i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); + BigDecimal row37All = row37i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row37.add(row37All.toString()); + //交付-本月交付-小计 + List row38i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); + BigDecimal row38All = row38i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row38.add(row38All.toString()); + //交付-全年交付-贷款 + List row39i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); + BigDecimal row39All = row39i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row39.add(row39All.toString()); + //交付-全年交付-全款 + List row40i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); + BigDecimal row40All = row40i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row40.add(row40All.toString()); + //交付-全年交付-小计 + List row41i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); + BigDecimal row41All = row41i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row41.add(row41All.toString()); + //全年厂家开票数 + List row42i = sameBrandSidList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); + BigDecimal row42All = row42i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row42.add(row42All.toString()); + //买断-本日 + List row43i = sameBrandSidList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); + BigDecimal row43All = row43i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row43.add(row43All.toString()); + //买断-本月 + List row44i = sameBrandSidList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); + BigDecimal row44All = row44i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row44.add(row44All.toString()); + //买断-本年 + List row45i = sameBrandSidList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); + BigDecimal row45All = row45i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row45.add(row45All.toString()); + //欠款出库数量 + List row46i = sameBrandSidList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); + BigDecimal row46All = row46i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row46.add(row46All.toString()); + //欠款出库金额 + List row47i = sameBrandSidList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); + BigDecimal row47All = row47i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row47.add(row47All.toString()); + //金融未放款-数量 + List row48i = sameBrandSidList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); + BigDecimal row48All = row48i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row48.add(row48All.toString()); + //金融未放款-金额 + List row49i = sameBrandSidList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); + BigDecimal row49All = row49i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row49.add(row49All.toString()); + + //金融未放款-数量-已信审终审 + List row50i = sameBrandSidList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); + BigDecimal row50All = row50i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row50.add(row50All.toString()); + //金融未放款-金额-已信审终审 + List row51i = sameBrandSidList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); + BigDecimal row51All = row51i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row51.add(row51All.toString()); + } else { + FuelTypeVo fuelTypeVo = new FuelTypeVo(); + DailyReportVo v = sameBrandSidList.get(i); + String saleOfStockRatio = ""; + String saleAllToThree = String.valueOf(v.getSaleAllToThree()); + String stock_total = String.valueOf(v.getStock_total()); + if (StringUtils.isBlank(saleAllToThree)) { + saleOfStockRatio = stock_total + ":1"; + } else { + if ("0".equals(saleAllToThree)) { + saleOfStockRatio = stock_total + ":1"; + } else { + saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + } + fuelTypeVo.setName(v.getFuelTypeValue()); + fuelTypeVo.setRowspan(String.valueOf(1)); + row2.add(fuelTypeVo); + row4.add(saleOfStockRatio); + row5.add(String.valueOf(v.getStock_total())); + row6.add(String.valueOf(v.getStock_unreserve())); + row7.add(String.valueOf(v.getStock_reserve())); + row8.add(String.valueOf(v.getStock_subtotal())); + row9.add(String.valueOf(v.getStock_buyout_unreserve())); + row10.add(String.valueOf(v.getStock_buyout_reserve())); + row11.add(String.valueOf(v.getStock_buyout_subtotal())); + row12.add(String.valueOf(v.getPcOrder_unreserve())); + row13.add(String.valueOf(v.getPcOrder_reserve())); + row14.add(String.valueOf(v.getPcOrder_subtotal())); + row15.add(String.valueOf(v.getSimpleOrder_day())); + row16.add(String.valueOf(v.getSimpleOrder_month())); + row17.add(String.valueOf(v.getSaleOrder_loan_day())); + row18.add(String.valueOf(v.getSaleOrder_full_day())); + row19.add(String.valueOf(v.getSaleOrder_subtotal_day())); + row20.add(String.valueOf(v.getSaleOrder_loan_month())); + row21.add(String.valueOf(v.getSaleOrder_full_month())); + row22.add(String.valueOf(v.getSaleOrder_subtotal_month())); + row23.add(String.valueOf(v.getSaleOrder_waitVeh_total())); + row24.add(String.valueOf(v.getSale_loan_day())); + row25.add(String.valueOf(v.getSale_full_day())); + row26.add(String.valueOf(v.getSale_subtotal_day())); + row27.add(String.valueOf(v.getSale_loan_month())); + row28.add(String.valueOf(v.getSale_full_month())); + row29.add(String.valueOf(v.getSale_subtotal_month())); + row30.add(String.valueOf(v.getSale_loan_year())); + row31.add(String.valueOf(v.getSale_full_year())); + row32.add(String.valueOf(v.getSale_subtotal_year())); + row33.add(String.valueOf(v.getDeliver_loan_day())); + row34.add(String.valueOf(v.getDeliver_full_day())); + row35.add(String.valueOf(v.getDeliver_subtotal_day())); + row36.add(String.valueOf(v.getDeliver_loan_month())); + row37.add(String.valueOf(v.getDeliver_full_month())); + row38.add(String.valueOf(v.getDeliver_subtotal_month())); + row39.add(String.valueOf(v.getDeliver_loan_year())); + row40.add(String.valueOf(v.getDeliver_full_year())); + row41.add(String.valueOf(v.getDeliver_subtotal_year())); + row42.add(String.valueOf(v.getManufacturer_invoicing_year())); + row43.add(String.valueOf(v.getBuyout_day())); + row44.add(String.valueOf(v.getBuyout_month())); + row45.add(String.valueOf(v.getBuyout_year())); + row46.add(String.valueOf(v.getArrears_carry_veh_count())); + row47.add(String.valueOf(v.getArrears_carry_veh_amount())); + row48.add(String.valueOf(v.getLoan_not_count())); + row49.add(String.valueOf(v.getLoan_not_amount())); + row50.add(String.valueOf(v.getLoan_not_counts())); + row51.add(String.valueOf(v.getLoan_not_amounts())); + } + + } + + }); + dailyReportAppVo.setRow2(row2); + //==================添加最后的合计 + int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v -> v.getSaleAllToThree()).sum(); + int stock_totalAll = dailyReportVoList.stream().mapToInt(v -> v.getStock_total()).sum(); + String saleOfStockRatioString = ""; + if (saleAllToThreeAll == 0) { + saleOfStockRatioString = stock_totalAll + ":1"; + } else { + saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + row4.add(saleOfStockRatioString); + dailyReportAppVo.setRow4(row4); + //库存总计-合计 + List row5ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row5.add(row5All.toString()); + dailyReportAppVo.setRow5(row5); + //库存未定-合计 + List row6ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row6.add(row6All.toString()); + dailyReportAppVo.setRow6(row6); + //库存-已定-合计 + List row7ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row7.add(row7All.toString()); dailyReportAppVo.setRow7(row7); - //库存-小计 - List row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); - BigDecimal row8All = row8.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + //库存-小计-合计 + List row8ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + BigDecimal row8All = row8ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row8.add(row8All.toString()); dailyReportAppVo.setRow8(row8); //其中买断-未定 - List row9 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); - BigDecimal row9All = row9.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row9ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); + BigDecimal row9All = row9ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row9.add(row9All.toString()); dailyReportAppVo.setRow9(row9); //其中买断-已定 - List row10 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); - BigDecimal row10All = row10.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row10ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); + BigDecimal row10All = row10ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row10.add(row10All.toString()); dailyReportAppVo.setRow10(row10); //其中买断-小计 - List row11 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); - BigDecimal row11All = row11.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - row11.add(row11All.toString()); + List row11ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); + BigDecimal row11All = row11ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row11.add(row11All.toString()); dailyReportAppVo.setRow11(row11); //排产-未定 - List row12 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); - BigDecimal row12All = row12.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row12ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); + BigDecimal row12All = row12ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row12.add(row12All.toString()); dailyReportAppVo.setRow12(row12); //排产-已定 - List row13 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); - BigDecimal row13All = row13.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row13ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); + BigDecimal row13All = row13ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row13.add(row13All.toString()); dailyReportAppVo.setRow13(row13); //排产-小计 - List row14 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); - BigDecimal row14All = row14.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row14ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); + BigDecimal row14All = row14ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row14.add(row14All.toString()); dailyReportAppVo.setRow14(row14); //订车-简易订单-本日 - List row15 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); - BigDecimal row15All = row15.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row15ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); + BigDecimal row15All = row15ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row15.add(row15All.toString()); dailyReportAppVo.setRow15(row15); //订车-简易订单-本月 - List row16 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); - BigDecimal row16All = row16.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row16ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); + BigDecimal row16All = row16ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row16.add(row16All.toString()); dailyReportAppVo.setRow16(row16); //订车-本日销售订单-贷款 - List row17 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); - BigDecimal row17All = row17.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row17ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); + BigDecimal row17All = row17ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row17.add(row17All.toString()); dailyReportAppVo.setRow17(row17); //订车-本日销售订单-全款 - List row18 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); - BigDecimal row18All = row18.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row18ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); + BigDecimal row18All = row18ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row18.add(row18All.toString()); dailyReportAppVo.setRow18(row18); //订车-本日销售订单-小计 - List row19 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); - BigDecimal row19All = row19.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row19ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); + BigDecimal row19All = row19ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row19.add(row19All.toString()); dailyReportAppVo.setRow19(row19); //订车-本月销售订单-贷款 - List row20 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); - BigDecimal row20All = row20.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row20ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); + BigDecimal row20All = row20ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row20.add(row20All.toString()); dailyReportAppVo.setRow20(row20); //订车-本月销售订单-全款 - List row21 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); - BigDecimal row21All = row21.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row21ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); + BigDecimal row21All = row21ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row21.add(row21All.toString()); dailyReportAppVo.setRow21(row21); //订车-本月销售订单-小计 - List row22 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); - BigDecimal row22All = row22.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row22ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); + BigDecimal row22All = row22ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row22.add(row22All.toString()); dailyReportAppVo.setRow22(row22); //订车-待交车累计总订单 - List row23 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); - BigDecimal row23All = row23.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row23ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); + BigDecimal row23All = row23ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row23.add(row23All.toString()); dailyReportAppVo.setRow23(row23); //销售-本日销售-贷款 - List row24 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); - BigDecimal row24All = row24.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row24ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); + BigDecimal row24All = row24ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row24.add(row24All.toString()); dailyReportAppVo.setRow24(row24); //销售-本日销售-全款 - List row25 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); - BigDecimal row25All = row25.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row25ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); + BigDecimal row25All = row25ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row25.add(row25All.toString()); dailyReportAppVo.setRow25(row25); //销售-本日销售-小计 - List row26 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); - BigDecimal row26All = row26.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row26ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); + BigDecimal row26All = row26ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row26.add(row26All.toString()); dailyReportAppVo.setRow26(row26); //销售-本月销售-贷款 - List row27 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); - BigDecimal row27All = row27.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row27ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); + BigDecimal row27All = row27ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row27.add(row27All.toString()); dailyReportAppVo.setRow27(row27); //销售-本月销售-全款 - List row28 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); - BigDecimal row28All = row28.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row28ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); + BigDecimal row28All = row28ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row28.add(row28All.toString()); dailyReportAppVo.setRow28(row28); //销售-本月销售-小计 - List row29 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); - BigDecimal row29All = row29.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row29ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); + BigDecimal row29All = row29ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row29.add(row29All.toString()); dailyReportAppVo.setRow29(row29); //销售-全年销售-贷款 - List row30 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); - BigDecimal row30All = row30.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row30ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); + BigDecimal row30All = row30ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row30.add(row30All.toString()); dailyReportAppVo.setRow30(row30); //销售-全年销售-全款 - List row31 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); - BigDecimal row31All = row31.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row31ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); + BigDecimal row31All = row31ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row31.add(row31All.toString()); dailyReportAppVo.setRow31(row31); //销售-全年销售-小计 - List row32 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); - BigDecimal row32All = row32.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row32ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); + BigDecimal row32All = row32ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row32.add(row32All.toString()); dailyReportAppVo.setRow32(row32); //交付-本日交付-贷款 - List row33 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); - BigDecimal row33All = row33.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row33ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); + BigDecimal row33All = row33ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row33.add(row33All.toString()); dailyReportAppVo.setRow33(row33); //交付-本日交付-全款 - List row34 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); - BigDecimal row34All = row34.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row34ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); + BigDecimal row34All = row34ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row34.add(row34All.toString()); dailyReportAppVo.setRow34(row34); //交付-本日交付-小计 - List row35 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); - BigDecimal row35All = row35.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row35ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); + BigDecimal row35All = row35ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row35.add(row35All.toString()); dailyReportAppVo.setRow35(row35); //交付-本月交付-贷款 - List row36 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); - BigDecimal row36All = row36.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row36ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); + BigDecimal row36All = row36ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row36.add(row36All.toString()); dailyReportAppVo.setRow36(row36); //交付-本月交付-全款 - List row37 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); - BigDecimal row37All = row37.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row37ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); + BigDecimal row37All = row37ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row37.add(row37All.toString()); dailyReportAppVo.setRow37(row37); //交付-本月交付-小计 - List row38 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); - BigDecimal row38All = row38.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row38ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); + BigDecimal row38All = row38ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row38.add(row38All.toString()); dailyReportAppVo.setRow38(row38); //交付-全年交付-贷款 - List row39 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); - BigDecimal row39All = row39.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row39ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); + BigDecimal row39All = row39ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row39.add(row39All.toString()); dailyReportAppVo.setRow39(row39); //交付-全年交付-全款 - List row40 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); - BigDecimal row40All = row40.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row40ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); + BigDecimal row40All = row40ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row40.add(row40All.toString()); dailyReportAppVo.setRow40(row40); //交付-全年交付-小计 - List row41 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); - BigDecimal row41All = row41.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row41ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); + BigDecimal row41All = row41ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row41.add(row41All.toString()); dailyReportAppVo.setRow41(row41); //全年厂家开票数 - List row42 = dailyReportVoList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); - BigDecimal row42All = row42.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row42ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); + BigDecimal row42All = row42ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row42.add(row42All.toString()); dailyReportAppVo.setRow42(row42); //买断-本日 - List row43 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); - BigDecimal row43All = row43.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row43ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); + BigDecimal row43All = row43ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row43.add(row43All.toString()); dailyReportAppVo.setRow43(row43); //买断-本月 - List row44 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); - BigDecimal row44All = row44.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row44ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); + BigDecimal row44All = row44ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row44.add(row44All.toString()); dailyReportAppVo.setRow44(row44); //买断-本年 - List row45 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); - BigDecimal row45All = row45.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row45ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); + BigDecimal row45All = row45ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row45.add(row45All.toString()); dailyReportAppVo.setRow45(row45); //欠款出库数量 - List row46 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); - BigDecimal row46All = row46.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row46ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); + BigDecimal row46All = row46ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row46.add(row46All.toString()); dailyReportAppVo.setRow46(row46); //欠款出库金额 - List row47 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); - BigDecimal row47All = row47.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row47ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); + BigDecimal row47All = row47ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row47.add(row47All.toString()); dailyReportAppVo.setRow47(row47); //金融未放款-数量 - List row48 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); - BigDecimal row48All = row48.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row48ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); + BigDecimal row48All = row48ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row48.add(row48All.toString()); dailyReportAppVo.setRow48(row48); //金融未放款-金额 - List row49 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); - BigDecimal row49All = row49.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row49ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); + BigDecimal row49All = row49ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row49.add(row49All.toString()); dailyReportAppVo.setRow49(row49); //金融未放款-数量-已信审终审 - List row50 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); - BigDecimal row50All = row50.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row50ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); + BigDecimal row50All = row50ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row50.add(row50All.toString()); dailyReportAppVo.setRow50(row50); //金融未放款-金额-已信审终审 - List row51 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); - BigDecimal row51All = row51.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row51ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); + BigDecimal row51All = row51ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row51.add(row51All.toString()); dailyReportAppVo.setRow51(row51); + long endTime = System.currentTimeMillis(); // 记录结束时间 + long duration = endTime - startTime; // 计算耗时 + log.info("事业部品牌接口耗时 {} ms", duration); // 输出日志 return rb.success().setData(dailyReportAppVo); } - public ResultBean list3(String date, String busOrgSid) { - ResultBean rb = ResultBean.fireFail(); - DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); - List rows1 = baseMapper.list3(date, busOrgSid); - dailyReportAppVo.setTitle("事业部(分公司)" + date + "日报"); - rows1.removeAll(Collections.singleton(null)); - dailyReportAppVo.setRow1(rows1); - List dailyReportVoList = baseMapper.selectReport3(date, busOrgSid); - /*//存销比 - List row4 = dailyReportVoList.stream().map(v -> v.getSaleOfStockRatio()).collect(Collectors.toList()); - //合计 - BigDecimal row4All = row4.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - row4.add(row4All.toString()); - dailyReportAppVo.setRow4(row4);*/ - //存销比 - /*List row4 = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(v.getSaleOfStockRatio())) : (v.getSaleOfStockRatio() + ":1") - ).collect(Collectors.toList()); - //合计 - BigDecimal row4All = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() - ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1"); - row4.add(row4alll); - dailyReportAppVo.setRow4(row4);*/ - /*List row4 = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() + ":1" - ).collect(Collectors.toList()); - BigDecimal row4All = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() - ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - String row4alll = row4All.toString() + ":1"; - row4.add(row4alll); - dailyReportAppVo.setRow4(row4);*/ - List row4 = dailyReportVoList.stream().map(v -> { - String saleOfStockRatio = ""; - String saleAllToThree = String.valueOf(v.getSaleAllToThree()); - String stock_total = String.valueOf(v.getStock_total()); - if (StringUtils.isBlank(saleAllToThree)) { - saleOfStockRatio = stock_total + ":1"; - } else { - if ("0".equals(saleAllToThree)) { - saleOfStockRatio = stock_total + ":1"; + public PagerVo pageList1_old(PagerQuery pagerQuery) { + DailyReportAppPagerQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + + } + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.pageList1(page, qw); + List recordList = pagging.getRecords(); + recordList.removeAll(Collections.singleton(null)); + if (!recordList.isEmpty()) { + for (int i = 0; i < recordList.size(); i++) { + DailyReportListVo dailyReportListVo = recordList.get(i); + String ratio = ""; + if (StringUtils.isBlank(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; } else { - saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + if ("0".equals(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; + } else { + ratio = new BigDecimal(dailyReportListVo.getStock_total()).divide((new BigDecimal(dailyReportListVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } } + dailyReportListVo.setSaleOfStockRatio(ratio); } - return saleOfStockRatio; - }).collect(Collectors.toList()); - int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v -> v.getSaleAllToThree()).sum(); - int stock_totalAll = dailyReportVoList.stream().mapToInt(v -> v.getStock_total()).sum(); - String saleOfStockRatioString = ""; - if (saleAllToThreeAll == 0) { - saleOfStockRatioString = stock_totalAll + ":1"; - } else { - saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; } - row4.add(saleOfStockRatioString); - dailyReportAppVo.setRow4(row4); - //库存总计 - List row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); - BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - row5.add(row5All.toString()); - dailyReportAppVo.setRow5(row5); - //库存未定 - List row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); - BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - row6.add(row6All.toString()); - dailyReportAppVo.setRow6(row6); - //库存-已定 - List row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); - BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - row7.add(row7All.toString()); - dailyReportAppVo.setRow7(row7); - //库存-小计 - List row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + PagerVo p = PagerUtil.pageToVo(pagging, null); + + return p; + } + + public PagerVo pageList1(PagerQuery pagerQuery) { + long startTime = System.currentTimeMillis(); // 记录开始时间 + PagerVo page = new PagerVo<>(); + long pageNum = pagerQuery.getCurrent(); + long pageSize = pagerQuery.getSize(); + DailyReportAppPagerQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + + } + + Map map = new HashMap<>(); + map.put("page", (pageNum - 1) * pageSize); + map.put("size", pageSize); + List recordList = baseMapper.selectRecordList(map, qw); + recordList.removeAll(Collections.singleton(null)); + if (!recordList.isEmpty()) { + for (int i = 0; i < recordList.size(); i++) { + DailyReportListVo dailyReportListVo = recordList.get(i); + String ratio = ""; + if (StringUtils.isBlank(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; + } else { + if ("0".equals(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; + } else { + ratio = new BigDecimal(dailyReportListVo.getStock_total()).divide((new BigDecimal(dailyReportListVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + } + dailyReportListVo.setSaleOfStockRatio(ratio); + } + } + int count = baseMapper.selectRecordCount(qw); + page.setRecords(recordList); + page.setCurrent(pageNum); + page.setSize(pageSize); + page.setTotal(count); + long pages = (count + pageSize - 1) / pageSize; + page.setPages(pages); + long endTime = System.currentTimeMillis(); // 记录结束时间 + long duration = endTime - startTime; // 计算耗时 + log.info("集团日报列表接口耗时 {} ms", duration); // 输出日志 + return page; + } + + public ResultBean getReport(String date, String userSid, String orgPath, String type) { + long startTime = System.currentTimeMillis(); // 记录开始时间 + ResultBean rb = ResultBean.fireFail(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(date)) { + // 假设你传入的日期格式是 '2025-02-21' + String startDate = date + " 00:00:00"; + String endDate = date + " 23:59:59"; + qw.ge("createTime", startDate) // 大于等于 startDate + .lt("createTime", endDate); // 小于 endDate + } + if (StringUtils.isNotBlank(type)) {//事业部或分公司 + if ("syb".equals(type)) { + if (StringUtils.isNotBlank(orgPath)) { + List stringList = Arrays.asList(orgPath.split("/")); + String busOrgSid = orgPath.substring(37, 73); + qw.eq("busOrgSid", busOrgSid); + } + } else if ("fgs".equals(type)) { + if (StringUtils.isNotBlank(orgPath)) { + String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); + qw.eq("useOrgSid", useOrgSid); + } + } + } + ReportVo reportVo = baseMapper.getReport(qw); + String ratio = ""; + if (StringUtils.isBlank(reportVo.getSaleAllToThree())) { + ratio = reportVo.getStock_subtotal() + ":1"; + } else { + if ("0".equals(reportVo.getSaleAllToThree())) { + ratio = reportVo.getStock_subtotal() + ":1"; + } else { + ratio = new BigDecimal(reportVo.getStock_total()).divide((new BigDecimal(reportVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + } + reportVo.setSaleOfStockRatio(ratio); + ResultBean> listResultBean = reportSetService.selectVoByUserSid(userSid); + if (listResultBean.getSuccess()) { + List list = listResultBean.getData(); + reportVo.setList(list); + } + long endTime = System.currentTimeMillis(); // 记录结束时间 + long duration = endTime - startTime; // 计算耗时 + log.info("集团日期初始化接口耗时 {} ms", duration); // 输出日志 + return rb.success().setData(reportVo); + } + + public ResultBean list2_old(String date) { + ResultBean rb = ResultBean.fireFail(); + DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); + dailyReportAppVo.setTitle("集团(事业部)" + date + "日报"); + List rows1 = baseMapper.list2(date); + rows1.removeAll(Collections.singleton(null)); + dailyReportAppVo.setRow1(rows1); + List dailyReportVoList = baseMapper.selectReport2(date); + List row4 = dailyReportVoList.stream().map(v -> { + String saleOfStockRatio = ""; + String saleAllToThree = String.valueOf(v.getSaleAllToThree()); + String stock_total = String.valueOf(v.getStock_total()); + if (StringUtils.isBlank(saleAllToThree)) { + saleOfStockRatio = stock_total + ":1"; + } else { + if ("0".equals(saleAllToThree)) { + saleOfStockRatio = stock_total + ":1"; + } else { + saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + } + return saleOfStockRatio; + }).collect(Collectors.toList()); + int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v -> v.getSaleAllToThree()).sum(); + int stock_totalAll = dailyReportVoList.stream().mapToInt(v -> v.getStock_total()).sum(); + String saleOfStockRatioString = ""; + if (saleAllToThreeAll == 0) { + saleOfStockRatioString = stock_totalAll + ":1"; + } else { + saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + row4.add(saleOfStockRatioString); + dailyReportAppVo.setRow4(row4); + //库存总计 + List row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row5.add(row5All.toString()); + dailyReportAppVo.setRow5(row5); + //库存未定 + List row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row6.add(row6All.toString()); + dailyReportAppVo.setRow6(row6); + //库存-已定 + List row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row7.add(row7All.toString()); + dailyReportAppVo.setRow7(row7); + //库存-小计 + List row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); BigDecimal row8All = row8.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row8.add(row8All.toString()); dailyReportAppVo.setRow8(row8); @@ -1969,6 +2294,7 @@ public class DailyReportService extends MybatisBaseService row50 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); BigDecimal row50All = row50.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); @@ -1982,66 +2308,17 @@ public class DailyReportService extends MybatisBaseService list4(String date, String useOrgSid) { + public ResultBean list2(String date) { + long startTime = System.currentTimeMillis(); // 记录开始时间 ResultBean rb = ResultBean.fireFail(); - QueryWrapper qw = new QueryWrapper<>(); DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); - dailyReportAppVo.setTitle("分公司" + date + "日报"); - qw.like("ddr.createTime", date); - qw.eq("ddr.useOrgSid", useOrgSid); - qw.groupBy("ddr.brandSid"); - qw.groupBy("bm.fuelTypeValue"); - qw.groupBy("bm.emissionStandardValue"); - qw.orderByDesc("ddr.brandSid"); - List parameterVoList = baseMapper.selectByParameters(useOrgSid); - parameterVoList.removeAll(Collections.singleton(null)); - qw = getCommon(parameterVoList, qw); - List rows1 = baseMapper.selectByBrand2(useOrgSid, date, qw); + dailyReportAppVo.setTitle("集团(事业部)" + date + "日报"); + String startDate = date + " 00:00:00"; + String endDate = date + " 23:59:59"; + List rows1 = baseMapper.list2New(startDate,endDate); rows1.removeAll(Collections.singleton(null)); dailyReportAppVo.setRow1(rows1); - List brandList = rows1.stream().map(v -> v.getLinkSid()).collect(Collectors.toList()); - brandList.removeAll(Collections.singleton(null)); - if (brandList.isEmpty()) { - return rb.success(); - } - qw = new QueryWrapper<>(); - qw.eq("dr.useOrgSid", useOrgSid); - qw.like("dr.createTime", date); - qw.in("dr.brandSid", brandList); - qw.orderByDesc("dr.brandSid"); - qw.groupBy("dr.brandSid"); - qw.groupBy("bm.fuelTypeValue"); - qw.groupBy("bm.emissionStandardValue"); - qw.orderByDesc("bm.fuelTypeValue"); - qw.orderByDesc("bm.emissionStandardValue"); - qw = getCommon(parameterVoList, qw); - List dailyReportVoList = baseMapper.selectReport4(brandList, useOrgSid, date, qw); - //燃料 - List row2 = dailyReportVoList.stream().map(v -> v.getFuelTypeValue()).collect(Collectors.toList()); - dailyReportAppVo.setRow2(row2); - //排放标准 - List row3 = dailyReportVoList.stream().map(v -> v.getEmissionStandardValue()).collect(Collectors.toList()); - dailyReportAppVo.setRow3(row3); - //存销比 - /*List row4 = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(v.getSaleOfStockRatio())) : (v.getSaleOfStockRatio() + ":1") - ).collect(Collectors.toList()); - //合计 - BigDecimal row4All = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() - ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1"); - row4.add(row4alll); - dailyReportAppVo.setRow4(row4);*/ - /* List row4 = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() + ":1" - ).collect(Collectors.toList()); - BigDecimal row4All = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() - ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - String row4alll = row4All.toString() + ":1"; - row4.add(row4alll); - dailyReportAppVo.setRow4(row4);*/ + List dailyReportVoList = baseMapper.selectReport2New(startDate, endDate); List row4 = dailyReportVoList.stream().map(v -> { String saleOfStockRatio = ""; String saleAllToThree = String.valueOf(v.getSaleAllToThree()); @@ -2055,8 +2332,1622 @@ public class DailyReportService extends MybatisBaseService v.getSaleAllToThree()).sum(); + int stock_totalAll = dailyReportVoList.stream().mapToInt(v -> v.getStock_total()).sum(); + String saleOfStockRatioString = ""; + if (saleAllToThreeAll == 0) { + saleOfStockRatioString = stock_totalAll + ":1"; + } else { + saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + row4.add(saleOfStockRatioString); + dailyReportAppVo.setRow4(row4); + //库存总计 + List row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row5.add(row5All.toString()); + dailyReportAppVo.setRow5(row5); + //库存未定 + List row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row6.add(row6All.toString()); + dailyReportAppVo.setRow6(row6); + //库存-已定 + List row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row7.add(row7All.toString()); + dailyReportAppVo.setRow7(row7); + //库存-小计 + List row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + BigDecimal row8All = row8.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row8.add(row8All.toString()); + dailyReportAppVo.setRow8(row8); + //其中买断-未定 + List row9 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); + BigDecimal row9All = row9.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row9.add(row9All.toString()); + dailyReportAppVo.setRow9(row9); + //其中买断-已定 + List row10 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); + BigDecimal row10All = row10.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row10.add(row10All.toString()); + dailyReportAppVo.setRow10(row10); + //其中买断-小计 + List row11 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); + BigDecimal row11All = row11.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row11.add(row11All.toString()); + dailyReportAppVo.setRow11(row11); + //排产-未定 + List row12 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); + BigDecimal row12All = row12.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row12.add(row12All.toString()); + dailyReportAppVo.setRow12(row12); + //排产-已定 + List row13 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); + BigDecimal row13All = row13.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row13.add(row13All.toString()); + dailyReportAppVo.setRow13(row13); + //排产-小计 + List row14 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); + BigDecimal row14All = row14.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row14.add(row14All.toString()); + dailyReportAppVo.setRow14(row14); + //订车-简易订单-本日 + List row15 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); + BigDecimal row15All = row15.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row15.add(row15All.toString()); + dailyReportAppVo.setRow15(row15); + //订车-简易订单-本月 + List row16 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); + BigDecimal row16All = row16.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row16.add(row16All.toString()); + dailyReportAppVo.setRow16(row16); + //订车-本日销售订单-贷款 + List row17 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); + BigDecimal row17All = row17.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row17.add(row17All.toString()); + dailyReportAppVo.setRow17(row17); + //订车-本日销售订单-全款 + List row18 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); + BigDecimal row18All = row18.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row18.add(row18All.toString()); + dailyReportAppVo.setRow18(row18); + //订车-本日销售订单-小计 + List row19 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); + BigDecimal row19All = row19.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row19.add(row19All.toString()); + dailyReportAppVo.setRow19(row19); + //订车-本月销售订单-贷款 + List row20 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); + BigDecimal row20All = row20.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row20.add(row20All.toString()); + dailyReportAppVo.setRow20(row20); + //订车-本月销售订单-全款 + List row21 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); + BigDecimal row21All = row21.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row21.add(row21All.toString()); + dailyReportAppVo.setRow21(row21); + //订车-本月销售订单-小计 + List row22 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); + BigDecimal row22All = row22.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row22.add(row22All.toString()); + dailyReportAppVo.setRow22(row22); + //订车-待交车累计总订单 + List row23 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); + BigDecimal row23All = row23.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row23.add(row23All.toString()); + dailyReportAppVo.setRow23(row23); + //销售-本日销售-贷款 + List row24 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); + BigDecimal row24All = row24.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row24.add(row24All.toString()); + dailyReportAppVo.setRow24(row24); + //销售-本日销售-全款 + List row25 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); + BigDecimal row25All = row25.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row25.add(row25All.toString()); + dailyReportAppVo.setRow25(row25); + //销售-本日销售-小计 + List row26 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); + BigDecimal row26All = row26.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row26.add(row26All.toString()); + dailyReportAppVo.setRow26(row26); + //销售-本月销售-贷款 + List row27 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); + BigDecimal row27All = row27.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row27.add(row27All.toString()); + dailyReportAppVo.setRow27(row27); + //销售-本月销售-全款 + List row28 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); + BigDecimal row28All = row28.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row28.add(row28All.toString()); + dailyReportAppVo.setRow28(row28); + //销售-本月销售-小计 + List row29 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); + BigDecimal row29All = row29.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row29.add(row29All.toString()); + dailyReportAppVo.setRow29(row29); + //销售-全年销售-贷款 + List row30 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); + BigDecimal row30All = row30.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row30.add(row30All.toString()); + dailyReportAppVo.setRow30(row30); + //销售-全年销售-全款 + List row31 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); + BigDecimal row31All = row31.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row31.add(row31All.toString()); + dailyReportAppVo.setRow31(row31); + //销售-全年销售-小计 + List row32 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); + BigDecimal row32All = row32.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row32.add(row32All.toString()); + dailyReportAppVo.setRow32(row32); + //交付-本日交付-贷款 + List row33 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); + BigDecimal row33All = row33.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row33.add(row33All.toString()); + dailyReportAppVo.setRow33(row33); + //交付-本日交付-全款 + List row34 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); + BigDecimal row34All = row34.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row34.add(row34All.toString()); + dailyReportAppVo.setRow34(row34); + //交付-本日交付-小计 + List row35 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); + BigDecimal row35All = row35.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row35.add(row35All.toString()); + dailyReportAppVo.setRow35(row35); + //交付-本月交付-贷款 + List row36 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); + BigDecimal row36All = row36.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row36.add(row36All.toString()); + dailyReportAppVo.setRow36(row36); + //交付-本月交付-全款 + List row37 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); + BigDecimal row37All = row37.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row37.add(row37All.toString()); + dailyReportAppVo.setRow37(row37); + //交付-本月交付-小计 + List row38 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); + BigDecimal row38All = row38.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row38.add(row38All.toString()); + dailyReportAppVo.setRow38(row38); + //交付-全年交付-贷款 + List row39 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); + BigDecimal row39All = row39.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row39.add(row39All.toString()); + dailyReportAppVo.setRow39(row39); + //交付-全年交付-全款 + List row40 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); + BigDecimal row40All = row40.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row40.add(row40All.toString()); + dailyReportAppVo.setRow40(row40); + //交付-全年交付-小计 + List row41 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); + BigDecimal row41All = row41.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row41.add(row41All.toString()); + dailyReportAppVo.setRow41(row41); + //全年厂家开票数 + List row42 = dailyReportVoList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); + BigDecimal row42All = row42.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row42.add(row42All.toString()); + dailyReportAppVo.setRow42(row42); + //买断-本日 + List row43 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); + BigDecimal row43All = row43.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row43.add(row43All.toString()); + dailyReportAppVo.setRow43(row43); + //买断-本月 + List row44 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); + BigDecimal row44All = row44.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row44.add(row44All.toString()); + dailyReportAppVo.setRow44(row44); + //买断-本年 + List row45 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); + BigDecimal row45All = row45.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row45.add(row45All.toString()); + dailyReportAppVo.setRow45(row45); + //欠款出库数量 + List row46 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); + BigDecimal row46All = row46.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row46.add(row46All.toString()); + dailyReportAppVo.setRow46(row46); + //欠款出库金额 + List row47 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); + BigDecimal row47All = row47.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row47.add(row47All.toString()); + dailyReportAppVo.setRow47(row47); + //金融未放款-数量 + List row48 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); + BigDecimal row48All = row48.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row48.add(row48All.toString()); + dailyReportAppVo.setRow48(row48); + //金融未放款-金额 + List row49 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); + BigDecimal row49All = row49.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row49.add(row49All.toString()); + dailyReportAppVo.setRow49(row49); + + //金融未放款-数量-已信审终审 + List row50 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); + BigDecimal row50All = row50.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row50.add(row50All.toString()); + dailyReportAppVo.setRow50(row50); + //金融未放款-金额-已信审终审 + List row51 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); + BigDecimal row51All = row51.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row51.add(row51All.toString()); + dailyReportAppVo.setRow51(row51); + long endTime = System.currentTimeMillis(); // 记录结束时间 + long duration = endTime - startTime; // 计算耗时 + log.info("集团事业部合集日报表接口耗时 {} ms", duration); // 输出日志 + return rb.success().setData(dailyReportAppVo); + } + + + public ResultBean list3_old(String date, String busOrgSid) { + ResultBean rb = ResultBean.fireFail(); + DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); + List rows1 = baseMapper.list3(date, busOrgSid); + dailyReportAppVo.setTitle("事业部(分公司)" + date + "日报"); + rows1.removeAll(Collections.singleton(null)); + dailyReportAppVo.setRow1(rows1); + List dailyReportVoList = baseMapper.selectReport3(date, busOrgSid); + /*//存销比 + List row4 = dailyReportVoList.stream().map(v -> v.getSaleOfStockRatio()).collect(Collectors.toList()); + //合计 + BigDecimal row4All = row4.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row4.add(row4All.toString()); + dailyReportAppVo.setRow4(row4);*/ + //存销比 + /*List row4 = dailyReportVoList.stream().map(v -> + v.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(v.getSaleOfStockRatio())) : (v.getSaleOfStockRatio() + ":1") + ).collect(Collectors.toList()); + //合计 + BigDecimal row4All = dailyReportVoList.stream().map(v -> + v.getSaleOfStockRatio() + ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1"); + row4.add(row4alll); + dailyReportAppVo.setRow4(row4);*/ + /*List row4 = dailyReportVoList.stream().map(v -> + v.getSaleOfStockRatio() + ":1" + ).collect(Collectors.toList()); + BigDecimal row4All = dailyReportVoList.stream().map(v -> + v.getSaleOfStockRatio() + ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + String row4alll = row4All.toString() + ":1"; + row4.add(row4alll); + dailyReportAppVo.setRow4(row4);*/ + List row4 = dailyReportVoList.stream().map(v -> { + String saleOfStockRatio = ""; + String saleAllToThree = String.valueOf(v.getSaleAllToThree()); + String stock_total = String.valueOf(v.getStock_total()); + if (StringUtils.isBlank(saleAllToThree)) { + saleOfStockRatio = stock_total + ":1"; + } else { + if ("0".equals(saleAllToThree)) { + saleOfStockRatio = stock_total + ":1"; + } else { + saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + } + return saleOfStockRatio; + }).collect(Collectors.toList()); + int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v -> v.getSaleAllToThree()).sum(); + int stock_totalAll = dailyReportVoList.stream().mapToInt(v -> v.getStock_total()).sum(); + String saleOfStockRatioString = ""; + if (saleAllToThreeAll == 0) { + saleOfStockRatioString = stock_totalAll + ":1"; + } else { + saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + row4.add(saleOfStockRatioString); + dailyReportAppVo.setRow4(row4); + //库存总计 + List row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row5.add(row5All.toString()); + dailyReportAppVo.setRow5(row5); + //库存未定 + List row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row6.add(row6All.toString()); + dailyReportAppVo.setRow6(row6); + //库存-已定 + List row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row7.add(row7All.toString()); + dailyReportAppVo.setRow7(row7); + //库存-小计 + List row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + BigDecimal row8All = row8.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row8.add(row8All.toString()); + dailyReportAppVo.setRow8(row8); + //其中买断-未定 + List row9 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); + BigDecimal row9All = row9.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row9.add(row9All.toString()); + dailyReportAppVo.setRow9(row9); + //其中买断-已定 + List row10 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); + BigDecimal row10All = row10.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row10.add(row10All.toString()); + dailyReportAppVo.setRow10(row10); + //其中买断-小计 + List row11 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); + BigDecimal row11All = row11.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row11.add(row11All.toString()); + dailyReportAppVo.setRow11(row11); + //排产-未定 + List row12 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); + BigDecimal row12All = row12.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row12.add(row12All.toString()); + dailyReportAppVo.setRow12(row12); + //排产-已定 + List row13 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); + BigDecimal row13All = row13.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row13.add(row13All.toString()); + dailyReportAppVo.setRow13(row13); + //排产-小计 + List row14 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); + BigDecimal row14All = row14.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row14.add(row14All.toString()); + dailyReportAppVo.setRow14(row14); + //订车-简易订单-本日 + List row15 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); + BigDecimal row15All = row15.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row15.add(row15All.toString()); + dailyReportAppVo.setRow15(row15); + //订车-简易订单-本月 + List row16 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); + BigDecimal row16All = row16.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row16.add(row16All.toString()); + dailyReportAppVo.setRow16(row16); + //订车-本日销售订单-贷款 + List row17 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); + BigDecimal row17All = row17.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row17.add(row17All.toString()); + dailyReportAppVo.setRow17(row17); + //订车-本日销售订单-全款 + List row18 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); + BigDecimal row18All = row18.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row18.add(row18All.toString()); + dailyReportAppVo.setRow18(row18); + //订车-本日销售订单-小计 + List row19 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); + BigDecimal row19All = row19.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row19.add(row19All.toString()); + dailyReportAppVo.setRow19(row19); + //订车-本月销售订单-贷款 + List row20 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); + BigDecimal row20All = row20.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row20.add(row20All.toString()); + dailyReportAppVo.setRow20(row20); + //订车-本月销售订单-全款 + List row21 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); + BigDecimal row21All = row21.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row21.add(row21All.toString()); + dailyReportAppVo.setRow21(row21); + //订车-本月销售订单-小计 + List row22 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); + BigDecimal row22All = row22.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row22.add(row22All.toString()); + dailyReportAppVo.setRow22(row22); + //订车-待交车累计总订单 + List row23 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); + BigDecimal row23All = row23.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row23.add(row23All.toString()); + dailyReportAppVo.setRow23(row23); + //销售-本日销售-贷款 + List row24 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); + BigDecimal row24All = row24.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row24.add(row24All.toString()); + dailyReportAppVo.setRow24(row24); + //销售-本日销售-全款 + List row25 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); + BigDecimal row25All = row25.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row25.add(row25All.toString()); + dailyReportAppVo.setRow25(row25); + //销售-本日销售-小计 + List row26 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); + BigDecimal row26All = row26.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row26.add(row26All.toString()); + dailyReportAppVo.setRow26(row26); + //销售-本月销售-贷款 + List row27 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); + BigDecimal row27All = row27.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row27.add(row27All.toString()); + dailyReportAppVo.setRow27(row27); + //销售-本月销售-全款 + List row28 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); + BigDecimal row28All = row28.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row28.add(row28All.toString()); + dailyReportAppVo.setRow28(row28); + //销售-本月销售-小计 + List row29 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); + BigDecimal row29All = row29.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row29.add(row29All.toString()); + dailyReportAppVo.setRow29(row29); + //销售-全年销售-贷款 + List row30 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); + BigDecimal row30All = row30.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row30.add(row30All.toString()); + dailyReportAppVo.setRow30(row30); + //销售-全年销售-全款 + List row31 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); + BigDecimal row31All = row31.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row31.add(row31All.toString()); + dailyReportAppVo.setRow31(row31); + //销售-全年销售-小计 + List row32 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); + BigDecimal row32All = row32.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row32.add(row32All.toString()); + dailyReportAppVo.setRow32(row32); + //交付-本日交付-贷款 + List row33 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); + BigDecimal row33All = row33.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row33.add(row33All.toString()); + dailyReportAppVo.setRow33(row33); + //交付-本日交付-全款 + List row34 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); + BigDecimal row34All = row34.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row34.add(row34All.toString()); + dailyReportAppVo.setRow34(row34); + //交付-本日交付-小计 + List row35 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); + BigDecimal row35All = row35.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row35.add(row35All.toString()); + dailyReportAppVo.setRow35(row35); + //交付-本月交付-贷款 + List row36 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); + BigDecimal row36All = row36.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row36.add(row36All.toString()); + dailyReportAppVo.setRow36(row36); + //交付-本月交付-全款 + List row37 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); + BigDecimal row37All = row37.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row37.add(row37All.toString()); + dailyReportAppVo.setRow37(row37); + //交付-本月交付-小计 + List row38 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); + BigDecimal row38All = row38.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row38.add(row38All.toString()); + dailyReportAppVo.setRow38(row38); + //交付-全年交付-贷款 + List row39 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); + BigDecimal row39All = row39.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row39.add(row39All.toString()); + dailyReportAppVo.setRow39(row39); + //交付-全年交付-全款 + List row40 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); + BigDecimal row40All = row40.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row40.add(row40All.toString()); + dailyReportAppVo.setRow40(row40); + //交付-全年交付-小计 + List row41 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); + BigDecimal row41All = row41.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row41.add(row41All.toString()); + dailyReportAppVo.setRow41(row41); + //全年厂家开票数 + List row42 = dailyReportVoList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); + BigDecimal row42All = row42.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row42.add(row42All.toString()); + dailyReportAppVo.setRow42(row42); + //买断-本日 + List row43 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); + BigDecimal row43All = row43.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row43.add(row43All.toString()); + dailyReportAppVo.setRow43(row43); + //买断-本月 + List row44 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); + BigDecimal row44All = row44.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row44.add(row44All.toString()); + dailyReportAppVo.setRow44(row44); + //买断-本年 + List row45 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); + BigDecimal row45All = row45.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row45.add(row45All.toString()); + dailyReportAppVo.setRow45(row45); + //欠款出库数量 + List row46 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); + BigDecimal row46All = row46.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row46.add(row46All.toString()); + dailyReportAppVo.setRow46(row46); + //欠款出库金额 + List row47 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); + BigDecimal row47All = row47.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row47.add(row47All.toString()); + dailyReportAppVo.setRow47(row47); + //金融未放款-数量 + List row48 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); + BigDecimal row48All = row48.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row48.add(row48All.toString()); + dailyReportAppVo.setRow48(row48); + //金融未放款-金额 + List row49 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); + BigDecimal row49All = row49.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row49.add(row49All.toString()); + dailyReportAppVo.setRow49(row49); + //金融未放款-数量-已信审终审 + List row50 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); + BigDecimal row50All = row50.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row50.add(row50All.toString()); + dailyReportAppVo.setRow50(row50); + //金融未放款-金额-已信审终审 + List row51 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); + BigDecimal row51All = row51.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row51.add(row51All.toString()); + dailyReportAppVo.setRow51(row51); + return rb.success().setData(dailyReportAppVo); + } + + public ResultBean list3(String date, String busOrgSid) { + long startTime = System.currentTimeMillis(); // 记录开始时间 + ResultBean rb = ResultBean.fireFail(); + DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); + String startDate = date + " 00:00:00"; + String endDate = date + " 23:59:59"; + List rows1 = baseMapper.list3New(startDate, endDate, busOrgSid); + dailyReportAppVo.setTitle("事业部(分公司)" + date + "日报"); + rows1.removeAll(Collections.singleton(null)); + dailyReportAppVo.setRow1(rows1); + List dailyReportVoList = baseMapper.selectReport3New(startDate, endDate, busOrgSid); + List row4 = dailyReportVoList.stream().map(v -> { + String saleOfStockRatio = ""; + String saleAllToThree = String.valueOf(v.getSaleAllToThree()); + String stock_total = String.valueOf(v.getStock_total()); + if (StringUtils.isBlank(saleAllToThree)) { + saleOfStockRatio = stock_total + ":1"; + } else { + if ("0".equals(saleAllToThree)) { + saleOfStockRatio = stock_total + ":1"; + } else { + saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + } + return saleOfStockRatio; + }).collect(Collectors.toList()); + int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v -> v.getSaleAllToThree()).sum(); + int stock_totalAll = dailyReportVoList.stream().mapToInt(v -> v.getStock_total()).sum(); + String saleOfStockRatioString = ""; + if (saleAllToThreeAll == 0) { + saleOfStockRatioString = stock_totalAll + ":1"; + } else { + saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + row4.add(saleOfStockRatioString); + dailyReportAppVo.setRow4(row4); + //库存总计 + List row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row5.add(row5All.toString()); + dailyReportAppVo.setRow5(row5); + //库存未定 + List row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row6.add(row6All.toString()); + dailyReportAppVo.setRow6(row6); + //库存-已定 + List row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row7.add(row7All.toString()); + dailyReportAppVo.setRow7(row7); + //库存-小计 + List row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + BigDecimal row8All = row8.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row8.add(row8All.toString()); + dailyReportAppVo.setRow8(row8); + //其中买断-未定 + List row9 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); + BigDecimal row9All = row9.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row9.add(row9All.toString()); + dailyReportAppVo.setRow9(row9); + //其中买断-已定 + List row10 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); + BigDecimal row10All = row10.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row10.add(row10All.toString()); + dailyReportAppVo.setRow10(row10); + //其中买断-小计 + List row11 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); + BigDecimal row11All = row11.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row11.add(row11All.toString()); + dailyReportAppVo.setRow11(row11); + //排产-未定 + List row12 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); + BigDecimal row12All = row12.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row12.add(row12All.toString()); + dailyReportAppVo.setRow12(row12); + //排产-已定 + List row13 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); + BigDecimal row13All = row13.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row13.add(row13All.toString()); + dailyReportAppVo.setRow13(row13); + //排产-小计 + List row14 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); + BigDecimal row14All = row14.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row14.add(row14All.toString()); + dailyReportAppVo.setRow14(row14); + //订车-简易订单-本日 + List row15 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); + BigDecimal row15All = row15.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row15.add(row15All.toString()); + dailyReportAppVo.setRow15(row15); + //订车-简易订单-本月 + List row16 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); + BigDecimal row16All = row16.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row16.add(row16All.toString()); + dailyReportAppVo.setRow16(row16); + //订车-本日销售订单-贷款 + List row17 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); + BigDecimal row17All = row17.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row17.add(row17All.toString()); + dailyReportAppVo.setRow17(row17); + //订车-本日销售订单-全款 + List row18 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); + BigDecimal row18All = row18.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row18.add(row18All.toString()); + dailyReportAppVo.setRow18(row18); + //订车-本日销售订单-小计 + List row19 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); + BigDecimal row19All = row19.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row19.add(row19All.toString()); + dailyReportAppVo.setRow19(row19); + //订车-本月销售订单-贷款 + List row20 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); + BigDecimal row20All = row20.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row20.add(row20All.toString()); + dailyReportAppVo.setRow20(row20); + //订车-本月销售订单-全款 + List row21 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); + BigDecimal row21All = row21.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row21.add(row21All.toString()); + dailyReportAppVo.setRow21(row21); + //订车-本月销售订单-小计 + List row22 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); + BigDecimal row22All = row22.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row22.add(row22All.toString()); + dailyReportAppVo.setRow22(row22); + //订车-待交车累计总订单 + List row23 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); + BigDecimal row23All = row23.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row23.add(row23All.toString()); + dailyReportAppVo.setRow23(row23); + //销售-本日销售-贷款 + List row24 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); + BigDecimal row24All = row24.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row24.add(row24All.toString()); + dailyReportAppVo.setRow24(row24); + //销售-本日销售-全款 + List row25 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); + BigDecimal row25All = row25.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row25.add(row25All.toString()); + dailyReportAppVo.setRow25(row25); + //销售-本日销售-小计 + List row26 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); + BigDecimal row26All = row26.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row26.add(row26All.toString()); + dailyReportAppVo.setRow26(row26); + //销售-本月销售-贷款 + List row27 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); + BigDecimal row27All = row27.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row27.add(row27All.toString()); + dailyReportAppVo.setRow27(row27); + //销售-本月销售-全款 + List row28 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); + BigDecimal row28All = row28.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row28.add(row28All.toString()); + dailyReportAppVo.setRow28(row28); + //销售-本月销售-小计 + List row29 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); + BigDecimal row29All = row29.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row29.add(row29All.toString()); + dailyReportAppVo.setRow29(row29); + //销售-全年销售-贷款 + List row30 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); + BigDecimal row30All = row30.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row30.add(row30All.toString()); + dailyReportAppVo.setRow30(row30); + //销售-全年销售-全款 + List row31 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); + BigDecimal row31All = row31.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row31.add(row31All.toString()); + dailyReportAppVo.setRow31(row31); + //销售-全年销售-小计 + List row32 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); + BigDecimal row32All = row32.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row32.add(row32All.toString()); + dailyReportAppVo.setRow32(row32); + //交付-本日交付-贷款 + List row33 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); + BigDecimal row33All = row33.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row33.add(row33All.toString()); + dailyReportAppVo.setRow33(row33); + //交付-本日交付-全款 + List row34 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); + BigDecimal row34All = row34.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row34.add(row34All.toString()); + dailyReportAppVo.setRow34(row34); + //交付-本日交付-小计 + List row35 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); + BigDecimal row35All = row35.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row35.add(row35All.toString()); + dailyReportAppVo.setRow35(row35); + //交付-本月交付-贷款 + List row36 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); + BigDecimal row36All = row36.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row36.add(row36All.toString()); + dailyReportAppVo.setRow36(row36); + //交付-本月交付-全款 + List row37 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); + BigDecimal row37All = row37.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row37.add(row37All.toString()); + dailyReportAppVo.setRow37(row37); + //交付-本月交付-小计 + List row38 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); + BigDecimal row38All = row38.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row38.add(row38All.toString()); + dailyReportAppVo.setRow38(row38); + //交付-全年交付-贷款 + List row39 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); + BigDecimal row39All = row39.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row39.add(row39All.toString()); + dailyReportAppVo.setRow39(row39); + //交付-全年交付-全款 + List row40 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); + BigDecimal row40All = row40.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row40.add(row40All.toString()); + dailyReportAppVo.setRow40(row40); + //交付-全年交付-小计 + List row41 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); + BigDecimal row41All = row41.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row41.add(row41All.toString()); + dailyReportAppVo.setRow41(row41); + //全年厂家开票数 + List row42 = dailyReportVoList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); + BigDecimal row42All = row42.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row42.add(row42All.toString()); + dailyReportAppVo.setRow42(row42); + //买断-本日 + List row43 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); + BigDecimal row43All = row43.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row43.add(row43All.toString()); + dailyReportAppVo.setRow43(row43); + //买断-本月 + List row44 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); + BigDecimal row44All = row44.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row44.add(row44All.toString()); + dailyReportAppVo.setRow44(row44); + //买断-本年 + List row45 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); + BigDecimal row45All = row45.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row45.add(row45All.toString()); + dailyReportAppVo.setRow45(row45); + //欠款出库数量 + List row46 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); + BigDecimal row46All = row46.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row46.add(row46All.toString()); + dailyReportAppVo.setRow46(row46); + //欠款出库金额 + List row47 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); + BigDecimal row47All = row47.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row47.add(row47All.toString()); + dailyReportAppVo.setRow47(row47); + //金融未放款-数量 + List row48 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); + BigDecimal row48All = row48.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row48.add(row48All.toString()); + dailyReportAppVo.setRow48(row48); + //金融未放款-金额 + List row49 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); + BigDecimal row49All = row49.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row49.add(row49All.toString()); + dailyReportAppVo.setRow49(row49); + //金融未放款-数量-已信审终审 + List row50 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); + BigDecimal row50All = row50.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row50.add(row50All.toString()); + dailyReportAppVo.setRow50(row50); + //金融未放款-金额-已信审终审 + List row51 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); + BigDecimal row51All = row51.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row51.add(row51All.toString()); + dailyReportAppVo.setRow51(row51); + long endTime = System.currentTimeMillis(); // 记录结束时间 + long duration = endTime - startTime; // 计算耗时 + log.info("事业部分公司接口耗时 {} ms", duration); // 输出日志 + return rb.success().setData(dailyReportAppVo); + } + + public ResultBean list4Old(String date, String useOrgSid) { + ResultBean rb = ResultBean.fireFail(); + QueryWrapper qw = new QueryWrapper<>(); + DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); + dailyReportAppVo.setTitle("分公司" + date + "日报"); + qw.like("ddr.createTime", date); + qw.eq("ddr.useOrgSid", useOrgSid); + qw.groupBy("ddr.brandSid"); + qw.groupBy("bm.fuelTypeValue"); + qw.groupBy("bm.emissionStandardValue"); + qw.orderByDesc("ddr.brandSid"); + List parameterVoList = baseMapper.selectByParameters(useOrgSid); + parameterVoList.removeAll(Collections.singleton(null)); + qw = getCommon(parameterVoList, qw); + List rows1 = baseMapper.selectByBrand2(useOrgSid, date, qw); + rows1.removeAll(Collections.singleton(null)); + dailyReportAppVo.setRow1(rows1); + List brandList = rows1.stream().map(v -> v.getLinkSid()).collect(Collectors.toList()); + brandList.removeAll(Collections.singleton(null)); + if (brandList.isEmpty()) { + return rb.success(); + } + qw = new QueryWrapper<>(); + qw.eq("dr.useOrgSid", useOrgSid); + qw.like("dr.createTime", date); + qw.in("dr.brandSid", brandList); + qw.orderByDesc("dr.brandSid"); + qw.groupBy("dr.brandSid"); + qw.groupBy("bm.fuelTypeValue"); + qw.groupBy("bm.emissionStandardValue"); + qw.orderByDesc("bm.fuelTypeValue"); + qw.orderByDesc("bm.emissionStandardValue"); + qw = getCommon(parameterVoList, qw); + List dailyReportVoList = baseMapper.selectReport4(brandList, useOrgSid, date, qw); + //燃料 + List row2 = dailyReportVoList.stream().map(v -> v.getFuelTypeValue()).collect(Collectors.toList()); + dailyReportAppVo.setRow2(row2); + //排放标准 + List row3 = dailyReportVoList.stream().map(v -> v.getEmissionStandardValue()).collect(Collectors.toList()); + dailyReportAppVo.setRow3(row3); + //存销比 + /*List row4 = dailyReportVoList.stream().map(v -> + v.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(v.getSaleOfStockRatio())) : (v.getSaleOfStockRatio() + ":1") + ).collect(Collectors.toList()); + //合计 + BigDecimal row4All = dailyReportVoList.stream().map(v -> + v.getSaleOfStockRatio() + ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1"); + row4.add(row4alll); + dailyReportAppVo.setRow4(row4);*/ + /* List row4 = dailyReportVoList.stream().map(v -> + v.getSaleOfStockRatio() + ":1" + ).collect(Collectors.toList()); + BigDecimal row4All = dailyReportVoList.stream().map(v -> + v.getSaleOfStockRatio() + ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + String row4alll = row4All.toString() + ":1"; + row4.add(row4alll); + dailyReportAppVo.setRow4(row4);*/ + List row4 = dailyReportVoList.stream().map(v -> { + String saleOfStockRatio = ""; + String saleAllToThree = String.valueOf(v.getSaleAllToThree()); + String stock_total = String.valueOf(v.getStock_total()); + if (StringUtils.isBlank(saleAllToThree)) { + saleOfStockRatio = stock_total + ":1"; + } else { + if ("0".equals(saleAllToThree)) { + saleOfStockRatio = stock_total + ":1"; + } else { + saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + } + return saleOfStockRatio; + }).collect(Collectors.toList()); + int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v -> v.getSaleAllToThree()).sum(); + int stock_totalAll = dailyReportVoList.stream().mapToInt(v -> v.getStock_total()).sum(); + String saleOfStockRatioString = ""; + if (saleAllToThreeAll == 0) { + saleOfStockRatioString = stock_totalAll + ":1"; + } else { + saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + row4.add(saleOfStockRatioString); + dailyReportAppVo.setRow4(row4); + + //库存总计 + List row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row5.add(row5All.toString()); + dailyReportAppVo.setRow5(row5); + //库存未定 + List row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row6.add(row6All.toString()); + dailyReportAppVo.setRow6(row6); + //库存-已定 + List row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row7.add(row7All.toString()); + dailyReportAppVo.setRow7(row7); + //库存-小计 + List row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + BigDecimal row8All = row8.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row8.add(row8All.toString()); + dailyReportAppVo.setRow8(row8); + //其中买断-未定 + List row9 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); + BigDecimal row9All = row9.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row9.add(row9All.toString()); + dailyReportAppVo.setRow9(row9); + //其中买断-已定 + List row10 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); + BigDecimal row10All = row10.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row10.add(row10All.toString()); + dailyReportAppVo.setRow10(row10); + //其中买断-小计 + List row11 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); + BigDecimal row11All = row11.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row11.add(row11All.toString()); + dailyReportAppVo.setRow11(row11); + //排产-未定 + List row12 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); + BigDecimal row12All = row12.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row12.add(row12All.toString()); + dailyReportAppVo.setRow12(row12); + //排产-已定 + List row13 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); + BigDecimal row13All = row13.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row13.add(row13All.toString()); + dailyReportAppVo.setRow13(row13); + //排产-小计 + List row14 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); + BigDecimal row14All = row14.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row14.add(row14All.toString()); + dailyReportAppVo.setRow14(row14); + //订车-简易订单-本日 + List row15 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); + BigDecimal row15All = row15.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row15.add(row15All.toString()); + dailyReportAppVo.setRow15(row15); + //订车-简易订单-本月 + List row16 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); + BigDecimal row16All = row16.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row16.add(row16All.toString()); + dailyReportAppVo.setRow16(row16); + //订车-本日销售订单-贷款 + List row17 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); + BigDecimal row17All = row17.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row17.add(row17All.toString()); + dailyReportAppVo.setRow17(row17); + //订车-本日销售订单-全款 + List row18 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); + BigDecimal row18All = row18.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row18.add(row18All.toString()); + dailyReportAppVo.setRow18(row18); + //订车-本日销售订单-小计 + List row19 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); + BigDecimal row19All = row19.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row19.add(row19All.toString()); + dailyReportAppVo.setRow19(row19); + //订车-本月销售订单-贷款 + List row20 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); + BigDecimal row20All = row20.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row20.add(row20All.toString()); + dailyReportAppVo.setRow20(row20); + //订车-本月销售订单-全款 + List row21 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); + BigDecimal row21All = row21.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row21.add(row21All.toString()); + dailyReportAppVo.setRow21(row21); + //订车-本月销售订单-小计 + List row22 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); + BigDecimal row22All = row22.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row22.add(row22All.toString()); + dailyReportAppVo.setRow22(row22); + //订车-待交车累计总订单 + List row23 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); + BigDecimal row23All = row23.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row23.add(row23All.toString()); + dailyReportAppVo.setRow23(row23); + //销售-本日销售-贷款 + List row24 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); + BigDecimal row24All = row24.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row24.add(row24All.toString()); + dailyReportAppVo.setRow24(row24); + //销售-本日销售-全款 + List row25 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); + BigDecimal row25All = row25.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row25.add(row25All.toString()); + dailyReportAppVo.setRow25(row25); + //销售-本日销售-小计 + List row26 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); + BigDecimal row26All = row26.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row26.add(row26All.toString()); + dailyReportAppVo.setRow26(row26); + //销售-本月销售-贷款 + List row27 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); + BigDecimal row27All = row27.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row27.add(row27All.toString()); + dailyReportAppVo.setRow27(row27); + //销售-本月销售-全款 + List row28 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); + BigDecimal row28All = row28.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row28.add(row28All.toString()); + dailyReportAppVo.setRow28(row28); + //销售-本月销售-小计 + List row29 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); + BigDecimal row29All = row29.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row29.add(row29All.toString()); + dailyReportAppVo.setRow29(row29); + //销售-全年销售-贷款 + List row30 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); + BigDecimal row30All = row30.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row30.add(row30All.toString()); + dailyReportAppVo.setRow30(row30); + //销售-全年销售-全款 + List row31 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); + BigDecimal row31All = row31.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row31.add(row31All.toString()); + dailyReportAppVo.setRow31(row31); + //销售-全年销售-小计 + List row32 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); + BigDecimal row32All = row32.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row32.add(row32All.toString()); + dailyReportAppVo.setRow32(row32); + //交付-本日交付-贷款 + List row33 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); + BigDecimal row33All = row33.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row33.add(row33All.toString()); + dailyReportAppVo.setRow33(row33); + //交付-本日交付-全款 + List row34 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); + BigDecimal row34All = row34.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row34.add(row34All.toString()); + dailyReportAppVo.setRow34(row34); + //交付-本日交付-小计 + List row35 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); + BigDecimal row35All = row35.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row35.add(row35All.toString()); + dailyReportAppVo.setRow35(row35); + //交付-本月交付-贷款 + List row36 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); + BigDecimal row36All = row36.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row36.add(row36All.toString()); + dailyReportAppVo.setRow36(row36); + //交付-本月交付-全款 + List row37 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); + BigDecimal row37All = row37.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row37.add(row37All.toString()); + dailyReportAppVo.setRow37(row37); + //交付-本月交付-小计 + List row38 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); + BigDecimal row38All = row38.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row38.add(row38All.toString()); + dailyReportAppVo.setRow38(row38); + //交付-全年交付-贷款 + List row39 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); + BigDecimal row39All = row39.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row39.add(row39All.toString()); + dailyReportAppVo.setRow39(row39); + //交付-全年交付-全款 + List row40 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); + BigDecimal row40All = row40.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row40.add(row40All.toString()); + dailyReportAppVo.setRow40(row40); + //交付-全年交付-小计 + List row41 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); + BigDecimal row41All = row41.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row41.add(row41All.toString()); + dailyReportAppVo.setRow41(row41); + //全年厂家开票数 + List row42 = dailyReportVoList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); + BigDecimal row42All = row42.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row42.add(row42All.toString()); + dailyReportAppVo.setRow42(row42); + //买断-本日 + List row43 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); + BigDecimal row43All = row43.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row43.add(row43All.toString()); + dailyReportAppVo.setRow43(row43); + //买断-本月 + List row44 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); + BigDecimal row44All = row44.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row44.add(row44All.toString()); + dailyReportAppVo.setRow44(row44); + //买断-本年 + List row45 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); + BigDecimal row45All = row45.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row45.add(row45All.toString()); + dailyReportAppVo.setRow45(row45); + //欠款出库数量 + List row46 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); + BigDecimal row46All = row46.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row46.add(row46All.toString()); + dailyReportAppVo.setRow46(row46); + //欠款出库金额 + List row47 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); + BigDecimal row47All = row47.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row47.add(row47All.toString()); + dailyReportAppVo.setRow47(row47); + //金融未放款-数量 + List row48 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); + BigDecimal row48All = row48.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row48.add(row48All.toString()); + dailyReportAppVo.setRow48(row48); + //金融未放款-金额 + List row49 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); + BigDecimal row49All = row49.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row49.add(row49All.toString()); + dailyReportAppVo.setRow49(row49); + //金融未放款-数量-已信审终审 + List row50 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); + BigDecimal row50All = row50.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row50.add(row50All.toString()); + dailyReportAppVo.setRow50(row50); + //金融未放款-金额-已信审终审 + List row51 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); + BigDecimal row51All = row51.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row51.add(row51All.toString()); + dailyReportAppVo.setRow51(row51); + List dynamicRows = new ArrayList<>(); + + + /*List parameterVoList = baseMapper.selectByParameters(useOrgSid); + parameterVoList.removeAll(Collections.singleton(null));*/ + int totalRowspan = 3; + if (!parameterVoList.isEmpty()) { + for (int i = 0; i < parameterVoList.size(); i++) { + DailyParameterVo dailyParameterVo = parameterVoList.get(i); + String tableName = Arrays.asList(dailyParameterVo.getTableNameKey().split("\\.")).get(1); + ParameterVo parameterVo = new ParameterVo(); + parameterVo.setName(dailyParameterVo.getColText()); + + List columnNames = dailyReportVoList.stream().map(v -> { + String columnName = ""; + try { + Field field = v.getClass().getDeclaredField(dailyParameterVo.getColName()); + field.setAccessible(true); + columnName = (String) field.get(v); + } catch (NoSuchFieldException | IllegalAccessException e) { + e.printStackTrace(); + } + if (StringUtils.isBlank(columnName)) { + return "-"; + } else { + return columnName; + } + }).collect(Collectors.toList()); + parameterVo.setRow(columnNames); + dynamicRows.add(parameterVo); + } + dailyReportAppVo.setDynamicRows(dynamicRows); + if (!dynamicRows.isEmpty()) { + for (int i = 0; i < dynamicRows.size(); i++) { + if (i > 6) { + break; + } else { + ParameterVo parameterVo = dynamicRows.get(i); + switch (i) { + case 0: + if (parameterVo != null) { + dailyReportAppVo.setRow101(parameterVo); + totalRowspan = totalRowspan + 1; + } + break; + case 1: + if (parameterVo != null) { + dailyReportAppVo.setRow102(parameterVo); + totalRowspan = totalRowspan + 1; + } + break; + case 2: + if (parameterVo != null) { + dailyReportAppVo.setRow103(parameterVo); + totalRowspan = totalRowspan + 1; + } + break; + case 3: + if (parameterVo != null) { + dailyReportAppVo.setRow104(parameterVo); + totalRowspan = totalRowspan + 1; + } + break; + case 4: + if (parameterVo != null) { + dailyReportAppVo.setRow105(parameterVo); + totalRowspan = totalRowspan + 1; + } + break; + case 5: + if (parameterVo != null) { + dailyReportAppVo.setRow106(parameterVo); + totalRowspan = totalRowspan + 1; + } + break; + case 6: + if (parameterVo != null) { + dailyReportAppVo.setRow107(parameterVo); + totalRowspan = totalRowspan + 1; + } + break; + default: + break; + } + } + } + } + } + + dailyReportAppVo.setTotalRowspan(totalRowspan); + return rb.success().setData(dailyReportAppVo); + } + + public ResultBean list4New(String date, String useOrgSid) { + long startTime = System.currentTimeMillis(); // 记录开始时间 + ResultBean rb = ResultBean.fireFail(); + QueryWrapper qw = new QueryWrapper<>(); + DailyReportAppBrandVo dailyReportAppVo = new DailyReportAppBrandVo(); + dailyReportAppVo.setTitle("分公司" + date + "日报"); + String startDate = date + " 00:00:00"; + String endDate = date + " 23:59:59"; + qw.between("ddr.createTime", startDate,endDate); + qw.eq("ddr.useOrgSid", useOrgSid); + qw.groupBy("ddr.brandSid"); + qw.groupBy("bm.fuelTypeValue"); + qw.groupBy("bm.emissionStandardValue"); + qw.orderByDesc("ddr.brandSid"); + List parameterVoList = baseMapper.selectByParameters(useOrgSid); + parameterVoList.removeAll(Collections.singleton(null)); + qw = getCommon(parameterVoList, qw); + List rows1 = baseMapper.selectByBrand2New(useOrgSid, startDate,endDate, qw); + rows1.removeAll(Collections.singleton(null)); + if (!rows1.isEmpty()) { + rows1.forEach(v -> { + v.setColspan(Integer.parseInt(v.getColspan()) > 0 ? String.valueOf(Integer.parseInt(v.getColspan()) + 1) : v.getColspan()); + }); + } + dailyReportAppVo.setRow1(rows1); + List brandList = rows1.stream().map(v -> v.getLinkSid()).collect(Collectors.toList()); + brandList.removeAll(Collections.singleton(null)); + if (brandList.isEmpty()) { + return rb.success(); + } + qw = new QueryWrapper<>(); + qw.eq("dr.useOrgSid", useOrgSid); + qw.between("dr.createTime", startDate,endDate); + qw.in("dr.brandSid", brandList); + qw.orderByDesc("dr.brandSid"); + qw.groupBy("dr.brandSid"); + qw.groupBy("bm.fuelTypeValue"); + qw.groupBy("bm.emissionStandardValue"); + qw.orderByDesc("bm.fuelTypeValue"); + qw.orderByDesc("bm.emissionStandardValue"); + qw = getCommon(parameterVoList, qw); + List dailyReportVoList = baseMapper.selectReport4New(qw); + //排放标准 + List row3 = dailyReportVoList.stream().map(v -> v.getEmissionStandardValue()).collect(Collectors.toList()); + dailyReportAppVo.setRow3(row3); + //按品牌sid分组 + Map> groupedByBrandSid = dailyReportVoList.stream() + .collect(Collectors.groupingBy(DailyReportVo::getBrandSid, LinkedHashMap::new, Collectors.toList())); + //遍历分组并组装每组的数据 + List row2 = new ArrayList<>(); + List row4 = new ArrayList<>(); + List row5 = new ArrayList<>(); + List row6 = new ArrayList<>(); + List row7 = new ArrayList<>(); + List row8 = new ArrayList<>(); + List row9 = new ArrayList<>(); + List row10 = new ArrayList<>(); + List row11 = new ArrayList<>(); + List row12 = new ArrayList<>(); + List row13 = new ArrayList<>(); + List row14 = new ArrayList<>(); + List row15 = new ArrayList<>(); + List row16 = new ArrayList<>(); + List row17 = new ArrayList<>(); + List row18 = new ArrayList<>(); + List row19 = new ArrayList<>(); + List row20 = new ArrayList<>(); + List row21 = new ArrayList<>(); + List row22 = new ArrayList<>(); + List row23 = new ArrayList<>(); + List row24 = new ArrayList<>(); + List row25 = new ArrayList<>(); + List row26 = new ArrayList<>(); + List row27 = new ArrayList<>(); + List row28 = new ArrayList<>(); + List row29 = new ArrayList<>(); + List row30 = new ArrayList<>(); + List row31 = new ArrayList<>(); + List row32 = new ArrayList<>(); + List row33 = new ArrayList<>(); + List row34 = new ArrayList<>(); + List row35 = new ArrayList<>(); + List row36 = new ArrayList<>(); + List row37 = new ArrayList<>(); + List row38 = new ArrayList<>(); + List row39 = new ArrayList<>(); + List row40 = new ArrayList<>(); + List row41 = new ArrayList<>(); + List row42 = new ArrayList<>(); + List row43 = new ArrayList<>(); + List row44 = new ArrayList<>(); + List row45 = new ArrayList<>(); + List row46 = new ArrayList<>(); + List row47 = new ArrayList<>(); + List row48 = new ArrayList<>(); + List row49 = new ArrayList<>(); + List row50 = new ArrayList<>(); + List row51 = new ArrayList<>(); + groupedByBrandSid.forEach((brandSid, sameBrandSidList) -> { + for (int i = 0; i <= sameBrandSidList.size(); i++) { + if (i == sameBrandSidList.size()) { + FuelTypeVo fuelTypeVo = new FuelTypeVo(); + fuelTypeVo.setName("小计"); + if (parameterVoList.isEmpty()) { + fuelTypeVo.setRowspan(String.valueOf(2)); + } else { + if (parameterVoList.size() > 7) { + fuelTypeVo.setRowspan(String.valueOf(9)); + } else { + fuelTypeVo.setRowspan(String.valueOf(2 + parameterVoList.size())); + } + } + row2.add(fuelTypeVo); + //小计 + int saleAllToThreeAll = sameBrandSidList.stream().mapToInt(v -> v.getSaleAllToThree()).sum(); + int stock_totalAll = sameBrandSidList.stream().mapToInt(v -> v.getStock_total()).sum(); + String saleOfStockRatioString = ""; + if (saleAllToThreeAll == 0) { + saleOfStockRatioString = stock_totalAll + ":1"; + } else { + saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + row4.add(saleOfStockRatioString); + List row5i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row5.add(row5All.toString()); + List row6i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row6.add(row6All.toString()); + List row7i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row7.add(row7All.toString()); + List row8i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + BigDecimal row8All = row8i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row8.add(row8All.toString()); + List row9i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); + BigDecimal row9All = row9i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row9.add(row9All.toString()); + List row10i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); + BigDecimal row10All = row10i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row10.add(row10All.toString()); + List row11i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); + BigDecimal row11All = row11i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row11.add(row11All.toString()); + List row12i = sameBrandSidList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); + BigDecimal row12All = row12i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row12.add(row12All.toString()); + List row13i = sameBrandSidList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); + BigDecimal row13All = row13i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row13.add(row13All.toString()); + List row14i = sameBrandSidList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); + BigDecimal row14All = row14i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row14.add(row14All.toString()); + List row15i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); + BigDecimal row15All = row15i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row15.add(row15All.toString()); + List row16i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); + BigDecimal row16All = row16i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row16.add(row16All.toString()); + + //订车-本日销售订单-贷款 + List row17i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); + BigDecimal row17All = row17i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row17.add(row17All.toString()); + //订车-本日销售订单-全款 + List row18i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); + BigDecimal row18All = row18i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row18.add(row18All.toString()); + //订车-本日销售订单-小计 + List row19i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); + BigDecimal row19All = row19i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row19.add(row19All.toString()); + //订车-本月销售订单-贷款 + List row20i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); + BigDecimal row20All = row20i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row20.add(row20All.toString()); + //订车-本月销售订单-全款 + List row21i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); + BigDecimal row21All = row21i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row21.add(row21All.toString()); + //订车-本月销售订单-小计 + List row22i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); + BigDecimal row22All = row22i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row22.add(row22All.toString()); + //订车-待交车累计总订单 + List row23i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); + BigDecimal row23All = row23i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row23.add(row23All.toString()); + //销售-本日销售-贷款 + List row24i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); + BigDecimal row24All = row24i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row24.add(row24All.toString()); + //销售-本日销售-全款 + List row25i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); + BigDecimal row25All = row25i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row25.add(row25All.toString()); + //销售-本日销售-小计 + List row26i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); + BigDecimal row26All = row26i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row26.add(row26All.toString()); + //销售-本月销售-贷款 + List row27i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); + BigDecimal row27All = row27i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row27.add(row27All.toString()); + //销售-本月销售-全款 + List row28i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); + BigDecimal row28All = row28i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row28.add(row28All.toString()); + //销售-本月销售-小计 + List row29i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); + BigDecimal row29All = row29i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row29.add(row29All.toString()); + //销售-全年销售-贷款 + List row30i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); + BigDecimal row30All = row30i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row30.add(row30All.toString()); + //销售-全年销售-全款 + List row31i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); + BigDecimal row31All = row31i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row31.add(row31All.toString()); + //销售-全年销售-小计 + List row32i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); + BigDecimal row32All = row32i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row32.add(row32All.toString()); + //交付-本日交付-贷款 + List row33i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); + BigDecimal row33All = row33i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row33.add(row33All.toString()); + //交付-本日交付-全款 + List row34i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); + BigDecimal row34All = row34i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row34.add(row34All.toString()); + //交付-本日交付-小计 + List row35i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); + BigDecimal row35All = row35i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row35.add(row35All.toString()); + //交付-本月交付-贷款 + List row36i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); + BigDecimal row36All = row36i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row36.add(row36All.toString()); + //交付-本月交付-全款 + List row37i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); + BigDecimal row37All = row37i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row37.add(row37All.toString()); + //交付-本月交付-小计 + List row38i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); + BigDecimal row38All = row38i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row38.add(row38All.toString()); + //交付-全年交付-贷款 + List row39i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); + BigDecimal row39All = row39i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row39.add(row39All.toString()); + //交付-全年交付-全款 + List row40i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); + BigDecimal row40All = row40i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row40.add(row40All.toString()); + //交付-全年交付-小计 + List row41i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); + BigDecimal row41All = row41i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row41.add(row41All.toString()); + //全年厂家开票数 + List row42i = sameBrandSidList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); + BigDecimal row42All = row42i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row42.add(row42All.toString()); + //买断-本日 + List row43i = sameBrandSidList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); + BigDecimal row43All = row43i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row43.add(row43All.toString()); + //买断-本月 + List row44i = sameBrandSidList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); + BigDecimal row44All = row44i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row44.add(row44All.toString()); + //买断-本年 + List row45i = sameBrandSidList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); + BigDecimal row45All = row45i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row45.add(row45All.toString()); + //欠款出库数量 + List row46i = sameBrandSidList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); + BigDecimal row46All = row46i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row46.add(row46All.toString()); + //欠款出库金额 + List row47i = sameBrandSidList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); + BigDecimal row47All = row47i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row47.add(row47All.toString()); + //金融未放款-数量 + List row48i = sameBrandSidList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); + BigDecimal row48All = row48i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row48.add(row48All.toString()); + //金融未放款-金额 + List row49i = sameBrandSidList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); + BigDecimal row49All = row49i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row49.add(row49All.toString()); + + //金融未放款-数量-已信审终审 + List row50i = sameBrandSidList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); + BigDecimal row50All = row50i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row50.add(row50All.toString()); + //金融未放款-金额-已信审终审 + List row51i = sameBrandSidList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); + BigDecimal row51All = row51i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row51.add(row51All.toString()); + } else { + FuelTypeVo fuelTypeVo = new FuelTypeVo(); + DailyReportVo v = sameBrandSidList.get(i); + String saleOfStockRatio = ""; + String saleAllToThree = String.valueOf(v.getSaleAllToThree()); + String stock_total = String.valueOf(v.getStock_total()); + if (StringUtils.isBlank(saleAllToThree)) { + saleOfStockRatio = stock_total + ":1"; + } else { + if ("0".equals(saleAllToThree)) { + saleOfStockRatio = stock_total + ":1"; + } else { + saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + } + fuelTypeVo.setName(v.getFuelTypeValue()); + fuelTypeVo.setRowspan(String.valueOf(1)); + row2.add(fuelTypeVo); + row4.add(saleOfStockRatio); + row5.add(String.valueOf(v.getStock_total())); + row6.add(String.valueOf(v.getStock_unreserve())); + row7.add(String.valueOf(v.getStock_reserve())); + row8.add(String.valueOf(v.getStock_subtotal())); + row9.add(String.valueOf(v.getStock_buyout_unreserve())); + row10.add(String.valueOf(v.getStock_buyout_reserve())); + row11.add(String.valueOf(v.getStock_buyout_subtotal())); + row12.add(String.valueOf(v.getPcOrder_unreserve())); + row13.add(String.valueOf(v.getPcOrder_reserve())); + row14.add(String.valueOf(v.getPcOrder_subtotal())); + row15.add(String.valueOf(v.getSimpleOrder_day())); + row16.add(String.valueOf(v.getSimpleOrder_month())); + row17.add(String.valueOf(v.getSaleOrder_loan_day())); + row18.add(String.valueOf(v.getSaleOrder_full_day())); + row19.add(String.valueOf(v.getSaleOrder_subtotal_day())); + row20.add(String.valueOf(v.getSaleOrder_loan_month())); + row21.add(String.valueOf(v.getSaleOrder_full_month())); + row22.add(String.valueOf(v.getSaleOrder_subtotal_month())); + row23.add(String.valueOf(v.getSaleOrder_waitVeh_total())); + row24.add(String.valueOf(v.getSale_loan_day())); + row25.add(String.valueOf(v.getSale_full_day())); + row26.add(String.valueOf(v.getSale_subtotal_day())); + row27.add(String.valueOf(v.getSale_loan_month())); + row28.add(String.valueOf(v.getSale_full_month())); + row29.add(String.valueOf(v.getSale_subtotal_month())); + row30.add(String.valueOf(v.getSale_loan_year())); + row31.add(String.valueOf(v.getSale_full_year())); + row32.add(String.valueOf(v.getSale_subtotal_year())); + row33.add(String.valueOf(v.getDeliver_loan_day())); + row34.add(String.valueOf(v.getDeliver_full_day())); + row35.add(String.valueOf(v.getDeliver_subtotal_day())); + row36.add(String.valueOf(v.getDeliver_loan_month())); + row37.add(String.valueOf(v.getDeliver_full_month())); + row38.add(String.valueOf(v.getDeliver_subtotal_month())); + row39.add(String.valueOf(v.getDeliver_loan_year())); + row40.add(String.valueOf(v.getDeliver_full_year())); + row41.add(String.valueOf(v.getDeliver_subtotal_year())); + row42.add(String.valueOf(v.getManufacturer_invoicing_year())); + row43.add(String.valueOf(v.getBuyout_day())); + row44.add(String.valueOf(v.getBuyout_month())); + row45.add(String.valueOf(v.getBuyout_year())); + row46.add(String.valueOf(v.getArrears_carry_veh_count())); + row47.add(String.valueOf(v.getArrears_carry_veh_amount())); + row48.add(String.valueOf(v.getLoan_not_count())); + row49.add(String.valueOf(v.getLoan_not_amount())); + row50.add(String.valueOf(v.getLoan_not_counts())); + row51.add(String.valueOf(v.getLoan_not_amounts())); + } + + } + + }); + dailyReportAppVo.setRow2(row2); int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v -> v.getSaleAllToThree()).sum(); int stock_totalAll = dailyReportVoList.stream().mapToInt(v -> v.getStock_total()).sum(); String saleOfStockRatioString = ""; @@ -2068,246 +3959,244 @@ public class DailyReportService extends MybatisBaseService row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); - BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + //库存总计-合计 + List row5ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row5.add(row5All.toString()); dailyReportAppVo.setRow5(row5); - //库存未定 - List row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); - BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + //库存未定-合计 + List row6ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row6.add(row6All.toString()); dailyReportAppVo.setRow6(row6); - //库存-已定 - List row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); - BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + //库存-已定-合计 + List row7ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row7.add(row7All.toString()); dailyReportAppVo.setRow7(row7); - //库存-小计 - List row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); - BigDecimal row8All = row8.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + //库存-小计-合计 + List row8ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + BigDecimal row8All = row8ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row8.add(row8All.toString()); dailyReportAppVo.setRow8(row8); //其中买断-未定 - List row9 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); - BigDecimal row9All = row9.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row9ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); + BigDecimal row9All = row9ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row9.add(row9All.toString()); dailyReportAppVo.setRow9(row9); //其中买断-已定 - List row10 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); - BigDecimal row10All = row10.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row10ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); + BigDecimal row10All = row10ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row10.add(row10All.toString()); dailyReportAppVo.setRow10(row10); //其中买断-小计 - List row11 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); - BigDecimal row11All = row11.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row11ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); + BigDecimal row11All = row11ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row11.add(row11All.toString()); dailyReportAppVo.setRow11(row11); //排产-未定 - List row12 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); - BigDecimal row12All = row12.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row12ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); + BigDecimal row12All = row12ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row12.add(row12All.toString()); dailyReportAppVo.setRow12(row12); //排产-已定 - List row13 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); - BigDecimal row13All = row13.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row13ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); + BigDecimal row13All = row13ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row13.add(row13All.toString()); dailyReportAppVo.setRow13(row13); //排产-小计 - List row14 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); - BigDecimal row14All = row14.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row14ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); + BigDecimal row14All = row14ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row14.add(row14All.toString()); dailyReportAppVo.setRow14(row14); //订车-简易订单-本日 - List row15 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); - BigDecimal row15All = row15.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row15ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); + BigDecimal row15All = row15ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row15.add(row15All.toString()); dailyReportAppVo.setRow15(row15); //订车-简易订单-本月 - List row16 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); - BigDecimal row16All = row16.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row16ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); + BigDecimal row16All = row16ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row16.add(row16All.toString()); dailyReportAppVo.setRow16(row16); //订车-本日销售订单-贷款 - List row17 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); - BigDecimal row17All = row17.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row17ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); + BigDecimal row17All = row17ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row17.add(row17All.toString()); dailyReportAppVo.setRow17(row17); //订车-本日销售订单-全款 - List row18 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); - BigDecimal row18All = row18.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row18ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); + BigDecimal row18All = row18ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row18.add(row18All.toString()); dailyReportAppVo.setRow18(row18); //订车-本日销售订单-小计 - List row19 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); - BigDecimal row19All = row19.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row19ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); + BigDecimal row19All = row19ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row19.add(row19All.toString()); dailyReportAppVo.setRow19(row19); //订车-本月销售订单-贷款 - List row20 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); - BigDecimal row20All = row20.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row20ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); + BigDecimal row20All = row20ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row20.add(row20All.toString()); dailyReportAppVo.setRow20(row20); //订车-本月销售订单-全款 - List row21 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); - BigDecimal row21All = row21.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row21ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); + BigDecimal row21All = row21ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row21.add(row21All.toString()); dailyReportAppVo.setRow21(row21); //订车-本月销售订单-小计 - List row22 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); - BigDecimal row22All = row22.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row22ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); + BigDecimal row22All = row22ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row22.add(row22All.toString()); dailyReportAppVo.setRow22(row22); //订车-待交车累计总订单 - List row23 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); - BigDecimal row23All = row23.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row23ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); + BigDecimal row23All = row23ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row23.add(row23All.toString()); dailyReportAppVo.setRow23(row23); //销售-本日销售-贷款 - List row24 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); - BigDecimal row24All = row24.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row24ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); + BigDecimal row24All = row24ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row24.add(row24All.toString()); dailyReportAppVo.setRow24(row24); //销售-本日销售-全款 - List row25 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); - BigDecimal row25All = row25.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row25ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); + BigDecimal row25All = row25ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row25.add(row25All.toString()); dailyReportAppVo.setRow25(row25); //销售-本日销售-小计 - List row26 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); - BigDecimal row26All = row26.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row26ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); + BigDecimal row26All = row26ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row26.add(row26All.toString()); dailyReportAppVo.setRow26(row26); //销售-本月销售-贷款 - List row27 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); - BigDecimal row27All = row27.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row27ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); + BigDecimal row27All = row27ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row27.add(row27All.toString()); dailyReportAppVo.setRow27(row27); //销售-本月销售-全款 - List row28 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); - BigDecimal row28All = row28.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row28ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); + BigDecimal row28All = row28ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row28.add(row28All.toString()); dailyReportAppVo.setRow28(row28); //销售-本月销售-小计 - List row29 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); - BigDecimal row29All = row29.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row29ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); + BigDecimal row29All = row29ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row29.add(row29All.toString()); dailyReportAppVo.setRow29(row29); //销售-全年销售-贷款 - List row30 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); - BigDecimal row30All = row30.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row30ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); + BigDecimal row30All = row30ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row30.add(row30All.toString()); dailyReportAppVo.setRow30(row30); //销售-全年销售-全款 - List row31 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); - BigDecimal row31All = row31.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row31ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); + BigDecimal row31All = row31ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row31.add(row31All.toString()); dailyReportAppVo.setRow31(row31); //销售-全年销售-小计 - List row32 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); - BigDecimal row32All = row32.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row32ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); + BigDecimal row32All = row32ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row32.add(row32All.toString()); dailyReportAppVo.setRow32(row32); //交付-本日交付-贷款 - List row33 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); - BigDecimal row33All = row33.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row33ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); + BigDecimal row33All = row33ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row33.add(row33All.toString()); dailyReportAppVo.setRow33(row33); //交付-本日交付-全款 - List row34 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); - BigDecimal row34All = row34.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row34ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); + BigDecimal row34All = row34ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row34.add(row34All.toString()); dailyReportAppVo.setRow34(row34); //交付-本日交付-小计 - List row35 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); - BigDecimal row35All = row35.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row35ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); + BigDecimal row35All = row35ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row35.add(row35All.toString()); dailyReportAppVo.setRow35(row35); //交付-本月交付-贷款 - List row36 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); - BigDecimal row36All = row36.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row36ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); + BigDecimal row36All = row36ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row36.add(row36All.toString()); dailyReportAppVo.setRow36(row36); //交付-本月交付-全款 - List row37 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); - BigDecimal row37All = row37.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row37ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); + BigDecimal row37All = row37ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row37.add(row37All.toString()); dailyReportAppVo.setRow37(row37); //交付-本月交付-小计 - List row38 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); - BigDecimal row38All = row38.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row38ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); + BigDecimal row38All = row38ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row38.add(row38All.toString()); dailyReportAppVo.setRow38(row38); //交付-全年交付-贷款 - List row39 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); - BigDecimal row39All = row39.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row39ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); + BigDecimal row39All = row39ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row39.add(row39All.toString()); dailyReportAppVo.setRow39(row39); //交付-全年交付-全款 - List row40 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); - BigDecimal row40All = row40.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row40ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); + BigDecimal row40All = row40ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row40.add(row40All.toString()); dailyReportAppVo.setRow40(row40); //交付-全年交付-小计 - List row41 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); - BigDecimal row41All = row41.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row41ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); + BigDecimal row41All = row41ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row41.add(row41All.toString()); dailyReportAppVo.setRow41(row41); //全年厂家开票数 - List row42 = dailyReportVoList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); - BigDecimal row42All = row42.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row42ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); + BigDecimal row42All = row42ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row42.add(row42All.toString()); dailyReportAppVo.setRow42(row42); //买断-本日 - List row43 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); - BigDecimal row43All = row43.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row43ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); + BigDecimal row43All = row43ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row43.add(row43All.toString()); dailyReportAppVo.setRow43(row43); //买断-本月 - List row44 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); - BigDecimal row44All = row44.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row44ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); + BigDecimal row44All = row44ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row44.add(row44All.toString()); dailyReportAppVo.setRow44(row44); //买断-本年 - List row45 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); - BigDecimal row45All = row45.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row45ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); + BigDecimal row45All = row45ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row45.add(row45All.toString()); dailyReportAppVo.setRow45(row45); //欠款出库数量 - List row46 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); - BigDecimal row46All = row46.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row46ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); + BigDecimal row46All = row46ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row46.add(row46All.toString()); dailyReportAppVo.setRow46(row46); //欠款出库金额 - List row47 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); - BigDecimal row47All = row47.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row47ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); + BigDecimal row47All = row47ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row47.add(row47All.toString()); dailyReportAppVo.setRow47(row47); //金融未放款-数量 - List row48 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); - BigDecimal row48All = row48.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row48ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); + BigDecimal row48All = row48ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row48.add(row48All.toString()); dailyReportAppVo.setRow48(row48); //金融未放款-金额 - List row49 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); - BigDecimal row49All = row49.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row49ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); + BigDecimal row49All = row49ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row49.add(row49All.toString()); dailyReportAppVo.setRow49(row49); + //金融未放款-数量-已信审终审 - List row50 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); - BigDecimal row50All = row50.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row50ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); + BigDecimal row50All = row50ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row50.add(row50All.toString()); dailyReportAppVo.setRow50(row50); //金融未放款-金额-已信审终审 - List row51 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); - BigDecimal row51All = row51.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + List row51ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); + BigDecimal row51All = row51ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row51.add(row51All.toString()); dailyReportAppVo.setRow51(row51); List dynamicRows = new ArrayList<>(); - - /*List parameterVoList = baseMapper.selectByParameters(useOrgSid); - parameterVoList.removeAll(Collections.singleton(null));*/ int totalRowspan = 3; if (!parameterVoList.isEmpty()) { for (int i = 0; i < parameterVoList.size(); i++) { @@ -2393,10 +4282,13 @@ public class DailyReportService extends MybatisBaseService list4New(String date, String useOrgSid) { + public ResultBean list4New_old(String date, String useOrgSid) { ResultBean rb = ResultBean.fireFail(); QueryWrapper qw = new QueryWrapper<>(); DailyReportAppBrandVo dailyReportAppVo = new DailyReportAppBrandVo(); @@ -2499,13 +4391,13 @@ public class DailyReportService extends MybatisBaseService7){ + } else { + if (parameterVoList.size() > 7) { fuelTypeVo.setRowspan(String.valueOf(9)); - }else{ - fuelTypeVo.setRowspan(String.valueOf(2+parameterVoList.size())); + } else { + fuelTypeVo.setRowspan(String.valueOf(2 + parameterVoList.size())); } } row2.add(fuelTypeVo); @@ -3107,6 +4999,7 @@ public class DailyReportService extends MybatisBaseService getCommon(List parameterVoList, QueryWrapper qw) { if (!parameterVoList.isEmpty()) { for (int i = 0; i < parameterVoList.size(); i++) { @@ -3228,7 +5121,46 @@ public class DailyReportService extends MybatisBaseService pageList2_old(PagerQuery pagerQuery) { + DailyReportAppPagerQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + //查询事业部 + if (StringUtils.isNotBlank(query.getOrgPath())) { + List stringList = Arrays.asList(query.getOrgPath().split("/")); + String busOrgSid = query.getOrgPath().substring(37, 73); + qw.eq("busOrgSid", busOrgSid); + } + } + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.pageList2(page, qw); + List recordList = pagging.getRecords(); + recordList.removeAll(Collections.singleton(null)); + if (!recordList.isEmpty()) { + for (int i = 0; i < recordList.size(); i++) { + DailyReportListVo dailyReportListVo = recordList.get(i); + String ratio = ""; + if (StringUtils.isBlank(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; + } else { + if ("0".equals(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; + } else { + ratio = new BigDecimal(dailyReportListVo.getStock_total()).divide((new BigDecimal(dailyReportListVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + } + dailyReportListVo.setSaleOfStockRatio(ratio); + } + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + */ public PagerVo pageList2(PagerQuery pagerQuery) { + long startTime = System.currentTimeMillis(); // 记录开始时间 + PagerVo page = new PagerVo<>(); + long pageNum = pagerQuery.getCurrent(); + long pageSize = pagerQuery.getSize(); DailyReportAppPagerQuery query = pagerQuery.getParams(); QueryWrapper qw = new QueryWrapper<>(); if (query != null) { @@ -3239,9 +5171,10 @@ public class DailyReportService extends MybatisBaseService page = PagerUtil.queryToPage(pagerQuery); - IPage pagging = baseMapper.pageList2(page, qw); - List recordList = pagging.getRecords(); + Map map = new HashMap<>(); + map.put("page", (pageNum - 1) * pageSize); + map.put("size", pageSize); + List recordList = baseMapper.selectRecordList2(map, qw); recordList.removeAll(Collections.singleton(null)); if (!recordList.isEmpty()) { for (int i = 0; i < recordList.size(); i++) { @@ -3259,8 +5192,17 @@ public class DailyReportService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); - return p; + int count = baseMapper.selectRecordCount(qw); + page.setRecords(recordList); + page.setCurrent(pageNum); + page.setSize(pageSize); + page.setTotal(count); + long pages = (count + pageSize - 1) / pageSize; + page.setPages(pages); + long endTime = System.currentTimeMillis(); // 记录结束时间 + long duration = endTime - startTime; // 计算耗时 + log.info("事业部日报列表接口耗时 {} ms", duration); // 输出日志 + return page; } public ResultBean getReport2(String date, String orgPath, String userSid) { @@ -3294,7 +5236,7 @@ public class DailyReportService extends MybatisBaseService pageList3(PagerQuery pagerQuery) { + public PagerVo pageList3_old(PagerQuery pagerQuery) { DailyReportAppPagerQuery query = pagerQuery.getParams(); QueryWrapper qw = new QueryWrapper<>(); if (query != null) { @@ -3329,6 +5271,55 @@ public class DailyReportService extends MybatisBaseService pageList3(PagerQuery pagerQuery) { + long startTime = System.currentTimeMillis(); // 记录开始时间 + PagerVo page = new PagerVo<>(); + long pageNum = pagerQuery.getCurrent(); + long pageSize = pagerQuery.getSize(); + DailyReportAppPagerQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + //查询分公司 + if (StringUtils.isNotBlank(query.getOrgPath())) { + List stringList = Arrays.asList(query.getOrgPath().split("/")); + String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath()).getData(); + qw.eq("useOrgSid", useOrgSid); + } + } + Map map = new HashMap<>(); + map.put("page", (pageNum - 1) * pageSize); + map.put("size", pageSize); + List recordList = baseMapper.selectRecordList2(map, qw); + recordList.removeAll(Collections.singleton(null)); + if (!recordList.isEmpty()) { + for (int i = 0; i < recordList.size(); i++) { + DailyReportListVo dailyReportListVo = recordList.get(i); + String ratio = ""; + if (StringUtils.isBlank(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; + } else { + if ("0".equals(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; + } else { + ratio = new BigDecimal(dailyReportListVo.getStock_total()).divide((new BigDecimal(dailyReportListVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + } + dailyReportListVo.setSaleOfStockRatio(ratio); + } + } + int count = baseMapper.selectRecordCount(qw); + page.setRecords(recordList); + page.setCurrent(pageNum); + page.setSize(pageSize); + page.setTotal(count); + long pages = (count + pageSize - 1) / pageSize; + page.setPages(pages); + long endTime = System.currentTimeMillis(); // 记录结束时间 + long duration = endTime - startTime; // 计算耗时 + log.info("分公司日报列表接口耗时 {} ms", duration); // 输出日志 + return page; + } + public ResultBean getReport3(String date, String orgPath, String userSid) { ResultBean rb = ResultBean.fireFail(); QueryWrapper qw = new QueryWrapper<>(); diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitprep/LoanHomevisitPrepFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitprep/LoanHomevisitPrepFeign.java index 5131ef579c..4c582d2bc0 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitprep/LoanHomevisitPrepFeign.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitprep/LoanHomevisitPrepFeign.java @@ -33,21 +33,6 @@ import com.yxt.common.core.vo.PagerVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -import java.util.List; - -/** - * Project: anrui-riskcenter(家访准备)
- * File: LoanHomevisitPrepFeign.java
- * Class: com.yxt.anrui.riskcenter.api.loanhomevisitprep.LoanHomevisitPrepFeign
- * Description: 家访准备.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2023-08-09 15:47:52
- * - * @author liupopo - * @version 1.0 - * @since 1.0 - */ @Api(tags = "家访准备") @FeignClient( contextId = "anrui-riskcenter-LoanHomevisitPrep", diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffService.java index b21c11ccc0..93542496ae 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffService.java @@ -421,48 +421,51 @@ public class LoanDiffService extends MybatisBaseService scmVehRebateVehDtos = new ArrayList<>(); - ScmVehRebateVehDto scmVehRebateVehDto = new ScmVehRebateVehDto(); - scmVehRebateDto.setCreateBySid(loanDiff.getCreateBySid()); - scmVehRebateDto.setRebateTypeKey("029"); - scmVehRebateDto.setRebateTypeValue("金融贴息"); - scmVehRebateDto.setRebateName("金融贴息"); BigDecimal all = BigDecimal.ZERO; - if(loanDiffDetails.getRealityDiscount() != null){ + if (loanDiffDetails.getRealityDiscount() != null) { all = all.add(loanDiffDetails.getRealityDiscount()); } - if(loanDiffDetails.getRealityOtherDiscount() != null){ + if (loanDiffDetails.getRealityOtherDiscount() != null) { all = all.add(loanDiffDetails.getRealityOtherDiscount()); } - scmVehRebateDto.setCalculationStandard(all.toString()); - scmVehRebateDto.setPalceGenDate(DateUtil.format(new Date(), "yyyy-MM")); - scmVehRebateDto.setCalculationModeKey("002"); - scmVehRebateDto.setCalculationModeValue("固定金额"); - scmVehRebateDto.setOrgPath(loanDiff.getOrgSidPath()); - scmVehRebateVehDto.setState("2"); - scmVehRebateVehDto.setBrandSid(baseVehicle.getCarBrandSid()); - scmVehRebateVehDto.setBrandName(baseVehicle.getCarBrandName()); - scmVehRebateVehDto.setVehModelSid(baseVehicle.getModelSid()); - scmVehRebateVehDto.setVehModelName(baseVehicle.getModelName()); - scmVehRebateVehDto.setVehSid(baseVehicle.getSid()); - scmVehRebateVehDto.setVinNo(baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8)); - scmVehRebateVehDto.setManufactorSettlementPrice(baseVehicle.getCostPrice().toString()); - scmVehRebateVehDto.setFreight(baseVehicle.getFreight().toString()); - BigDecimal ll = BigDecimal.ZERO; - if(loanDiffDetails.getRealityDiscount() != null){ - ll = ll.add(loanDiffDetails.getRealityDiscount()); - } - if(loanDiffDetails.getRealityOtherDiscount() != null){ - ll = ll.add(loanDiffDetails.getRealityOtherDiscount()); + if (all.compareTo(BigDecimal.ZERO) > 0) { + //推送单车返利管理 + ScmVehRebateDto scmVehRebateDto = new ScmVehRebateDto(); + List scmVehRebateVehDtos = new ArrayList<>(); + ScmVehRebateVehDto scmVehRebateVehDto = new ScmVehRebateVehDto(); + scmVehRebateDto.setCreateBySid(loanDiff.getCreateBySid()); + scmVehRebateDto.setRebateTypeKey("029"); + scmVehRebateDto.setRebateTypeValue("金融贴息"); + scmVehRebateDto.setRebateName("金融贴息"); + scmVehRebateDto.setCalculationStandard(all.toString()); + scmVehRebateDto.setPalceGenDate(DateUtil.format(new Date(), "yyyy-MM")); + scmVehRebateDto.setCalculationModeKey("002"); + scmVehRebateDto.setCalculationModeValue("固定金额"); + scmVehRebateDto.setOrgPath(loanDiff.getOrgSidPath()); + scmVehRebateVehDto.setState("2"); + scmVehRebateVehDto.setBrandSid(baseVehicle.getCarBrandSid()); + scmVehRebateVehDto.setBrandName(baseVehicle.getCarBrandName()); + scmVehRebateVehDto.setVehModelSid(baseVehicle.getModelSid()); + scmVehRebateVehDto.setVehModelName(baseVehicle.getModelName()); + scmVehRebateVehDto.setVehSid(baseVehicle.getSid()); + scmVehRebateVehDto.setVinNo(baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8)); + scmVehRebateVehDto.setManufactorSettlementPrice(baseVehicle.getCostPrice().toString()); + scmVehRebateVehDto.setFreight(baseVehicle.getFreight().toString()); + BigDecimal ll = BigDecimal.ZERO; + if (loanDiffDetails.getRealityDiscount() != null) { + ll = ll.add(loanDiffDetails.getRealityDiscount()); + } + if (loanDiffDetails.getRealityOtherDiscount() != null) { + ll = ll.add(loanDiffDetails.getRealityOtherDiscount()); + } + scmVehRebateVehDto.setEstimateRebate(ll.toString()); + scmVehRebateVehDto.setPurchaseSystemSid(baseVehicle.getPurchaseSystemSid()); + scmVehRebateVehDto.setPurchaseSystemName(baseVehicle.getPurchaseSystemName()); + scmVehRebateVehDtos.add(scmVehRebateVehDto); + scmVehRebateDto.setScmVehRebateVehs(scmVehRebateVehDtos); + scmVehRebateFeign.save(scmVehRebateDto); } - scmVehRebateVehDto.setEstimateRebate(ll.toString()); - scmVehRebateVehDto.setPurchaseSystemSid(baseVehicle.getPurchaseSystemSid()); - scmVehRebateVehDto.setPurchaseSystemName(baseVehicle.getPurchaseSystemName()); - scmVehRebateVehDtos.add(scmVehRebateVehDto); - scmVehRebateDto.setScmVehRebateVehs(scmVehRebateVehDtos); - scmVehRebateFeign.save(scmVehRebateDto); + int updateCount = baseMapper.selectByBusVnS(loanDiffDetails.getBusVinSid(), loanDiffDetails.getRealityLoan().toString()); } } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/DownloadExcelVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/DownloadExcelVo.java new file mode 100644 index 0000000000..91fd2960e6 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/DownloadExcelVo.java @@ -0,0 +1,29 @@ +package com.yxt.anrui.scm.api.scmspecialrebate; + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +@Data +public class DownloadExcelVo { + + @ExportEntityMap(CnName = "采购系统*", EnName = "purchaseSystemName") + private String purchaseSystemName; + @ExportEntityMap(CnName = "品牌名称*", EnName = "brandName") + private String brandName; + @ExportEntityMap(CnName = "返利类型*", EnName = "rebateTypeValue") + private String rebateTypeValue; + @ExportEntityMap(CnName = "返利名称*", EnName = "rebateName") + private String rebateName; + @ExportEntityMap(CnName = "预提返利*", EnName = "estimateRebate") + private String estimateRebate; + @ExportEntityMap(CnName = "其中支出费用*", EnName = "expectItureCost") + private String expectItureCost; + @ExportEntityMap(CnName = "其中待支付费用*", EnName = "expectTreatCost") + private String expectTreatCost; + @ExportEntityMap(CnName = "其中抵顶费用*", EnName = "expectSuppCost") + private String expectSuppCost; + @ExportEntityMap(CnName = "所属年月*", EnName = "palceGenDate") + private String palceGenDate; + @ExportEntityMap(CnName = "备注", EnName = "remarks") + private String remarks; +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ExcelInfo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ExcelInfo.java new file mode 100644 index 0000000000..0694de0be1 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ExcelInfo.java @@ -0,0 +1,33 @@ +package com.yxt.anrui.scm.api.scmspecialrebate; + +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/4/28 + **/ +@Data +public class ExcelInfo { + + //采购系统 + private String purchaseSystemName; + //品牌名称 + private String brandName; + //返利类型 + private String rebateTypeValue; + //返利名称 + private String rebateName; + //预提返利 + private String estimateRebate; + //其中支出费用 + private String expectItureCost; + //其中待支付费用 + private String expectTreatCost; + //其中抵顶费用 + private String expectSuppCost; + //所属年月 + private String palceGenDate; + //备注 + private String remarks; +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelInfo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelInfo.java index 53180b2a54..7305d283f1 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelInfo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelInfo.java @@ -43,6 +43,8 @@ public class OneExcelInfo { private String onceSuppRemark; //调整说明 private String adjustmentRemarks; + //备注 + private String remarks; //是否调整 private String isAdjustment; //调整金额 diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelVo.java index 561d7e786d..9a8dc9f3d2 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelVo.java @@ -13,49 +13,36 @@ public class OneExcelVo { @ExportEntityMap(CnName = "采购系统*", EnName = "purchaseSystemName") private String purchaseSystemName; - @ExportEntityMap(CnName = "品牌名称*", EnName = "brandName") private String brandName; - @ExportEntityMap(CnName = "创建日期*", EnName = "createTime") private String createTime; - @ExportEntityMap(CnName = "返利类型*", EnName = "rebateTypeValue") private String rebateTypeValue; - @ExportEntityMap(CnName = "返利名称*", EnName = "rebateName") private String rebateName; - @ExportEntityMap(CnName = "预提返利*", EnName = "estimateRebate") private String estimateRebate; - @ExportEntityMap(CnName = "其中预提费用*", EnName = "expectCost") private String expectCost; - @ExportEntityMap(CnName = "所属年月*", EnName = "palceGenDate") private String palceGenDate; - @ExportEntityMap(CnName = "上传日期*", EnName = "uploadDate") private String uploadDate; - @ExportEntityMap(CnName = "上传金额*", EnName = "uploadMoney") private String uploadMoney; - @ExportEntityMap(CnName = "待确定金额*", EnName = "stayDetermineMoney") private String stayDetermineMoney; - @ExportEntityMap(CnName = "其中支出费用*", EnName = "onceItureCost") private String onceItureCost; - @ExportEntityMap(CnName = "其中待支付费用*", EnName = "onceTreatCost") private String onceTreatCost; - @ExportEntityMap(CnName = "其中抵顶费用*", EnName = "onceSuppCost") private String onceSuppCost; - @ExportEntityMap(CnName = "抵顶费用说明", EnName = "onceSuppRemark") private String onceSuppRemark; - @ExportEntityMap(CnName = "调整说明", EnName = "adjustmentRemarks") private String adjustmentRemarks; + @ExportEntityMap(CnName = "备注", EnName = "remarks") + private String remarks; } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateDto.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateDto.java index c32359bcd3..b79af8a332 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateDto.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateDto.java @@ -25,28 +25,12 @@ *********************************************************/ package com.yxt.anrui.scm.api.scmspecialrebate; - import com.yxt.common.core.dto.Dto; - import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; - import java.math.BigDecimal; -/** - * Project: anrui-scm(专项返利管理)
- * File: ScmSpecialRebateDto.java
- * Class: com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateDto
- * Description: 专项返利表 数据传输对象.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2022-09-08 16:11:43
- * - * @author liupopo - * @version 1.0 - * @since 1.0 - */ @Data @ApiModel(value = "专项返利表 数据传输对象", description = "专项返利表 数据传输对象") public class ScmSpecialRebateDto implements Dto { @@ -55,39 +39,41 @@ public class ScmSpecialRebateDto implements Dto { @ApiModelProperty("状态") private String state; // 状态 + @ApiModelProperty("创建人sid") + private String createBySid; @ApiModelProperty("备注") private String remarks; // 备注 - @ApiModelProperty("品牌sid") + @ApiModelProperty("品牌sid") private String brandSid; // 品牌sid - @ApiModelProperty("品牌名称") + @ApiModelProperty("品牌名称") private String brandName; // 品牌名称 - @ApiModelProperty("返利类型key") + @ApiModelProperty("返利类型key") private String rebateTypeKey; // 返利类型key - @ApiModelProperty("返利类型value") + @ApiModelProperty("返利类型value") private String rebateTypeValue; // 返利类型value - @ApiModelProperty("返利名称") + @ApiModelProperty("返利名称") private String rebateName; // 返利名称 - @ApiModelProperty("计算标准") + @ApiModelProperty("计算标准") private String calculationStandard; // 计算标准 - @ApiModelProperty("预计返利") + @ApiModelProperty("预计返利") private String estimateRebate; // 预计返利 - @ApiModelProperty("预提日期") + @ApiModelProperty("预提日期") private String withholdingDate; // 预提日期 - @ApiModelProperty("上传日期") + @ApiModelProperty("上传日期") private String uploadDate; // 上传日期 - @ApiModelProperty("上传金额") + @ApiModelProperty("上传金额") private String uploadMoney; // 上传金额 - @ApiModelProperty("二次上传日期") + @ApiModelProperty("二次上传日期") private String secondaryUploadDate; // 二次上传日期 - @ApiModelProperty("二次上传金额") + @ApiModelProperty("二次上传金额") private String secondaryUploadMoney; // 二次上传金额 - @ApiModelProperty("费用") + @ApiModelProperty("费用") private String money; // 费用 - @ApiModelProperty("是否调整") + @ApiModelProperty("是否调整") private String isAdjustment; // 是否调整 - @ApiModelProperty("调整金额") + @ApiModelProperty("调整金额") private String adjustmentMoney; // 调整金额 - @ApiModelProperty("调整说明") + @ApiModelProperty("调整说明") private String adjustmentRemarks; // 调整说明 @ApiModelProperty("调整状态") private Integer adjustmentState; @@ -140,13 +126,13 @@ public class ScmSpecialRebateDto implements Dto { @ApiModelProperty("二次抵顶费用说明") private String secondSuppRemark; - @ApiModelProperty("使用组织sid") + @ApiModelProperty("使用组织sid") private String useOrgSid; // 使用组织sid - @ApiModelProperty("使用组织名称") + @ApiModelProperty("使用组织名称") private String useOrgName; // 使用组织名称 - @ApiModelProperty("创建组织sid") + @ApiModelProperty("创建组织sid") private String createOrgSid; // 创建组织sid - @ApiModelProperty("创建组织名称") + @ApiModelProperty("创建组织名称") private String createOrgName; // 创建组织名称 @ApiModelProperty("组织全路径") private String orgPath; diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateExcelVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateExcelVo.java index 05891e42f3..37324c03eb 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateExcelVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateExcelVo.java @@ -36,68 +36,53 @@ public class ScmSpecialRebateExcelVo { @ExportEntityMap(CnName = "序号", EnName = "rankNo") private Integer rankNo; - @ExportEntityMap(CnName = "状态", EnName = "state") - private String state; - @ExportEntityMap(CnName = "一次核对状态", EnName = "onceCheckState") - private String onceCheckState; - @ExportEntityMap(CnName = "分公司", EnName = "createOrgName") - private String createOrgName; @ExportEntityMap(CnName = "采购系统", EnName = "purchaseSystemName") private String purchaseSystemName; - @ExportEntityMap(CnName = "品牌", EnName = "brandName") - private String brandName; - @ExportEntityMap(CnName = "创建日期", EnName = "createTime") - private String createTime; + @ExportEntityMap(CnName = "所属年月", EnName = "palceGenDate") + private String palceGenDate; @ExportEntityMap(CnName = "返利类型", EnName = "rebateTypeValue") private String rebateTypeValue; @ExportEntityMap(CnName = "返利名称", EnName = "rebateName") private String rebateName; - @ExportEntityMap(CnName = "预提金额", EnName = "estimateRebate") - private BigDecimal estimateRebate; - @ExportEntityMap(CnName = "其中支出费用", EnName = "expectItureCost") - private BigDecimal expectItureCost; - @ExportEntityMap(CnName = "其中待支付费用", EnName = "expectTreatCost") - private BigDecimal expectTreatCost; - @ExportEntityMap(CnName = "其中抵顶费用", EnName = "expectSuppCost") - private BigDecimal expectSuppCost; - @ExportEntityMap(CnName = "所属年月", EnName = "palceGenDate") - private String palceGenDate; - @ExportEntityMap(CnName = "上传日期", EnName = "uploadDate") + + @ExportEntityMap(CnName = "预提", EnName = "estimateRebate") + private String estimateRebate; + @ExportEntityMap(CnName = "上传", EnName = "uploadMoney") + private String uploadMoney; + @ExportEntityMap(CnName = "二次上传", EnName = "secondaryUploadMoney") + private String secondaryUploadMoney; + @ExportEntityMap(CnName = "待确定", EnName = "stayDetermineMoney") + private String stayDetermineMoney; + @ExportEntityMap(CnName = "调整", EnName = "adjustmentMoney") + private String adjustmentMoney; + @ExportEntityMap(CnName = "未上传", EnName = "notUploadMoney") + private String notUploadMoney; + + @ExportEntityMap(CnName = "预计", EnName = "withholdCost") + private String withholdCost; + @ExportEntityMap(CnName = "上传", EnName = "money") + private String money; + + @ExportEntityMap(CnName = "创建", EnName = "createTime") + private String createTime; + @ExportEntityMap(CnName = "预提", EnName = "withholdingDate") + private String withholdingDate; + @ExportEntityMap(CnName = "上传", EnName = "uploadDate") private String uploadDate; - @ExportEntityMap(CnName = "上传金额", EnName = "uploadMoney") - private BigDecimal uploadMoney; - @ExportEntityMap(CnName = "其中待确定金额", EnName = "stayDetermineMoney") - private BigDecimal stayDetermineMoney; - @ExportEntityMap(CnName = "其中支出费用", EnName = "onceItureCost") - private BigDecimal onceItureCost; - @ExportEntityMap(CnName = "其中待支付费用", EnName = "onceTreatCost") - private BigDecimal onceTreatCost; - @ExportEntityMap(CnName = "其中抵顶费用", EnName = "onceSuppCost") - private BigDecimal onceSuppCost; - @ExportEntityMap(CnName = "二次上传日期", EnName = "secondaryUploadDate") + @ExportEntityMap(CnName = "二次上传", EnName = "secondaryUploadDate") private String secondaryUploadDate; - @ExportEntityMap(CnName = "二次上传金额", EnName = "secondaryUploadMoney") - private BigDecimal secondaryUploadMoney; - @ExportEntityMap(CnName = "其中支出费用", EnName = "secondItureCost") - private BigDecimal secondItureCost; - @ExportEntityMap(CnName = "其中待支付费用", EnName = "secondTreatCost") - private BigDecimal secondTreatCost; - @ExportEntityMap(CnName = "其中抵顶费用", EnName = "secondSuppCost") - private BigDecimal secondSuppCost; - @ExportEntityMap(CnName = "差异金额", EnName = "diffAmount") - private BigDecimal diffAmount; - @ExportEntityMap(CnName = "是否调整", EnName = "isAdjustment") - private String isAdjustment; - @ExportEntityMap(CnName = "返利调整金额", EnName = "adjustmentMoney") - private BigDecimal adjustmentMoney; - @ExportEntityMap(CnName = "支出费用调整金额", EnName = "itureAdjustmentMoney") - private BigDecimal itureAdjustmentMoney; - @ExportEntityMap(CnName = "待支付费用调整金额", EnName = "treatAdjustmentMoney") - private BigDecimal treatAdjustmentMoney; - @ExportEntityMap(CnName = "抵顶费用调整金额", EnName = "suppAdjustmentMoney") - private BigDecimal suppAdjustmentMoney; - @ExportEntityMap(CnName = "调整说明", EnName = "adjustmentRemarks") - private String adjustmentRemarks; + + @ExportEntityMap(CnName = "流程", EnName = "state") + private String state; + @ExportEntityMap(CnName = "一次核对", EnName = "onceCheckState") + private String onceCheckState; + @ExportEntityMap(CnName = "二次核对", EnName = "secondCheckState") + private String secondCheckState; + @ExportEntityMap(CnName = "备注", EnName = "remarks") private String remarks; + @ExportEntityMap(CnName = "品牌", EnName = "brandName") + private String brandName; + @ExportEntityMap(CnName = "分公司", EnName = "createOrgName") + private String createOrgName; } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java index 71ada60326..9ed1a3c108 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java @@ -102,6 +102,15 @@ public interface ScmSpecialRebateFeign { @ResponseBody public ResultBean> stayDisRebate(@RequestBody PagerQuery pq); + @PostMapping("/downloadExcel") + @ApiOperation(value = "下载模板") + public void downloadExcel(); + + @ApiOperation(value = "导入") + @PostMapping("/getExcelInfo") + @ResponseBody + public ResultBean getExcelInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request, @RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath) throws IOException, ParseException; + @ApiOperation("一次导出") @PostMapping("/excelListOne") public void excelListOne(@RequestBody ScmSpecialRebateQuery scmSpecialRebateQuery); diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java index fe638e29c1..b3ad19ee97 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java @@ -109,6 +109,16 @@ public class ScmSpecialRebateFeignFallback implements ScmSpecialRebateFeign { return null; } + @Override + public void downloadExcel() { + + } + + @Override + public ResultBean getExcelInfo(MultipartFile file, HttpServletRequest request, String userSid, String orgPath) throws IOException, ParseException { + return null; + } + @Override public void excelListOne(ScmSpecialRebateQuery scmSpecialRebateQuery) { diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateQuery.java index 7f8a7fc6b8..79225130da 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateQuery.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateQuery.java @@ -85,6 +85,22 @@ public class ScmSpecialRebateQuery implements Query { @ApiModelProperty("页面分配数量(0查询分配数量大于0的 1查询所有)") private String isPage; + @ApiModelProperty("所属年月") + private String palceGenDate; + @ApiModelProperty("预提日期") + private String withholdingDate; + @ApiModelProperty("上传日期") + private String uploadStartDate; + private String uploadEndDate; + @ApiModelProperty("上传状态") + private String uploadState; + @ApiModelProperty("是否调整") + private String isAdjustment; + @ApiModelProperty("是否上传完成") + private String isUploadFinish; + @ApiModelProperty("二次上传状态") + private String secondUploadState; + private String userSid; private String orgPath; private String menuUrl; diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateVo.java index 85ca827c7d..fcc9367399 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateVo.java @@ -138,4 +138,10 @@ public class ScmSpecialRebateVo implements Vo { private String secondSuppRemark; @ApiModelProperty("上传状态(0未上传、1已上传)") private String uploadState; + @ApiModelProperty("未上传金额") + private BigDecimal notUploadMoney; + @ApiModelProperty("二次核对状态") + private String secondCheckState; + @ApiModelProperty("备注") + private String remarks; } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/SpecialRebateExcelInfo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/SpecialRebateExcelInfo.java new file mode 100644 index 0000000000..fa8e15e39d --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/SpecialRebateExcelInfo.java @@ -0,0 +1,12 @@ +package com.yxt.anrui.scm.api.scmspecialrebate; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class SpecialRebateExcelInfo { + private String checkInfo; + private List infos = new ArrayList<>(); +} \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelInfo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelInfo.java index 4489447094..256a83b5ad 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelInfo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelInfo.java @@ -48,6 +48,8 @@ public class TwoExcelInfo { private String secondSuppRemark; //调整说明 private String adjustmentRemarks; + //备注 + private String remarks; //是否调整 private String isAdjustment; //调整金额 diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelVo.java index 57c96860fa..d20ac58b9f 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelVo.java @@ -13,58 +13,42 @@ public class TwoExcelVo { @ExportEntityMap(CnName = "采购系统*", EnName = "purchaseSystemName") private String purchaseSystemName; - @ExportEntityMap(CnName = "品牌名称*", EnName = "brandName") private String brandName; - @ExportEntityMap(CnName = "创建日期*", EnName = "createTime") private String createTime; - @ExportEntityMap(CnName = "返利类型*", EnName = "rebateTypeValue") private String rebateTypeValue; - @ExportEntityMap(CnName = "返利名称*", EnName = "rebateName") private String rebateName; - @ExportEntityMap(CnName = "预提返利*", EnName = "estimateRebate") private String estimateRebate; - @ExportEntityMap(CnName = "其中预提费用*", EnName = "expectCost") private String expectCost; - @ExportEntityMap(CnName = "所属年月*", EnName = "palceGenDate") private String palceGenDate; - @ExportEntityMap(CnName = "上传日期*", EnName = "uploadDate") private String uploadDate; - @ExportEntityMap(CnName = "上传金额*", EnName = "uploadMoney") private String uploadMoney; - @ExportEntityMap(CnName = "其中费用*", EnName = "money") private String money; - @ExportEntityMap(CnName = "待确定金额*", EnName = "stayDetermineMoney") private String stayDetermineMoney; - @ExportEntityMap(CnName = "二次上传日期*", EnName = "secondaryUploadDate") private String secondaryUploadDate; - @ExportEntityMap(CnName = "二次上传金额*", EnName = "secondaryUploadMoney") private String secondaryUploadMoney; - @ExportEntityMap(CnName = "其中支出费用*", EnName = "secondItureCost") private String secondItureCost; - @ExportEntityMap(CnName = "其中待支付费用*", EnName = "secondTreatCost") private String secondTreatCost; - @ExportEntityMap(CnName = "其中抵顶费用*", EnName = "secondSuppCost") private String secondSuppCost; - @ExportEntityMap(CnName = "抵顶费用说明", EnName = "secondSuppRemark") private String secondSuppRemark; - @ExportEntityMap(CnName = "调整说明", EnName = "adjustmentRemarks") private String adjustmentRemarks; + @ExportEntityMap(CnName = "备注", EnName = "remarks") + private String remarks; } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/OneExcelVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/OneExcelVo.java index b2a84473f8..4dcbda163d 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/OneExcelVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/OneExcelVo.java @@ -14,61 +14,36 @@ import java.util.Date; @Data public class OneExcelVo { - //车架号 @ExportEntityMap(CnName = "车架号*", EnName = "vinNo") private String vinNo; - - //厂家结算价 @ExportEntityMap(CnName = "厂家结算价*", EnName = "manufactorSettlementPrice") private String manufactorSettlementPrice; - - //其中运费金额 @ExportEntityMap(CnName = "其中运费金额*", EnName = "freight") private String freight; - - //创建日期 @ExportEntityMap(CnName = "创建日期*", EnName = "createTime") private String createTime; - @ExportEntityMap(CnName = "返利类型*", EnName = "rebateTypeValue") private String rebateTypeValue; - @ExportEntityMap(CnName = "返利名称*", EnName = "rebateName") private String rebateName; - - //预提返利 @ExportEntityMap(CnName = "预提返利*", EnName = "estimateRebate") private String estimateRebate; - @ExportEntityMap(CnName = "其中预提费用*", EnName = "withholdCost") private String withholdCost; - - //所属年月 @ExportEntityMap(CnName = "所属年月*", EnName = "palceGenDate") private String palceGenDate; - - //上传日期 @ExportEntityMap(CnName = "上传日期*", EnName = "uploadDate") private String uploadDate; - - //上传金额 @ExportEntityMap(CnName = "上传金额*", EnName = "uploadMoney") private String uploadMoney; - - //待确定金额 @ExportEntityMap(CnName = "待确定金额*", EnName = "stayDetermineMoney") private String stayDetermineMoney; - @ExportEntityMap(CnName = "待支付费用*", EnName = "onceTreatCost") private String onceTreatCost; - @ExportEntityMap(CnName = "抵顶费用*", EnName = "onceSuppCost") private String onceSuppCost; - @ExportEntityMap(CnName = "抵顶费用说明", EnName = "onceSuppRemark") private String onceSuppRemark; - - //调整说明 @ExportEntityMap(CnName = "调整说明", EnName = "adjustmentRemarks") private String adjustmentRemarks; } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateExcelVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateExcelVo.java index e36ae083e5..7e1c55135f 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateExcelVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateExcelVo.java @@ -28,73 +28,75 @@ package com.yxt.anrui.scm.api.scmvehrebate; import com.yxt.common.core.utils.ExportEntityMap; import lombok.Data; -import java.math.BigDecimal; - @Data public class ScmVehRebateExcelVo { @ExportEntityMap(CnName = "序号", EnName = "rankNo") private Integer rankNo; - @ExportEntityMap(CnName = "状态", EnName = "state") - private String state; - @ExportEntityMap(CnName = "一次核对状态", EnName = "onceCheckState") - private String onceCheckState; @ExportEntityMap(CnName = "采购系统", EnName = "purchaseSystemName") private String purchaseSystemName; - @ExportEntityMap(CnName = "品牌", EnName = "brandName") - private String brandName; - @ExportEntityMap(CnName = "车型", EnName = "vehModelName") - private String vehModelName; @ExportEntityMap(CnName = "车架号", EnName = "vinNo") private String vinNo; - @ExportEntityMap(CnName = "车辆入库价", EnName = "manufactorSettlementPrice") - private BigDecimal manufactorSettlementPrice; - @ExportEntityMap(CnName = "其中运费", EnName = "freight") - private BigDecimal freight; - @ExportEntityMap(CnName = "其中上装金额", EnName = "topAmount") - private BigDecimal topAmount; - @ExportEntityMap(CnName = "创建日期", EnName = "createTime") - private String createTime; + @ExportEntityMap(CnName = "车型", EnName = "vehModelName") + private String vehModelName; + @ExportEntityMap(CnName = "所属年月", EnName = "palceGenDate") + private String palceGenDate; @ExportEntityMap(CnName = "返利类型", EnName = "rebateTypeValue") private String rebateTypeValue; @ExportEntityMap(CnName = "返利名称", EnName = "rebateName") private String rebateName; - @ExportEntityMap(CnName = "预提金额", EnName = "estimateRebate") - private BigDecimal estimateRebate; - @ExportEntityMap(CnName = "其中待支付费用", EnName = "expectTreatCost") - private BigDecimal expectTreatCost; - @ExportEntityMap(CnName = "其中抵顶费用", EnName = "expectSuppCost") - private BigDecimal expectSuppCost; - @ExportEntityMap(CnName = "所属年月", EnName = "palceGenDate") - private String palceGenDate; - @ExportEntityMap(CnName = "上传日期", EnName = "uploadDate") + + @ExportEntityMap(CnName = "预提", EnName = "estimateRebate") + private String estimateRebate; + @ExportEntityMap(CnName = "上传", EnName = "uploadMoney") + private String uploadMoney; + @ExportEntityMap(CnName = "二次上传", EnName = "secondaryUploadMoney") + private String secondaryUploadMoney; + @ExportEntityMap(CnName = "待确定", EnName = "stayDetermineMoney") + private String stayDetermineMoney; + @ExportEntityMap(CnName = "调整", EnName = "adjustmentMoney") + private String adjustmentMoney; + @ExportEntityMap(CnName = "未上传", EnName = "notUploadMoney") + private String notUploadMoney; + + @ExportEntityMap(CnName = "预提", EnName = "withholdCost") + private String withholdCost; + @ExportEntityMap(CnName = "上传", EnName = "money") + private String money; + + @ExportEntityMap(CnName = "创建", EnName = "createTime") + private String createTime; + @ExportEntityMap(CnName = "预提", EnName = "withholdingDate") + private String withholdingDate; + @ExportEntityMap(CnName = "上传", EnName = "uploadDate") private String uploadDate; - @ExportEntityMap(CnName = "上传金额", EnName = "uploadMoney") - private BigDecimal uploadMoney; - @ExportEntityMap(CnName = "其中待确定金额", EnName = "stayDetermineMoney") - private BigDecimal stayDetermineMoney; - @ExportEntityMap(CnName = "其中待支付费用", EnName = "onceTreatCost") - private BigDecimal onceTreatCost; - @ExportEntityMap(CnName = "其中抵顶费用", EnName = "onceSuppCost") - private BigDecimal onceSuppCost; - @ExportEntityMap(CnName = "二次上传日期", EnName = "secondaryUploadDate") + @ExportEntityMap(CnName = "二次上传", EnName = "secondaryUploadDate") private String secondaryUploadDate; - @ExportEntityMap(CnName = "二次上传金额", EnName = "secondaryUploadMoney") - private BigDecimal secondaryUploadMoney; - @ExportEntityMap(CnName = "其中待支付费用", EnName = "secondTreatCost") - private BigDecimal secondTreatCost; - @ExportEntityMap(CnName = "其中抵顶费用", EnName = "secondSuppCost") - private BigDecimal secondSuppCost; - @ExportEntityMap(CnName = "差异金额", EnName = "diffAmount") - private BigDecimal diffAmount; - @ExportEntityMap(CnName = "是否调整", EnName = "isAdjustment") - private String isAdjustment; - @ExportEntityMap(CnName = "返利调整金额", EnName = "adjustmentMoney") - private BigDecimal adjustmentMoney; - @ExportEntityMap(CnName = "待支付费用调整金额", EnName = "treatAdjustmentMoney") - private BigDecimal treatAdjustmentMoney; - @ExportEntityMap(CnName = "抵顶费用调整金额", EnName = "suppAdjustmentMoney") - private BigDecimal suppAdjustmentMoney; - @ExportEntityMap(CnName = "调整说明", EnName = "adjustmentRemarks") - private String adjustmentRemarks; + + @ExportEntityMap(CnName = "流程", EnName = "state") + private String state; + @ExportEntityMap(CnName = "一次核对", EnName = "onceCheckState") + private String onceCheckState; + @ExportEntityMap(CnName = "二次核对", EnName = "secondCheckState") + private String secondCheckState; + + @ExportEntityMap(CnName = "车辆入库价", EnName = "manufactorSettlementPrice") + private String manufactorSettlementPrice; + + @ExportEntityMap(CnName = "运费", EnName = "freight") + private String freight; + @ExportEntityMap(CnName = "上装", EnName = "topAmount") + private String topAmount; + + @ExportEntityMap(CnName = "方式", EnName = "calculationModeValue") + private String calculationModeValue; + @ExportEntityMap(CnName = "标准", EnName = "calculationStandard") + private String calculationStandard; + + @ExportEntityMap(CnName = "备注", EnName = "remarks") + private String remarks; + @ExportEntityMap(CnName = "品牌", EnName = "brandName") + private String brandName; + @ExportEntityMap(CnName = "分公司", EnName = "createOrgName") + private String createOrgName; } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java index 94c2266b07..5fdc75f1ea 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java @@ -25,8 +25,6 @@ *********************************************************/ package com.yxt.anrui.scm.api.scmvehrebate; -import com.yxt.anrui.scm.api.scmvehrebatewith.ScmVehRebateWithQuery; -import com.yxt.anrui.scm.api.scmvehrebatewith.ScmVehRebateWithVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import com.yxt.common.core.query.PagerQuery; @@ -35,25 +33,11 @@ import com.yxt.common.core.vo.PagerVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; - import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.text.ParseException; import java.util.List; -/** - * Project: anrui-scm(单车返利)
- * File: ScmVehRebateFeign.java
- * Class: com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateFeign
- * Description: 单车返利表.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2022-08-24 09:01:54
- * - * @author liupopo - * @version 1.0 - * @since 1.0 - */ @Api(tags = "单车返利表") @FeignClient( contextId = "anrui-scm-ScmVehRebate", @@ -149,4 +133,9 @@ public interface ScmVehRebateFeign { @DeleteMapping("/delByVehSid") @ResponseBody ResultBean delByVehSid(@RequestParam("vehSid") String vehSid); + + @ApiOperation("根据车辆sid、分公司sid、返利类型key删除单车返利记录") + @DeleteMapping("/delByVehSid2") + @ResponseBody + ResultBean delByVehSid2(@RequestParam("vehSid") String vehSid,@RequestParam("useOrgSid") String useOrgSid,@RequestParam("key") String key); } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeignFallback.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeignFallback.java index aea32d91aa..eb5bba0b85 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeignFallback.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeignFallback.java @@ -143,4 +143,9 @@ public class ScmVehRebateFeignFallback implements ScmVehRebateFeign { public ResultBean delByVehSid(String vehSid) { return null; } + + @Override + public ResultBean delByVehSid2(String vehSid, String useOrgSid, String key) { + return null; + } } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateQuery.java index 5a9ebfba50..d6eaa12af4 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateQuery.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateQuery.java @@ -80,6 +80,24 @@ public class ScmVehRebateQuery implements Query { @ApiModelProperty("采购系统") private String purchaseSystemName; + @ApiModelProperty("所属年月") + private String palceGenDate; + @ApiModelProperty("预提日期") + private String withholdingDate; + @ApiModelProperty("上传日期") + private String uploadStartDate; + private String uploadEndDate; + @ApiModelProperty("上传状态") + private String uploadState; + @ApiModelProperty("是否调整") + private String isAdjustment; + @ApiModelProperty("是否上传完成") + private String isUploadFinish; + @ApiModelProperty("一次核对状态") + private String onceCheckState; + @ApiModelProperty("二次上传状态") + private String secondUploadState; + private String userSid; private String orgPath; private String menuUrl; diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateVo.java index e702fe1cba..0b2dc2272e 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateVo.java @@ -154,4 +154,8 @@ public class ScmVehRebateVo implements Vo { private String purchaseSystemName; @ApiModelProperty("上装金额") private BigDecimal topAmount; + @ApiModelProperty("未上传金额") + private BigDecimal notUploadMoney; + @ApiModelProperty("二次核对状态") + private String secondCheckState; } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/TwoExcelVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/TwoExcelVo.java index 797b9ca24c..d020be2b6a 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/TwoExcelVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/TwoExcelVo.java @@ -14,71 +14,42 @@ import java.util.Date; @Data public class TwoExcelVo { - //车架号 @ExportEntityMap(CnName = "车架号*", EnName = "vinNo") private String vinNo; - - //厂家结算价 @ExportEntityMap(CnName = "厂家结算价*", EnName = "manufactorSettlementPrice") private String manufactorSettlementPrice; - - //其中运费金额 @ExportEntityMap(CnName = "其中运费金额*", EnName = "freight") private String freight; - @ExportEntityMap(CnName = "创建日期*", EnName = "createTime") private String createTime; - @ExportEntityMap(CnName = "返利类型*", EnName = "rebateTypeValue") private String rebateTypeValue; - @ExportEntityMap(CnName = "返利名称*", EnName = "rebateName") private String rebateName; - - //预提返利 @ExportEntityMap(CnName = "预提返利*", EnName = "estimateRebate") private String estimateRebate; - @ExportEntityMap(CnName = "其中预提费用*", EnName = "withholdCost") private String withholdCost; - - //所属年月 @ExportEntityMap(CnName = "所属年月*", EnName = "palceGenDate") private String palceGenDate; - - //上传日期 @ExportEntityMap(CnName = "上传日期*", EnName = "uploadDate") private String uploadDate; - - //上传金额 @ExportEntityMap(CnName = "上传金额*", EnName = "uploadMoney") private String uploadMoney; - - //待确定金额 @ExportEntityMap(CnName = "待确定金额*", EnName = "stayDetermineMoney") private String stayDetermineMoney; - @ExportEntityMap(CnName = "其中费用*", EnName = "qzMoney") private String qzMoney; - - //二次上传日期 @ExportEntityMap(CnName = "二次上传日期*", EnName = "secondaryUploadDate") private String secondaryUploadDate; - - //二次上传金额 @ExportEntityMap(CnName = "二次上传金额*", EnName = "secondaryUploadMoney") private String secondaryUploadMoney; - @ExportEntityMap(CnName = "待支付费用*", EnName = "secondTreatCost") private String secondTreatCost; - @ExportEntityMap(CnName = "抵顶费费用*", EnName = "secondSuppCost") private String secondSuppCost; - @ExportEntityMap(CnName = "抵顶费用说明", EnName = "secondSuppRemark") private String secondSuppRemark; - - //调整说明 @ExportEntityMap(CnName = "调整说明", EnName = "adjustmentRemarks") private String adjustmentRemarks; } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmwarehouse/ScmWarehouse.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmwarehouse/ScmWarehouse.java index f44ac23a6e..90b4ed57b0 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmwarehouse/ScmWarehouse.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmwarehouse/ScmWarehouse.java @@ -31,19 +31,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -/** - * Project: anrui-scm(进销存)
- * File: ScmWarehouse.java
- * Class: com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouse
- * Description: 仓库.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2022-01-05 15:42:47
- * - * @author liupopo - * @version 1.0 - * @since 1.0 - */ @ApiModel(value = "仓库", description = "仓库") @TableName("scm_warehouse") @Data diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcollectionrebatecheckapply/ScmCollectionrebateCheckapplyRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcollectionrebatecheckapply/ScmCollectionrebateCheckapplyRest.java index 71ab70d245..87bf768af7 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcollectionrebatecheckapply/ScmCollectionrebateCheckapplyRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcollectionrebatecheckapply/ScmCollectionrebateCheckapplyRest.java @@ -78,7 +78,7 @@ public class ScmCollectionrebateCheckapplyRest implements ScmCollectionrebateChe @Override public ResultBean rePushVoucher(String sid) { ResultBean rb = ResultBean.fireFail(); - scmCollectionrebateCheckapplyService.pusCollectionRebateWithVoucher(sid); + scmCollectionrebateCheckapplyService.pusCollectionRebateCheckVoucher(sid); return rb.success(); } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcollectionrebatecheckapply/ScmCollectionrebateCheckapplyService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcollectionrebatecheckapply/ScmCollectionrebateCheckapplyService.java index 69c66bc412..f7d536dedf 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcollectionrebatecheckapply/ScmCollectionrebateCheckapplyService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcollectionrebatecheckapply/ScmCollectionrebateCheckapplyService.java @@ -29,6 +29,7 @@ import cn.hutool.core.bean.BeanUtil; 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.base.api.basemanufacturer.BaseManufacturer; import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturerFeign; import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrand; @@ -45,11 +46,8 @@ import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; -import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; -import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; -import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.scm.api.flow.FlowTaskVo; import com.yxt.anrui.scm.api.scmcollectionrebate.ScmCollectionRebate; import com.yxt.anrui.scm.api.scmcollectionrebatecheckapply.*; @@ -72,11 +70,13 @@ import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.MessageFlowVo; import com.yxt.messagecenter.api.message.MessageFlowableQuery; import org.apache.commons.lang3.StringUtils; +import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.*; import java.util.stream.Collectors; /** @@ -365,7 +365,7 @@ public class ScmCollectionrebateCheckapplyService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + Future future1 = pool.submit(() -> { + pusCollectionRebateCheckVoucher(bv.getBusinessSid()); //回款返利核对凭证 + }); + } catch (Exception e) { + e.printStackTrace(); + } + } else { //极光推送 scmCollectionrebateCheckapply = fetchBySid(bv.getBusinessSid()); diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcollectionrebatewithapply/ScmCollectionRebateWithApplyService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcollectionrebatewithapply/ScmCollectionRebateWithApplyService.java index 007dac78fd..c37f541f08 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcollectionrebatewithapply/ScmCollectionRebateWithApplyService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmcollectionrebatewithapply/ScmCollectionRebateWithApplyService.java @@ -30,6 +30,7 @@ import cn.hutool.core.date.DateUtil; 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.base.api.basemanufacturer.BaseManufacturer; import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturerFeign; import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrand; @@ -74,11 +75,13 @@ import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.MessageFlowVo; import com.yxt.messagecenter.api.message.MessageFlowableQuery; import org.apache.commons.lang3.StringUtils; +import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.*; import java.util.stream.Collectors; @Service @@ -522,7 +525,18 @@ public class ScmCollectionRebateWithApplyService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + Future future1 = pool.submit(() -> { + pushCollectionRebateWithVoucher(bv.getBusinessSid()); //回款返利预提凭证 + }); + } catch (Exception e) { + e.printStackTrace(); + } } else { //极光推送 scmCollectionRebateWithApply = fetchBySid(bv.getBusinessSid()); diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java index 3f5733da46..8c5b8dc310 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java @@ -56,7 +56,7 @@ public interface ScmSpecialRebateMapper extends BaseMapper { IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); - IPage selectPageVoUpload(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + IPage selectPageVoUpload(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); @Update("update scm_special_rebate set state = #{state} where sid = #{specialRebateSid}") void updateState(@Param("specialRebateSid") String specialRebateSid, @Param("state") Integer state); @@ -66,11 +66,11 @@ public interface ScmSpecialRebateMapper extends BaseMapper { IPage stayDisRebate(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - ScmSpecialRebateVo selectExcelInfo(@Param("createOrgSid") String createOrgSid, @Param("rebateTypeValue") String rebateTypeValue, @Param("rebateName") String rebateName, @Param("estimateRebate") String estimateRebate, @Param("palceGenDate") String palceGenDate, @Param("purchaseSystemName") String purchaseSystemName, @Param("brandName") String brandName); + ScmSpecialRebateVo selectExcel(@Param("createOrgSid") String createOrgSid, @Param("rebateTypeValue") String rebateTypeValue, @Param("rebateName") String rebateName, @Param("estimateRebate") String estimateRebate, @Param("palceGenDate") String palceGenDate, @Param("purchaseSystemName") String purchaseSystemName, @Param("brandName") String brandName, @Param("remarks") String remarks); void updateOneExcelInfo(@Param("uploadDate") String uploadDate, @Param("uploadMoney") String uploadMoney, @Param("stayDetermineMoney") String stayDetermineMoney, @Param("onceItureCost") String onceItureCost, @Param("onceTreatCost") String onceTreatCost, @Param("onceSuppCost") String onceSuppCost, @Param("onceSuppRemark") String onceSuppRemark, @Param("adjustmentRemarks") String adjustmentRemarks, @Param("isAdjustment") String isAdjustment, @Param("adjustmentMoney") String adjustmentMoney, @Param("diffAmount") String diffAmount, @Param("sid") String sid); - void updateTwoExcelInfo(@Param("secondaryUploadDate") String secondaryUploadDate, @Param("secondaryUploadMoney") String secondaryUploadMoney,@Param("secondItureCost") String secondItureCost, @Param("secondTreatCost") String secondTreatCost, @Param("secondSuppCost") String secondSuppCost, @Param("secondSuppRemark") String secondSuppRemark, @Param("adjustmentRemarks") String adjustmentRemarks, @Param("isAdjustment") String isAdjustment, @Param("adjustmentMoney") String adjustmentMoney, @Param("diffAmount") String diffAmount, @Param("sid") String sid); + void updateTwoExcelInfo(@Param("secondaryUploadDate") String secondaryUploadDate, @Param("secondaryUploadMoney") String secondaryUploadMoney, @Param("secondItureCost") String secondItureCost, @Param("secondTreatCost") String secondTreatCost, @Param("secondSuppCost") String secondSuppCost, @Param("secondSuppRemark") String secondSuppRemark, @Param("adjustmentRemarks") String adjustmentRemarks, @Param("isAdjustment") String isAdjustment, @Param("adjustmentMoney") String adjustmentMoney, @Param("diffAmount") String diffAmount, @Param("sid") String sid); List excelListOne(@Param(Constants.WRAPPER) QueryWrapper qw); diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml index 8633e675aa..80fe637446 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml @@ -7,7 +7,8 @@ SELECT *, expectItureCost + expectTreatCost + expectSuppCost AS expectCost, expectItureCost + expectTreatCost + expectSuppCost AS withholdCost, - onceItureCost + onceTreatCost + onceSuppCost + secondItureCost + secondTreatCost + secondSuppCost AS money + onceItureCost + onceTreatCost + onceSuppCost + secondItureCost + secondTreatCost + secondSuppCost AS money, + estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0) AS notUploadMoney FROM scm_special_rebate ${ew.sqlSegment} @@ -51,7 +52,8 @@ ssr.purchaseSystemName, ssr.palceGenDate, ssr.withholdingDate, - ssr.uploadMoney + ssr.secondaryUploadMoney - ssr.onceItureCost - ssr.onceTreatCost - ssr.onceSuppCost - ssr.secondItureCost - ssr.secondTreatCost - ssr.secondSuppCost as uploadMoney, + ssr.uploadMoney + ssr.secondaryUploadMoney - ssr.onceItureCost - ssr.onceTreatCost - ssr.onceSuppCost - + ssr.secondItureCost - ssr.secondTreatCost - ssr.secondSuppCost as uploadMoney, sscad.mainSid as checkApplySid FROM scm_specialrebate_checkapplydetail sscad LEFT JOIN scm_special_rebate ssr @@ -63,7 +65,7 @@ - SELECT * FROM scm_special_rebate WHERE createOrgSid = #{createOrgSid} @@ -73,11 +75,12 @@ AND palceGenDate = #{palceGenDate} AND purchaseSystemName = #{purchaseSystemName} AND brandName = #{brandName} + AND remarks = #{remarks} UPDATE - scm_special_rebate + scm_special_rebate SET uploadDate = #{uploadDate}, uploadMoney = #{uploadMoney}, onceItureCost = #{onceItureCost}, @@ -95,7 +98,7 @@ UPDATE - scm_special_rebate + scm_special_rebate SET secondaryUploadDate = #{secondaryUploadDate}, secondaryUploadMoney = #{secondaryUploadMoney}, secondItureCost = #{secondItureCost}, @@ -109,6 +112,23 @@ WHERE sid = #{sid} + + - - SELECT ssrwa.*, - SUM(ssr.`estimateRebate`) withRebateTotal, + SUM(ssr.estimateRebate) withRebateTotal, SUM(ssr.expectItureCost + ssr.expectTreatCost + ssr.expectSuppCost) as withholdCost FROM scm_special_rebate_with_apply ssrwa LEFT JOIN scm_special_rebate_with ssrw - ON ssrwa.`sid` = ssrw.`mainSid` + ON ssrwa.sid = ssrw.mainSid LEFT JOIN scm_special_rebate ssr - ON ssr.`sid` = ssrw.`specialRebateSid` + ON ssr.sid = ssrw.specialRebateSid ${ew.sqlSegment} diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyService.java index d4a97286c8..8a81d94c60 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyService.java @@ -30,6 +30,7 @@ import cn.hutool.core.date.DateUtil; 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.base.api.basemanufacturer.BaseManufacturer; import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturerFeign; import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrand; @@ -79,11 +80,13 @@ import com.yxt.messagecenter.api.message.MessageFlowableQuery; import com.yxt.messagecenter.api.messagelist.MessageList; import com.yxt.messagecenter.api.messagelist.MessageListFeign; import org.apache.commons.lang3.StringUtils; +import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.*; import java.util.stream.Collectors; import static java.util.Comparator.comparing; @@ -584,7 +587,18 @@ public class ScmSpecialRebateWithApplyService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + Future future1 = pool.submit(() -> { + pushSpecialRebateWithVoucher(bv.getBusinessSid()); + }); + } catch (Exception e) { + e.printStackTrace(); + } } else { //极光推送 scmSpecialRebateWithApply = fetchBySid(bv.getBusinessSid()); diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java index e874974e5d..6c165dd023 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java @@ -87,4 +87,6 @@ public interface ScmVehRebateMapper extends BaseMapper { List checkApplyGetVehRebateAll(@Param(Constants.WRAPPER) QueryWrapper qw); List listAll(@Param(Constants.WRAPPER) QueryWrapper qw); + + int delByVehSid2(@Param("vehSid") String vehSid, @Param("useOrgSid") String useOrgSid, @Param("key") String key); } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml index c14436ba0e..07d929a0f8 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml @@ -9,7 +9,9 @@ sid AS vehRebateSid, expectTreatCost + expectSuppCost AS expectCost, expectTreatCost + expectSuppCost AS withholdCost, - onceTreatCost + onceSuppCost + secondTreatCost + secondSuppCost AS money + onceTreatCost + onceSuppCost + secondTreatCost + secondSuppCost AS money, + estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0) AS notUploadMoney, + IF(secondaryUploadMoney > 0 AND isAdjustment = '是','是','否') AS secondCheckState FROM scm_veh_rebate @@ -62,6 +64,24 @@ AND createOrgSid = #{useOrgSid} + + - SELECT - *, - @row_number := @row_number + 1 AS rankNo, - sid AS vehRebateSid - FROM - scm_veh_rebate,( - SELECT - @row_number := 0 - ) AS t - - ${ew.sqlSegment} - - - + + + delete + from scm_veh_rebate + where vehSid = #{vehSid} + and useOrgSid = #{useOrgSid} + and rebateTypeKey = #{key} + diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java index b89b4214a6..cad5954d44 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java @@ -25,20 +25,20 @@ *********************************************************/ package com.yxt.anrui.scm.biz.scmvehrebate; -import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateExcelVo; -import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateQuery; import com.yxt.anrui.scm.api.scmvehrebate.*; import com.yxt.common.base.utils.ExportExcelUtils; -import com.yxt.common.base.utils.StringUtils; 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.Api; import io.swagger.annotations.ApiOperation; +import org.apache.commons.compress.utils.IOUtils; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.xssf.usermodel.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -47,19 +47,6 @@ import java.net.URLEncoder; import java.text.ParseException; import java.util.List; -/** - * Project: anrui-scm(单车返利)
- * File: ScmVehRebateFeignFallback.java
- * Class: com.yxt.anrui.scm.biz.scmvehrebate.ScmVehRebateRest
- * Description: 单车返利表.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2022-08-24 09:01:54
- * - * @author liupopo - * @version 1.0 - * @since 1.0 - */ @Api(tags = "单车返利表") @RestController @RequestMapping("v1/scmvehrebate") @@ -90,16 +77,184 @@ public class ScmVehRebateRest implements ScmVehRebateFeign { @PostMapping("/excelList") public void excelList(@RequestBody ScmVehRebateQuery query) { //得到所有要导出的数据 - List exportVoList = scmVehRebateService.excelList(query); - //定义导出的excel名字 - String excelName = "单车返利管理"; - String fileNameURL = ""; + List dataList = scmVehRebateService.excelList(query); + // 创建一个新的Excel文档 + XSSFWorkbook wb = new XSSFWorkbook(); + // 创建一个名为Sheet1的工作表 + XSSFSheet sheet = wb.createSheet("单车返利管理"); + //样式 + XSSFCellStyle titleStyle = createTitleCellStyle(wb); + XSSFCellStyle headerStyle = createHeadCellStyle(wb); + XSSFCellStyle contentStyle = createContentCellStyle(wb); + // 行号 + int rowNum = 0; + // 创建第一页的第一行,索引从0开始 + XSSFRow row0 = sheet.createRow(rowNum++); + // 设置行高 + row0.setHeight((short) 600); + String[] row_Text = {"序号", "采购系统", "车架号", "车型", "所属年月", "返利类型", "返利名称", "返利金额", "", "", "", "", "", "其中费用", "", "日期", "", "", "", "状态", "", "", "车辆入库价", "其中", "", "返利计算", "", "备注", "品牌", "分公司"}; + for (int i = 0; i < row_Text.length; i++) { + XSSFCell c00 = row0.createCell(i); + c00.setCellValue(row_Text[i]); + c00.setCellStyle(headerStyle); + } + // 合并单元格,参数依次为起始列,结束列,起始行,结束行 (索引0开始) + sheet.addMergedRegion(new CellRangeAddress(0, 1, 0, 0)); + sheet.addMergedRegion(new CellRangeAddress(0, 1, 1, 1)); + sheet.addMergedRegion(new CellRangeAddress(0, 1, 2, 2)); + sheet.addMergedRegion(new CellRangeAddress(0, 1, 3, 3)); + sheet.addMergedRegion(new CellRangeAddress(0, 1, 4, 4)); + sheet.addMergedRegion(new CellRangeAddress(0, 1, 5, 5)); + sheet.addMergedRegion(new CellRangeAddress(0, 1, 6, 6)); + sheet.addMergedRegion(new CellRangeAddress(0, 0, 7, 12)); + sheet.addMergedRegion(new CellRangeAddress(0, 0, 13, 14)); + sheet.addMergedRegion(new CellRangeAddress(0, 0, 15, 18)); + sheet.addMergedRegion(new CellRangeAddress(0, 0, 19, 21)); + sheet.addMergedRegion(new CellRangeAddress(0, 1, 22, 22)); + sheet.addMergedRegion(new CellRangeAddress(0, 0, 23, 24)); + sheet.addMergedRegion(new CellRangeAddress(0, 0, 25, 26)); + sheet.addMergedRegion(new CellRangeAddress(0, 1, 27, 27)); + sheet.addMergedRegion(new CellRangeAddress(0, 1, 28, 28)); + sheet.addMergedRegion(new CellRangeAddress(0, 1, 29, 29)); + //第二行 + XSSFRow row2 = sheet.createRow(rowNum++); + row2.setHeight((short) 700); + String[] row_third = {"", "", "", "", "", "", "", "预提", "上传", "二次上传", "待确定", "调整", "未上传", "预提", "上传", "创建", "预提", "上传", "二次上传", "流程", "一次核对", "二次核对", "", "运费", "上装", "方式", "标准", "", "", ""}; + for (int i = 0; i < row_third.length; i++) { + XSSFCell tempCell = row2.createCell(i); + tempCell.setCellValue(row_third[i]); + tempCell.setCellStyle(headerStyle); + } + for (ScmVehRebateExcelVo value : dataList) { + XSSFRow tempRow = sheet.createRow(rowNum++); + tempRow.setHeight((short) 500); + // 循环单元格填入数据 + for (int j = 0; j < 30; j++) { + XSSFCell tempCell = tempRow.createCell(j); + tempCell.setCellStyle(contentStyle); + String tempValue = ""; + switch (j) { + case 0: + tempValue = value.getRankNo().toString(); + break; + case 1: + tempValue = value.getPurchaseSystemName(); + break; + case 2: + tempValue = value.getVinNo(); + break; + case 3: + tempValue = value.getVehModelName(); + break; + case 4: + tempValue = value.getPalceGenDate(); + break; + case 5: + tempValue = value.getRebateTypeValue(); + break; + case 6: + tempValue = value.getRebateName(); + break; + case 7: + tempValue = value.getEstimateRebate(); + break; + case 8: + tempValue = value.getUploadMoney(); + break; + case 9: + tempValue = value.getSecondaryUploadMoney(); + break; + case 10: + tempValue = value.getStayDetermineMoney(); + break; + case 11: + tempValue = value.getAdjustmentMoney(); + break; + case 12: + tempValue = value.getNotUploadMoney(); + break; + case 13: + tempValue = value.getWithholdCost(); + break; + case 14: + tempValue = value.getMoney(); + break; + case 15: + tempValue = value.getCreateTime(); + break; + case 16: + tempValue = value.getWithholdingDate(); + break; + case 17: + tempValue = value.getUploadDate(); + break; + case 18: + tempValue = value.getSecondaryUploadDate(); + break; + case 19: + tempValue = value.getState(); + break; + case 20: + tempValue = value.getOnceCheckState(); + break; + case 21: + tempValue = value.getSecondCheckState(); + break; + case 22: + tempValue = value.getManufactorSettlementPrice(); + break; + case 23: + tempValue = value.getFreight(); + break; + case 24: + tempValue = value.getTopAmount(); + break; + case 25: + tempValue = value.getCalculationModeValue(); + break; + case 26: + tempValue = value.getCalculationStandard(); + break; + case 27: + tempValue = value.getRemarks(); + break; + case 28: + tempValue = value.getBrandName(); + break; + case 29: + tempValue = value.getCreateOrgName(); + break; + } + tempCell.setCellValue(tempValue); + //列宽自适应,j为自适应的列,true就是自适应,false就是不自适应,默认不自适应 + sheet.autoSizeColumn(j, true); + } + } + //导出到浏览器下载 + buildExcelDocument("单车返利管理", wb, response); + } + + /** + * @Description: [导出到浏览器] + * @Param: [fileName, wb, response] + * @return: void + * @Author: yangyongzhuo + * @Date: 2021/7/25 9:40 + */ + private static void buildExcelDocument(String fileName, Workbook wb, HttpServletResponse response) { try { - fileNameURL = URLEncoder.encode(excelName, "UTF-8"); - } catch (UnsupportedEncodingException e) { + response.setContentType("application/octet-stream"); + // 可自行定义编码格式 + response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "utf-8")); + //清除jsp编译html文件的空白,防止excel出现空行 + response.flushBuffer(); + //写出 + wb.write(response.getOutputStream()); + } catch (IOException e) { e.printStackTrace(); + } finally { + IOUtils.closeQuietly(wb); } - ExportExcelUtils.export(fileNameURL, exportVoList, ScmVehRebateExcelVo.class, response); } @Override @@ -197,8 +352,8 @@ public class ScmVehRebateRest implements ScmVehRebateFeign { for (String sid : sids) { ScmVehRebate scmVehRebate = scmVehRebateService.fetchBySid(sid); Integer state = scmVehRebate.getState(); - if (state == 1) { - return rb.setMsg("所选数据中包含已预提单车返利信息,无法删除"); + if (state != 0) { + return rb.setMsg("请选择流程状态为未预提的记录删除"); } } scmVehRebateService.delBySids(sids); @@ -228,4 +383,82 @@ public class ScmVehRebateRest implements ScmVehRebateFeign { public ResultBean delByVehSid(String vehSid) { return scmVehRebateService.delByVehSid(vehSid); } + + @Override + public ResultBean delByVehSid2(String vehSid, String useOrgSid, String key) { + return scmVehRebateService.delByVehSid2(vehSid, useOrgSid, key); + } + + /** + * 创建标题样式 + * + * @param wb + * @return + */ + private static XSSFCellStyle createTitleCellStyle(XSSFWorkbook wb) { + XSSFCellStyle cellStyle = wb.createCellStyle(); + cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中 + cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//垂直对齐 + cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); +// cellStyle.setFillForegroundColor(IndexedColors.GREY_40_PERCENT.getIndex());//背景颜色 + + XSSFFont headerFont1 = (XSSFFont) wb.createFont(); // 创建字体样式 + headerFont1.setBold(true); //字体加粗 + headerFont1.setFontName("黑体"); // 设置字体类型 + headerFont1.setFontHeightInPoints((short) 15); // 设置字体大小 + cellStyle.setFont(headerFont1); // 为标题样式设置字体样式 + return cellStyle; + } + + /** + * 创建表头样式 + * + * @param wb + * @return + */ + private static XSSFCellStyle createHeadCellStyle(XSSFWorkbook wb) { + XSSFCellStyle cellStyle = wb.createCellStyle(); + cellStyle.setWrapText(true);// 设置自动换行 + cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());//背景颜色 + cellStyle.setAlignment(HorizontalAlignment.CENTER); //水平居中 + cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); //垂直对齐 + cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); +// cellStyle.setBottomBorderColor(IndexedColors.BLACK.index); + cellStyle.setBorderBottom(BorderStyle.THIN); //下边框 + cellStyle.setBorderLeft(BorderStyle.THIN); //左边框 + cellStyle.setBorderRight(BorderStyle.THIN); //右边框 + cellStyle.setBorderTop(BorderStyle.THIN); //上边框 + + XSSFFont headerFont = (XSSFFont) wb.createFont(); // 创建字体样式 + headerFont.setBold(true); //字体加粗 + headerFont.setFontName("黑体"); // 设置字体类型 + headerFont.setFontHeightInPoints((short) 12); // 设置字体大小 + cellStyle.setFont(headerFont); // 为标题样式设置字体样式 + + return cellStyle; + } + + /** + * 创建内容样式 + * + * @param wb + * @return + */ + private static XSSFCellStyle createContentCellStyle(XSSFWorkbook wb) { + XSSFCellStyle cellStyle = wb.createCellStyle(); + cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 垂直居中 + cellStyle.setAlignment(HorizontalAlignment.CENTER);// 水平居中 + cellStyle.setWrapText(false);// 设置自动换行 + cellStyle.setBorderBottom(BorderStyle.THIN); //下边框 + cellStyle.setBorderLeft(BorderStyle.THIN); //左边框 + cellStyle.setBorderRight(BorderStyle.THIN); //右边框 + cellStyle.setBorderTop(BorderStyle.THIN); //上边框 + // 生成12号字体 + XSSFFont font = wb.createFont(); + font.setColor((short) 8); + font.setFontHeightInPoints((short) 12); + cellStyle.setFont(font); + + return cellStyle; + } } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java index fe85a089d8..2107c3c1bd 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java @@ -54,7 +54,6 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; @@ -149,11 +148,60 @@ public class ScmVehRebateService extends MybatisBaseService wrapper.eq("uploadDate", "") + .or().isNull("uploadDate") + ); + } else { + qw.ne("uploadDate", ""); + qw.isNotNull("uploadDate"); + } + } + if (StringUtils.isNotBlank(query.getIsAdjustment())) { + qw.eq("isAdjustment", query.getIsAdjustment()); + } + if (StringUtils.isNotBlank(query.getIsUploadFinish())) { + if (query.getIsUploadFinish().equals("1")) { + qw.eq("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0); + } else { + qw.ne("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0); + } + } + if (StringUtils.isNotBlank(query.getOnceCheckState())) { + qw.eq("onceCheckState", query.getOnceCheckState()); + } + if (StringUtils.isNotBlank(query.getSecondUploadState())) { + if (query.getSecondUploadState().equals("1")) { + qw.isNotNull("secondaryUploadMoney"); + qw.ne("secondaryUploadMoney", ""); + qw.ne("secondaryUploadMoney", 0); + qw.eq("isAdjustment", "是"); + } else { + qw.and(wrapper -> wrapper.eq("isAdjustment", '否').or().isNull("secondaryUploadMoney").or().eq("secondaryUploadMoney", "")); + } + } String createStartTime = query.getCreateStartTime(); String createEndTime = query.getCreateEndTime(); qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" ); + String uploadStartDate = query.getUploadStartDate(); + String uploadEndDate = query.getUploadEndDate(); + qw.apply(StringUtils.isNotBlank(uploadStartDate), "date_format (uploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(uploadEndDate), "date_format (uploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d')"). + or(). + apply(StringUtils.isNotBlank(uploadStartDate), "date_format (secondaryUploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(uploadEndDate), "date_format (secondaryUploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d')" + ); qw.orderByDesc("createTime"); IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); @@ -161,6 +209,15 @@ public class ScmVehRebateService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); return p; @@ -232,11 +289,60 @@ public class ScmVehRebateService extends MybatisBaseService wrapper.eq("uploadDate", "") + .or().isNull("uploadDate") + ); + } else { + qw.ne("uploadDate", ""); + qw.isNotNull("uploadDate"); + } + } + if (StringUtils.isNotBlank(query.getIsAdjustment())) { + qw.eq("isAdjustment", query.getIsAdjustment()); + } + if (StringUtils.isNotBlank(query.getIsUploadFinish())) { + if (query.getIsUploadFinish().equals("1")) { + qw.eq("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0); + } else { + qw.ne("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0); + } + } + if (StringUtils.isNotBlank(query.getOnceCheckState())) { + qw.eq("onceCheckState", query.getOnceCheckState()); + } + if (StringUtils.isNotBlank(query.getSecondUploadState())) { + if (query.getSecondUploadState().equals("1")) { + qw.isNotNull("secondaryUploadMoney"); + qw.ne("secondaryUploadMoney", ""); + qw.ne("secondaryUploadMoney", 0); + qw.eq("isAdjustment", "是"); + } else { + qw.and(wrapper -> wrapper.eq("isAdjustment", '否').or().isNull("secondaryUploadMoney").or().eq("secondaryUploadMoney", "")); + } + } String createStartTime = query.getCreateStartTime(); String createEndTime = query.getCreateEndTime(); qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" ); + String uploadStartDate = query.getUploadStartDate(); + String uploadEndDate = query.getUploadEndDate(); + qw.apply(StringUtils.isNotBlank(uploadStartDate), "date_format (uploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(uploadEndDate), "date_format (uploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d')"). + or(). + apply(StringUtils.isNotBlank(uploadStartDate), "date_format (secondaryUploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(uploadEndDate), "date_format (secondaryUploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d')" + ); qw.orderByDesc("createTime"); List scmVehRebateVoList = baseMapper.listAll(qw); for (ScmVehRebateVo record : scmVehRebateVoList) { @@ -327,6 +433,8 @@ public class ScmVehRebateService extends MybatisBaseService wrapper.eq("uploadDate", "") + .or().isNull("uploadDate") + ); + } else { + qw.ne("uploadDate", ""); + qw.isNotNull("uploadDate"); + } + } + if (StringUtils.isNotBlank(query.getIsAdjustment())) { + qw.eq("isAdjustment", query.getIsAdjustment()); + } + if (StringUtils.isNotBlank(query.getIsUploadFinish())) { + if (query.getIsUploadFinish().equals("1")) { + qw.eq("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0); + } else { + qw.ne("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0); + } + } + if (StringUtils.isNotBlank(query.getOnceCheckState())) { + qw.eq("onceCheckState", query.getOnceCheckState()); + } + if (StringUtils.isNotBlank(query.getSecondUploadState())) { + if (query.getSecondUploadState().equals("1")) { + qw.isNotNull("secondaryUploadMoney"); + qw.ne("secondaryUploadMoney", ""); + qw.ne("secondaryUploadMoney", 0); + qw.eq("isAdjustment", "是"); + } else { + qw.and(wrapper -> wrapper.eq("isAdjustment", '否').or().isNull("secondaryUploadMoney").or().eq("secondaryUploadMoney", "")); + } + } String createStartTime = query.getCreateStartTime(); String createEndTime = query.getCreateEndTime(); qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" ); - qw.eq("state", 2); - qw.eq("adjustmentState", 0); + String uploadStartDate = query.getUploadStartDate(); + String uploadEndDate = query.getUploadEndDate(); + qw.apply(StringUtils.isNotBlank(uploadStartDate), "date_format (uploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(uploadEndDate), "date_format (uploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d')"). + or(). + apply(StringUtils.isNotBlank(uploadStartDate), "date_format (secondaryUploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(uploadEndDate), "date_format (secondaryUploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d')" + ); qw.orderByDesc("createTime"); IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); @@ -412,6 +570,8 @@ public class ScmVehRebateService extends MybatisBaseService wrapper.eq("uploadDate", "") + .or().isNull("uploadDate") + ); + } else { + qw.ne("uploadDate", ""); + qw.isNotNull("uploadDate"); + } + } + if (StringUtils.isNotBlank(query.getIsAdjustment())) { + qw.eq("isAdjustment", query.getIsAdjustment()); + } + if (StringUtils.isNotBlank(query.getIsUploadFinish())) { + if (query.getIsUploadFinish().equals("1")) { + qw.eq("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0); + } else { + qw.ne("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0); + } + } + if (StringUtils.isNotBlank(query.getOnceCheckState())) { + qw.eq("onceCheckState", query.getOnceCheckState()); + } + if (StringUtils.isNotBlank(query.getSecondUploadState())) { + if (query.getSecondUploadState().equals("1")) { + qw.isNotNull("secondaryUploadMoney"); + qw.ne("secondaryUploadMoney", ""); + qw.ne("secondaryUploadMoney", 0); + qw.eq("isAdjustment", "是"); + } else { + qw.and(wrapper -> wrapper.eq("isAdjustment", '否').or().isNull("secondaryUploadMoney").or().eq("secondaryUploadMoney", "")); + } + } String createStartTime = query.getCreateStartTime(); String createEndTime = query.getCreateEndTime(); qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" ); - qw.eq("state", 2); - qw.eq("adjustmentState", 0); + String uploadStartDate = query.getUploadStartDate(); + String uploadEndDate = query.getUploadEndDate(); + qw.apply(StringUtils.isNotBlank(uploadStartDate), "date_format (uploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(uploadEndDate), "date_format (uploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d')"). + or(). + apply(StringUtils.isNotBlank(uploadStartDate), "date_format (secondaryUploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(uploadEndDate), "date_format (secondaryUploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d')" + ); qw.orderByDesc("createTime"); List scmVehRebateVoList = baseMapper.checkApplyGetVehRebateAll(qw); for (ScmVehRebateVo record : scmVehRebateVoList) { @@ -449,6 +659,15 @@ public class ScmVehRebateService extends MybatisBaseService= date_format('" + createStartTime + "','%Y-%m-%d')"). - apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" - ); + if (StringUtils.isNotBlank(query.getState())) { + qw.eq("state", query.getState()); + } + if (StringUtils.isNotBlank(query.getUseOrgName())) { + qw.like("useOrgName", query.getUseOrgName()); + } + if (StringUtils.isNotBlank(query.getPurchaseSystemName())) { + qw.like("purchaseSystemName", query.getPurchaseSystemName()); + } qw.eq("adjustmentState", 0); qw.eq("state", 2); qw.eq("onceCheckState", 0); qw.and(wrapper -> wrapper.eq("uploadDate", "") .or().isNull("uploadDate") ); + if (StringUtils.isNotBlank(query.getPalceGenDate())) { + qw.eq("palceGenDate", query.getPalceGenDate()); + } + if (StringUtils.isNotBlank(query.getWithholdingDate())) { + String[] w = query.getWithholdingDate().split("-"); + String withholdingDate = w[0] + "年" + Integer.parseInt(w[1]) + "月"; + qw.eq("withholdingDate", withholdingDate); + } + if (StringUtils.isNotBlank(query.getUploadState())) { + if (query.getUploadState().equals("0")) { + qw.and(wrapper -> wrapper.eq("uploadDate", "") + .or().isNull("uploadDate") + ); + } else { + qw.ne("uploadDate", ""); + qw.isNotNull("uploadDate"); + } + } + if (StringUtils.isNotBlank(query.getIsAdjustment())) { + qw.eq("isAdjustment", query.getIsAdjustment()); + } + if (StringUtils.isNotBlank(query.getIsUploadFinish())) { + if (query.getIsUploadFinish().equals("1")) { + qw.eq("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0); + } else { + qw.ne("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0); + } + } + if (StringUtils.isNotBlank(query.getOnceCheckState())) { + qw.eq("onceCheckState", query.getOnceCheckState()); + } + if (StringUtils.isNotBlank(query.getSecondUploadState())) { + if (query.getSecondUploadState().equals("1")) { + qw.isNotNull("secondaryUploadMoney"); + qw.ne("secondaryUploadMoney", ""); + qw.ne("secondaryUploadMoney", 0); + qw.eq("isAdjustment", "是"); + } else { + qw.and(wrapper -> wrapper.eq("isAdjustment", '否').or().isNull("secondaryUploadMoney").or().eq("secondaryUploadMoney", "")); + } + } + String createStartTime = query.getCreateStartTime(); + String createEndTime = query.getCreateEndTime(); + qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" + ); + String uploadStartDate = query.getUploadStartDate(); + String uploadEndDate = query.getUploadEndDate(); + qw.apply(StringUtils.isNotBlank(uploadStartDate), "date_format (uploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(uploadEndDate), "date_format (uploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d')"). + or(). + apply(StringUtils.isNotBlank(uploadStartDate), "date_format (secondaryUploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(uploadEndDate), "date_format (secondaryUploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d')" + ); qw.orderByDesc("createTime"); List oneExcelVos = baseMapper.excelListOne(qw); for (OneExcelVo oneExcelVo : oneExcelVos) { @@ -580,12 +851,6 @@ public class ScmVehRebateService extends MybatisBaseService wrapper.eq("uploadDate", "") + .or().isNull("uploadDate") + ); + } else { + qw.ne("uploadDate", ""); + qw.isNotNull("uploadDate"); + } + } + if (StringUtils.isNotBlank(query.getIsAdjustment())) { + qw.eq("isAdjustment", query.getIsAdjustment()); + } + if (StringUtils.isNotBlank(query.getIsUploadFinish())) { + if (query.getIsUploadFinish().equals("1")) { + qw.eq("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0); + } else { + qw.ne("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0); + } + } + if (StringUtils.isNotBlank(query.getOnceCheckState())) { + qw.eq("onceCheckState", query.getOnceCheckState()); + } + if (StringUtils.isNotBlank(query.getSecondUploadState())) { + if (query.getSecondUploadState().equals("1")) { + qw.isNotNull("secondaryUploadMoney"); + qw.ne("secondaryUploadMoney", ""); + qw.ne("secondaryUploadMoney", 0); + qw.eq("isAdjustment", "是"); + } else { + qw.and(wrapper -> wrapper.eq("isAdjustment", '否').or().isNull("secondaryUploadMoney").or().eq("secondaryUploadMoney", "")); + } + } String createStartTime = query.getCreateStartTime(); String createEndTime = query.getCreateEndTime(); qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" ); - qw.eq("adjustmentState", 0); - qw.eq("state", 2); - qw.ne("uploadDate", ""); - qw.isNotNull("uploadDate"); + String uploadStartDate = query.getUploadStartDate(); + String uploadEndDate = query.getUploadEndDate(); + qw.apply(StringUtils.isNotBlank(uploadStartDate), "date_format (uploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(uploadEndDate), "date_format (uploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d')"). + or(). + apply(StringUtils.isNotBlank(uploadStartDate), "date_format (secondaryUploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(uploadEndDate), "date_format (secondaryUploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d')" + ); qw.orderByDesc("createTime"); List twoExcelVos = baseMapper.excelListTwo(qw); for (TwoExcelVo twoExcelVo : twoExcelVos) { @@ -619,26 +942,6 @@ public class ScmVehRebateService extends MybatisBaseService qw = new QueryWrapper<>(); qw.eq("createOrgSid", query.getCreateOrgSid()); - if (StringUtils.isNotBlank(query.getBrandName())) { - qw.like("brandName", query.getBrandName()); - } - if (StringUtils.isNotBlank(query.getVehModelName())) { - qw.like("vehModelName", query.getVehModelName()); - } - if (StringUtils.isNotBlank(query.getVinNo())) { - qw.like("vinNo", query.getVinNo()); - } - if (StringUtils.isNotBlank(query.getRebateTypeKey())) { - qw.eq("rebateTypeKey", query.getRebateTypeKey()); - } - if (StringUtils.isNotBlank(query.getRebateName())) { - qw.like("rebateName", query.getRebateName()); - } - String createStartTime = query.getCreateStartTime(); - String createEndTime = query.getCreateEndTime(); - qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). - apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" - ); qw.eq("adjustmentState", 0); qw.eq("state", 2); if (query.getSidList().size() > 0) { @@ -1194,15 +1497,17 @@ public class ScmVehRebateService extends MybatisBaseService infos = importReturn.getInfos(); for (OneExcelInfo info : infos) { - ScmVehRebateVo scmVehRebateVo = baseMapper.selectByVinNoAndOrgSid(info.getVinNo(), info.getRebateTypeValue(), info.getRebateName(), info.getPalceGenDate(), info.getEstimateRebate(), useOrgSid); - String uploadDate = ""; - if (isNumber(info.getUploadDate())) { - Date javaDate = new Date((long) ((Double.valueOf(info.getUploadDate()) - 25569) * 86400 * 1000)); - uploadDate = DateUtil.formatDate(javaDate); - } else { - uploadDate = info.getUploadDate(); + if (StringUtils.isNotBlank(info.getUploadDate()) && StringUtils.isNotBlank(info.getUploadMoney())) { + ScmVehRebateVo scmVehRebateVo = baseMapper.selectByVinNoAndOrgSid(info.getVinNo(), info.getRebateTypeValue(), info.getRebateName(), info.getPalceGenDate(), info.getEstimateRebate(), useOrgSid); + String uploadDate = ""; + if (isNumber(info.getUploadDate())) { + Date javaDate = new Date((long) ((Double.valueOf(info.getUploadDate()) - 25569) * 86400 * 1000)); + uploadDate = DateUtil.formatDate(javaDate); + } else { + uploadDate = info.getUploadDate(); + } + baseMapper.updateOneExcelInfo(uploadDate, info.getUploadMoney(), info.getStayDetermineMoney(), info.getOnceTreatCost(), info.getOnceSuppCost(), info.getOnceSuppRemark(), info.getAdjustmentRemarks(), info.getIsAdjustment(), info.getAdjustmentMoney(), info.getDiffAmount(), scmVehRebateVo.getSid()); } - baseMapper.updateOneExcelInfo(uploadDate, info.getUploadMoney(), info.getStayDetermineMoney(), info.getOnceTreatCost(), info.getOnceSuppCost(), info.getOnceSuppRemark(), info.getAdjustmentRemarks(), info.getIsAdjustment(), info.getAdjustmentMoney(), info.getDiffAmount(), scmVehRebateVo.getSid()); } return rb.success().setMsg("成功导入数据,请点击确定按钮"); } @@ -1437,13 +1742,6 @@ public class ScmVehRebateService extends MybatisBaseService 0) { - excelInfo.setIsAdjustment("否"); - excelInfo.setAdjustmentMoney("0"); - } else if (i == 0) { - if (scflje.compareTo(ytfy) > 0) { - excelInfo.setIsAdjustment("是"); - excelInfo.setAdjustmentMoney(tzje.toString()); - } else if (scflje.compareTo(ytfy) == 0) { - excelInfo.setIsAdjustment("是"); - excelInfo.setAdjustmentMoney(tzje.toString()); - } else if (scflje.compareTo(ytfy) < 0) { + if (StringUtils.isNotBlank(excelInfo.getUploadDate()) && StringUtils.isNotBlank(excelInfo.getUploadMoney())) { + int i = new BigDecimal(excelInfo.getStayDetermineMoney()).compareTo(BigDecimal.ZERO); + //上传返利金额 + BigDecimal scflje = new BigDecimal(excelInfo.getUploadMoney()).subtract(new BigDecimal(excelInfo.getStayDetermineMoney())).subtract(new BigDecimal(excelInfo.getOnceTreatCost())).subtract(new BigDecimal(excelInfo.getOnceSuppCost())); + //预提返利-其中预提费用 + BigDecimal ytfy = new BigDecimal(excelInfo.getEstimateRebate()).subtract(new BigDecimal(excelInfo.getWithholdCost())); + //调整金额 + BigDecimal tzje = new BigDecimal(excelInfo.getUploadMoney()).subtract(new BigDecimal(excelInfo.getStayDetermineMoney())).subtract(new BigDecimal(excelInfo.getOnceTreatCost())).subtract(new BigDecimal(excelInfo.getOnceSuppCost())).subtract(new BigDecimal(excelInfo.getEstimateRebate())).add(new BigDecimal(excelInfo.getWithholdCost())); + if (i > 0) { excelInfo.setIsAdjustment("否"); excelInfo.setAdjustmentMoney("0"); + } else if (i == 0) { + if (scflje.compareTo(ytfy) > 0) { + excelInfo.setIsAdjustment("是"); + excelInfo.setAdjustmentMoney(tzje.toString()); + } else if (scflje.compareTo(ytfy) == 0) { + excelInfo.setIsAdjustment("是"); + excelInfo.setAdjustmentMoney(tzje.toString()); + } else if (scflje.compareTo(ytfy) < 0) { + excelInfo.setIsAdjustment("否"); + excelInfo.setAdjustmentMoney("0"); + } } + excelInfo.setDiffAmount(scflje.subtract(ytfy).toString()); } - excelInfo.setDiffAmount(scflje.subtract(ytfy).toString()); } } StringBuffer sbcheck1 = new StringBuffer(); @@ -1634,15 +1930,17 @@ public class ScmVehRebateService extends MybatisBaseService infos = importReturn.getInfos(); for (TwoExcelInfo info : infos) { - ScmVehRebateVo scmVehRebateVo = baseMapper.selectByVinNoAndOrgSid(info.getVinNo(), info.getRebateTypeValue(), info.getRebateName(), info.getPalceGenDate(), info.getEstimateRebate(), useOrgSid); - String secondaryUploadDate = ""; - if (isNumber(info.getSecondaryUploadDate())) { - Date javaDate = new Date((long) ((Double.valueOf(info.getSecondaryUploadDate()) - 25569) * 86400 * 1000)); - secondaryUploadDate = DateUtil.formatDate(javaDate); - } else { - secondaryUploadDate = info.getSecondaryUploadDate(); + if (StringUtils.isNotBlank(info.getSecondaryUploadDate()) && StringUtils.isNotBlank(info.getSecondaryUploadMoney())) { + ScmVehRebateVo scmVehRebateVo = baseMapper.selectByVinNoAndOrgSid(info.getVinNo(), info.getRebateTypeValue(), info.getRebateName(), info.getPalceGenDate(), info.getEstimateRebate(), useOrgSid); + String secondaryUploadDate = ""; + if (isNumber(info.getSecondaryUploadDate())) { + Date javaDate = new Date((long) ((Double.valueOf(info.getSecondaryUploadDate()) - 25569) * 86400 * 1000)); + secondaryUploadDate = DateUtil.formatDate(javaDate); + } else { + secondaryUploadDate = info.getSecondaryUploadDate(); + } + baseMapper.updateTwoExcelInfo(secondaryUploadDate, info.getSecondaryUploadMoney(), info.getSecondTreatCost(), info.getSecondSuppCost(), info.getSecondSuppRemark(), info.getAdjustmentRemarks(), info.getIsAdjustment(), info.getAdjustmentMoney(), info.getDiffAmount(), scmVehRebateVo.getSid()); } - baseMapper.updateTwoExcelInfo(secondaryUploadDate, info.getSecondaryUploadMoney(), info.getSecondTreatCost(), info.getSecondSuppCost(), info.getSecondSuppRemark(), info.getAdjustmentRemarks(), info.getIsAdjustment(), info.getAdjustmentMoney(), info.getDiffAmount(), scmVehRebateVo.getSid()); } return rb.success().setMsg("成功导入数据,请点击确定按钮"); } @@ -1889,13 +2187,6 @@ public class ScmVehRebateService extends MybatisBaseService 0) { - excelInfo.setIsAdjustment("否"); - excelInfo.setAdjustmentMoney("0"); - } else if (i == 0) { - if (scflje.compareTo(ytfy) > 0) { - excelInfo.setIsAdjustment("是"); - excelInfo.setAdjustmentMoney(tzje.toString()); - } else if (scflje.compareTo(ytfy) == 0) { - excelInfo.setIsAdjustment("是"); - excelInfo.setAdjustmentMoney(tzje.toString()); - } else if (scflje.compareTo(ytfy) < 0) { + if (StringUtils.isNotBlank(excelInfo.getSecondaryUploadDate()) && StringUtils.isNotBlank(excelInfo.getSecondaryUploadMoney())) { + int i = new BigDecimal(excelInfo.getStayDetermineMoney()).compareTo(BigDecimal.ZERO); + //上传返利金额 + BigDecimal scflje = new BigDecimal(excelInfo.getUploadMoney()).add(new BigDecimal(excelInfo.getSecondaryUploadMoney())).subtract(new BigDecimal(excelInfo.getStayDetermineMoney())).subtract(new BigDecimal(excelInfo.getQzMoney())).subtract(new BigDecimal(excelInfo.getSecondTreatCost())).subtract(new BigDecimal(excelInfo.getSecondSuppCost())); + //预提返利-其中预提费用 + BigDecimal ytfy = new BigDecimal(excelInfo.getEstimateRebate()).subtract(new BigDecimal(excelInfo.getWithholdCost())); + //调整金额 + BigDecimal tzje = new BigDecimal(excelInfo.getUploadMoney()).add(new BigDecimal(excelInfo.getSecondaryUploadMoney())).subtract(new BigDecimal(excelInfo.getStayDetermineMoney())).subtract(new BigDecimal(excelInfo.getQzMoney())).subtract(new BigDecimal(excelInfo.getSecondTreatCost())).subtract(new BigDecimal(excelInfo.getSecondSuppCost())).subtract(new BigDecimal(excelInfo.getEstimateRebate())).add(new BigDecimal(excelInfo.getWithholdCost())); + if (i > 0) { excelInfo.setIsAdjustment("否"); excelInfo.setAdjustmentMoney("0"); + } else if (i == 0) { + if (scflje.compareTo(ytfy) > 0) { + excelInfo.setIsAdjustment("是"); + excelInfo.setAdjustmentMoney(tzje.toString()); + } else if (scflje.compareTo(ytfy) == 0) { + excelInfo.setIsAdjustment("是"); + excelInfo.setAdjustmentMoney(tzje.toString()); + } else if (scflje.compareTo(ytfy) < 0) { + excelInfo.setIsAdjustment("否"); + excelInfo.setAdjustmentMoney("0"); + } } + excelInfo.setDiffAmount(scflje.subtract(ytfy).toString()); } - excelInfo.setDiffAmount(scflje.subtract(ytfy).toString()); } } StringBuffer sbcheck1 = new StringBuffer(); @@ -2115,6 +2408,12 @@ public class ScmVehRebateService extends MybatisBaseService excelList(ScmVehRebateQuery query) { QueryWrapper qw = new QueryWrapper<>(); //========================================数据授权开始 @@ -2181,11 +2480,60 @@ public class ScmVehRebateService extends MybatisBaseService wrapper.eq("uploadDate", "") + .or().isNull("uploadDate") + ); + } else { + qw.ne("uploadDate", ""); + qw.isNotNull("uploadDate"); + } + } + if (StringUtils.isNotBlank(query.getIsAdjustment())) { + qw.eq("isAdjustment", query.getIsAdjustment()); + } + if (StringUtils.isNotBlank(query.getIsUploadFinish())) { + if (query.getIsUploadFinish().equals("1")) { + qw.eq("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0); + } else { + qw.ne("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0); + } + } + if (StringUtils.isNotBlank(query.getOnceCheckState())) { + qw.eq("onceCheckState", query.getOnceCheckState()); + } + if (StringUtils.isNotBlank(query.getSecondUploadState())) { + if (query.getSecondUploadState().equals("1")) { + qw.isNotNull("secondaryUploadMoney"); + qw.ne("secondaryUploadMoney", ""); + qw.ne("secondaryUploadMoney", 0); + qw.eq("isAdjustment", "是"); + } else { + qw.and(wrapper -> wrapper.eq("isAdjustment", '否').or().isNull("secondaryUploadMoney").or().eq("secondaryUploadMoney", "")); + } + } String createStartTime = query.getCreateStartTime(); String createEndTime = query.getCreateEndTime(); qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" ); + String uploadStartDate = query.getUploadStartDate(); + String uploadEndDate = query.getUploadEndDate(); + qw.apply(StringUtils.isNotBlank(uploadStartDate), "date_format (uploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(uploadEndDate), "date_format (uploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d')"). + or(). + apply(StringUtils.isNotBlank(uploadStartDate), "date_format (secondaryUploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(uploadEndDate), "date_format (secondaryUploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d')" + ); qw.orderByDesc("createTime"); List scmVehRebateExcelVos = baseMapper.excelList(qw); for (ScmVehRebateExcelVo scmVehRebateExcelVo : scmVehRebateExcelVos) { @@ -2208,13 +2556,6 @@ public class ScmVehRebateService extends MybatisBaseService SELECT svc.*, - SUM(svr.`estimateRebate`) estimateRebate, - SUM(svr.`uploadMoney`) uploadMoney, - SUM(svr.`stayDetermineMoney`) stayDetermineMoney, - SUM(svr.`adjustmentMoney`) adjustmentMoney, + SUM(svr.estimateRebate) estimateRebate, + SUM(svr.uploadMoney) uploadMoney, + SUM(svr.stayDetermineMoney) stayDetermineMoney, + SUM(svr.adjustmentMoney) adjustmentMoney, SUM(svr.onceTreatCost + svr.onceSuppCost + svr.secondTreatCost + svr.secondSuppCost) money, SUM(svr.expectTreatCost + svr.expectSuppCost) withholdCost FROM scm_vehrebate_checkapply svc LEFT JOIN scm_vehrebate_checkapplydetail svcd - ON svc.`sid` = svcd.`mainSid` + ON svc.sid = svcd.mainSid LEFT JOIN scm_veh_rebate svr - ON svr.`sid` = svcd.`vehRebateSid` + ON svr.sid = svcd.vehRebateSid ${ew.sqlSegment} diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java index 76267c4a1a..9e2ec01a35 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java @@ -30,6 +30,7 @@ import cn.hutool.core.date.DateUtil; 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.base.api.basevehicle.BaseVehicle; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutFeign; @@ -83,11 +84,13 @@ import com.yxt.messagecenter.api.message.MessageFlowableQuery; import com.yxt.messagecenter.api.messagelist.MessageList; import com.yxt.messagecenter.api.messagelist.MessageListFeign; import org.apache.commons.lang3.StringUtils; +import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.*; import java.util.stream.Collectors; import static java.util.Comparator.comparing; @@ -489,7 +492,21 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + Future future1 = pool.submit(() -> { + pushVehRebateWithVoucher(bv.getBusinessSid()); //推送返利核对凭证 + }); + } catch (Exception e) { + e.printStackTrace(); + } + + } else { //极光推送 scmVehrebateCheckapply = fetchBySid(bv.getBusinessSid()); diff --git a/anrui-scm/anrui-scm-biz/src/main/resources/static/专项返利模版.xls b/anrui-scm/anrui-scm-biz/src/main/resources/static/专项返利模版.xls new file mode 100644 index 0000000000..14113c8194 Binary files /dev/null and b/anrui-scm/anrui-scm-biz/src/main/resources/static/专项返利模版.xls differ diff --git a/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatemanagement.js b/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatemanagement.js index 457e7e719c..5e4a6fcec0 100644 --- a/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatemanagement.js +++ b/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatemanagement.js @@ -53,5 +53,14 @@ export default { responseType: 'blob', // 表明返回服务器返回的数据类型 headers: { 'Content-Type': 'application/json' } }) + }, + // 下载模板 + downloadExcel: function() { + return request({ + url: '/scm/v1/scmspecialrebate/downloadExcel', + method: 'post', + responseType: 'blob', // 表明返回服务器返回的数据类型 + headers: { 'Content-Type': 'application/json' } + }) } } diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatetobechecked.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatetobechecked.vue index dc911326db..0b0efb2729 100644 --- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatetobechecked.vue +++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatetobechecked.vue @@ -11,7 +11,7 @@
{{ searchxianshitit }}