diff --git a/anrui-base/anrui-base-biz/pom.xml b/anrui-base/anrui-base-biz/pom.xml index 2559db65ed..38b1022006 100644 --- a/anrui-base/anrui-base-biz/pom.xml +++ b/anrui-base/anrui-base-biz/pom.xml @@ -2,12 +2,17 @@ - - com.yxt - yxt-parent + + com.yxt + yxt-parent + 0.0.1 + + + 4.0.0 @@ -16,6 +21,11 @@ 0.0.1 + + anrui-reportcenter-api + com.yxt.anrui + 0.0.1-SNAPSHOT + com.yxt.messagecenter message-center-api diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java index 24218ee78d..a9a172c38a 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java @@ -12,7 +12,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; "com.yxt.common.base.config", "com.yxt.anrui.base" }) -@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.buscenter", "com.yxt.anrui.riskcenter", "com.yxt.anrui.scm","com.yxt.anrui.crm","com.yxt.anrui.flowable","com.yxt.anrui.fin","com.yxt.messagecenter"}) +@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.buscenter", "com.yxt.anrui.riskcenter", "com.yxt.anrui.scm","com.yxt.anrui.crm","com.yxt.anrui.flowable","com.yxt.anrui.fin","com.yxt.messagecenter","com.yxt.anrui.reportcenter"}) public class BaseApplication { public static void main(String[] args) { diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyMapper.java index 65e477c861..6e3d03f0c5 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyMapper.java @@ -31,6 +31,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.anrui.base.api.baseaccadjapply.AppCompanyAdjustVo; import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleDetailsVo; +import com.yxt.anrui.scm.api.scmvehiclegression.ScmVehicleGression; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -58,4 +59,8 @@ public interface BaseAccadjApplyMapper extends BaseMapper { String selectNum(String bill); AppCompanyAdjustVo getCompanyAdjust(String sid); + + ScmVehicleGression selectByLocationAndVin(@Param("locationSid") String locationSid, @Param("vinSid") String sid); + + int selectCOuntByScmSid(String sid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyMapper.xml index 518d8c5817..1451c2949b 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyMapper.xml @@ -84,4 +84,13 @@ from base_accadj_apply where sid = #{sid} + + + \ 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 41e24c37b9..5e5417515a 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 @@ -31,6 +31,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; 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.baseaccadjapply.*; import com.yxt.anrui.base.api.baseaccadjapply.flow.BaseAccAdjApplyTaskQuery; import com.yxt.anrui.base.api.baseaccadjapply.flow.GetNodeQuery; @@ -38,6 +39,7 @@ 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.baseaccadjapply.AppVehicleVersionVo; +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.basepurchasesystem.BasePurchaseSystemDetailsVo; @@ -55,6 +57,10 @@ import com.yxt.anrui.base.common.enums.ManPurOrderType; import com.yxt.anrui.base.common.enums.VehicleState; import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.base.common.utils.domain.BillNo; +import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApply; +import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.BusDeliveredApplyDetails; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; +import com.yxt.anrui.buscenter.api.bussalesordersubmit.BusSalesOrderSubmit; import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordSourceLCVo; import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; @@ -81,19 +87,25 @@ 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.UserRoleQuery; +import com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfitDto; +import com.yxt.anrui.reportcenter.api.carsSoldProfit.CarsSoldProfitFeign; import com.yxt.anrui.riskcenter.api.loandiff.LoanDiff; import com.yxt.anrui.riskcenter.api.loandiff.LoanDiffInitDetails; import com.yxt.anrui.riskcenter.api.loandiff.LoanDiffPdfVo; import com.yxt.anrui.riskcenter.api.loandiffdetails.LoanDiffDetailssVo; +import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; import com.yxt.anrui.scm.api.scmapplyinboundquery.ScmApplyInboundQueryDto; import com.yxt.anrui.scm.api.scmapplyinboundquery.ScmApplyInboundQueryFeign; import com.yxt.anrui.scm.api.scmapplyinboundvehquery.ScmApplyInboundVehQueryDto; +import com.yxt.anrui.scm.api.scmvehiclegression.ScmVehicleGression; import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseFeign; import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseVo; import com.yxt.common.base.utils.ConstantUtils; import com.yxt.common.base.utils.WordUtils; import com.yxt.messagecenter.api.message.Message; import com.yxt.messagecenter.api.message.MessageFeign; +import com.yxt.messagecenter.api.message.MessageFlowVo; +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; @@ -102,11 +114,15 @@ import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; +import java.util.concurrent.*; import java.util.stream.Collectors; import static java.util.Comparator.comparing; @@ -154,6 +170,8 @@ public class BaseAccadjApplyService extends MybatisBaseService listPageVo(PagerQuery pq) { BaseAccadjApplyQuery query = pq.getParams(); @@ -712,6 +730,21 @@ public class BaseAccadjApplyService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + BaseAccadjApply finalBaseAccadjApply = baseAccadjApply; + Future future1 = pool.submit(() -> { + pushCarSoldProfit(finalBaseAccadjApply); + }); + } catch (Exception e) { + e.printStackTrace(); + } + } return rb.success().setData(resultBean.getData()); } else { @@ -719,6 +752,79 @@ public class BaseAccadjApplyService extends MybatisBaseService dtoList = new ArrayList<>(); + if("调出".equals(baseAccadjApply.getAccadjTypeValue())){ + List detailsList = baseAccadjApplyeVehService.selectByMainSid(baseAccadjApply.getSid()); + detailsList.removeAll(Collections.singleton(null)); + if (!detailsList.isEmpty()) { + for (int i = 0; i < detailsList.size(); i++) { + BaseAccadjApplyeVeh baseAccadjApplyeVeh = detailsList.get(i); + BaseInternalPurchaseVehicle baseInternalPurchaseVehicle = baseInternalPurchaseVehicleService.fetchBySid(baseAccadjApplyeVeh.getPurchaseSid()); + BaseVehicle baseVehicle= baseVehicleService.selVehicleByVinNoAndOrgSid(baseInternalPurchaseVehicle.getVinNo(), baseAccadjApply.getCallOutOrgSid()); + SysUserVo sysUserVo = sysUserFeign.fetchBySid(baseAccadjApply.getCreateBySid()).getData(); + CarsSoldProfitDto carsSoldProfitDto = new CarsSoldProfitDto(); + if(sysUserVo != null){ + carsSoldProfitDto.setStaffSid(sysUserVo.getStaffSid());//销售专员 + carsSoldProfitDto.setStaffName(sysUserVo.getName()); + carsSoldProfitDto.setCustomerSid(baseAccadjApply.getCallInOrgSid()); + carsSoldProfitDto.setCustomerName(baseAccadjApply.getCallInOrgName()); + } + //车辆台账中取 + carsSoldProfitDto.setOrgSidPath(baseVehicle.getOrgSidPath()); + //分公司 + carsSoldProfitDto.setUseOrgSid(baseVehicle.getUseOrgSid()); + carsSoldProfitDto.setUseOrgName(baseVehicle.getUseOrgName()); + //销售日期 + carsSoldProfitDto.setSaleDate(new Date()); + //车架号 + carsSoldProfitDto.setVinNo(baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8)); + carsSoldProfitDto.setVinSid(baseVehicle.getSid()); + //车型 + carsSoldProfitDto.setVehModelSid(baseVehicle.getModelSid()); + carsSoldProfitDto.setVehMConfigSid(baseVehicle.getModelConfigSid()); + //采购系统 + carsSoldProfitDto.setPurchaseSystemSid(baseVehicle.getPurchaseSystemSid()); + carsSoldProfitDto.setPurchaseSystemName(baseVehicle.getPurchaseSystemName()); + //入库价-内销价格 + carsSoldProfitDto.setCostPrice(baseInternalPurchaseVehicle.getInitialWitPinMoney()); + //出库价 + carsSoldProfitDto.setExStockPrice(baseInternalPurchaseVehicle.getWitPinMoney()); + //存放地点 + carsSoldProfitDto.setLocationSid(baseVehicle.getLocation()); + carsSoldProfitDto.setLocationName(baseVehicle.getLocationName()); + //排产订单编号 + carsSoldProfitDto.setSchedulingId(baseVehicle.getOrderingNo()); + //数据日期 + carsSoldProfitDto.setCreateDate(new Date()); + //事业部 + List stringList = Arrays.asList(carsSoldProfitDto.getOrgSidPath().split("/")); + String busSid = stringList.get(1); + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(busSid).getData(); + carsSoldProfitDto.setDivision(sysOrganization.getName()); + carsSoldProfitDto.setDivisionSid(busSid); + dtoList.add(carsSoldProfitDto); + //查询存放地点变更的申请经费以及台数 + ScmVehicleGression scmVehicleGression = baseMapper.selectByLocationAndVin(carsSoldProfitDto.getLocationSid(),baseVehicle.getSid()); + if(scmVehicleGression != null){ + BigDecimal allMon = BigDecimal.ZERO; + String applicantFunds = scmVehicleGression.getApplicantFunds(); + int vount = baseMapper.selectCOuntByScmSid(scmVehicleGression.getSid()); + if(StringUtils.isNotBlank(applicantFunds) && new BigDecimal(applicantFunds).compareTo(BigDecimal.ZERO)>0){ + allMon = new BigDecimal(applicantFunds).divide(new BigDecimal(vount),2, RoundingMode.HALF_UP); + } + carsSoldProfitDto.setMoveCarPrice(allMon.toString()); + } + } + } + if (!dtoList.isEmpty()) { + ResultBean resultBean = carsSoldProfitFeign.saveOrUpdate(dtoList); + } + } + + } + + //调车调账构造销售出库单数据 private void createSalOutStock(BaseAccadjApply baseAccadjApply) { //获取车辆台账表中的采购部门sid diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapplyeveh/BaseAccadjApplyeVehMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapplyeveh/BaseAccadjApplyeVehMapper.java index 2c2dbe430b..26805996c8 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapplyeveh/BaseAccadjApplyeVehMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapplyeveh/BaseAccadjApplyeVehMapper.java @@ -55,4 +55,6 @@ public interface BaseAccadjApplyeVehMapper extends BaseMapper fetchByAccSidAndCallOutOrgSid(@Param("sid") String sid, @Param("callOutOrgSid") String callOutOrgSid); List getListBySid(String sid); + + List selectByMainSid(String sid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapplyeveh/BaseAccadjApplyeVehMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapplyeveh/BaseAccadjApplyeVehMapper.xml index 16f7035232..7ce2e5224c 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapplyeveh/BaseAccadjApplyeVehMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapplyeveh/BaseAccadjApplyeVehMapper.xml @@ -52,4 +52,8 @@ on av.purchaseSid = pv.sid where av.accadjSid = #{sid} + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapplyeveh/BaseAccadjApplyeVehService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapplyeveh/BaseAccadjApplyeVehService.java index 2425a64f77..4b20b1fe49 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapplyeveh/BaseAccadjApplyeVehService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapplyeveh/BaseAccadjApplyeVehService.java @@ -111,4 +111,8 @@ public class BaseAccadjApplyeVehService extends MybatisBaseService getListBySid(String sid) { return baseMapper.getListBySid(sid); } + + public List selectByMainSid(String sid) { + return baseMapper.selectByMainSid(sid); + } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml index 5b13b46929..ecc127e287 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml @@ -249,6 +249,6 @@ \ 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 ffbbdd13c3..51e6822cd7 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 @@ -1444,19 +1444,13 @@ public class BusDeliveredApplyService extends MybatisBaseService