소스 검색

项目计划安排 -- 打包修改

Enford 5 년 전
부모
커밋
d720a6e81b

+ 2 - 2
src/main/java/com/jeeplus/modules/sg/managementcenter/projectPlanArrage/entity/ProjectActProclnsAss.java

@@ -40,7 +40,7 @@ public class ProjectActProclnsAss extends DataEntity<ProjectActProclnsAss> {
         this.oanotityId = oanotityId;
     }
 
-
+    @ExcelField(title="关联项目包", align=2, sort=8)
     public String getAssociatedBag() {
         return associatedBag;
     }
@@ -48,7 +48,7 @@ public class ProjectActProclnsAss extends DataEntity<ProjectActProclnsAss> {
     public void setAssociatedBag(String associatedBag) {
         this.associatedBag = associatedBag;
     }
-
+    @ExcelField(title="停电包", align=2, sort=9)
     public String getPowerPackage() {
         return powerPackage;
     }

+ 15 - 5
src/main/java/com/jeeplus/modules/sg/managementcenter/projectPlanArrage/mapper/xml/ProjectPlanArrageMapper.xml

@@ -17,7 +17,9 @@
 		a.projectMonthDate AS "projectMonthDate",
 		a.projectDate AS "projectDate",
 		a.projectPowerOut AS "projectPowerOut",
-		a.status AS "status"
+		a.status AS "status",
+		a.associatedBag AS "associatedBag",
+		a.powerPackage AS "powerPackage"
 	</sql>
 
 	<sql id="infoColumns">
@@ -136,7 +138,9 @@
 			projectMonthDate,
 			projectDate,
 			projectPowerOut,
-			status
+			status,
+			associatedBag,
+			powerPackage
 		) VALUES
 		(
 			#{id},
@@ -154,7 +158,9 @@
 			#{projectMonthDate},
 			#{projectDate},
 			#{projectPowerOut},
-			#{status}
+			#{status},
+			#{associatedBag},
+			#{powerPackage}
 		)
 	</insert>
 
@@ -175,7 +181,9 @@
 			projectMonthDate,
 			projectDate,
 			projectPowerOut	,
-			status
+			status,
+			associatedBag,
+			powerPackage
 		) VALUES
 		<foreach collection="list" item="item" index="index" separator="," >
 			(
@@ -194,7 +202,9 @@
 			#{item.projectMonthDate},
 			#{item.projectDate},
 			#{item.projectPowerOut},
-			#{item.status}
+			#{item.status},
+			#{item.associatedBag},
+			#{item.powerPackage}
 			)
 		</foreach>
 	</insert>

+ 44 - 29
src/main/java/com/jeeplus/modules/sg/managementcenter/projectPlanArrage/service/ProjectPlanArrageService.java

@@ -216,6 +216,13 @@ public class ProjectPlanArrageService extends CrudService<ProjectPlanArrageMappe
 
     //安排项目计划 -- 按钮功能 获取相同id相同以及包含开关的方法--配网项目经理初始安排计划
     public void getNetWorkUnplannedService(List<ProjectPlanArrage> projectPlanArrages,List<String> idList){
+        Date mouth = null;
+        for (ProjectPlanArrage planArrage:projectPlanArrages){
+            if (null!=planArrage.getProjectMonthDate()){
+                mouth = planArrage.getProjectMonthDate();
+                break;
+            }
+        }
         List<Integer> integerList = new ArrayList<Integer>();
         for (ProjectPlanArrage planArrage:projectPlanArrages){
             if (null!=planArrage.getAssociatedSort()){
@@ -270,14 +277,13 @@ public class ProjectPlanArrageService extends CrudService<ProjectPlanArrageMappe
                     for (String s:hashSet){
                         if (pa.getProjectPowerRange().contains(s)){
                             if (!pa.getArrageFlag().equals("1")){
+                                pa.setBackToStauts("2");
+                                pa.setArrageFlag("1");
+                                pa.setProjectMonthDate(mouth);
                                 if (!"".equals(assPackName)){
-                                    pa.setBackToStauts("2");
-                                    pa.setArrageFlag("1");
                                     pa.setAssociatedBag(assPackName);
                                     pa.setAssociatedSort(assPackSort);
                                 }else {
-                                    pa.setBackToStauts("2");
-                                    pa.setArrageFlag("1");
                                     pa.setAssociatedBag("关联包项目"+assInter.toString());
                                     pa.setAssociatedSort(assInter);
                                 }
@@ -416,7 +422,7 @@ public class ProjectPlanArrageService extends CrudService<ProjectPlanArrageMappe
         for (ProjectPlanArrage planArrage:projectPlans){
             //安排的计划
             if (planArrage.getArrageFlag().equals("1")&&planArrage.getWhetherStatus().equals("0")){
-                if (planArrage.getProjectPowerOut().equals("停电")){
+                if (null!=planArrage.getProjectPowerOut()&&planArrage.getProjectPowerOut().equals("停电")){
                     planNoArrageList.add(planArrage);
                 }else {
                     planYesArrageList.add(planArrage);
@@ -564,33 +570,36 @@ public class ProjectPlanArrageService extends CrudService<ProjectPlanArrageMappe
                 }
             }
         }
+        String name = UserUtils.getUser().getName();
         //处理子类集合 -- 如果子类集合不为空
         if (!planArragesChild.isEmpty()){
             for (ProjectPlanArrage pa:projectPlanArrages){
                 if (!pa.getWhetherStatus().equals("1")){
                     for (String s:hashSet){
-                        if (pa.getProjectPowerRange().contains(s)){
-                            if (!pa.getArrageFlag().equals("1")){
-                                pa.setArrageFlag("1");
-                                pa.setBackToStauts("2");//说明这是施工单位项目经理新增的状态
-                                pa.setOperationStatus("0");//循序操作
-                                pa.setProjectMonthDate(mouthDate);//自动配置月份
-                                if (null!=pa.getProjectPowerRange()&&pa.getProjectPowerRange().contains("非涉电")){
-                                    pa.setProjectPowerOut("带电");
-                                }else {
-                                    pa.setProjectPowerOut("停电");
-                                }
-                                //分配关联包
-                                if (!"".equals(assPackName)){
-                                    pa.setAssociatedBag("关联包项目"+assPackSort);
-                                    pa.setAssociatedSort(assPackSort);
-                                }else {
-                                    pa.setAssociatedBag("关联包项目"+assInter);
-                                    pa.setAssociatedSort(assInter);
-                                }
-                            }
-                            break;
-                        }
+                       if (pa.getConstructionUnit().equals(name)){
+                           if (pa.getProjectPowerRange().contains(s)){
+                               if (!pa.getArrageFlag().equals("1")){
+                                   pa.setArrageFlag("1");
+                                   pa.setBackToStauts("2");//说明这是施工单位项目经理新增的状态
+                                   pa.setOperationStatus("0");//循序操作
+                                   pa.setProjectMonthDate(mouthDate);//自动配置月份
+                                   if (null!=pa.getProjectPowerRange()&&pa.getProjectPowerRange().contains("非涉电")){
+                                       pa.setProjectPowerOut("带电");
+                                   }else {
+                                       pa.setProjectPowerOut("停电");
+                                   }
+                                   //分配关联包
+                                   if (!"".equals(assPackName)){
+                                       pa.setAssociatedBag("关联包项目"+assPackSort);
+                                       pa.setAssociatedSort(assPackSort);
+                                   }else {
+                                       pa.setAssociatedBag("关联包项目"+assInter);
+                                       pa.setAssociatedSort(assInter);
+                                   }
+                               }
+                               break;
+                           }
+                       }
                     }
                 }
             }
@@ -657,9 +666,15 @@ public class ProjectPlanArrageService extends CrudService<ProjectPlanArrageMappe
                 projectPlanArrage.setProjectNumber(projectId);
                 projectPlanArrage.setProjectName((String)importUtil.getCellValue(row,1));
                 projectPlanArrage.setProjectPowerRange((String)importUtil.getCellValue(row,2));
-                projectPlanArrage.setProjectDate(format.parse((String)importUtil.getCellValue(row,3)));
-                projectPlanArrage.setProjectMonthDate(format.parse((String)importUtil.getCellValue(row,4)));
+                if (null!=(String)importUtil.getCellValue(row,3)&&!"".equals((String)importUtil.getCellValue(row,3))){
+                    projectPlanArrage.setProjectDate(format.parse((String)importUtil.getCellValue(row,3)));
+                }
+                if (null!=(String)importUtil.getCellValue(row,4)&&!"".equals((String)importUtil.getCellValue(row,4))){
+                    projectPlanArrage.setProjectMonthDate(format.parse((String)importUtil.getCellValue(row,4)));
+                }
                 projectPlanArrage.setProjectPowerOut((String)importUtil.getCellValue(row,5));
+                projectPlanArrage.setAssociatedBag((String)importUtil.getCellValue(row,6));
+                projectPlanArrage.setPowerPackage((String)importUtil.getCellValue(row,7));
                 list.add(projectPlanArrage);
             }
         }

+ 21 - 1
src/main/java/com/jeeplus/modules/sg/managementcenter/projectPlanArrage/util/PackagingUtil.java

@@ -13,7 +13,27 @@ import java.util.List;
  * 打包工具类
  */
 public class PackagingUtil {
-    //列表展示数据
+    //不是初始节点的展示 -- 施工单位项目经理 配网项目经理2展示列表
+    public static List<ProjectPlanArrage> getProjectPlanArrageList(ProjectPlanArrage projectPlanArrage,List<ProjectPlanArrage> projectPlanArrages){
+        //获取已经安排的id
+        List<String> ids = getSplitProjectNumber(projectPlanArrage);
+        for (ProjectPlanArrage planArrage:projectPlanArrages){
+            if (!planArrage.getWhetherStatus().equals("1")){
+                for (String s:ids){
+                    if (planArrage.getProjectNumber().equals(s)){
+                        planArrage.setArrageFlag("1");
+                        break;
+                    }
+                }
+            }
+        }
+
+        return projectPlanArrages;
+    }
+
+
+
+    //列表展示数据 --
     public static List<ProjectPlanArrage> getProjectPlanList(ProjectPlanArrage projectPlanArrage,List<ProjectPlanArrage> projectPlanArrages){
         //关联停电包信息
         HashSet<String> currentSwitch = getCurrentSwitch(projectPlanArrage, projectPlanArrages);

+ 3 - 3
src/main/java/com/jeeplus/modules/sg/managementcenter/projectPlanArrage/web/ProjectPlanArrageController.java

@@ -412,7 +412,7 @@ public class ProjectPlanArrageController extends BaseController {
         //开关 - 项目 统一集合 用WhetherStatus区分
         ProjectPlanArrage planArrage = new ProjectPlanArrage();
         planArrage.setProjectNumber(projectId);//赋值项目定义号
-        List<ProjectPlanArrage> projectPlanList = PackagingUtil.getProjectPlanList(planArrage,projectList);
+        List<ProjectPlanArrage> projectPlanList = PackagingUtil.getProjectPlanArrageList(planArrage,projectList);
         //当前项目与配网项目经理安排项目会合
         List<ProjectPlanArrage> summaryService = projectPlanActService.getSummaryService(projectPlanList, listAss);
         for (ProjectPlanArrage planArrage1:summaryService){
@@ -680,7 +680,7 @@ public class ProjectPlanArrageController extends BaseController {
         //开关 - 项目 统一集合 用WhetherStatus区分
         ProjectPlanArrage planArrage = new ProjectPlanArrage();
         planArrage.setProjectNumber(projectId);//赋值项目定义号
-        List<ProjectPlanArrage> projectPlanList = PackagingUtil.getProjectPlanList(planArrage,projectList);
+        List<ProjectPlanArrage> projectPlanList = PackagingUtil.getProjectPlanArrageList(planArrage,projectList);
         //当前项目与配网项目经理汇合项目汇总
         List<ProjectPlanArrage> planArrages = projectPlanActService.getNetworkService(projectPlanList,listAss);
         for (ProjectPlanArrage planArrage1:planArrages){
@@ -709,7 +709,7 @@ public class ProjectPlanArrageController extends BaseController {
         if (null!=list){
             for (ProjectPlanArrage projectPlanArrage:list){
                 if (entity.getWhetherStatus().equals(projectPlanArrage.getWhetherStatus())&&entity.getArrageFlag().equals(projectPlanArrage.getArrageFlag())){
-                    if (projectPlanArrage.getBackToStauts().equals("2")){
+                    if (null!=projectPlanArrage.getBackToStauts()&&projectPlanArrage.getBackToStauts().equals("2")){
                         projectPlanArrage.setHtmlStatus("2");//新增项目
                     }
                     if (null!=projectPlanArrage.getBackToText()&&!"".equals(projectPlanArrage.getBackToText())){