package com.changhong.epc.admin.service.cost.impl; import com.changhong.epc.admin.mapper.centen.cost.CostGroupTypeMapper; import com.changhong.epc.admin.mapper.centen.cost.CostTypeTemplateMapper; import com.changhong.epc.admin.service.cost.CostGroupTypeService; import com.changhong.epc.admin.service.cost.CostTypeTemplateService; import com.changhong.epc.bean.admin.CostFromTemplate; import com.changhong.epc.bean.admin.CostGroupType; import com.changhong.epc.bean.admin.CostTypeTemplate; import com.changhong.epc.bean.admin.extend.CostGroupTypeExtend; import com.changhong.epc.bean.admin.extend.CostTypeTemplateExtend; import com.iemsoft.framework.cloud.core.tools.ObjectUtil; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.List; @Service("costTypeTemplateServiceImpl") public class CostTypeTemplateServiceImpl implements CostTypeTemplateService { @Resource private CostTypeTemplateMapper costTypeTemplateMapper; @Resource private CostGroupTypeMapper costGroupTypeMapper; @Resource private CostGroupTypeService costGroupTypeService; @Override public CostTypeTemplateExtend getCostTypeTemplate(Integer ctId) { return costTypeTemplateMapper.getCostTypeTemplate(ctId); } /** * 分页查询所有费用类型组信息 * * @return */ @Override public List selectByPage(CostTypeTemplate costTypeTemplate) { return costTypeTemplateMapper.selectByPage(costTypeTemplate); } /** * 修改费用组类型信息 * * @return */ @Override public int updateCostType(CostTypeTemplate costTypeTemplate) { return costTypeTemplateMapper.updateByPrimaryKeySelective(costTypeTemplate); } /** * 添加费用组类型信息 * * @return */ @Override public CostTypeTemplate addCostType(CostTypeTemplate costTypeTemplate) { costTypeTemplate.initParam(); // costTypeTemplateMapper.insertSelective(costTypeTemplate); costTypeTemplateMapper.insert(costTypeTemplate); // System.err.println(costTypeTemplate); return costTypeTemplate; } /** * 删除费用组类型信息 * * @return */ @Override public int deleteCostType(List costTypeTemplate) { CostTypeTemplate costTemplate = new CostTypeTemplate(); int count = 0; if (ObjectUtil.empty(costTypeTemplate)) { return count; } costTemplate.setDataStart(99); for (String ct : costTypeTemplate) { costTemplate.setId(Integer.parseInt(ct)); count += costTypeTemplateMapper.updateByPrimaryKeySelective(costTemplate); } return count; } /** * zz * 通过name查询费用类型模板 */ public List getCostTypeTemplateByName(String name) { return costTypeTemplateMapper.getCostTypeTemplateByName(name); } /** * 新增模板及添加费用类型 * zz */ public int addTemplateAndCostType(CostTypeTemplate costTypeTemplate, List constGroupTypes) { int count = 0; //创建模板 costTypeTemplate.initParam(); count += costTypeTemplateMapper.createTemplate(costTypeTemplate); //查询模板id List costTypeTemplate1 = costTypeTemplateMapper.getCostTypeTemplateByName(costTypeTemplate.getName()); int gid = costTypeTemplate1.get(0).getId(); //添加费用类型 for (CostGroupTypeExtend costGroupTypeExtend : constGroupTypes) { count += costGroupTypeMapper.addCostType(costGroupTypeExtend, gid); } return count; } public List getCostTypeByTemId(int id) { List costTypeByTemId = costGroupTypeMapper.getCostTypeByTemId(id); if (!CollectionUtils.isEmpty(costTypeByTemId)) { for (CostGroupType costGroupType : costTypeByTemId) { if (costGroupType != null) { costGroupType.setFlist(costGroupTypeService.selectTreeOne(costGroupType).getCostFromTemplate()); } } return costTypeByTemId; } return null; } @Override public int updateTemplateInfo(CostTypeTemplateExtend costTypeTemplate) { return costTypeTemplateMapper.updateTemplate(costTypeTemplate); } /** * 修改模板及费用项 * zz */ public int updateTemplateAndCostType(CostTypeTemplate costTypeTemplate, List constGroupTypes) { int count = 0; //修改模板 count += costTypeTemplateMapper.updateTemplate(costTypeTemplate); //删除费用项 count += costGroupTypeMapper.delCostType(costTypeTemplate.getId()); System.out.println("插入前id" + costTypeTemplate.getId()); System.out.println("插入前id" + costTypeTemplate.getId()); System.out.println("插入前id" + costTypeTemplate.getId()); //添加费用项 for (CostGroupTypeExtend costGroupTypeExtend : constGroupTypes) { count += costGroupTypeMapper.addCostType(costGroupTypeExtend, costTypeTemplate.getId()); if (!CollectionUtils.isEmpty(costGroupTypeExtend.getFlist()) && costGroupTypeExtend.getFlist().size() > 0) { //todo 未自动获取insert自增id,以后再改 CostGroupType costGroupType = costGroupTypeMapper.selectPrimaryByCodeIdAndCodeId(costTypeTemplate.getId(), costGroupTypeExtend.getCodeId()); for (CostFromTemplate costFromTemplate : costGroupTypeExtend.getFlist()) { count += costGroupTypeMapper.updateCostPrimaryKey(costGroupType.getId(), costFromTemplate.getId()); //---------------- //修改补助标准id(未使用自动生成主键) Integer allowancesId = costGroupTypeMapper.getAllowancesId(costTypeTemplate.getId(), costGroupTypeExtend.getFlist().get(0).getCtId()); costGroupTypeMapper.updategetAllowancesId(costTypeTemplate.getId(),costGroupType.getId(),allowancesId); //---------------- System.out.println("插入后id" + costGroupType.getId()); System.out.println("插入后id" + costGroupType.getId()); System.out.println("插入后id" + costGroupType.getId()); } } else { continue; } } // //讲from表中的ct_id改成自动生成的主键 // for (CostGroupTypeExtend costGroupTypeExtend : constGroupTypes) // if(costGroupTypeExtend.getList().size()>0){ // for(CostFromTemplate costFromTemplate :costGroupTypeExtend.getList()){ // count += costGroupTypeMapper.updateCostPrimaryKey(costTypeTemplate.getId(),costFromTemplate.getId()); // } // }else{ // continue; // } return count; } }