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<CoalCategoryMapper, CoalCategory> implements CoalCategoryService {
|
|
@Resource
|
private CoalCategoryMapper coalCategoryMapper;
|
|
|
@Override
|
public CoalCategory selectCoalCategoryById(Long id) {
|
return coalCategoryMapper.selectById(id);
|
}
|
|
/**
|
* 煤矿工种类别列表
|
* @param coalCategory
|
* @return
|
*/
|
@Override
|
public List<CoalCategory> 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<CategoryCount> countCategory(CountReq countReq) {
|
// SysUser user = SecurityUtils.getLoginUser().getUser();
|
// countReq.setDeptId(user.getDeptId());
|
List<CategoryCount> categoryCounts = coalCategoryMapper.countCategory(countReq);
|
List<CateGoryTheory> 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;
|
}
|
|
}
|