Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

wxf 2 vuotta sitten
vanhempi
commit
4f35f3ec95
17 muutettua tiedostoa jossa 245 lisäystä ja 17 poistoa
  1. 1 1
      hx-account/src/main/java/com/fjhx/account/entity/account/enums/PaymentTypeEnum.java
  2. 8 0
      hx-purchase/src/main/java/com/fjhx/purchase/controller/refund/RefundController.java
  3. 50 0
      hx-purchase/src/main/java/com/fjhx/purchase/entity/pay/enums/PayTypeEnum.java
  4. 26 0
      hx-purchase/src/main/java/com/fjhx/purchase/entity/refund/dto/RefundDto.java
  5. 50 0
      hx-purchase/src/main/java/com/fjhx/purchase/entity/refund/enums/RefundEnum.java
  6. 1 1
      hx-purchase/src/main/java/com/fjhx/purchase/entity/refund/enums/RefundStatusEnum.java
  7. 4 0
      hx-purchase/src/main/java/com/fjhx/purchase/entity/refund/po/Refund.java
  8. 10 0
      hx-purchase/src/main/java/com/fjhx/purchase/entity/subscribe/po/Subscribe.java
  9. 11 0
      hx-purchase/src/main/java/com/fjhx/purchase/entity/subscribe/vo/SubscribeDetailVo.java
  10. 8 0
      hx-purchase/src/main/java/com/fjhx/purchase/flow/PayFlow.java
  11. 8 0
      hx-purchase/src/main/java/com/fjhx/purchase/service/arrival/impl/ArrivalDetailServiceImpl.java
  12. 1 1
      hx-purchase/src/main/java/com/fjhx/purchase/service/purchase/impl/PurchaseServiceImpl.java
  13. 5 0
      hx-purchase/src/main/java/com/fjhx/purchase/service/refund/RefundService.java
  14. 53 0
      hx-purchase/src/main/java/com/fjhx/purchase/service/refund/impl/RefundServiceImpl.java
  15. 6 0
      hx-purchase/src/main/java/com/fjhx/purchase/service/subscribe/impl/SubscribeDetailServiceImpl.java
  16. 1 14
      hx-purchase/src/main/resources/mapper/purchase/PurchaseMapper.xml
  17. 2 0
      hx-purchase/src/main/resources/mapper/subscribe/SubscribeDetailMapper.xml

+ 1 - 1
hx-account/src/main/java/com/fjhx/account/entity/account/enums/PaymentTypeEnum.java

@@ -9,7 +9,7 @@ import java.util.Map;
 public enum PaymentTypeEnum {
     UNDER_REVIEW("10", "请款"),
     REJECT("20", "采购付款"),
-
+    RECEIVE("30", "退货到款登记"),
     ;
     private String key;
 

+ 8 - 0
hx-purchase/src/main/java/com/fjhx/purchase/controller/refund/RefundController.java

@@ -65,4 +65,12 @@ public class RefundController {
         refundService.delete(dto.getId());
     }
 
+    /**
+     * 退款管理删除
+     */
+    @PostMapping("/receipt/registration")
+    public void receiptRegistration(@RequestBody RefundDto dto) {
+        refundService.receiptRegistration(dto);
+    }
+
 }

+ 50 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/pay/enums/PayTypeEnum.java

@@ -0,0 +1,50 @@
+package com.fjhx.purchase.entity.pay.enums;
+
+import org.apache.commons.collections4.MapUtils;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * 退货付款状态枚举
+ */
+public enum PayTypeEnum {
+    TYPE_0(0, "未退款"),
+    TYPE_10(0, "部分退款"),
+    TYPE_20(10, "已退款"),
+    ;
+    private int key;
+
+    private String value;
+
+    private static Map<Integer, String> map = new LinkedHashMap<>();
+
+    PayTypeEnum(int key, String value) {
+        this.key = key;
+        this.value = value;
+    }
+
+    /**
+     * 获取枚举map
+     *
+     * @return
+     */
+    public static Map<Integer, String> getMap() {
+        if (MapUtils.isNotEmpty(map)) {
+            return map;
+        }
+        for (PayTypeEnum ms : values()) {
+            map.put(ms.key, ms.value);
+        }
+        return map;
+    }
+
+    public int getKey() {
+        return key;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+}

+ 26 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/refund/dto/RefundDto.java

@@ -4,6 +4,8 @@ import com.fjhx.purchase.entity.refund.po.Refund;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * 退款管理新增编辑入参实体
  *
@@ -14,4 +16,28 @@ import lombok.Setter;
 @Setter
 public class RefundDto extends Refund {
 
+    /**
+     * 到款账户ID
+     */
+    private Long receiptAccountManagementId;
+
+    /**
+     * 到款金额
+     */
+    private BigDecimal receiptAmount;
+
+    /**
+     * 对方户名
+     */
+    private String receiptName;
+
+    /**
+     * 对方开户银行
+     */
+    private String receiptOpeningBank;
+
+    /**
+     * 对方银行账号
+     */
+    private String receiptAccountOpening;
 }

+ 50 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/refund/enums/RefundEnum.java

@@ -0,0 +1,50 @@
+package com.fjhx.purchase.entity.refund.enums;
+
+import org.apache.commons.collections4.MapUtils;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * 退款状态枚举
+ */
+public enum RefundEnum {
+    RE_0(0, "草稿"),
+    RE_10(10, "部分退款"),
+    RE_20(20, "已退款"),
+    ;
+    private int key;
+
+    private String value;
+
+    private static Map<Integer, String> map = new LinkedHashMap<>();
+
+    RefundEnum(int key, String value) {
+        this.key = key;
+        this.value = value;
+    }
+
+    /**
+     * 获取枚举map
+     *
+     * @return
+     */
+    public static Map<Integer, String> getMap() {
+        if (MapUtils.isNotEmpty(map)) {
+            return map;
+        }
+        for (RefundEnum ms : values()) {
+            map.put(ms.key, ms.value);
+        }
+        return map;
+    }
+
+    public int getKey() {
+        return key;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+}

+ 1 - 1
hx-purchase/src/main/java/com/fjhx/purchase/entity/refund/enums/RefundStatusEnum.java

@@ -6,7 +6,7 @@ import java.util.LinkedHashMap;
 import java.util.Map;
 
 /**
- * 退款状态枚举
+ * 退款审批状态枚举
  */
 public enum RefundStatusEnum {
     DRAFT(0, "草稿"),

+ 4 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/refund/po/Refund.java

@@ -74,6 +74,10 @@ public class Refund extends BasePo {
     private Date approvedDate;
 
     /**
+     * 币种
+     */
+    private String currency;
+    /**
      * 退款明细
      */
     @TableField(exist = false)

+ 10 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/subscribe/po/Subscribe.java

@@ -64,6 +64,16 @@ public class Subscribe extends BasePo {
     private String processInstanceId;
 
     /**
+     * 收货仓库ID
+     */
+    private Long putWarehouseId;
+
+    /**
+     * 要求到货时间
+     */
+    private Date requiredArrivalTime;
+
+    /**
      * 是否删除
      */
     private Integer delFlag;

+ 11 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/subscribe/vo/SubscribeDetailVo.java

@@ -5,6 +5,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.math.BigDecimal;
+import java.util.Date;
 
 /**
  * 申购单列表查询返回值实体
@@ -48,4 +49,14 @@ public class SubscribeDetailVo extends SubscribeDetail {
 
     /**维多利亚扩展json*/
     private String victoriatouristJson;
+
+    /**
+     * 要求到货时间
+     */
+    private Date requiredArrivalTime;
+
+    /**
+     * 收货仓库ID
+     */
+    private Long putWarehouseId;
 }

+ 8 - 0
hx-purchase/src/main/java/com/fjhx/purchase/flow/PayFlow.java

@@ -90,6 +90,14 @@ public class PayFlow extends FlowDelegate {
         payment.setType(PaymentTypeEnum.REJECT.getKey());
         payment.setStatus(PaymentStatusEnum.UNDER_REVIEW.getKey());
         payment.setAmount(pay.getAmount());
+        payment.setIncomeAmount(pay.getAmount());
+        payment.setName(pay.getName());
+        payment.setBusinessManagementId(pay.getAccountManagementId());
+        payment.setOpeningBank(pay.getOpeningBank());
+        payment.setBusinessCurrency(pay.getCurrency());
+        payment.setAccountOpening(pay.getAccountOpening());
+        payment.setInterbankNumber(pay.getInterbankNumber());
+        payment.setPaymentMethod(pay.getPayType()==null?null:pay.getPayType().toString());
         accountPaymentService.save(payment);
     }
 }

+ 8 - 0
hx-purchase/src/main/java/com/fjhx/purchase/service/arrival/impl/ArrivalDetailServiceImpl.java

@@ -20,6 +20,8 @@ import com.fjhx.purchase.service.arrival.ArrivalDetailService;
 import com.fjhx.purchase.service.quality.QualityDetailService;
 import com.fjhx.supply.service.supplier.SupplierInfoService;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.wrapper.SqlField;
 import org.apache.commons.collections4.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -64,6 +66,12 @@ public class ArrivalDetailServiceImpl extends ServiceImpl<ArrivalDetailMapper, A
     @Override
     public Page<ArrivalDetailVo> getPage(ArrivalDetailSelectDto dto) {
         IWrapper<ArrivalDetail> wrapper = getWrapper();
+        if(StringUtils.isNotEmpty(dto.getStatus())){
+            wrapper.eq("t1", PurchaseDetail::getStatus,dto.getStatus());
+        }
+        if(StringUtils.isNotEmpty(dto.getKeyword())){
+            wrapper.keyword(dto.getKeyword(),new SqlField("t2.code"));
+        }
         wrapper.eq("t1", PurchaseDetail::getStatus, dto.getStatus());
         wrapper.orderByDesc("t1", ArrivalDetail::getCreateTime);
         wrapper.groupBy("t1.id");

+ 1 - 1
hx-purchase/src/main/java/com/fjhx/purchase/service/purchase/impl/PurchaseServiceImpl.java

@@ -186,7 +186,7 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchaseMapper, Purchase> i
         if(StringUtils.isEmpty(supplyId)){
             throw new ServiceException("供应商ID不能为空");
         }
-        List<Purchase> list = this.list(Wrappers.<Purchase>query().lambda().eq(Purchase::getSupplyId,supplyId));
+        List<Purchase> list = this.list(Wrappers.<Purchase>query().lambda().eq(Purchase::getSupplyId,supplyId).eq(Purchase::getPurchaseStatus,PurchaseStatusEnum.PASS.getKey()));
         List<Long> ids = list.stream().distinct().map(Purchase::getId).collect(Collectors.toList());
         List<InvoiceDetailsVo> invoiceDetailsList = invoiceDetailsService.getSumMoneyByPurchaseIds(ids);
         Map<Long,BigDecimal> invoiceMap = invoiceDetailsList.stream().collect(Collectors.toMap(InvoiceDetailsVo::getPurchaseId,InvoiceDetailsVo::getSumMoney));

+ 5 - 0
hx-purchase/src/main/java/com/fjhx/purchase/service/refund/RefundService.java

@@ -46,5 +46,10 @@ public interface RefundService extends BaseService<Refund> {
      */
     void delete(Long id);
 
+    /**
+     * 退款管理删除
+     */
+    void receiptRegistration(RefundDto refundDto);
+
 
 }

+ 53 - 0
hx-purchase/src/main/java/com/fjhx/purchase/service/refund/impl/RefundServiceImpl.java

@@ -1,21 +1,30 @@
 package com.fjhx.purchase.service.refund.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.account.entity.account.enums.PaymentStatusEnum;
+import com.fjhx.account.entity.account.enums.PaymentTypeEnum;
+import com.fjhx.account.entity.account.po.AccountDeptRunningWater;
 import com.fjhx.account.entity.account.po.AccountPayment;
+import com.fjhx.account.entity.account.po.AccountRunningWater;
 import com.fjhx.account.service.account.AccountPaymentService;
+import com.fjhx.account.service.account.AccountRunningWaterService;
 import com.fjhx.purchase.entity.refund.dto.RefundDto;
 import com.fjhx.purchase.entity.refund.dto.RefundSelectDto;
+import com.fjhx.purchase.entity.refund.enums.RefundEnum;
+import com.fjhx.purchase.entity.refund.enums.RefundStatusEnum;
 import com.fjhx.purchase.entity.refund.po.Refund;
 import com.fjhx.purchase.entity.refund.vo.RefundVo;
 import com.fjhx.purchase.mapper.refund.RefundMapper;
 import com.fjhx.purchase.service.refund.RefundService;
 import com.fjhx.supply.entity.supplier.po.SupplierInfo;
 import com.fjhx.supply.service.supplier.SupplierInfoService;
+import com.obs.services.internal.ServiceException;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.common.utils.wrapper.SqlField;
@@ -46,6 +55,8 @@ public class RefundServiceImpl extends ServiceImpl<RefundMapper, Refund> impleme
     @Autowired
     private AccountPaymentService accountPaymentService;
 
+    @Autowired
+    private AccountRunningWaterService accountRunningWaterService;
 
     @Override
     public Page<RefundVo> getPage(RefundSelectDto dto) {
@@ -109,4 +120,46 @@ public class RefundServiceImpl extends ServiceImpl<RefundMapper, Refund> impleme
         this.removeById(id);
     }
 
+    /**
+     * 到款登记
+     * @param refundDto
+     */
+    @Override
+    @DSTransactional
+    public void receiptRegistration(RefundDto refundDto) {
+        if(ObjectUtils.isEmpty(refundDto.getId())||
+                ObjectUtils.isEmpty(refundDto.getReceiptAmount())||
+                ObjectUtils.isEmpty(refundDto.getReceiptAccountManagementId())){
+            throw new ServiceException("参数异常");
+        }
+        Refund refund = this.getById(refundDto.getId());
+        if(ObjectUtils.isEmpty(refund)){
+            throw new ServiceException("退货单不存在");
+        }
+        //判断当前所收的金额修改退款状态
+        BigDecimal newAmount = refundDto.getReceiptAmount();
+        List<AccountRunningWater> accountRunningWaters = accountRunningWaterService.list(Wrappers.<AccountRunningWater>query().lambda().select(AccountRunningWater::getAmount).eq(AccountRunningWater::getBusinessId,refund.getId()));
+        BigDecimal sumAmount = accountRunningWaters.stream().map(AccountRunningWater::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+        if(ObjectUtils.isNotEmpty(sumAmount)){
+            if((sumAmount.add(newAmount)).compareTo(refund.getAmount())>-1){//已退款
+                refund.setRefundStatus(RefundEnum.RE_20.getKey());
+            }else{//部分退款
+                refund.setRefundStatus(RefundEnum.RE_10.getKey());
+            }
+        }
+        this.updateById(refund);
+        //添加一条资金流水
+        AccountRunningWater accountRunningWater = new AccountRunningWater();
+        accountRunningWater.setAccountManagementId(refundDto.getReceiptAccountManagementId());
+        accountRunningWater.setStatus("10");
+        accountRunningWater.setBusinessId(refund.getId());
+        accountRunningWater.setAmount(refundDto.getReceiptAmount());
+        accountRunningWater.setCurrency(refund.getCurrency());
+        accountRunningWater.setReceived("20");
+        accountRunningWater.setName(refundDto.getReceiptName());
+        accountRunningWater.setOpeningBank(refundDto.getReceiptOpeningBank());
+        accountRunningWater.setAccountOpening(refundDto.getReceiptAccountOpening());
+        accountRunningWaterService.save(accountRunningWater);
+    }
+
 }

+ 6 - 0
hx-purchase/src/main/java/com/fjhx/purchase/service/subscribe/impl/SubscribeDetailServiceImpl.java

@@ -11,6 +11,7 @@ import com.fjhx.item.entity.product.vo.ProductInfoVo;
 import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.purchase.entity.subscribe.dto.SubscribeDetailDto;
 import com.fjhx.purchase.entity.subscribe.dto.SubscribeDetailSelectDto;
+import com.fjhx.purchase.entity.subscribe.po.Subscribe;
 import com.fjhx.purchase.entity.subscribe.po.SubscribeDetail;
 import com.fjhx.purchase.entity.subscribe.vo.SubscribeDetailVo;
 import com.fjhx.purchase.mapper.subscribe.SubscribeDetailMapper;
@@ -18,7 +19,9 @@ import com.fjhx.purchase.service.subscribe.SubscribeDetailService;
 import com.fjhx.wms.entity.warehouse.po.Warehouse;
 import com.fjhx.wms.service.warehouse.WarehouseService;
 import com.obs.services.internal.ServiceException;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.common.utils.wrapper.SqlField;
 import org.apache.commons.collections4.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -77,6 +80,9 @@ public class SubscribeDetailServiceImpl extends ServiceImpl<SubscribeDetailMappe
         if (CollectionUtils.isNotEmpty(productIds)) {
             wrapper.in("t1", SubscribeDetail::getBussinessId, productIds);
         }
+        if(StringUtils.isNotEmpty(dto.getKeyword())){
+            wrapper.like("t2", Subscribe::getCode,dto.getKeyword());
+        }
         wrapper.orderByDesc("t1", SubscribeDetail::getCreateTime);
         Page<SubscribeDetailVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<SubscribeDetailVo> list = page.getRecords();

+ 1 - 14
hx-purchase/src/main/resources/mapper/purchase/PurchaseMapper.xml

@@ -3,20 +3,7 @@
 <mapper namespace="com.fjhx.purchase.mapper.purchase.PurchaseMapper">
     <select id="getPage" resultType="com.fjhx.purchase.entity.purchase.vo.PurchaseVo">
         select
-            p.id,
-            p.dept_name,
-            p.purchase_name,
-            p.purchase_time,
-            p.code,
-            p.supply_id,
-            p.purchase_content,
-            p.purchase_status,
-            p.approved_date,
-            p.process_instance_id,
-            p.create_user,
-            p.create_time,
-            p.update_user,
-            p.update_time
+            p.*
         from purchase p
             ${ew.customSqlSegment}
     </select>

+ 2 - 0
hx-purchase/src/main/resources/mapper/subscribe/SubscribeDetailMapper.xml

@@ -9,6 +9,8 @@
             t2.subcribe_time AS subcribeTime,
             t2.subcribe_name AS subcribeName,
             t2.id AS subcribeId,
+            t2.required_arrival_time AS requiredArrivalTime,
+            t2.put_warehouse_id AS putWarehouseId,
             t2.victoriatourist_json
         FROM
             subscribe_detail t1