| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- 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;
- @Service
- public class SettlementDocumentaryFeesServiceImpl extends ServiceImpl<SettlementDocumentaryFeesMapper, SettlementDocumentaryFeesEntity> implements SettlementDocumentaryFeesService {
- @Autowired
- private SettlementDocumentaryLogService settlementDocumentaryLogService;
- @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 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);
- // 生成跟单费结算记录
- 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("结算成功");
- }
- @Override
- public String checkDate(HashMap<String, Object> params) {
- 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);
- }
- }
|