Pārlūkot izejas kodu

页面样式修改

[user3] 3 gadi atpakaļ
vecāks
revīzija
67e96a020d

+ 15 - 3
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectMessageElectronicSealDao.java

@@ -69,9 +69,14 @@ public interface RuralProjectMessageElectronicSealDao extends CrudDao<ProjectRep
      * @return
      */
     Integer updateReportSignature(ProjectReportSignature projectApprovalSignature);
-    String getAchivesIdByName(String name);
-    String getId(String staffId);
-    String getProjectReportId(String projectReportId);
+
+    //根据咨询员name查询咨询员的user_id
+    /**
+     * 根据咨询员name查询咨询员的user_id
+     * @param name
+     * @return
+     */
+    String getConsultantIdByName(String name);
 
     /**
      * 根据报告号idlist查询数量
@@ -86,4 +91,11 @@ public interface RuralProjectMessageElectronicSealDao extends CrudDao<ProjectRep
      * @return
      */
     Integer getCountByReportId(@Param("reportIdList") List<String> reportIdList);
+
+    /**
+     * 批量添加
+     * @param list
+     * @return
+     */
+    void insertByList(List<ProjectReportSignatureInfo> list);
 }

+ 42 - 34
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageElectronicSealService.java

@@ -43,6 +43,7 @@ import org.activiti.engine.RuntimeService;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.apache.commons.lang3.StringEscapeUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -1541,49 +1542,56 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
             //处理咨询员信息
             //对咨询员的一级造价师进行查验
             if(StringUtils.isNotBlank(importInfo.getConsultant())){
-                //查询咨询员id
-                String consultantId = dao.getAchivesIdByName(importInfo.getConsultant());
-                importInfo.setConsultant(consultantId);
+                //查询咨询员的user_id
+                String consultantId = dao.getConsultantIdByName(importInfo.getConsultant());
+                if(consultantId!=null) {
+                    importInfo.setConsultant(consultantId);
+                }else {
+                    return "存在咨询员不是一级造价师的情况";
+                }
             }
         }
-        /*for(String projectReportId:projectReportIdList) {
-            ProjectReportSignatureInfo info = dao.get(projectReportId);
-            String number = dao.getProjectReportId(projectReportId);
-            if(info != null){
-                return "数据中已存在重复报告名";
-            }else if(number == null){
-                return "此报告号不存在";
-            }
 
-        }*/
 
+        //对 (经过判断的) 数据进行批量新增处理
+        //调用方法 分批处理
+        insertAllProjectBasicsInfo(list);
 
-        //对咨询员的一级造价师进行查验
-        /*Set<String> consultantSet = new HashSet<>();
-        for(ProjectReportSignatureInfo projectReportSignatureInfo:list){
-            consultantSet.add(projectReportSignatureInfo.getConsultant());
-        }
-        Iterator<String> it = consultantSet.iterator();
-        while(it.hasNext()){
-            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()+"该咨询员未持有一级造价师证!";
+        return "导入B类项目成功";
+    }
+
+    /**
+     * 批量插入数据信息
+     * @param projectBasicsList
+     * @return
+     */
+    @Transactional(readOnly = false)
+    public String insertAllProjectBasicsInfo(List<ProjectReportSignatureInfo> projectBasicsList){
+        //分批处理
+        if(null!=projectBasicsList && projectBasicsList.size()>0){
+            int pointsDataLimit = 100;//限制条数
+            Integer size = projectBasicsList.size();
+            //判断是否有必要分批
+            if(pointsDataLimit<size){
+                int part = size/pointsDataLimit;//分批数
+                //
+                for (int i = 0; i < part; i++) {
+                    //100条
+                    List<ProjectReportSignatureInfo> listPage = projectBasicsList.subList(0, pointsDataLimit);  //分割
+                    dao.insertByList(listPage);
+                    //剔除
+                    projectBasicsList.subList(0, pointsDataLimit).clear();
                 }
+                if(!projectBasicsList.isEmpty()){
+                    dao.insertByList(projectBasicsList);
+                }
+            }else{
+                dao.insertByList(projectBasicsList);
             }
-        }*/
-
-
-        //对 (经过判断的) 数据进行新增处理
-        for (ProjectReportSignatureInfo projectReportSignatureInfo: list) {
-            dao.insert(projectReportSignatureInfo);
         }
-        return "导入B类项目成功";
+        return null;
     }
 
 
+
 }

+ 65 - 64
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageElectronicSealDao.xml

@@ -65,7 +65,7 @@
 		WHERE a.project_report_id = #{projectReportId}
 	</select>
 
-	<insert id="insert">
+	<insert id="insertByList" parameterType="java.util.List">
 		insert into project_report_signature_info(
 			project_report_id,
 			submit_fee,
@@ -119,72 +119,73 @@
 			water_and_electricity_fees_handle_situation,
 			construction_quality_warranty_deposit,
 			tax_difference_calculation_and_processing
-		)values (
-							#{projectReportId},
-							#{submitFee},
-							#{authorizeFee},
-							#{constructionUnitAssessmentFee},
-							#{authorizeFeeDeductAssessmentFee},
-							#{constructionUnit},
-							#{descriptionOfDeduction},
-							#{descriptionOfExceedingTheContractAmount},
-							#{descriptionOfSpecialMatters},
-							#{stampDate},
-							#{printQuantity},
-							#{reportPreparationDate},
-							#{agreedStartDate},
-							#{agreedEndDate},
-							#{consultant},
-							#{selfCalibrationOpinion},
-							#{reviewOpinion},
-							#{reviewDate},
-							#{dateOfConsultationReport},
-							#{startDateOfConsultingOperation},
-							#{endDateOfConsultation},
-							#{startAuditDate},
-							#{projectScaleContentScope},
-							#{mainContentsOfProject},
-							#{totalContractPrice},
-							#{contractStartDate},
-							#{contractEndDate},
-							#{actualStartDate},
-							#{actualEndDate},
-							#{completionAcceptanceDate},
-							#{designUnit},
-							#{constructionControlUnit},
-							#{followUpAuditUnit},
-							#{engineeringDesignChangeOrder},
-							#{confirmationSheetOfQuantities},
-							#{projectVisa},
-							#{qualityPriceConfirmationOfEngineeringMaterials},
-							#{listmaterialsEquipmentByA},
-							#{projectRewardAndDamages},
-							#{charge},
-							#{taxes},
-							#{durationDifferenceCausesAndResponsibilities},
-							#{qualityDifferenceCausesAndResponsibilities},
-							#{otherContentsAndExpenses},
-							#{projectCostConsultingContract},
-							#{settlementPricingBasisDocument},
-							#{materialsAndEquipmentByA},
-							#{aMaterialsByB},
-							#{rewardAndPunishmentFees},
-							#{waterAndElectricityFeesHandleSituation},
-							#{constructionQualityWarrantyDeposit},
-							#{taxDifferenceCalculationAndProcessing}
-		)
+		)values
+		<foreach collection="list" item="item" separator=",">
+			(
+			#{item.projectReportId},
+			#{item.submitFee},
+			#{item.authorizeFee},
+			#{item.constructionUnitAssessmentFee},
+			#{item.authorizeFeeDeductAssessmentFee},
+			#{item.constructionUnit},
+			#{item.descriptionOfDeduction},
+			#{item.descriptionOfExceedingTheContractAmount},
+			#{item.descriptionOfSpecialMatters},
+			#{item.stampDate},
+			#{item.printQuantity},
+			#{item.reportPreparationDate},
+			#{item.agreedStartDate},
+			#{item.agreedEndDate},
+			#{item.consultant},
+			#{item.selfCalibrationOpinion},
+			#{item.reviewOpinion},
+			#{item.reviewDate},
+			#{item.dateOfConsultationReport},
+			#{item.startDateOfConsultingOperation},
+			#{item.endDateOfConsultation},
+			#{item.startAuditDate},
+			#{item.projectScaleContentScope},
+			#{item.mainContentsOfProject},
+			#{item.totalContractPrice},
+			#{item.contractStartDate},
+			#{item.contractEndDate},
+			#{item.actualStartDate},
+			#{item.actualEndDate},
+			#{item.completionAcceptanceDate},
+			#{item.designUnit},
+			#{item.constructionControlUnit},
+			#{item.followUpAuditUnit},
+			#{item.engineeringDesignChangeOrder},
+			#{item.confirmationSheetOfQuantities},
+			#{item.projectVisa},
+			#{item.qualityPriceConfirmationOfEngineeringMaterials},
+			#{item.listmaterialsEquipmentByA},
+			#{item.projectRewardAndDamages},
+			#{item.charge},
+			#{item.taxes},
+			#{item.durationDifferenceCausesAndResponsibilities},
+			#{item.qualityDifferenceCausesAndResponsibilities},
+			#{item.otherContentsAndExpenses},
+			#{item.projectCostConsultingContract},
+			#{item.settlementPricingBasisDocument},
+			#{item.materialsAndEquipmentByA},
+			#{item.aMaterialsByB},
+			#{item.rewardAndPunishmentFees},
+			#{item.waterAndElectricityFeesHandleSituation},
+			#{item.constructionQualityWarrantyDeposit},
+			#{item.taxDifferenceCalculationAndProcessing}
+			)
+		</foreach>
 	</insert>
 
-	<select id="getAchivesIdByName" resultType="String">
-		select user_id from work_staff_achives where name=#{name}
-	</select>
-
-	<select id="getId" resultType="String">
-		select id from work_staff_certificate where staff_id=#{staffId}
-	</select>
 
-	<select id="getProjectReportId" resultType="String">
-		select number from project_report_data where number=#{projectReportId}
+	<select id="getConsultantIdByName" resultType="String">
+		select b.user_id from work_staff_certificate a,work_staff_achives b
+		<where>
+			a.staff_id in
+				(select id from work_staff_achives b where b.name=#{name})
+			and a.staff_id=b.id
+		</where>
 	</select>
 
 	<select id="getProjectReportCountByReportId" resultType="java.lang.Integer">