|
|
|
@@ -1608,33 +1608,6 @@ public class WxFinanceServiceImpl implements WxFinanceService { |
|
|
|
return wxFinanceFinishMapper.selectById(id, tenantEntity.getTenantId()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void saveOrUpdateFinish(WxFinanceFinish record,MallUserInfo user) { |
|
|
|
Date date = new Date(); |
|
|
|
if (record.getId() == null) { |
|
|
|
final IdWorker idWorker = IdWorker.get(); |
|
|
|
record.setId(idWorker.nextId()); |
|
|
|
record.setCreateTime(date); |
|
|
|
record.setCreateBy(user.getId()); |
|
|
|
record.setCreateByName(user.getName()); |
|
|
|
record.setUpdateTime(date); |
|
|
|
record.setUpdateBy(user.getId()); |
|
|
|
record.setUpdateByName(user.getName()); |
|
|
|
record.setStatus(EnumFinanceFinishStatus.READY.getCode()); |
|
|
|
try { |
|
|
|
wxFinanceFinishMapper.insert(record); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("保存失败,e:" + e.getMessage()); |
|
|
|
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); |
|
|
|
} |
|
|
|
} else { |
|
|
|
record.setUpdateTime(date); |
|
|
|
record.setUpdateBy(user.getId()); |
|
|
|
record.setUpdateByName(user.getName()); |
|
|
|
wxFinanceFinishMapper.updateById(record); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public WxFinanceReceiveSumVo getReceiveSum(WxFinanceReceive record) { |
|
|
|
initQueryParam(record); |
|
|
|
@@ -1650,7 +1623,7 @@ public class WxFinanceServiceImpl implements WxFinanceService { |
|
|
|
WxFinanceFinish ff = new WxFinanceFinish(); |
|
|
|
ff.updateTenantInfo(record); |
|
|
|
ff.setId(finish.getId()); |
|
|
|
ff.setStatus(EnumFinanceFinishStatus.COMPLETE.getCode()); |
|
|
|
ff.setStatus(EnumFinanceFinishStatus.AUDITED.getCode()); |
|
|
|
ff.setUpdateTime(new Date()); |
|
|
|
ff.setUpdateBy(user.getId()); |
|
|
|
ff.setUpdateByName(user.getName()); |
|
|
|
@@ -1682,7 +1655,7 @@ public class WxFinanceServiceImpl implements WxFinanceService { |
|
|
|
WxFinanceFinish ff = new WxFinanceFinish(); |
|
|
|
ff.updateTenantInfo(record); |
|
|
|
ff.setId(record.getId()); |
|
|
|
ff.setStatus(EnumFinanceFinishStatus.COMPLETE.getCode()); |
|
|
|
ff.setStatus(EnumFinanceFinishStatus.AUDITED.getCode()); |
|
|
|
ff.setUpdateTime(new Date()); |
|
|
|
ff.setUpdateBy(user.getId()); |
|
|
|
ff.setUpdateByName(user.getName()); |
|
|
|
@@ -1830,5 +1803,68 @@ public class WxFinanceServiceImpl implements WxFinanceService { |
|
|
|
} |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) |
|
|
|
@Override |
|
|
|
public void saveOrUpdateFinish(WxFinanceFinish record,MallUserInfo user) { |
|
|
|
WxFinanceReceive fr = new WxFinanceReceive(); |
|
|
|
fr.updateTenantInfo(record); |
|
|
|
fr.setIds(record.getReceiveIds()); |
|
|
|
WxFinanceReceiveSumVo vo = wxFinanceReceiveMapper.getReceiveSum(fr); |
|
|
|
BigDecimal receive = new BigDecimal(0); |
|
|
|
if (StringUtils.isNotBlank(vo.getTotalReceive())){ |
|
|
|
receive = new BigDecimal(vo.getTotalReceive()); |
|
|
|
} |
|
|
|
BigDecimal pay = new BigDecimal(0); |
|
|
|
if (StringUtils.isNotBlank(vo.getTotalPay())){ |
|
|
|
pay = new BigDecimal(vo.getTotalPay()); |
|
|
|
} |
|
|
|
record.setTotal(receive.subtract(pay).toPlainString()); |
|
|
|
|
|
|
|
//删除之前的单据关联 |
|
|
|
WxFinanceFinishReceive frdel = new WxFinanceFinishReceive(); |
|
|
|
frdel.updateTenantInfo(record); |
|
|
|
frdel.setFinishId(record.getId());; |
|
|
|
wxFinanceFinishReceiveMapper.deleteByCondition(frdel); |
|
|
|
|
|
|
|
final IdWorker idWorker = IdWorker.get(); |
|
|
|
Date date = new Date(); |
|
|
|
if (record.getId() == null) { |
|
|
|
record.setId(idWorker.nextId()); |
|
|
|
record.setCreateTime(date); |
|
|
|
record.setCreateBy(user.getId()); |
|
|
|
record.setCreateByName(user.getName()); |
|
|
|
record.setUpdateTime(date); |
|
|
|
record.setUpdateBy(user.getId()); |
|
|
|
record.setUpdateByName(user.getName()); |
|
|
|
record.setStatus(EnumFinanceFinishStatus.UN_AUDIT.getCode()); |
|
|
|
try { |
|
|
|
wxFinanceFinishMapper.insert(record); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("保存失败,e:" + e.getMessage()); |
|
|
|
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); |
|
|
|
} |
|
|
|
} else { |
|
|
|
record.setUpdateTime(date); |
|
|
|
record.setUpdateBy(user.getId()); |
|
|
|
record.setUpdateByName(user.getName()); |
|
|
|
wxFinanceFinishMapper.updateById(record); |
|
|
|
} |
|
|
|
|
|
|
|
//新增关联 |
|
|
|
for (int i = 0 ; i < record.getReceiveIds().size() ; i ++) { |
|
|
|
Long receiveId = record.getReceiveIds().get(i); |
|
|
|
WxFinanceFinishReceive ffr = new WxFinanceFinishReceive(); |
|
|
|
ffr.updateTenantInfo(record); |
|
|
|
ffr.setId(idWorker.nextId()); |
|
|
|
ffr.setCreateTime(new Date()); |
|
|
|
ffr.setUpdateTime(new Date()); |
|
|
|
ffr.setStatus(record.getStatus()); |
|
|
|
ffr.setFinishId(record.getId()); |
|
|
|
ffr.setReceiveId(receiveId); |
|
|
|
wxFinanceFinishReceiveMapper.insert(ffr); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |