瀏覽代碼

审定单签章部分代码

user5 3 年之前
父節點
當前提交
53a43df31b

+ 17 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectMessageElectronicSealDao.java

@@ -5,6 +5,9 @@ import com.jeeplus.common.persistence.annotation.MyBatisDao;
 import com.jeeplus.modules.ruralprojectrecords.entity.ProjectApprovalSignature;
 import com.jeeplus.modules.ruralprojectrecords.entity.ProjectReportSignature;
 import com.jeeplus.modules.ruralprojectrecords.entity.ProjectReportSignatureInfo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @author: 徐滕
@@ -69,4 +72,18 @@ public interface RuralProjectMessageElectronicSealDao extends CrudDao<ProjectRep
     String getAchivesIdByName(String name);
     String getId(String staffId);
     String getProjectReportId(String projectReportId);
+
+    /**
+     * 根据报告号idlist查询数量
+     * @param reportIdList
+     * @return
+     */
+    Integer getProjectReportCountByReportId(@Param("reportIdList") List<String> reportIdList);
+
+    /**
+     * 根据报告号查询签章数据表数据量
+     * @param reportIdList
+     * @return
+     */
+    Integer getCountByReportId(@Param("reportIdList") List<String> reportIdList);
 }

+ 43 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageAllService.java

@@ -4,6 +4,7 @@ import com.jeeplus.common.config.Global;
 import com.jeeplus.common.persistence.Page;
 import com.jeeplus.common.service.CrudService;
 import com.jeeplus.common.utils.Collections3;
+import com.jeeplus.common.utils.MenuStatusEnum;
 import com.jeeplus.modules.projectAccessory.dao.ProjectTemplateDao;
 import com.jeeplus.modules.projectEngineering.service.ProjectEngineeringService;
 import com.jeeplus.modules.projectFilingBatch.dao.ProjectFilingBatchDao;
@@ -1105,7 +1106,49 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
         }
         return getSumMoney;
     }
+    public Page<RuralProjectRecords> findSignaturePage(Page<RuralProjectRecords> page, RuralProjectRecords projectRecords) {
+        //设置数据权限
+        if(!UserUtils.getUser().isAdmin()) {
+            String dataScopeSql = dataScopeFilterOR(projectRecords.getCurrentUser(), "o", "u", "s", MenuStatusEnum.OVERALL_WORK_RECORD_LIST.getValue());
+            projectRecords.getSqlMap().put("dsf", dataScopeSql);
+        }
+        //查询超期时间天数
+        List<MainDictDetail> adventCount = DictUtils.getMainDictListOnProjectAdvent("advent_count");
+        if(adventCount.size()>0){
+            //获取超期时间天数转int
+            Integer endingCount = Integer.parseInt(adventCount.get(0).getLabel());
+            projectRecords.setEndingCount(endingCount);
+        }
+        if(null!= projectRecords.getOffice() && StringUtils.isNotBlank(projectRecords.getOffice().getId())){
+            //查询该选择节点下所有的部门Id
+            List<String> officeIdList = officeService.getChildrenOffice(projectRecords.getOffice().getId());
+            officeIdList.add(projectRecords.getOffice().getId());
+            projectRecords.setOfficeIdList(officeIdList);
+        }
 
+        int count = dao.queryCount(projectRecords);
+        page.setCount(count);
+        page.setCountFlag(false);
+        projectRecords.setPage(page);
+        List<RuralProjectRecords> recordsList = findList(projectRecords);
+
+
+        //查询负责人信息
+        for (RuralProjectRecords records : recordsList) {
+            if(null != records.getRecordState() && 0 == records.getProjectReportRecordStatus()){
+                records.setProjectReportRecordStatus(records.getRecordState());
+            }
+            this.queryContractInfos(records);
+            //获取项目负责人
+            List<User> users = workProjectUserDao.getProjectprincipalList(records.getId());
+            records.setProjectLeaders(users);
+            records.setLeaderNameStr(Collections3.extractToString(users, "name", ","));
+            records.setLeaderIds(Collections3.extractToString(users, "id", ","));
+
+        }
+        page.setList(recordsList);
+        return page;
+    }
 
 
 

+ 43 - 20
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageElectronicSealService.java

@@ -1520,44 +1520,67 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
         }
         //将set转换为list
         List<String> projectReportIdList = new ArrayList<>(projectReportIdSet);
+
         //判断报告号list长度和导入数据的list长度是否一样,不一样则说明导入数据中项目名存在重复数据
         if(projectReportIdList.size() != list.size()){
             return "数据中存在重复报告号";
-        }else{
-            //根据项目名称集合查询项目信息是否存在
-            for(String projectReportId:projectReportIdList) {
-                ProjectReportSignatureInfo info = dao.get(projectReportId);
-                String number = dao.getProjectReportId(projectReportId);
-                if(info != null){
-                    return "数据中已存在重复报告名";
-                }else if(number == null){
-                    return "此报告号不存在";
-                }
-
+        }
+        //报告号数据查询是否已存在
+        //查询质量复核表中是否存在该报告号
+        Integer projectReportCountByReportId = dao.getProjectReportCountByReportId(projectReportIdList);
+        if(projectReportCountByReportId != projectReportIdList.size()){
+            return "存在报告号不正确情况";
+        }
+        //查询新的签章表中是否已存在该报告号
+        Integer countByReportId = dao.getCountByReportId(projectReportIdList);
+        if(0 < countByReportId){
+            return "数据中已存在已上传报告号信息";
+        }
+        //根据项目名称集合查询项目信息是否存在
+        for (ProjectReportSignatureInfo importInfo: list) {
+            //处理咨询员信息
+            //对咨询员的一级造价师进行查验
+            if(StringUtils.isNotBlank(importInfo.getConsultant())){
+                //查询咨询员id
+                String consultantId = dao.getAchivesIdByName(importInfo.getConsultant());
+                importInfo.setConsultant(consultantId);
             }
         }
+        /*for(String projectReportId:projectReportIdList) {
+            ProjectReportSignatureInfo info = dao.get(projectReportId);
+            String number = dao.getProjectReportId(projectReportId);
+            if(info != null){
+                return "数据中已存在重复报告名";
+            }else if(number == null){
+                return "此报告号不存在";
+            }
+
+        }*/
+
 
         //对咨询员的一级造价师进行查验
-        Set<String> consultantSet = new HashSet<>();
+        /*Set<String> consultantSet = new HashSet<>();
         for(ProjectReportSignatureInfo projectReportSignatureInfo:list){
             consultantSet.add(projectReportSignatureInfo.getConsultant());
         }
         Iterator<String> it = consultantSet.iterator();
         while(it.hasNext()){
-            String staffId = dao.getAchivesIdByName(it.next());
-            String isId = dao.getId(staffId);
-            if(staffId == null){
-                return "未查找到该咨询员";
-            }else if(isId == null){
-                return it.next()+"该咨询员未持有一级造价师证!";
+            String consultantName = it.next();
+            if(StringUtils.isNotBlank(consultantName)){
+                String staffId = dao.getAchivesIdByName(consultantName);
+                String isId = dao.getId(staffId);
+                if(staffId == null){
+                    return "未查找到该咨询员";
+                }else if(isId == null){
+                    return it.next()+"该咨询员未持有一级造价师证!";
+                }
             }
-        }
+        }*/
 
 
         //对 (经过判断的) 数据进行新增处理
         for (ProjectReportSignatureInfo projectReportSignatureInfo: list) {
             dao.insert(projectReportSignatureInfo);
-
         }
         return "导入B类项目成功";
     }

+ 2 - 2
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageElectronicSealController.java

@@ -131,7 +131,7 @@ public class RuralProjectMessageElectronicSealController extends BaseController
         //添加查询类型list
         projectRecords.setTypeList(typeList);
         projectRecords.setSubmitMoney("1");
-        Page<RuralProjectRecords> page = ruralProjectMessageAllService.findPage(new Page<RuralProjectRecords>(request, response), projectRecords);
+        Page<RuralProjectRecords> page = ruralProjectMessageAllService.findSignaturePage(new Page<RuralProjectRecords>(request, response), projectRecords);
         model.addAttribute("page", page);
         if(null != projectRecords.getWorkContractInfo()){
             model.addAttribute("workContractInfoName", projectRecords.getWorkContractInfo().getName());
@@ -687,7 +687,7 @@ public class RuralProjectMessageElectronicSealController extends BaseController
     public String importFileTemplateB(HttpServletResponse response, HttpServletRequest request) {
         try {
             ThisLocalityDownloadUtil download = new ThisLocalityDownloadUtil();
-            download.download("导入数据模板.xlsx",request,response);  //自制的导入模板
+            download.download("签章导入数据模板.xlsx",request,response);  //自制的导入模板
         } catch (Exception e) {
             logger.error("导入数据模板下载失败!",e);
         }

+ 26 - 1
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageElectronicSealDao.xml

@@ -176,7 +176,7 @@
 	</insert>
 
 	<select id="getAchivesIdByName" resultType="String">
-		select id from work_staff_achives where name=#{name}
+		select user_id from work_staff_achives where name=#{name}
 	</select>
 
 	<select id="getId" resultType="String">
@@ -187,6 +187,31 @@
 		select number from project_report_data where number=#{projectReportId}
 	</select>
 
+	<select id="getProjectReportCountByReportId" resultType="java.lang.Integer">
+		select count(id) from project_report_data a
+		<where>
+			<if test="reportIdList!=null and reportIdList.size!=0">
+				a.number in
+				<foreach collection="reportIdList" item="reportId" separator="," open="(" close=")">
+					#{reportId}
+				</foreach>
+			</if>
+		</where>
+	</select>
+
+	<select id="getCountByReportId" resultType="java.lang.Integer">
+		SELECT count(project_report_id)
+		FROM project_report_signature_info a
+		<where>
+			<if test="reportIdList!=null and reportIdList.size!=0">
+				a.project_report_id in
+				<foreach collection="reportIdList" item="reportId" separator="," open="(" close=")">
+					#{reportId}
+				</foreach>
+			</if>
+		</where>
+	</select>
+
 	<select id="getProjectApprovalSignature" resultType="ProjectApprovalSignature">
 		select
 		  a.id AS "id",

二進制
src/main/webapp/dot/导入数据模板.xlsx


二進制
src/main/webapp/dot/签章导入数据模板.xlsx