From 9ca0dc6e7833715b875cc9b6b91d5c497b2bae8b Mon Sep 17 00:00:00 2001
From: zf <1603559716@qq.com>
Date: 星期三, 30 八月 2023 09:05:45 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/hazardInvestigationSystem into zf

---
 src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyFacilityInspectionImpl.java |  159 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 159 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyFacilityInspectionImpl.java b/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyFacilityInspectionImpl.java
new file mode 100644
index 0000000..0887581
--- /dev/null
+++ b/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyFacilityInspectionImpl.java
@@ -0,0 +1,159 @@
+package com.gk.hotwork.Service.ServiceImpl;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gk.hotwork.Domain.CompanyInfo;
+import com.gk.hotwork.Domain.SafetyFacilityInspection;
+import com.gk.hotwork.Domain.SafetyFacilityProcessflow;
+import com.gk.hotwork.Domain.SafetyInspectionItemDeduction;
+import com.gk.hotwork.Domain.UserInfo;
+import com.gk.hotwork.Mapper.CompanyInfoMapper;
+import com.gk.hotwork.Mapper.SafetyFacilityInspectionMapper;
+import com.gk.hotwork.Mapper.SafetyFacilityProcessflowMapper;
+import com.gk.hotwork.Mapper.UserInfoMapper;
+import com.gk.hotwork.Service.SafetyFacilityInspectionService;
+
+@Service("SafetyFacilityInspectionService")
+@Transactional
+public class SafetyFacilityInspectionImpl extends ServiceImpl<SafetyFacilityInspectionMapper, SafetyFacilityInspection>
+		implements SafetyFacilityInspectionService {
+
+	@Autowired
+	private SafetyFacilityInspectionMapper safetyFacilityInspectionMapper;
+
+	@Autowired
+	private SafetyFacilityProcessflowMapper safetyFacilityProcessflowMapper;
+
+	@Autowired
+	private UserInfoMapper userInfoMapper;
+
+	@Autowired
+	private CompanyInfoMapper companyInfoMapper;
+
+	@Override
+	public IPage<SafetyFacilityInspection> selectPage(Page<SafetyFacilityInspection> page, Map<String, Object> filter,
+			UserInfo user) {
+		Date date = new Date();
+
+		if (user.getType() == 3 ) {
+			filter.put("createBy", user.getUsername());
+		}
+		if (user.getType() == 4) {
+			filter.put("expert", user.getId());
+		}
+		if (user.getType() == 2) {
+			QueryWrapper<CompanyInfo> queryWrapper = new QueryWrapper<CompanyInfo>();
+			queryWrapper.eq("city", user.getCity());
+			queryWrapper.eq("province", user.getProvince());
+			List<CompanyInfo> list = companyInfoMapper.selectList(queryWrapper);
+			List<String> companyList = new ArrayList<String>();
+			for (CompanyInfo companyInfo : list) {
+				companyList.add(companyInfo.getCompany());
+			}
+			filter.put("company", companyList);
+		}
+		if("安科院".equals(user.getCompany())){
+			filter.remove("createBy");
+			filter.remove("company");
+		}
+
+		IPage<SafetyFacilityInspection> res = safetyFacilityInspectionMapper.selectPages(page, filter);
+		List<SafetyFacilityInspection> list = new ArrayList<SafetyFacilityInspection>();
+		for (SafetyFacilityInspection safetyFacilityInspection : res.getRecords()) {
+			if (safetyFacilityInspection.getProgress() == 10 && safetyFacilityInspection.getReviewTime() != null && safetyFacilityInspection.getReviewTime().before(date)) {
+				safetyFacilityInspection.setProgress(11);
+				this.updateById(safetyFacilityInspection);
+				SafetyFacilityProcessflow flow = new SafetyFacilityProcessflow();
+				flow.setCheckTime(new Date());
+				flow.setValidFlag(Byte.valueOf("1"));
+				flow.setCreateBy("SYSTEM");
+				flow.setUpdateTime(date);
+				flow.setCreateTime(date);
+				flow.setProgressName("评审中");
+				flow.setResult("预置时间到");
+				flow.setLinkInspectionId(safetyFacilityInspection.getId());
+				flow.setProcessBy(user.getRealname());
+				safetyFacilityProcessflowMapper.insert(flow);
+				safetyFacilityProcessflowMapper.modPending(safetyFacilityInspection.getId());
+			}
+
+			if (safetyFacilityInspection.getProgress() == 20 && safetyFacilityInspection.getExamineTime() != null && safetyFacilityInspection.getExamineTime().before(date)) {
+				safetyFacilityInspection.setProgress(21);
+				this.updateById(safetyFacilityInspection);
+				SafetyFacilityProcessflow flow = new SafetyFacilityProcessflow();
+				flow.setCheckTime(new Date());
+				flow.setValidFlag(Byte.valueOf("1"));
+				flow.setCreateBy("SYSTEM");
+				flow.setUpdateTime(date);
+				flow.setCreateTime(date);
+				flow.setProgressName("审查中");
+				flow.setResult("预置时间到");
+				flow.setLinkInspectionId(safetyFacilityInspection.getId());
+				flow.setProcessBy(user.getRealname());
+				safetyFacilityProcessflowMapper.insert(flow);
+				safetyFacilityProcessflowMapper.modPending(safetyFacilityInspection.getId());
+			}
+
+			if (safetyFacilityInspection.getExpert() != null) {
+				String[] expertIds = safetyFacilityInspection.getExpert().split(",");
+				String expertName = "";
+				List<UserInfo> temp = userInfoMapper.selectBatchIds(Arrays.asList(expertIds));
+				for (UserInfo userInfo : temp) {
+					expertName += "," + userInfo.getRealname();
+				}
+				safetyFacilityInspection.setExpertName(expertName.substring(1));
+			}
+			list.add(safetyFacilityInspection);
+		}
+		res.setRecords(list);
+		return res;
+
+	}
+
+	@Override
+	public void addOne(SafetyFacilityInspection param, UserInfo user) {
+		Date date = new Date();
+		String username = user.getUsername();
+		param.setValidFlag(Byte.valueOf("1"));
+		param.setCreateBy(username);
+		param.setUpdateTime(date);
+		param.setCreateTime(date);
+		param.setSubmitDate(param.getSubmitDate() == null ? date : param.getSubmitDate());
+		param.setProgress(Integer.valueOf(0));
+		param.setCompany(param.getCompany() == null ? user.getCompany() : param.getCompany());
+		this.save(param);
+	}
+
+	@Override
+	public void modOne(SafetyFacilityInspection param, UserInfo user) {
+		param.setUpdateTime(new Date());
+		this.updateById(param);
+	}
+
+	@Override
+	public void delOne(Long id, UserInfo user) {
+		SafetyFacilityInspection object = safetyFacilityInspectionMapper.selectByPrimaryKey(id);
+		object.setValidFlag(Byte.valueOf("0"));
+		object.setUpdateTime(new Date());
+		this.updateById(object);
+
+	}
+
+	@Override
+	public SafetyFacilityInspection selectByPrimaryKey(Long id, UserInfo user) {
+		return safetyFacilityInspectionMapper.selectByPrimaryKey(id);
+	}
+}

--
Gitblit v1.9.2