|
@@ -37,6 +37,7 @@ import org.springframework.util.ObjectUtils;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.lang.reflect.InvocationTargetException;
|
|
|
import java.lang.reflect.Method;
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.ZoneId;
|
|
@@ -407,7 +408,59 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
|
|
|
@Override
|
|
|
public List<ZEngineeringIndustryVo> queryList(ZEngineeringIndustryBo bo) {
|
|
|
LambdaQueryWrapper<ZEngineeringIndustry> lqw = buildQueryWrapper(bo);
|
|
|
- return baseMapper.selectVoList(lqw);
|
|
|
+ return doList(baseMapper.selectVoList(lqw));
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<ZEngineeringIndustryVo> doList(List<ZEngineeringIndustryVo> list) {
|
|
|
+ Map<String, Object> reviewList = nodeService.ReViewSZList(list);
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
+ ZEngineeringIndustryVo vo = list.get(i);
|
|
|
+// vo.setEnginName(vo.getEnginName() + "-" + vo.getEnginClassification());
|
|
|
+ vo.setEnginName(vo.getEnginName() + "-" + vo.getEnginType());
|
|
|
+ vo.setNodeReViewStateList(reviewList.get(vo.getId()));
|
|
|
+ vo.setRowNumber(i+1); // 序号 rowNumber
|
|
|
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-dd");
|
|
|
+ vo.setCreateTimeStr(simpleDateFormat.format(vo.getCreateTime())); // 派发时间 createtime
|
|
|
+// String state = "";
|
|
|
+// String end = "";
|
|
|
+// if("室内管线".equals(vo.getEnginClassification())){
|
|
|
+// state = "进场";
|
|
|
+// end = "通气";
|
|
|
+// } else if ("庭院".equals(vo.getEnginClassification())) {
|
|
|
+// state = "进场";
|
|
|
+// end = "通气";
|
|
|
+// } else if ("架空管线".equals(vo.getEnginClassification())) {
|
|
|
+// state = "除锈刷油";
|
|
|
+// end = "全貌照片";
|
|
|
+//// } else if ("".equals(item.getEnginClassification())) {
|
|
|
+//// state = "";
|
|
|
+//// end = "";
|
|
|
+// }
|
|
|
+ String start = "";
|
|
|
+ String end = "";
|
|
|
+ ZEngineeringNodeBo zEngineeringNodeBo = new ZEngineeringNodeBo();
|
|
|
+ zEngineeringNodeBo.setCreateTime(vo.getCreateTime());
|
|
|
+ zEngineeringNodeBo.setCivliId(vo.getId());
|
|
|
+ zEngineeringNodeBo.setType(start);
|
|
|
+ List<ZEngineeringNodeBo> zEngineeringNodeBos = nodeService.queryListDetails(zEngineeringNodeBo);
|
|
|
+ vo.setStartTime(zEngineeringNodeBos!=null && zEngineeringNodeBos.size()>0 ? zEngineeringNodeBos.get(0).getUpdateTime():null);
|
|
|
+ vo.setStartTimeStr(vo.getStartTime() == null ? null : simpleDateFormat.format(vo.getStartTime())); // 进场时间 startTime
|
|
|
+ ZEngineeringNodeBo zEngineeringNodeBoEnd = new ZEngineeringNodeBo();
|
|
|
+ zEngineeringNodeBoEnd.setCreateTime(vo.getCreateTime());
|
|
|
+ zEngineeringNodeBoEnd.setCivliId(vo.getId());
|
|
|
+ zEngineeringNodeBoEnd.setType(end);
|
|
|
+ List<ZEngineeringNodeBo> zEngineeringNodeBosEnd = nodeService.queryListDetails(zEngineeringNodeBoEnd);
|
|
|
+ vo.setBeCompletedTime(zEngineeringNodeBosEnd!=null && zEngineeringNodeBosEnd.size()>0 ? zEngineeringNodeBosEnd.get(0).getUpdateTime():null);
|
|
|
+ vo.setBeCompletedTimeStr(vo.getBeCompletedTime() == null ? null : simpleDateFormat.format(vo.getBeCompletedTime())); // 竣工时间 beCompletedTime
|
|
|
+ vo.setAirTimeStr(vo.getBeCompletedTimeStr()); // 通气时间 airTime
|
|
|
+ List<Map> nodeReViewStateList = (List)vo.getNodeReViewStateList();
|
|
|
+ int size = nodeReViewStateList.size();
|
|
|
+ long done = nodeReViewStateList.stream().filter(item -> item.get("state").equals("1")).count();
|
|
|
+ Double donePercent = done * 100.0 / size;
|
|
|
+ BigDecimal percentage = new BigDecimal(donePercent).setScale(2);
|
|
|
+ vo.setDonePercent(percentage + "%");// 完工百分比 donePercent
|
|
|
+ }
|
|
|
+ return list;
|
|
|
}
|
|
|
|
|
|
private LambdaQueryWrapper<ZEngineeringIndustry> buildQueryWrapper(ZEngineeringIndustryBo bo) {
|