|
|
@@ -2,19 +2,27 @@ package com.ydtech.modules.fnc.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.github.pagehelper.PageHelper;
|
|
|
+import com.github.pagehelper.PageInfo;
|
|
|
import com.ydtech.core.page.HttpResult;
|
|
|
+import com.ydtech.modules.base.controller.BaseController;
|
|
|
import com.ydtech.modules.fnc.dao.SettlementDocumentaryFeesMapper;
|
|
|
+import com.ydtech.modules.fnc.entity.InsPlyIncome;
|
|
|
import com.ydtech.modules.fnc.entity.SettlementDocumentaryFeesEntity;
|
|
|
import com.ydtech.modules.fnc.entity.SettlementDocumentaryLogEntity;
|
|
|
import com.ydtech.modules.fnc.service.SettlementDocumentaryFeesService;
|
|
|
import com.ydtech.modules.fnc.service.SettlementDocumentaryLogService;
|
|
|
import com.ydtech.modules.fnc.vo.SettlementDocumentaryFeesVo;
|
|
|
import com.ydtech.modules.order.entity.BasePageResult;
|
|
|
+import com.ydtech.modules.order.entity.InsOrders;
|
|
|
+import org.apache.commons.lang3.ObjectUtils;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
@@ -22,21 +30,36 @@ import java.util.List;
|
|
|
@Service
|
|
|
public class SettlementDocumentaryFeesServiceImpl extends ServiceImpl<SettlementDocumentaryFeesMapper, SettlementDocumentaryFeesEntity> implements SettlementDocumentaryFeesService {
|
|
|
|
|
|
- @Autowired
|
|
|
- private SettlementDocumentaryLogService settlementDocumentaryLogService;
|
|
|
- @Override
|
|
|
- public BasePageResult<SettlementDocumentaryFeesEntity> querySettle(SettlementDocumentaryFeesVo settlementDocumentaryFeesVo) {
|
|
|
-
|
|
|
- Page<SettlementDocumentaryFeesEntity> page = new Page<>(settlementDocumentaryFeesVo.getPageNum(), settlementDocumentaryFeesVo.getPageSize());
|
|
|
+ @Autowired
|
|
|
+ private SettlementDocumentaryLogService settlementDocumentaryLogService;
|
|
|
|
|
|
- Page<SettlementDocumentaryFeesEntity> resultPage = baseMapper.querySettle(settlementDocumentaryFeesVo,page);
|
|
|
|
|
|
- return new BasePageResult<>(settlementDocumentaryFeesVo.getPageNum(),page.getSize(),resultPage.getTotal(),page.getPages(),resultPage.getRecords());
|
|
|
+ @Override
|
|
|
+ public HttpResult<BasePageResult<SettlementDocumentaryFeesEntity>> querySettle(SettlementDocumentaryFeesVo settlementDocumentaryFeesVo) {
|
|
|
+ try {
|
|
|
+ HashMap<String, Object> params = new HashMap<>();
|
|
|
+ params.put("pageNum", settlementDocumentaryFeesVo.getPageNum());
|
|
|
+ params.put("pageSize", settlementDocumentaryFeesVo.getPageSize());
|
|
|
+ PageInfo<List<SettlementDocumentaryFeesEntity>> pageHelper = null;
|
|
|
+ List<SettlementDocumentaryFeesEntity> list = this.baseMapper.querySettle(params);
|
|
|
+ pageHelper = new PageInfo(list);
|
|
|
+ BasePageResult<SettlementDocumentaryFeesEntity> pageResult = new BasePageResult<SettlementDocumentaryFeesEntity>(settlementDocumentaryFeesVo.getPageNum(), settlementDocumentaryFeesVo.getPageSize(), pageHelper.getTotal(), pageHelper.getPages(), list);
|
|
|
+ return HttpResult.ok(pageResult);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return HttpResult.error("查询异常");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public void inertSettle(SettlementDocumentaryFeesVo settlementDocumentaryFeesVo) {
|
|
|
+ public HttpResult inertSettle(SettlementDocumentaryFeesVo settlementDocumentaryFeesVo) {
|
|
|
+
|
|
|
+
|
|
|
+ int i = this.compareAmount(settlementDocumentaryFeesVo.getTotalAmount(), settlementDocumentaryFeesVo.getSettlementAmount());
|
|
|
+ if (i < 0) {
|
|
|
+ return HttpResult.error("结算金额大于总金额,请重新结算");
|
|
|
+ }
|
|
|
SettlementDocumentaryFeesEntity settlementDocumentaryFeesEntity = new SettlementDocumentaryFeesEntity();
|
|
|
BeanUtils.copyProperties(settlementDocumentaryFeesVo, settlementDocumentaryFeesEntity);
|
|
|
baseMapper.insert(settlementDocumentaryFeesEntity);
|
|
|
@@ -48,15 +71,52 @@ public class SettlementDocumentaryFeesServiceImpl extends ServiceImpl<Settlement
|
|
|
settlementDocumentaryLogEntity.setAmountType("2"); //跟单费结算
|
|
|
settlementDocumentaryLogEntity.setCreateTime(new Date());
|
|
|
settlementDocumentaryLogService.save(settlementDocumentaryLogEntity);
|
|
|
+ return HttpResult.ok("结算成功");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public String checkDate(HashMap<String, Object> params) {
|
|
|
+ public String checkDate(HashMap<String, Object> params) {
|
|
|
|
|
|
- List<SettlementDocumentaryFeesEntity> startList= baseMapper.checkDate(params);
|
|
|
- if(startList.size()>0 ){
|
|
|
+ List<SettlementDocumentaryFeesEntity> startList = baseMapper.checkDate(params);
|
|
|
+ if (startList.size() > 0) {
|
|
|
return "有重复";
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public HttpResult documentarySettle(SettlementDocumentaryFeesVo settlementDocumentaryFeesVo) {
|
|
|
+ SettlementDocumentaryFeesEntity settlementDocumentaryFeesEntity = baseMapper.selectById(settlementDocumentaryFeesVo.getId());
|
|
|
+
|
|
|
+
|
|
|
+ if (settlementDocumentaryFeesVo.getSettlementAmount() != null && ObjectUtils.isNotEmpty(settlementDocumentaryFeesEntity)) {
|
|
|
+
|
|
|
+ int i = this.compareAmount(settlementDocumentaryFeesEntity.getUnsettledAmount(), settlementDocumentaryFeesVo.getSettlementAmount());
|
|
|
+ if (i < 0) {
|
|
|
+ return HttpResult.error("结算金额大于未结算金额,请重新结算");
|
|
|
+ }
|
|
|
+ settlementDocumentaryFeesEntity.setSettlementAmount(settlementDocumentaryFeesEntity.getSettlementAmount().add(settlementDocumentaryFeesVo.getSettlementAmount()));
|
|
|
+ settlementDocumentaryFeesEntity.setUnsettledAmount(settlementDocumentaryFeesEntity.getTotalAmount().subtract(settlementDocumentaryFeesEntity.getSettlementAmount())); //未结算金额
|
|
|
+ baseMapper.updateById(settlementDocumentaryFeesEntity);
|
|
|
+
|
|
|
+// 记录
|
|
|
+// 生成跟单费结算记录
|
|
|
+ SettlementDocumentaryLogEntity settlementDocumentaryLogEntity = new SettlementDocumentaryLogEntity();
|
|
|
+ settlementDocumentaryLogEntity.setAmount(settlementDocumentaryFeesVo.getSettlementAmount()); // 结算金额
|
|
|
+ settlementDocumentaryLogEntity.setSettlementDocumentaryId(settlementDocumentaryFeesEntity.getId()); // 关联id
|
|
|
+ settlementDocumentaryLogEntity.setAmountType("2"); //跟单费结算
|
|
|
+ settlementDocumentaryLogEntity.setCreateTime(new Date());
|
|
|
+ settlementDocumentaryLogService.save(settlementDocumentaryLogEntity);
|
|
|
+ return HttpResult.ok("修改成功");
|
|
|
+
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ private int compareAmount(BigDecimal settlementAmount, BigDecimal settlementAmount1) {
|
|
|
+
|
|
|
+ return settlementAmount.compareTo(settlementAmount1);
|
|
|
+
|
|
|
+ }
|
|
|
}
|