Ver Fonte

Merge remote-tracking branch 'origin/master'

liqihao há 1 ano atrás
pai
commit
af3ee6fac2

+ 1 - 0
hx-customer/src/main/java/com/fjhx/customer/contants/XiaomanContant.java

@@ -29,4 +29,5 @@ public class XiaomanContant {
 
     /**小满redis缓存key**/
     public static final String TOKEN_KEY = "xiaoman_token_key";
+    public static final String ALL_CUSTOMER_PAGE_INDEX_KEY = "all_customer_page_index_key";
 }

+ 20 - 12
hx-customer/src/main/java/com/fjhx/customer/service/xiaoman/impl/XiaomanApiServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateField;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.http.HttpUtil;
@@ -29,6 +30,7 @@ import com.fjhx.tenant.entity.dict.dto.DictTenantDataSelectDto;
 import com.fjhx.tenant.entity.dict.po.DictTenantData;
 import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
 import com.fjhx.tenant.service.dict.DictTenantDataService;
+import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.utils.SecurityUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.redis.core.StringRedisTemplate;
@@ -51,24 +53,29 @@ public class XiaomanApiServiceImpl implements XiaomanApiService {
     XiaomanCustomerService xiaomanCustomerService;
     @Resource
     DictTenantDataService dictTenantDataService;
+    @Resource
+    RedisCache redisCache;
 
 //    @DSTransactional
     @Override
     @Async
     public void initAllList() {
-        boolean result = setNxWithExpiration(XiaomanContant.TASK_STATUS_KEY, XiaomanContant.TASK_STATUS_VALUE, XiaomanContant.DELAY_DELETE_KEY_TIME);
-        if (!result) {
-            String mes = stringRedisTemplate.opsForValue().get(XiaomanContant.TASK_STATUS_DESC_KEY);
-            throw new RuntimeException(StrUtil.isBlank(mes)? "全量更新正在进行中" : mes);
-        }
-        stringRedisTemplate.opsForValue().set(XiaomanContant.TASK_STATUS_DESC_KEY, "全量更新正在进行中");
+//        boolean result = setNxWithExpiration(XiaomanContant.TASK_STATUS_KEY, XiaomanContant.TASK_STATUS_VALUE, XiaomanContant.DELAY_DELETE_KEY_TIME);
+//        if (!result) {
+//            String mes = stringRedisTemplate.opsForValue().get(XiaomanContant.TASK_STATUS_DESC_KEY);
+//            throw new RuntimeException(StrUtil.isBlank(mes)? "全量更新正在进行中" : mes);
+//        }
+//        stringRedisTemplate.opsForValue().set(XiaomanContant.TASK_STATUS_DESC_KEY, "全量更新正在进行中");
         try {
             getSelectorData();
 
 
             List<XiaomanCustomerVo> list = xiaomanCustomerService.getList(new XiaomanCustomerSelectDto());
             Set<Long> collect = list.stream().map(XiaomanCustomerVo::getCompanyId).collect(Collectors.toSet());
-            int pageIndex = 1;
+            int pageIndex = redisCache.getCacheObject(XiaomanContant.ALL_CUSTOMER_PAGE_INDEX_KEY);
+            if (!NumberUtil.isValidNumber(pageIndex)) {
+                pageIndex = 1;
+            }
             int totalPage;
             do {
                 XiaomanConfig config = xiaomanConfigService.getCache();
@@ -79,15 +86,16 @@ public class XiaomanApiServiceImpl implements XiaomanApiService {
                 int totalItem = customerListApiVo.getTotalItem();
                 totalPage = (totalItem / XiaomanContant.PAGE_SIZE) + (totalItem % XiaomanContant.PAGE_SIZE > 0 ? 1 : 0);
                 pageIndex++;
+                redisCache.setCacheObject(XiaomanContant.ALL_CUSTOMER_PAGE_INDEX_KEY, pageIndex);
             } while (pageIndex <= totalPage);
         } catch (Exception e) {
             e.printStackTrace();
-            stringRedisTemplate.delete(XiaomanContant.TASK_STATUS_KEY);
-            stringRedisTemplate.opsForValue().set(XiaomanContant.TASK_STATUS_DESC_KEY, "全量更新出现异常,已停止");
-            return;
+//            stringRedisTemplate.delete(XiaomanContant.TASK_STATUS_KEY);
+//            stringRedisTemplate.opsForValue().set(XiaomanContant.TASK_STATUS_DESC_KEY, "全量更新出现异常,已停止");
+//            return;
         }
-        stringRedisTemplate.delete(XiaomanContant.TASK_STATUS_KEY);
-        stringRedisTemplate.opsForValue().set(XiaomanContant.TASK_STATUS_DESC_KEY, "全量更新完成,完成时间:" + DateUtil.now());
+//        stringRedisTemplate.delete(XiaomanContant.TASK_STATUS_KEY);
+//        stringRedisTemplate.opsForValue().set(XiaomanContant.TASK_STATUS_DESC_KEY, "全量更新完成,完成时间:" + DateUtil.now());
     }
 
     /**

+ 6 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/after/dto/AfterSalesDto.java

@@ -1,5 +1,6 @@
 package com.fjhx.sale.entity.after.dto;
 
+import com.fjhx.file.entity.ObsFile;
 import com.fjhx.sale.entity.after.po.AfterSales;
 import com.fjhx.sale.entity.after.po.AfterSalesDetail;
 import lombok.Getter;
@@ -19,4 +20,9 @@ public class AfterSalesDto extends AfterSales {
 
     List<AfterSalesDetail> afterSalesDetailList;
 
+    /**
+     * 附件列表
+     */
+    private List<ObsFile> fileList;
+
 }

+ 5 - 3
hx-sale/src/main/java/com/fjhx/sale/service/after/impl/AfterSalesServiceImpl.java

@@ -1,14 +1,13 @@
 package com.fjhx.sale.service.after.impl;
 
-import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
-import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.common.enums.FlowStatusEnum1;
+import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.flow.entity.flow.po.FlowExample;
 import com.fjhx.flow.enums.FlowStatusEnum;
 import com.fjhx.flow.service.flow.FlowExampleService;
@@ -29,7 +28,6 @@ import com.ruoyi.common.core.domain.BasePo;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.common.utils.wrapper.SqlField;
-import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -117,6 +115,10 @@ public class AfterSalesServiceImpl extends ServiceImpl<AfterSalesMapper, AfterSa
         });
 
         this.saveOrUpdate(dto);
+
+        //售后附件
+        ObsFileUtil.editFile(dto.getFileList(), dto.getId());
+
         for (AfterSalesDetail afterSalesDetail : afterSalesDetailList) {
             afterSalesDetail.setAfterSalesId(dto.getId());
         }

+ 4 - 1
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -678,7 +678,10 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
                 //计数毛利
 
                 //退税金额
-                BigDecimal refundableAmount = contractBudgetVo.getRefundableAmount();
+                ContractBudgetVo cb1 = new ContractBudgetVo();
+                cb1.setEhsdSumAmount(grossProfitInfo.getPurchaseAmount());
+                handleRefundTax(cb1);
+                BigDecimal refundableAmount = cb1.getRefundableAmount();
                 //总收入
                 BigDecimal incomeAmount = grossProfitInfo.getContractRmbAmount().add(refundableAmount);
 

+ 20 - 16
hx-sale/src/main/resources/mapper/contract/ContractMapper.xml

@@ -160,26 +160,30 @@
 
     <select id="getNoPackContractByCustomerId" resultType="com.fjhx.sale.entity.contract.vo.ContractVo">
         SELECT
-        *
-        FROM
-        (
-        SELECT
         t1.*,
         t2.quantity AS cpQuantity,
-        ( SELECT IFNULL( SUM( pd.pack_quantity * pdd.quantity ), 0 ) FROM pack_detail_product pdd LEFT JOIN pack_detail
-        pd ON pdd.pack_detail_id = pd.id WHERE pdd.contract_product_id = t2.id ) AS sumPackQuantity
+        IFNULL( sp.sumPackQuantity, 0 ) sumPackQuantity
         FROM
         contract t1
-        LEFT JOIN contract_product t2 ON t1.id = t2.contract_id
-        <where>
-            <if test="customerId neq null and customerId neq '' ">
-                buy_corporation_id = #{customerId}
-            </if>
-        </where>
-        ) t1
-        WHERE t1.sumPackQuantity &lt; t1.cpQuantity
-        AND t1.`status`=30
-        GROUP BY t1.id
+        JOIN contract_product t2 ON t1.id = t2.contract_id
+        LEFT JOIN (
+        SELECT
+        pdd.contract_product_id,
+        IFNULL( SUM( pd.pack_quantity * pdd.quantity ), 0 ) AS sumPackQuantity
+        FROM
+        pack_detail_product pdd
+        JOIN pack_detail pd ON pdd.pack_detail_id = pd.id
+        GROUP BY
+        pdd.contract_product_id
+        ) sp ON sp.contract_product_id = t2.id
+        WHERE
+        t1.`status` = 30
+        AND IFNULL( sp.sumPackQuantity, 0 ) &lt; t2.quantity
+        <if test="customerId neq null and customerId neq '' ">
+            and buy_corporation_id = #{customerId}
+        </if>
+        GROUP BY
+        t1.id
     </select>
 
     <select id="getSalesTotal" resultType="com.fjhx.sale.entity.contract.vo.ContractVo">