Browse Source

添加了报价单的数据

wxf 2 years ago
parent
commit
2ec2ef16b1

+ 1 - 4
hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountDeptRunningWater.java

@@ -19,10 +19,7 @@ import lombok.Setter;
 @TableName("account_dept_running_water")
 public class AccountDeptRunningWater extends BasePo {
 
-    /**
-     * 部门ID
-     */
-    private Long deptId;
+
 
     /**
      * 资金流水表ID

+ 58 - 14
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountDeptRunningWaterDetailServiceImpl.java

@@ -86,10 +86,66 @@ public class AccountDeptRunningWaterDetailServiceImpl extends ServiceImpl<Accoun
     @Override
     @Transactional(rollbackFor = {Exception.class})
     public void add(AccountRunningWaterVo accountRunningWaterVo) {
-
+        //判断是调整部门还是分拆(是否存在资金流水分拆部门表)
+        List<AccountDeptRunningWaterDetail> deptRunningWaterDetailList = accountRunningWaterVo.getDeptRunningWaterDetailList();
         //修改资金流水-账户表的的分拆类型为已分拆
         AccountDeptRunningWater accountDeptRunningWater = new AccountDeptRunningWater();
-        List<AccountDeptRunningWaterDetail> deptRunningWaterDetailList = accountRunningWaterVo.getDeptRunningWaterDetailList();
+
+        if (ObjectUtil.isNotEmpty(deptRunningWaterDetailList)){//分拆功能
+            //分拆功能 添加或者修改资金流水分拆部门表的数据
+          saveOrEditAccountDeptRunningWaterDetail(accountRunningWaterVo,accountDeptRunningWater,deptRunningWaterDetailList);
+        }else {//调整部门功能
+            AccountDeptRunningWaterDetail accountDeptRunningWaterDetail = new AccountDeptRunningWaterDetail();
+            accountDeptRunningWaterDetail.setDeptRunningWaterId(accountRunningWaterVo.getAccountDeptRunningWaterId());
+            accountDeptRunningWaterDetail.setDeptId(accountRunningWaterVo.getDeptId());
+            accountDeptRunningWaterDetail.setAmount(accountRunningWaterVo.getAmount());
+            //如果部门-资金流水关联表ID不为null修改资金流水分拆部门表的数据
+           if (ObjectUtil.isNotEmpty(accountRunningWaterVo.getAccountDeptRunningWaterId())){
+               accountDeptRunningWater.setRunningWaterId(accountRunningWaterVo.getId());
+               accountDeptRunningWater.setType("10");
+               //查询部门-资金流水关联表的数据(获取到部门-资金流水关联表中的数据是否分拆,如果是分拆则删除资金流水分拆部门表的数据,否则修改资金流水分拆部门表的数据在添加资金流水分拆部门表的数据)
+               AccountDeptRunningWater accountDeptRunningWater1 = accountDeptRunningWaterService.getById(accountRunningWaterVo.getAccountDeptRunningWaterId());
+               if (accountDeptRunningWater1.getType().equals("20")){
+                   accountDeptRunningWater.setId(accountRunningWaterVo.getAccountDeptRunningWaterId());
+                  accountDeptRunningWaterService.updateById(accountDeptRunningWater);
+                   //删除资金流水分拆部门表的数据
+                   baseMapper.delete(Wrappers.<AccountDeptRunningWaterDetail>lambdaQuery()
+                           .eq(AccountDeptRunningWaterDetail::getDeptRunningWaterId,accountRunningWaterVo.getAccountDeptRunningWaterId()));
+                   baseMapper.insert(accountDeptRunningWaterDetail);
+
+               }else if (accountDeptRunningWater1.getType().equals("10")){
+                   //修改资金流水分拆部门表的数据的数据
+                   baseMapper.update(accountDeptRunningWaterDetail,Wrappers.<AccountDeptRunningWaterDetail>lambdaQuery()
+                           .eq(AccountDeptRunningWaterDetail::getDeptRunningWaterId,accountRunningWaterVo.getAccountDeptRunningWaterId()));
+               }
+           }else {//如果部门-资金流水关联表ID为null添加资金流水分拆部门表的数据
+               //添加部门-资金流水关联表的信息
+               accountDeptRunningWaterService.save(accountDeptRunningWater);
+               accountDeptRunningWaterDetail.setDeptRunningWaterId(accountDeptRunningWater.getId());
+               baseMapper.insert(accountDeptRunningWaterDetail);
+           }
+        }
+
+
+
+    }
+
+    @Override
+    public void edit(AccountDeptRunningWaterDetailDto accountDeptRunningWaterDetailDto) {
+        this.updateById(accountDeptRunningWaterDetailDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+    //分拆功能 添加或者修改资金流水分拆部门表的数据
+    private void saveOrEditAccountDeptRunningWaterDetail(AccountRunningWaterVo accountRunningWaterVo,
+                                                         AccountDeptRunningWater accountDeptRunningWater,
+                                                         List<AccountDeptRunningWaterDetail> deptRunningWaterDetailList
+    ){
+        //如果存在部门-资金流水关联表的ID则修改
         if (ObjectUtil.isNotEmpty(accountRunningWaterVo.getAccountDeptRunningWaterId())){
             accountDeptRunningWater.setId(accountRunningWaterVo.getAccountDeptRunningWaterId());
             accountDeptRunningWater.setType("20");
@@ -110,7 +166,6 @@ public class AccountDeptRunningWaterDetailServiceImpl extends ServiceImpl<Accoun
             accountDeptRunningWater.setType("20");
             accountDeptRunningWaterService.save(accountDeptRunningWater);
         }
-
         //获取分拆部门详情中ID为null的数据
         deptRunningWaterDetailList = deptRunningWaterDetailList.stream()
                 .filter(deptRunningWaterDetail->deptRunningWaterDetail.getId()==null)
@@ -121,17 +176,6 @@ public class AccountDeptRunningWaterDetailServiceImpl extends ServiceImpl<Accoun
                 .setDeptRunningWaterId(accountRunningWaterVo.getAccountDeptRunningWaterId()));
 
         this.saveBatch(deptRunningWaterDetailList);
-
-    }
-
-    @Override
-    public void edit(AccountDeptRunningWaterDetailDto accountDeptRunningWaterDetailDto) {
-        this.updateById(accountDeptRunningWaterDetailDto);
-    }
-
-    @Override
-    public void delete(Long id) {
-        this.removeById(id);
     }
 
 }

+ 6 - 6
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountDeptRunningWaterServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fjhx.account.service.account.impl;
 
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.conditions.interfaces.Func;
@@ -27,10 +28,7 @@ import com.fjhx.account.entity.account.dto.AccountDeptRunningWaterDto;
 import cn.hutool.core.bean.BeanUtil;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 
@@ -138,8 +136,10 @@ public class AccountDeptRunningWaterServiceImpl extends ServiceImpl<AccountDeptR
 
         //查询资金流水表的信息
         QueryWrapper<Object> query = Wrappers.query();
-        query.ge("DATE_FORMAT(ar.create_time,'%Y-%m')",dto.getBeginTime());
-        query.le("DATE_FORMAT(ar.create_time,'%Y-%m')",dto.getEndTime());
+        Date beginTime = dto.getBeginTime();
+        Date endTime = dto.getEndTime();
+        query.ge("DATE_FORMAT(ar.create_time,'%Y-%m')", DateUtil.format(dto.getBeginTime(),"yyyy-MM"));
+        query.le("DATE_FORMAT(ar.create_time,'%Y-%m')", DateUtil.format(dto.getEndTime(),"yyyy-MM"));
         query.in("wd.dept_id",deptIds);
         query.groupBy("wd.dept_id","time");
         //切换数据源

+ 1 - 1
hx-sale/src/main/java/com/fjhx/sale/controller/sale/SaleQuotationController.java

@@ -59,7 +59,7 @@ public class SaleQuotationController {
      * 最新跟进(客户画像)
      */
     @PostMapping("/latestFollowUp")
-    public List<Map<String,Object>> latestFollowUp(@RequestBody CustomerDto dto) {
+    public  Page<SaleQuotationVo> latestFollowUp(@RequestBody CustomerSelectDto dto) {
         return  saleQuotationService.latestFollowUp(dto);
     }
 

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/sale/vo/SaleQuotationVo.java

@@ -75,6 +75,11 @@ public class SaleQuotationVo extends SaleQuotation {
      */
     private String buyDetailedAddress;
 
+    /**
+     * 合同编码
+     */
+    private String contractCode;
+
 
 
 }

+ 3 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/sale/SaleQuotationMapper.java

@@ -1,6 +1,7 @@
 package com.fjhx.sale.mapper.sale;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fjhx.customer.entity.customer.dto.CustomerDto;
 import com.fjhx.customer.entity.customer.dto.CustomerSelectDto;
 import com.fjhx.sale.entity.sale.po.SaleQuotation;
@@ -42,4 +43,6 @@ public interface SaleQuotationMapper extends BaseMapper<SaleQuotation> {
     List<SaleQuotationVo> getAmount(CustomerDto dto);
 
     Page<SaleQuotationVo> saleDetail(@Param("page") Page<Object> page,@Param("dto") CustomerSelectDto dto);
+
+    Page<SaleQuotationVo> latestFollowUp(@Param("page") Page<Object> page,@Param("ew") QueryWrapper<Object> orderByDesc);
 }

+ 1 - 1
hx-sale/src/main/java/com/fjhx/sale/service/sale/SaleQuotationService.java

@@ -70,7 +70,7 @@ public interface SaleQuotationService extends BaseService<SaleQuotation> {
     /**
      * 最新跟进(客户画像)
      */
-    List<Map<String,Object>> latestFollowUp(CustomerDto dto);
+    Page<SaleQuotationVo> latestFollowUp(CustomerSelectDto dto);
 
     /**
      * 销售统计(客户画像)

+ 5 - 11
hx-sale/src/main/java/com/fjhx/sale/service/sale/impl/SaleQuotationServiceImpl.java

@@ -180,17 +180,11 @@ public class SaleQuotationServiceImpl extends ServiceImpl<SaleQuotationMapper, S
      * 最新跟进(客户画像)
      */
     @Override
-    public List<Map<String,Object>> latestFollowUp(CustomerDto dto) {
-
-//        //切换数据源
-//        DynamicDataSourceContextHolder.push(SourceConstant.SALE);
-//        //查询这个客户的报价列表
-//        saleQuotationService.page(,Wrappers.<SaleQuotation>lambdaQuery()
-//                .eq(SaleQuotation::getBuyCorporationId,dto.getId()).orderByDesc(SaleQuotation::getCreateTime));
-//
-//        //查询客户的合同列表
-//        contractService.list();
-        return null;
+    public Page<SaleQuotationVo> latestFollowUp(CustomerSelectDto dto) {
+        Page<SaleQuotationVo> saleQuotationVoPage = baseMapper.latestFollowUp(dto.getPage(), Wrappers.query().eq("buy_corporation_id", dto.getId())
+                .orderByDesc("create_time"));
+
+        return saleQuotationVoPage;
     }
 
     /**

+ 22 - 0
hx-sale/src/main/resources/mapper/sale/SaleQuotationMapper.xml

@@ -90,4 +90,26 @@
             buy_corporation_id = #{dto.id}
     </select>
 
+    <select id="latestFollowUp" resultType="com.fjhx.sale.entity.sale.vo.SaleQuotationVo">
+        (SELECT
+            id,
+            amount,
+            create_time,
+            NULL AS contractCode,
+            10 as type
+        FROM
+            sale_quotation
+        ${ew.customSqlSegment})
+        UNION
+        (SELECT
+            id,
+            amount,
+            create_time,
+            code as contractCode,
+            20 as type
+        FROM
+            contract
+        ${ew.customSqlSegment})
+    </select>
+
 </mapper>