| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306 |
- package cn.com.goldenwater.dcproj.service.impl.ducha;
- import cn.com.goldenwater.dcproj.constValue.SplitValue;
- import cn.com.goldenwater.dcproj.dao.*;
- import cn.com.goldenwater.dcproj.dto.BisInsNtfctnDto;
- import cn.com.goldenwater.dcproj.dto.NtfctnAndDvdwkDto;
- import cn.com.goldenwater.dcproj.dto.NtfctnDvdwkDto;
- import cn.com.goldenwater.dcproj.model.*;
- import cn.com.goldenwater.dcproj.param.*;
- import cn.com.goldenwater.dcproj.service.BisInsNtfctnService;
- import cn.com.goldenwater.core.service.AbstractCrudService;
- import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
- import cn.com.goldenwater.id.util.UuidUtil;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * @author lhc
- * @date 2019-4-30
- */
- @Service
- @Transactional(rollbackFor = Exception.class)
- public class BisInsNtfctnServiceImpl extends AbstractCrudService<BisInsNtfctn, BisInsNtfctnParam> implements BisInsNtfctnService {
- @Autowired
- private BisInsNtfctnDao bisInsNtfctnDao;
- @Autowired
- private BisInspAllRlationPersDao bisInspAllRlationPersDao;
- @Autowired
- private BisInspRecvUnitDao bisInspRecvUnitDao;
- @Autowired
- private GwComFileDao gwComFileDao;
- @Autowired
- private BisInspDvdwkDao bisInspDvdwkDao;
- @Autowired
- private BisInspAllDao bisInspAllDao;
- @Autowired
- private AttInspTypeDao attInspTypeDao;
- @Autowired
- private BisInspOrgDao bisInspOrgDao;
- @Autowired
- private OlBisInspOrgService olBisInspOrgService;
- public BisInsNtfctnServiceImpl(BisInsNtfctnDao bisInsNtfctnDao) {
- super(bisInsNtfctnDao);
- this.bisInsNtfctnDao = bisInsNtfctnDao;
- }
- @Override
- public BisInsNtfctn add(BisInsNtfctn bisInsNtfctn) {
- String uuid = UuidUtil.uuid(); // 生成uuid
- bisInsNtfctn.setId(uuid);
- bisInsNtfctn.setFlagValid(SplitValue.Flag_Valid);
- bisInsNtfctn.setIntm(new Date());
- if (bisInsNtfctn.getPesrid() != null) {//获取人员的机构id
- BisInspAllRlationPers bisInspAllRlationPers = bisInspAllRlationPersDao.get(bisInsNtfctn.getPesrid());
- bisInsNtfctn.setOrgId(bisInspAllRlationPers.getOrgId());
- }
- bisInsNtfctnDao.insert(bisInsNtfctn);//添加督查通知
- if (StringUtils.isNotBlank(bisInsNtfctn.getRecvOrgId())) {
- if (bisInsNtfctn.getRecvOrgId().contains(SplitValue.DOUHAO_SPLIT)) {
- String[] split = bisInsNtfctn.getRecvOrgId().split(SplitValue.DOUHAO_SPLIT);
- for (String s : split) {
- BisInspRecvUnit bisInspRecvUnit = new BisInspRecvUnit();
- bisInspRecvUnit.setId(UuidUtil.uuid());
- bisInspRecvUnit.setOrgId(s);
- bisInspRecvUnit.setFlagChk("0");
- bisInspRecvUnit.setRecvType("RECV");
- bisInspRecvUnit.setNtfctnId(uuid);
- bisInspRecvUnit.setFlagValid(SplitValue.Flag_Valid);
- bisInspRecvUnitDao.insert(bisInspRecvUnit);
- }
- } else {
- BisInspRecvUnit bisInspRecvUnit = new BisInspRecvUnit();
- bisInspRecvUnit.setId(UuidUtil.uuid());
- bisInspRecvUnit.setOrgId(bisInsNtfctn.getRecvOrgId());
- bisInspRecvUnit.setFlagChk("0");
- bisInspRecvUnit.setRecvType("RECV");
- bisInspRecvUnit.setNtfctnId(uuid);
- bisInspRecvUnit.setFlagValid(SplitValue.Flag_Valid);
- bisInspRecvUnitDao.insert(bisInspRecvUnit);
- }
- }
- if (StringUtils.isNotBlank(bisInsNtfctn.getCopyOrgId())) {
- if (bisInsNtfctn.getCopyOrgId().contains(SplitValue.DOUHAO_SPLIT)) {
- String[] split = bisInsNtfctn.getCopyOrgId().split(SplitValue.DOUHAO_SPLIT);
- for (String s : split) {
- BisInspRecvUnit bisInspRecvUnit = new BisInspRecvUnit();
- bisInspRecvUnit.setId(UuidUtil.uuid());
- bisInspRecvUnit.setOrgId(s);
- bisInspRecvUnit.setFlagChk("0");
- bisInspRecvUnit.setRecvType("COPY");
- bisInspRecvUnit.setNtfctnId(uuid);
- bisInspRecvUnit.setFlagValid(SplitValue.Flag_Valid);
- bisInspRecvUnitDao.insert(bisInspRecvUnit);
- }
- } else {
- BisInspRecvUnit bisInspRecvUnit = new BisInspRecvUnit();
- bisInspRecvUnit.setId(UuidUtil.uuid());
- bisInspRecvUnit.setOrgId(bisInsNtfctn.getCopyOrgId());
- bisInspRecvUnit.setFlagChk("0");
- bisInspRecvUnit.setRecvType("COPY");
- bisInspRecvUnit.setNtfctnId(uuid);
- bisInspRecvUnit.setFlagValid("1");
- bisInspRecvUnitDao.insert(bisInspRecvUnit);
- }
- }
- return bisInsNtfctn;
- }
- @Override
- public List<BisInsNtfctnDto> queryNtfctn(BisInsNtfctnParam bisInsNtfctnParam) {
- List<BisInsNtfctnDto> bisInsNtfctnDtoList = bisInsNtfctnDao.queryNtfctn(bisInsNtfctnParam);
- if (bisInsNtfctnDtoList.size() > 0) {
- //获取接收单位
- for (BisInsNtfctnDto bisInsNtfctnDto : bisInsNtfctnDtoList) {
- List<BisInspRecvUnit> bisInspRecvUnitList = bisInspRecvUnitDao.findListByNtfctnId(bisInsNtfctnDto.getId(),bisInsNtfctnParam.getOrgId());
- bisInsNtfctnDto.setBisInspRecvUnitList(bisInspRecvUnitList);
- List<GwComFile> gwComFileList = gwComFileDao.findFileByBiz(bisInsNtfctnDto.getId());
- bisInsNtfctnDto.setGwComFileList(gwComFileList);
- }
- }
- return bisInsNtfctnDtoList;
- }
- @Override
- public int updateNtfctnAndRecv(BisInsNtfctn bisInsNtfctn) {
- this.bisInsNtfctnDao.update(bisInsNtfctn);
- bisInsNtfctn = bisInsNtfctnDao.get(bisInsNtfctn.getId());
- String groupId = bisInsNtfctn.getInspType();
- String year = String.valueOf(bisInsNtfctn.getPlanYr());
- if(SplitValue.Flag_Valid.equals(bisInsNtfctn.getSendState())){
- String orgIds = "027,029,041,042";
- this.setGroupAndSysUsers(groupId,year,orgIds);
- }
- if (StringUtils.isBlank(bisInsNtfctn.getRecvOrgId())) {
- String recvUnit = bisInspRecvUnitDao.getRecvUnit("RECV",bisInsNtfctn.getId());
- bisInsNtfctn.setRecvOrgId(recvUnit);
- }
- if (StringUtils.isBlank(bisInsNtfctn.getCopyOrgId())) {
- String recvUnit = bisInspRecvUnitDao.getRecvUnit("COPY",bisInsNtfctn.getId());
- bisInsNtfctn.setCopyOrgId(recvUnit);
- }
- if (StringUtils.isNotBlank(bisInsNtfctn.getRecvOrgId())) {
- BisInspRecvUnitParam bisInspRecvUnitParam = new BisInspRecvUnitParam();
- bisInspRecvUnitParam.setNtfctnId(bisInsNtfctn.getId());
- bisInspRecvUnitParam.setRecvType("RECV");
- this.bisInspRecvUnitDao.deleteBy(bisInspRecvUnitParam);
- if (bisInsNtfctn.getRecvOrgId().contains(",")) {
- String[] split = bisInsNtfctn.getRecvOrgId().split(",");
- for (String s : split) {
- BisInspRecvUnit bisInspRecvUnit = new BisInspRecvUnit();
- bisInspRecvUnit.setId(UuidUtil.uuid());
- bisInspRecvUnit.setOrgId(s);
- bisInspRecvUnit.setFlagChk("0");
- bisInspRecvUnit.setRecvType("RECV");
- bisInspRecvUnit.setNtfctnId(bisInsNtfctn.getId());
- bisInspRecvUnit.setFlagValid(SplitValue.Flag_Valid);
- bisInspRecvUnitDao.insert(bisInspRecvUnit);
- groupId = bisInsNtfctn.getInspType() + s;
- String orgIds = s;
- this.setGroupAndSysUsers(groupId,year,orgIds);
- }
- } else {
- BisInspRecvUnit bisInspRecvUnit = new BisInspRecvUnit();
- bisInspRecvUnit.setId(UuidUtil.uuid());
- bisInspRecvUnit.setOrgId(bisInsNtfctn.getRecvOrgId());
- bisInspRecvUnit.setFlagChk("0");
- bisInspRecvUnit.setRecvType("RECV");
- bisInspRecvUnit.setNtfctnId(bisInsNtfctn.getId());
- bisInspRecvUnit.setFlagValid(SplitValue.Flag_Valid);
- bisInspRecvUnitDao.insert(bisInspRecvUnit);
- groupId = bisInsNtfctn.getInspType() + bisInsNtfctn.getRecvOrgId();
- String orgIds = bisInsNtfctn.getRecvOrgId();
- this.setGroupAndSysUsers(groupId,year,orgIds);
- }
- }
- if (StringUtils.isNotBlank(bisInsNtfctn.getCopyOrgId())) {
- BisInspRecvUnitParam bisInspRecvUnitParam = new BisInspRecvUnitParam();
- bisInspRecvUnitParam.setNtfctnId(bisInsNtfctn.getId());
- bisInspRecvUnitParam.setRecvType("COPY");
- this.bisInspRecvUnitDao.deleteBy(bisInspRecvUnitParam);
- if (bisInsNtfctn.getCopyOrgId().contains(SplitValue.DOUHAO_SPLIT)) {
- String[] split = bisInsNtfctn.getCopyOrgId().split(SplitValue.DOUHAO_SPLIT);
- for (String s : split) {
- BisInspRecvUnit bisInspRecvUnit = new BisInspRecvUnit();
- bisInspRecvUnit.setId(UuidUtil.uuid());
- bisInspRecvUnit.setOrgId(s);
- bisInspRecvUnit.setFlagChk("0");
- bisInspRecvUnit.setRecvType("COPY");
- bisInspRecvUnit.setNtfctnId(bisInsNtfctn.getId());
- bisInspRecvUnit.setFlagValid("1");
- bisInspRecvUnitDao.insert(bisInspRecvUnit);
- }
- } else {
- BisInspRecvUnit bisInspRecvUnit = new BisInspRecvUnit();
- bisInspRecvUnit.setId(UuidUtil.uuid());
- bisInspRecvUnit.setOrgId(bisInsNtfctn.getCopyOrgId());
- bisInspRecvUnit.setFlagChk("0");
- bisInspRecvUnit.setRecvType("COPY");
- bisInspRecvUnit.setNtfctnId(bisInsNtfctn.getId());
- bisInspRecvUnit.setFlagValid("1");
- bisInspRecvUnitDao.insert(bisInspRecvUnit);
- }
- }
- return 0;
- }
- @Override
- public NtfctnAndDvdwkDto queryNtfctnById(String id, String orgId) {
- NtfctnAndDvdwkDto ntfctnAndDvdwkDto = this.bisInsNtfctnDao.getNtfcById(id);
- BisInspDvdwkParam bisInspDvdwkParam = new BisInspDvdwkParam();
- bisInspDvdwkParam.setSchmId(id);
- //获取工作方案分工
- List<BisInspDvdwk> bisInspDvdwkList = this.bisInspDvdwkDao.findList(bisInspDvdwkParam);
- if(bisInspDvdwkList.size()>0) {
- ntfctnAndDvdwkDto.setBisInspDvdwkList(bisInspDvdwkList);
- }
- //获取接收单位
- List<BisInspRecvUnit> bisInspRecvUnitList = bisInspRecvUnitDao.findListByNtfctnId(id,orgId);
- if(bisInspRecvUnitList.size()>0){
- ntfctnAndDvdwkDto.setBisInspRecvUnitList(bisInspRecvUnitList);
- }
- List<GwComFile> gwComFileList = gwComFileDao.findFileByBiz(id);
- if(gwComFileList.size()>0) {
- ntfctnAndDvdwkDto.setGwComFileList(gwComFileList);
- }
- return ntfctnAndDvdwkDto;
- }
- @Override
- public PageInfo<NtfctnDvdwkDto> queryNtfctnAndDvdwk(BisInsNtfctnParam bisInsNtfctnParam) {
- PageHelper.startPage(bisInsNtfctnParam);
- List<NtfctnDvdwkDto> list = this.bisInsNtfctnDao.queryNtfctnAndDvdwk(bisInsNtfctnParam);
- PageInfo<NtfctnDvdwkDto> pageInfo = new PageInfo(list);
- return pageInfo;
- }
- public void setGroupAndSysUsers(String groupId,String year, String orgIds){
- BisInspAll bisInspAll = bisInspAllDao.get(groupId);
- if(bisInspAll==null){
- bisInspAll = new BisInspAll();
- if(groupId.length()==3){
- bisInspAll.setId(groupId);
- bisInspAll.setPid("0");
- AttInspType attInspType = attInspTypeDao.get(groupId);
- bisInspAll.setPnm(attInspType.getName());
- bisInspAll.setInspYear(year);
- bisInspAllDao.insert(bisInspAll);
- }else if(groupId.length()==6){
- if(orgIds.contains(SplitValue.DOUHAO_SPLIT)){
- String[] orgIdList = orgIds.split(SplitValue.DOUHAO_SPLIT);
- for (String orgId:orgIdList) {
- BisInspOrg bisInspOrg = bisInspOrgDao.get(orgId);
- bisInspAll = new BisInspAll();
- bisInspAll.setId(groupId);
- bisInspAll.setPid("0");
- if(bisInspOrg!=null){
- bisInspAll.setPnm(bisInspOrg.getOrgNm());
- }
- bisInspAll.setInspYear(year);
- bisInspAllDao.insert(bisInspAll);
- }
- }else {
- BisInspOrg bisInspOrg = bisInspOrgDao.get(orgIds);
- bisInspAll = new BisInspAll();
- bisInspAll.setId(groupId);
- bisInspAll.setPid("0");
- if(bisInspOrg!=null){
- bisInspAll.setPnm(bisInspOrg.getOrgNm());
- }
- bisInspAll.setInspYear(year);
- bisInspAllDao.insert(bisInspAll);
- }
- }
- }
- Map<String, Object> bisInspAllRlationPersParam = new HashMap<>(10);
- bisInspAllRlationPersParam.put("orgIds",orgIds);
- bisInspAllRlationPersParam.put("persTypes","1,2");
- List<Map<String, Object>> list = bisInspAllRlationPersDao.getSysUsers(bisInspAllRlationPersParam);
- for (Map<String, Object> pers:list) {
- String persId = String.valueOf(pers.get("GUID"));
- String orgId=String.valueOf(pers.get("ORG_ID"));
- //查询是否已经建立关系
- String adCode=olBisInspOrgService.getProvince(orgId);
- BisInspAllRlation bisInspAllRlation = bisInspAllRlationPersDao.getRelationData(persId, groupId,orgId,adCode);
- if (bisInspAllRlation == null) {
- String type=Integer.parseInt(groupId.substring(0,3))+"";
- bisInspAllRlationPersDao.insertRelation(persId, groupId,orgId,adCode,type);
- }
- }
- }
- }
|