diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansub/vo/PlanSubRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansub/vo/PlanSubRespVO.java index 5fd0337..63f83c8 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansub/vo/PlanSubRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansub/vo/PlanSubRespVO.java @@ -54,6 +54,15 @@ public class PlanSubRespVO { @ExcelProperty("毛坯结束日期") private LocalDateTime blankDate; + @Schema(description = "毛坯开始日期") + @ExcelProperty("毛坯开始日期") + private LocalDateTime startBlankDates; + + @Schema(description = "毛坯结束日期") + @ExcelProperty("毛坯结束日期") + private LocalDateTime blankDates; + + @Schema(description = "毛坯设计天数") @ExcelProperty("毛坯设计天数") private Long blankNum; @@ -71,6 +80,14 @@ public class PlanSubRespVO { @ExcelProperty("2D结束日期") private LocalDateTime twoDimDate; + @Schema(description = "2D开始日期") + @ExcelProperty("2D开始日期") + private LocalDateTime startTwoDimDates; + + @Schema(description = "2D结束日期") + @ExcelProperty("2D结束日期") + private LocalDateTime twoDimDates; + @Schema(description = "2D设计天数") @ExcelProperty("2D设计天数") private Long twoDimNum; @@ -87,6 +104,14 @@ public class PlanSubRespVO { @ExcelProperty("3D结束日期") private LocalDateTime threeDimDate; + @Schema(description = "3D开始日期") + @ExcelProperty("3D开始日期") + private LocalDateTime startThreeDimDates; + + @Schema(description = "3D结束日期") + @ExcelProperty("3D结束日期") + private LocalDateTime threeDimDates; + @Schema(description = "3D设计天数") @ExcelProperty("3D设计天数") private Long threeDimNum; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/plansub/PlanSubDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/plansub/PlanSubDO.java index ea878bb..ea1d44d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/plansub/PlanSubDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/plansub/PlanSubDO.java @@ -64,6 +64,20 @@ public class PlanSubDO extends BaseDO { */ private LocalDateTime blankDate; + /** + * 毛坯开始日期 + */ + @TableField(exist = false) + private LocalDateTime startBlankDates; + + + /** + * 毛坯结束日期 + */ + @TableField(exist = false) + private LocalDateTime blankDates; + + /** * 毛坯设计天数 */ @@ -86,6 +100,20 @@ public class PlanSubDO extends BaseDO { */ private LocalDateTime twoDimDate; + /** + * 2D开始日期 + */ + @TableField(exist = false) + private LocalDateTime startTwoDimDates; + + + /** + * 2D结束日期 + */ + @TableField(exist = false) + private LocalDateTime twoDimDates; + + /** * 2D设计天数 */ @@ -107,6 +135,20 @@ public class PlanSubDO extends BaseDO { */ private LocalDateTime threeDimDate; + + /** + * 3D开始日期 + */ + @TableField(exist = false) + private LocalDateTime startThreeDimDates; + + /** + * 3D结束日期 + */ + @TableField(exist = false) + private LocalDateTime threeDimDates; + + /** * 3D设计天数 */ diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plansub/PlanSubMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plansub/PlanSubMapper.java index ae988e6..e36c57a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plansub/PlanSubMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plansub/PlanSubMapper.java @@ -37,6 +37,40 @@ public interface PlanSubMapper extends BaseMapperX { query.eq(reqVO.getProjectPlanId() != null, PlanSubDO::getProjectPlanId, reqVO.getProjectPlanId()); return selectPage(reqVO, query); } + default List searchOwnerThrees(Long planId,String name,String dateOne,String dateTwo,String id,long projectPlanid) { + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(PlanSubDO.class) + .select("a.change_end_time as changeEndTime,b.name as projectSubName,b.amount,b.unit, c.name as equipName ,d.name as compositionName") + .leftJoin(PlanDO.class, "a", PlanDO::getId, PlanSubDO::getProjectPlanId) + .leftJoin(ProjectOrderSubDO.class, "b", ProjectOrderSubDO::getId, PlanSubDO::getProjectSubId) + .leftJoin(EquipDO.class,"c",EquipDO::getId,PlanSubDO::getEquipId) + .leftJoin(CompositionDO.class, "d", CompositionDO::getId, ProjectOrderSubDO::getCompositionId) + + .disableSubLogicDel() + .orderByAsc(PlanSubDO::getId); + // 增加查询条件 + query.eq(StringUtils.isNotBlank(name), PlanSubDO:: getThreeDimOwner, name); + // 添加日期范围查询条件 + if (StringUtils.isNotBlank(dateOne) && StringUtils.isNotBlank(dateTwo)) { + + + query.and(i -> i.between(PlanSubDO::getStartThreeDimDate, dateOne, dateTwo) + .or(a -> a.between(PlanSubDO::getThreeDimDate, dateOne, dateTwo))); + + } + if(StringUtils.isNotBlank(id)){ + query.ne(PlanSubDO::getId,id); + } + + if(!(planId == 0L)){ + query.ne(PlanSubDO::getProjectPlanId,planId); + } + query.ne(PlanSubDO::getProjectPlanId,projectPlanid); + + + return selectList(query); + } + default List searchOwnerThree(String name,String dateOne,String dateTwo,String id) { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(PlanSubDO.class) @@ -64,7 +98,7 @@ public interface PlanSubMapper extends BaseMapperX { return selectList(query); } - default List searchOwnerTwos(Long planId,String name,String dateOne,String dateTwo,String id) { + default List searchOwnerTwos(Long planId,String name,String dateOne,String dateTwo,String id,long projectPlanid) { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(PlanSubDO.class) .select("a.change_end_time as changeEndTime,b.name as projectSubName,b.amount,b.unit, c.name as equipName ,d.name as compositionName") @@ -96,6 +130,8 @@ public interface PlanSubMapper extends BaseMapperX { query.ne(PlanSubDO::getProjectPlanId,planId); } + query.ne(PlanSubDO::getProjectPlanId,projectPlanid); + return selectList(query); } @@ -127,7 +163,7 @@ public interface PlanSubMapper extends BaseMapperX { } return selectList(query); } - default List searchOwners(Long planId,String name,String dateOne,String dateTwo,String id) { + default List searchOwners(Long planId,String name,String dateOne,String dateTwo,String id,long projectPlanid) { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(PlanSubDO.class) .select("a.change_end_time as changeEndTime,b.name as projectSubName,b.amount,b.unit, c.name as equipName ,d.name as compositionName") @@ -159,6 +195,8 @@ public interface PlanSubMapper extends BaseMapperX { query.ne(PlanSubDO::getProjectPlanId,planId); } + query.ne(PlanSubDO::getProjectPlanId,projectPlanid); + return selectList(query); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansub/PlanSubServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansub/PlanSubServiceImpl.java index 5346bb0..e40a8fd 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansub/PlanSubServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansub/PlanSubServiceImpl.java @@ -105,9 +105,9 @@ public class PlanSubServiceImpl implements PlanSubService { // 将 planSubDOSs 改为局部变量 List planSubDOSs = new ArrayList<>(); // 调用递归方法 - return postOwnderChaHuoRecursive(tableData,planSubDOSs,0);//(planId, name, dateOne, dateTwo, id, diffDays, type, dateThree, planSubDOSs); + return postOwnderChaHuoRecursive(tableData,planSubDOSs,0,tableData.get(0).getProjectPlanId());//(planId, name, dateOne, dateTwo, id, diffDays, type, dateThree, planSubDOSs); } - public List postOwnderChaHuoRecursive(List tableData,List planSubDOSs,int index){//(Long planId, String name, String dateOne, String dateTwo, String id, Long diffDays, int type, String dateThree, List planSubDOSs) { + public List postOwnderChaHuoRecursive(List tableData,List planSubDOSs,int index,long projectPlanid){//(Long planId, String name, String dateOne, String dateTwo, String id, Long diffDays, int type, String dateThree, List planSubDOSs) { //用来控制递归调用 int a = 0; @@ -135,7 +135,7 @@ public class PlanSubServiceImpl implements PlanSubService { //先根据第一个数组检索出其余项目是否是日期冲突的问题 - List planSubDOS = searchOwners(planSubRespVO.getProjectPlanId(),owner,formattedDateTime , endTime, String.valueOf(planSubRespVO.getId()), tableData.get(0).getType()); + List planSubDOS = searchOwners(planSubRespVO.getProjectPlanId(),owner,formattedDateTime , endTime, String.valueOf(planSubRespVO.getId()), tableData.get(0).getType(),projectPlanid); //先将查出的数据存入集合中 for(PlanSubDO planSubDO : planSubDOS){ //存入之前要判断集合中ID是否存在,存在则不添加 @@ -178,8 +178,12 @@ public class PlanSubServiceImpl implements PlanSubService { if(tableData.get(0).getType() == 1){ reqVO.setTianshu(planSubDOSs.get(i).getBlankNum()); List shopCalendarDOS = shopCalendarMapper.searchRllist(reqVO); + + planSubDOSs.get(i).setStartBlankDates(planSubDOSs.get(i).getStartBlankDate()); + planSubDOSs.get(i).setBlankDates(planSubDOSs.get(i).getBlankDate()); planSubDOSs.get(i).setStartBlankDate(shopCalendarDOS.get(0).getDates()); int b = shopCalendarDOS.size(); + planSubDOSs.get(i).setBlankDate(shopCalendarDOS.get(b - 1).getDates()); //更换完成后变更取值日期 endTimes = shopCalendarDOS.get(b - 1).getDates().format(formatter); @@ -194,6 +198,10 @@ public class PlanSubServiceImpl implements PlanSubService { }else if(tableData.get(0).getType() == 2){ reqVO.setTianshu(planSubDOSs.get(i).getTwoDimNum()); List shopCalendarDOS = shopCalendarMapper.searchRllist(reqVO); + + planSubDOSs.get(i).setStartTwoDimDates(planSubDOSs.get(i).getStartTwoDimDate()); + planSubDOSs.get(i).setTwoDimDates(planSubDOSs.get(i).getTwoDimDate()); + planSubDOSs.get(i).setStartTwoDimDate(shopCalendarDOS.get(0).getDates()); int b = shopCalendarDOS.size(); planSubDOSs.get(i).setTwoDimDate(shopCalendarDOS.get(b - 1).getDates()); @@ -210,6 +218,10 @@ public class PlanSubServiceImpl implements PlanSubService { }else{ reqVO.setTianshu(planSubDOSs.get(i).getThreeDimNum()); List shopCalendarDOS = shopCalendarMapper.searchRllist(reqVO); + + planSubDOSs.get(i).setStartThreeDimDates(planSubDOSs.get(i).getStartThreeDimDate()); + planSubDOSs.get(i).setThreeDimDates(planSubDOSs.get(i).getThreeDimDate()); + planSubDOSs.get(i).setStartThreeDimDate(shopCalendarDOS.get(0).getDates()); int b = shopCalendarDOS.size(); planSubDOSs.get(i).setThreeDimDate(shopCalendarDOS.get(b - 1).getDates()); @@ -239,7 +251,7 @@ public class PlanSubServiceImpl implements PlanSubService { index = planSubDOSs.size(); //当全部变更完成后,需要再用变更之后的数据,对每一条在进行一次检索,防止更改之后的数据有冲突。 if(a>0){ - postOwnderChaHuoRecursive(tableDatas,planSubDOSs,index); + postOwnderChaHuoRecursive(tableDatas,planSubDOSs,index,projectPlanid); } // @@ -260,15 +272,15 @@ public class PlanSubServiceImpl implements PlanSubService { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); return localDateTime.format(formatter); } - public List searchOwners(Long planId,String name,String dateOne,String dateTwo,String id,int type){ + public List searchOwners(Long planId,String name,String dateOne,String dateTwo,String id,int type,long projectPlanid){ List planSubDOS = new ArrayList<>(); if(type == 1){ - planSubDOS = planSubMapper.searchOwners(planId,name,dateOne,dateTwo,id); + planSubDOS = planSubMapper.searchOwners(planId,name,dateOne,dateTwo,id,projectPlanid); }else if(type == 2){ - planSubDOS = planSubMapper.searchOwnerTwos(planId,name,dateOne,dateTwo,id); + planSubDOS = planSubMapper.searchOwnerTwos(planId,name,dateOne,dateTwo,id,projectPlanid); }else{ - planSubDOS = planSubMapper.searchOwnerThree(name,dateOne,dateTwo,id); + planSubDOS = planSubMapper.searchOwnerThrees(planId,name,dateOne,dateTwo,id,projectPlanid); } return planSubDOS; } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/edit.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/edit.vue index d4efb13..e8bc703 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/edit.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/edit.vue @@ -898,14 +898,22 @@ const getOwnderListss = async (index: number) => { const datalists = await PlanSubApi.getOwnderPlanSub(formatDate(currentRow.threeDimDate, 'YYYY-MM-DD'), prod.value.projectPlanSubs[i].threeDimNum); prod.value.projectPlanSubs[i].startThreeDimDate = datalists[0].dates; prod.value.projectPlanSubs[i].threeDimDate = datalists[1].dates; - datas.startThreeDimDate = datalists[0].dates; + datas.startThreeDimDates = datas.startThreeDimDate; + datas.threeDimDates = datas.threeDimDate; + datas.startThreeDimDate = datalists[0].dates; datas.threeDimDate = datalists[1].dates; + + + + datas.changeEndTime = formData.value.changeEndTime; datas.projectPlanId = formData.value.id; datas.type = 2; currentTime.value = datalists[1].dates; dateThree.value = datalists[1].dates; dataListShuju.value.push(datas); + console.log("最新的一次"); + console.log(dataListShuju.value); dataListShujus.value.push(datas); await processRecursive(i); // 递归调用 } @@ -959,8 +967,13 @@ const getOwnderListss = async (index: number) => { const datalists = await PlanSubApi.getOwnderPlanSub(formatDate(queryStartTime, 'YYYY-MM-DD'), prod.value.projectPlanSubs[b].threeDimNum); prod.value.projectPlanSubs[b].startThreeDimDate = datalists[0].dates; prod.value.projectPlanSubs[b].threeDimDate = datalists[1].dates; - existingItem.startThreeDimDate = datalists[0].dates; + existingItem.startThreeDimDates = existingItem.startThreeDimDate; + existingItem.threeDimDates = existingItem.threeDimDate; + existingItem.startThreeDimDate = datalists[0].dates; existingItem.threeDimDate = datalists[1].dates; + + + lastEndTime = datalists[1].dates; existingItem.changeEndTime = formData.value.changeEndTime; existingItem.projectPlanId = formData.value.id; @@ -1057,8 +1070,13 @@ const getOwnderLists = async (index: number) => { const datalists = await PlanSubApi.getOwnderPlanSub(formatDate(currentRow.twoDimDate, 'YYYY-MM-DD'), prod.value.projectPlanSubs[i].twoDimNum); prod.value.projectPlanSubs[i].startTwoDimDate = datalists[0].dates; prod.value.projectPlanSubs[i].twoDimDate = datalists[1].dates; + + datas.startTwoDimDates = datas.startTwoDimDate; + datas.twoDimDates = datas.twoDimDate; + datas.startTwoDimDate = datalists[0].dates; datas.twoDimDate = datalists[1].dates; + datas.changeEndTime = formData.value.changeEndTime; datas.projectPlanId = formData.value.id; datas.type = 2; @@ -1122,8 +1140,13 @@ const getOwnderLists = async (index: number) => { const datalists = await PlanSubApi.getOwnderPlanSub(formatDate(queryStartTime, 'YYYY-MM-DD'), prod.value.projectPlanSubs[b].twoDimNum); prod.value.projectPlanSubs[b].startTwoDimDate = datalists[0].dates; prod.value.projectPlanSubs[b].twoDimDate = datalists[1].dates; + + existingItem.startTwoDimDates = existingItem.startTwoDimDate; + existingItem.twoDimDates = existingItem.twoDimDate; + existingItem.startTwoDimDate = datalists[0].dates; existingItem.twoDimDate = datalists[1].dates; + lastEndTime = datalists[1].dates; existingItem.changeEndTime = formData.value.changeEndTime; existingItem.projectPlanId = formData.value.id; @@ -1214,8 +1237,12 @@ const getOwnderList = async (index: number) => { const datalists = await PlanSubApi.getOwnderPlanSub(formatDate(currentRow.blankDate, 'YYYY-MM-DD'), prod.value.projectPlanSubs[i].blankNum); prod.value.projectPlanSubs[i].startBlankDate = datalists[0].dates; prod.value.projectPlanSubs[i].blankDate = datalists[1].dates; + datas.startBlankDates = datas.startBlankDate; + datas.blankDates = datas.blankDate; + datas.startBlankDate = datalists[0].dates; datas.blankDate = datalists[1].dates; + datas.changeEndTime = formData.value.changeEndTime; datas.projectPlanId = formData.value.id currentTime.value = datalists[1].dates; @@ -1279,8 +1306,13 @@ const getOwnderList = async (index: number) => { const datalists = await PlanSubApi.getOwnderPlanSub(formatDate(queryStartTime, 'YYYY-MM-DD'), prod.value.projectPlanSubs[b].blankNum); prod.value.projectPlanSubs[b].startBlankDate = datalists[0].dates; prod.value.projectPlanSubs[b].blankDate = datalists[1].dates; + + existingItem.startBlankDates = existingItem.startBlankDate; + existingItem.blankDates = existingItem.blankDate; + existingItem.startBlankDate = datalists[0].dates; existingItem.blankDate = datalists[1].dates; + lastEndTime = datalists[1].dates; existingItem.changeEndTime = formData.value.changeEndTime; existingItem.projectPlanId = formData.value.id; diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/projectSubDialog.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/projectSubDialog.vue index 1dd58d9..1a81775 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/projectSubDialog.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/projectSubDialog.vue @@ -51,7 +51,7 @@ @@ -60,7 +60,7 @@ @@ -79,7 +79,7 @@ @@ -88,7 +88,7 @@ @@ -110,7 +110,7 @@ @@ -119,7 +119,7 @@ @@ -142,7 +142,8 @@ @@ -208,6 +209,20 @@ onMounted(async () => { console.log(formData.value.name); }); + +const qrch = async() => { + + for(let a=0;a {