package com.gkhy.exam.pay.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.exam.pay.dto.rep.CateGoryTheory; import com.gkhy.exam.pay.dto.rep.CategoryCount; import com.gkhy.exam.pay.dto.req.CountReq; import com.gkhy.exam.pay.entity.CoalCategory; import com.gkhy.exam.pay.entity.CoalTicket; import com.gkhy.exam.pay.mapper.CoalCategoryMapper; import com.gkhy.exam.pay.service.CoalCategoryService; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.exception.BusinessException; import com.ruoyi.common.utils.SecurityUtils; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Arrays; import java.util.Date; import java.util.List; import static com.ruoyi.common.core.domain.AjaxResult.success; @Service public class CoalCategoryServiceImpl extends ServiceImpl implements CoalCategoryService { @Resource private CoalCategoryMapper coalCategoryMapper; @Override public CoalCategory selectCoalCategoryById(Long id) { return coalCategoryMapper.selectById(id); } /** * 煤矿工种类别列表 * @param coalCategory * @return */ @Override public List selectCoalCategoryList(CoalCategory coalCategory) { return coalCategoryMapper.selectCoalCategoryList(coalCategory); } /** * 新增煤矿工种类别 * @param coalCategory * @return */ @Override public int insertCoalCategory(CoalCategory coalCategory) { checkCoalCategory(coalCategory); coalCategory.setCreateBy(SecurityUtils.getUsername()); coalCategory.setCreateTime(new Date()); return coalCategoryMapper.insertCoalCategory(coalCategory); } private void checkCoalCategory(CoalCategory coalCategory) { int i = coalCategoryMapper.selectByCoalCategory(coalCategory); if (i>0){ throw new RuntimeException("该工种已存在,请勿重复添加"); } } /** * 修改煤矿工种类别 * @param coalCategory * @return */ @Override public int updateCoalCategory(CoalCategory coalCategory) { checkCoalCategory(coalCategory); coalCategory.setUpdateBy(SecurityUtils.getUsername()); coalCategory.setUpdateTime(new Date()); return coalCategoryMapper.updateCategoryById(coalCategory); } /** * 删除煤矿工种类别 * @param ids * @return */ @Override public int deleteCoalCategoryByIds(Long[] ids) { return coalCategoryMapper.updateBatchByIds(ids); } @Override public int saveCoalTicket(CoalTicket coalTicket) { return coalCategoryMapper.saveCoalTicket(coalTicket); } @Override public int updateCoalTicket(CoalTicket coalTicket) { return coalCategoryMapper.updateCoalTicket(coalTicket); } @Override public CoalTicket ticketList() { return coalCategoryMapper.selectCoalTicket(); } @Override public List countCategory(CountReq countReq) { // SysUser user = SecurityUtils.getLoginUser().getUser(); // countReq.setDeptId(user.getDeptId()); List categoryCounts = coalCategoryMapper.countCategory(countReq); List cateGoryTheories = coalCategoryMapper.countThroey(countReq); for (CateGoryTheory cateGoryTheory : cateGoryTheories) { CategoryCount categoryCount = new CategoryCount(); categoryCount.setAmount(cateGoryTheory.getAmount()); categoryCount.setCategoryType(1); categoryCount.setNum(cateGoryTheory.getNum()); categoryCount.setSubjectName(cateGoryTheory.getPayTypeName()); categoryCounts.add(categoryCount); } for (CategoryCount categoryCount : categoryCounts) { categoryCount.setTotalMoney(categoryCount.getAmount().multiply(BigDecimal.valueOf(categoryCount.getNum()))); if (categoryCount.getCategoryType()==1){ categoryCount.setTurnContent(BigDecimal.valueOf(categoryCount.getNum()*6)); categoryCount.setAutonomy(categoryCount.getTotalMoney().subtract(categoryCount.getTurnContent())); }else { categoryCount.setTurnContent(BigDecimal.valueOf(categoryCount.getNum()*3)); categoryCount.setAutonomy(categoryCount.getTotalMoney().subtract(categoryCount.getTurnContent())); } } return categoryCounts; } }