package cn.com.goldenwater.dcproj.service.impl.system; import cn.com.goldenwater.dcproj.dao.*; import cn.com.goldenwater.dcproj.dto.BisInspGroupDto; import cn.com.goldenwater.dcproj.dto.OlBisInspGroupDto; import cn.com.goldenwater.dcproj.model.*; import cn.com.goldenwater.dcproj.param.BisInspAllObjParam; import cn.com.goldenwater.dcproj.param.BisInspAllRlationParam; import cn.com.goldenwater.dcproj.param.BisInspGroupParam; import cn.com.goldenwater.dcproj.param.BisInspSelAreaParam; import cn.com.goldenwater.dcproj.service.BisInspGroupService; import cn.com.goldenwater.core.service.AbstractCrudService; import com.github.pagehelper.PageHelper; import org.apache.commons.lang3.math.NumberUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * @author lune * @date 2019-2-18 */ @Service @Transactional(rollbackFor = Exception.class) public class BisInspGroupServiceImpl extends AbstractCrudService implements BisInspGroupService { @Autowired private BisInspGroupDao bisInspGroupDao; @Autowired private BisInspAllRlationDao bisInspAllRlationDao; @Autowired private BisInspAllDao bisInspAllDao; @Autowired private BisInspSelAreaDao BisInspSelAreaDao; @Autowired private BisInspAllObjDao bisInspAllObjDao; public BisInspGroupServiceImpl(BisInspGroupDao bisInspGroupDao) { super(bisInspGroupDao); this.bisInspGroupDao = bisInspGroupDao; } @Override public OrganizationAndBatchAndGroup insertGroup(OlBisInspGroupDto olBisInspGroupDto) { if (olBisInspGroupDto != null) { //添加组开始 BisInspAll bisInspAll = new BisInspAll(); //根据父id查询最大的子id BisInspAll max = bisInspAllDao.getMaxOne(olBisInspGroupDto.getPlnaId(),olBisInspGroupDto.getOrgId()); if (null != max) { Long upOne = NumberUtils.toLong(max.getId()); String newId = String.valueOf(upOne + 1); bisInspAll.setId(newId); } else { bisInspAll.setId(olBisInspGroupDto.getPlnaId() + "001"); } bisInspAll.setPid(olBisInspGroupDto.getPlnaId()); bisInspAll.setPnm(olBisInspGroupDto.getInspGroupName()); bisInspAll.setProvince(olBisInspGroupDto.getProvince()); bisInspAllDao.insert(bisInspAll); //添加组结束 //添加人员与组关系 //添加组长 BisInspAllRlation bisInspAllRlation = new BisInspAllRlation(); bisInspAllRlation.setId(bisInspAll.getId()); bisInspAllRlation.setPersid(olBisInspGroupDto.getHeadmanId()); bisInspAllRlation.setPertype("1"); bisInspAllRlation.setAdCode(olBisInspGroupDto.getProvince()); bisInspAllRlation.setOrgId(olBisInspGroupDto.getOrgId()); bisInspAllRlationDao.insert(bisInspAllRlation); //添加组员 if (olBisInspGroupDto.getMemberId().indexOf(",") != -1) {//多个组员遍历添加 String[] split = olBisInspGroupDto.getMemberId().split(","); for (String s : split) { BisInspAllRlation bisInspAllRlation1 = new BisInspAllRlation(); bisInspAllRlation1.setId(bisInspAll.getId()); bisInspAllRlation1.setPersid(s); bisInspAllRlation1.setPertype("2"); bisInspAllRlation1.setAdCode(olBisInspGroupDto.getProvince()); bisInspAllRlation1.setOrgId(olBisInspGroupDto.getOrgId()); bisInspAllRlationDao.insert(bisInspAllRlation1); } } else { BisInspAllRlation bisInspAllRlation1 = new BisInspAllRlation(); bisInspAllRlation1.setId(bisInspAll.getId()); bisInspAllRlation1.setPersid(olBisInspGroupDto.getMemberId()); bisInspAllRlation1.setPertype("2"); bisInspAllRlation1.setAdCode(olBisInspGroupDto.getProvince()); bisInspAllRlation1.setOrgId(olBisInspGroupDto.getOrgId()); bisInspAllRlationDao.insert(bisInspAllRlation1); } //添加组成员结束 //组织返回参数 OrganizationAndBatchAndGroup result = new OrganizationAndBatchAndGroup(); result.setName(olBisInspGroupDto.getInspGroupName()); result.setCode(bisInspAll.getId()); result.setType("4"); return result; } return null; } @Override public int deleteGroup(String id,String province) { int i = 0; BisInspAllRlationParam bisInspAllRlationParam = new BisInspAllRlationParam(); bisInspAllRlationParam.setId(id); bisInspAllRlationParam.setProvince(province); bisInspAllRlationDao.deleteBy(bisInspAllRlationParam); BisInspSelAreaParam bisInspSelAreaParam = new BisInspSelAreaParam(); bisInspSelAreaParam.setId(id); bisInspSelAreaParam.setProvince(province); BisInspSelAreaDao.deleteBy(bisInspSelAreaParam); BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam(); bisInspAllObjParam.setId(id); bisInspAllObjParam.setProvince(province); bisInspAllObjDao.deleteBy(bisInspAllObjParam); bisInspAllDao.delete(id); return i; } }