package cn.com.goldenwater.dcproj.service.impl.rectpro; import cn.com.goldenwater.dcproj.dao.*; import cn.com.goldenwater.dcproj.model.*; import cn.com.goldenwater.dcproj.param.BisInspRectLogProvinceParam; import cn.com.goldenwater.dcproj.param.BisInspRectProvinceParam; import cn.com.goldenwater.dcproj.param.RelOrgInspTypeParam; import cn.com.goldenwater.dcproj.service.BisInspRectLogProvinceService; import cn.com.goldenwater.dcproj.service.BisInspRectProvinceService; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.service.GwComFileService; 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 cn.com.goldenwater.id.util.UuidUtil; import java.util.Calendar; import java.util.List; import java.util.Date; /** * @author lhc * @date 2020-4-8 */ @Service @Transactional public class BisInspRectProvinceServiceImpl extends AbstractCrudService implements BisInspRectProvinceService { @Autowired private BisInspRectProvinceDao bisInspRectProvinceDao; @Autowired private BisInspAllRlationPersDao bisInspAllRlationPersDao; @Autowired private BisInspRectLogProvinceService bisInspRectLogProvinceService; @Autowired private BisInspOrgDao bisInspOrgDao; @Autowired private RelOrgInspTypeDao relOrgInspTypeDao; @Autowired private BisInspPblmDao bisInspPblmDao; @Autowired private GwComFileService gwComFileService; public BisInspRectProvinceServiceImpl(BisInspRectProvinceDao bisInspRectProvinceDao) { super(bisInspRectProvinceDao); this.bisInspRectProvinceDao = bisInspRectProvinceDao; } @Override public int insert(BisInspRectProvince bisInspRectProvince) { String uuid = UuidUtil.uuid(); // 生成uuid bisInspRectProvince.setId(uuid); Calendar c = Calendar.getInstance(); Date curDate = c.getTime(); bisInspRectProvince.setRectTm(curDate); bisInspRectProvince.setIntm(curDate); bisInspRectProvince.setUptm(curDate); c.add(Calendar.DAY_OF_MONTH,3); bisInspRectProvince.setCrrtTm(c.getTime()); bisInspRectProvince.setDataStat("0"); bisInspRectProvince.setState("0"); bisInspRectProvince.setSndOrgId(bisInspRectProvince.getOrgId()); if(StringUtils.isNotBlank(bisInspRectProvince.getSndOrgId())){ BisInspOrg bisInspOrg = bisInspOrgDao.get(bisInspRectProvince.getSndOrgId()); if(null != bisInspOrg){ bisInspRectProvince.setSndOrgName(bisInspOrg.getOrgNm()); } } if(StringUtils.isBlank(bisInspRectProvince.getRectOrgName()) && StringUtils.isNotBlank(bisInspRectProvince.getRectOrgId())){ BisInspOrg rectOrg = bisInspOrgDao.get(bisInspRectProvince.getRectOrgId()); if(null != rectOrg){ bisInspRectProvince.setRectOrgName(rectOrg.getOrgNm()); } } //插入人员姓名及对应单位 BisInspAllRlationPers bisInspAllRlationPers = bisInspAllRlationPersDao.get(bisInspRectProvince.getPersId()); bisInspRectProvince.setPersName(bisInspAllRlationPers.getPersName()); return this.bisInspRectProvinceDao.insert(bisInspRectProvince); } @Override public int update(BisInspRectProvince bisInspRectProvince) { bisInspRectProvince.setUptm(new Date()); BisInspRectProvince bisInspRectProvinceTemp = this.bisInspRectProvinceDao.get(bisInspRectProvince.getId()); //如果状态不为空的话,并且要改变状态 就插入日志记录 if (StringUtils.isNotBlank(bisInspRectProvince.getState()) && !bisInspRectProvinceTemp.getState().equals(bisInspRectProvince.getState())) { String persId = bisInspRectProvince.getCurentPersId(); String actionDesc = "";//操作描述 switch (bisInspRectProvince.getState()) { case "0": actionDesc = "未提交监督处"; break; case "1": actionDesc = "监督处审核"; break; case "2": actionDesc = "监督处驳回"; break; case "3": actionDesc = "监督处下发"; break; case "4": actionDesc = "市提交"; break; case "5": actionDesc = "业务处室驳回"; break; case "6": actionDesc = "业务处室提交"; break; case "7": actionDesc = "监督处归档"; break; } BisInspRectLogProvince bisInspRectLogProvince = new BisInspRectLogProvince(); BisInspAllRlationPers bisInspAllRlationPers = bisInspAllRlationPersDao.get(persId); bisInspRectLogProvince.setPersId(persId); bisInspRectLogProvince.setRectId(bisInspRectProvince.getId()); bisInspRectLogProvince.setActionDes(actionDesc); bisInspRectLogProvince.setNote(bisInspRectProvince.getLogNote()); bisInspRectLogProvince.setPersName(bisInspAllRlationPers.getPersName()); bisInspRectLogProvince.setState(bisInspRectProvince.getState()); bisInspRectLogProvince.setOrgId(bisInspRectProvince.getCurentPersIdOrgId()); BisInspOrg bisInspOrg = bisInspOrgDao.get(bisInspRectProvince.getCurentPersIdOrgId()); bisInspRectLogProvince.setOrgName(bisInspOrg.getOrgNm()); bisInspRectLogProvinceService.insert(bisInspRectLogProvince); } //反馈人员的id 不为空插入对应的名字 if (StringUtils.isNotBlank(bisInspRectProvince.getRectPersId())) { BisInspAllRlationPers bisInspAllRlationPers = bisInspAllRlationPersDao.get(bisInspRectProvince.getRectPersId()); bisInspRectProvince.setRectPersName(bisInspAllRlationPers.getPersName()); } //更新不更新插入人信息 bisInspRectProvince.setPersName(""); bisInspRectProvince.setPersId(""); return this.bisInspRectProvinceDao.update(bisInspRectProvince); } @Override public Object getCommonSingle(String pblmId, String pType) { List comFileList = gwComFileService.findFileByBiz(pblmId); if ("4".equals(pType) || "7".equals(pType)) { KeyRegPblm inspPblm = bisInspPblmDao.getOnePblm(pblmId, pType); inspPblm.setGwComFiles(comFileList); return inspPblm; } BisInspPblm pblm = bisInspPblmDao.getCommonSingle(pblmId, pType); pblm.setGwComFiles(comFileList); return pblm; } @Override public int setFileNull(String id) { return this.bisInspRectProvinceDao.setFileNull(id); } @Override public PageInfo getPageInfo(BisInspRectProvinceParam bisInspRectProvinceParam) { //判断当前机构ID来处理条件 BisInspOrg bisInspOrg = bisInspOrgDao.get(bisInspRectProvinceParam.getCurentPersIdOrgId()); String state = "";//通知状态 String sndOrg = ""; String rectOrg = ""; String satOrg = ""; switch (bisInspOrg.getOrgType()) { case "1": state = StringUtils.isBlank(bisInspRectProvinceParam.getState()) ? "" : bisInspRectProvinceParam.getState(); sndOrg = ""; break; case "2": //省监督处 state = StringUtils.isBlank(bisInspRectProvinceParam.getState()) ? "1,2,3,4,5,6,7" : bisInspRectProvinceParam.getState(); sndOrg = ""; break; case "3": //省和业务处室 可以看到所有 state = StringUtils.isBlank(bisInspRectProvinceParam.getState()) ? "0,1,2,3,4,5,6,7" : bisInspRectProvinceParam.getState(); sndOrg = bisInspRectProvinceParam.getCurentPersIdOrgId(); break; case "4": //市 state = StringUtils.isBlank(bisInspRectProvinceParam.getState()) ? "3,4,5,6,7" : bisInspRectProvinceParam.getState(); rectOrg = bisInspRectProvinceParam.getCurentPersIdOrgId(); break; case "5": //县 state = StringUtils.isBlank(bisInspRectProvinceParam.getState()) ? "3,4,5,6,7" : bisInspRectProvinceParam.getState(); satOrg = bisInspRectProvinceParam.getCurentPersIdOrgId(); break; default: break; } bisInspRectProvinceParam.setOrgId(sndOrg); bisInspRectProvinceParam.setState(state); bisInspRectProvinceParam.setRectOrgId(rectOrg); PageHelper.startPage(bisInspRectProvinceParam.getPageNum(), bisInspRectProvinceParam.getPageSize()); List bisInspRects = bisInspRectProvinceDao.findList(bisInspRectProvinceParam); for (BisInspRectProvince bisInspRectProvince : bisInspRects) { String rectId = bisInspRectProvince.getId(); BisInspRectLogProvinceParam bisInspRectLogProvinceParam = new BisInspRectLogProvinceParam(); bisInspRectLogProvinceParam.setRectId(rectId); List bisInspRectLogProvinces = bisInspRectLogProvinceService.findList(bisInspRectLogProvinceParam); bisInspRectProvince.setBisInspRectLogProvinces(bisInspRectLogProvinces); } return new PageInfo(bisInspRects); } @Override public int delete(String id) { return this.bisInspRectProvinceDao.delete(id); } @Override public List findList(BisInspRectProvinceParam bisInspRectProvinceParam) { //判断当前机构ID来处理条件 BisInspOrg bisInspOrg = bisInspOrgDao.get(bisInspRectProvinceParam.getCurentPersIdOrgId()); String state = bisInspRectProvinceParam.getState(); //通知状态 String sndOrg = ""; String rectOrg = ""; switch (bisInspOrg.getOrgType()) { case "1": case "3": //省和业务处室 可以看到所有 if(StringUtils.isBlank(state)){ state = ""; } sndOrg = ""; break; case "2": //省监督处 if(StringUtils.isBlank(state)){ state = "1,2,3,4,5,6,7"; } sndOrg = ""; break; case "4": //市 if(StringUtils.isBlank(state)){ state = "2,3,4,5,6,7"; } rectOrg = bisInspRectProvinceParam.getCurentPersIdOrgId(); break; case "5": //县 if(StringUtils.isBlank(state)){ state = "2,3,4,5,6,7"; } rectOrg = bisInspRectProvinceParam.getCurentPersIdOrgId(); break; default: break; } bisInspRectProvinceParam.setOrgId(sndOrg); bisInspRectProvinceParam.setState(state); bisInspRectProvinceParam.setRectOrgId(rectOrg); List bisInspRectProvinces = this.bisInspRectProvinceDao.findList(bisInspRectProvinceParam); for (BisInspRectProvince bisInspRectProvince : bisInspRectProvinces) { String rectId = bisInspRectProvince.getId(); BisInspRectLogProvinceParam bisInspRectLogProvinceParam = new BisInspRectLogProvinceParam(); bisInspRectLogProvinceParam.setRectId(rectId); List bisInspRectLogProvinces = bisInspRectLogProvinceService.findList(bisInspRectLogProvinceParam); bisInspRectProvince.setBisInspRectLogProvinces(bisInspRectLogProvinces); } return bisInspRectProvinces; } }