MoneyCostServiceImpl.java 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package vip.xiaonuo.money.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.baomidou.mybatisplus.core.toolkit.StringUtils;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import vip.xiaonuo.common.pojo.CommonResult;
  7. import vip.xiaonuo.money.entity.MoneyCost;
  8. import vip.xiaonuo.money.entity.MoneyProducePrice;
  9. import vip.xiaonuo.money.mapper.MoneyCostMapper;
  10. import vip.xiaonuo.money.param.MoneyInOutPageParam;
  11. import vip.xiaonuo.money.param.MoneyInOutParam;
  12. import vip.xiaonuo.money.service.IMoneyCostService;
  13. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  14. import org.springframework.stereotype.Service;
  15. import vip.xiaonuo.sys.modular.org.entity.SysOrg;
  16. import vip.xiaonuo.sys.modular.org.mapper.SysOrgMapper;
  17. import java.math.BigDecimal;
  18. import java.math.RoundingMode;
  19. import java.text.SimpleDateFormat;
  20. import java.util.*;
  21. /**
  22. * <p>
  23. * 财务费用分析 服务实现类
  24. * </p>
  25. *
  26. * @author author
  27. * @since 2024-11-21
  28. */
  29. @Service
  30. public class MoneyCostServiceImpl extends ServiceImpl<MoneyCostMapper, MoneyCost> implements IMoneyCostService {
  31. @Autowired
  32. private MoneyCostMapper costMapper;
  33. @Autowired
  34. private SysOrgMapper orgMapper;
  35. @Override
  36. public List<MoneyCost> listCost(MoneyInOutParam outParam) {
  37. Calendar calendar = Calendar.getInstance();
  38. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  39. calendar.add(Calendar.MONTH, -11);
  40. String currentDateString = sdf.format(calendar.getTime());
  41. QueryWrapper<MoneyCost> queryWrapper = new QueryWrapper<>();
  42. queryWrapper.ge("create_time", currentDateString);
  43. queryWrapper.eq(StringUtils.isNotBlank(outParam.getOrgId()), "org_id", outParam.getOrgId());
  44. queryWrapper.select(" IFNULL(sum(manage),'0') manage,IFNULL(sum(sale),'0') sale,IFNULL(sum(finance),'0') finance," +
  45. "create_time createTime");
  46. queryWrapper.groupBy("DATE_FORMAT(create_time,'%Y-%m')");
  47. queryWrapper.orderByAsc("create_time");
  48. return costMapper.selectList(queryWrapper);
  49. }
  50. @Override
  51. public CommonResult add(MoneyCost moneyCost) {
  52. String orgId = moneyCost.getOrgId();
  53. if ("".equals(orgId) || null == orgId) {
  54. return CommonResult.error("公司不能为空");
  55. }
  56. SysOrg sysOrg = orgMapper.selectById(orgId);
  57. moneyCost.setCompany(sysOrg.getName());
  58. costMapper.insert(moneyCost);
  59. return CommonResult.ok();
  60. }
  61. @Override
  62. public CommonResult update(MoneyCost moneyCost) {
  63. costMapper.updateById(moneyCost);
  64. return CommonResult.ok();
  65. }
  66. @Override
  67. public CommonResult delete(Map<String, String> paramsMap) {
  68. String id = paramsMap.get("id");
  69. costMapper.deleteById(id);
  70. return CommonResult.ok();
  71. }
  72. @Override
  73. public CommonResult page(MoneyInOutPageParam pageParam) {
  74. QueryWrapper<MoneyCost> queryWrapper = new QueryWrapper<>();
  75. queryWrapper.eq(StringUtils.isNotBlank(pageParam.getOrgId()), "org_id", pageParam.getOrgId());
  76. Page<MoneyCost> page = new Page<>(pageParam.getPageNum(), pageParam.getPageSize());
  77. Page<MoneyCost> page1 = costMapper.selectPage(page, queryWrapper);
  78. List<MoneyCost> records = page1.getRecords();
  79. for (MoneyCost record : records) {
  80. record.setFinance(record.getFinance());
  81. record.setManage(record.getManage());
  82. record.setSale(record.getSale());
  83. }
  84. return CommonResult.data(page1);
  85. }
  86. }