|
@@ -12,6 +12,7 @@ import com.ruoyi.zdsz.domain.bo.ZEngineeringIndustryBo;
|
|
|
import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
|
|
|
import com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo;
|
|
|
import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryVo;
|
|
|
+import com.ruoyi.zdsz.domain.vo.ZEngineeringPipeJackingVo;
|
|
|
import com.ruoyi.zdsz.service.IZEngineeringNodeService;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -23,6 +24,9 @@ import com.ruoyi.zdsz.mapper.ZTouchOperationEngineeringMapper;
|
|
|
import com.ruoyi.zdsz.service.IZTouchOperationEngineeringService;
|
|
|
import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -39,6 +43,8 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
public class ZTouchOperationEngineeringServiceImpl implements IZTouchOperationEngineeringService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IZEngineeringNodeService nodeService;
|
|
|
private final ZTouchOperationEngineeringMapper baseMapper;
|
|
|
|
|
|
@Override
|
|
@@ -83,7 +89,59 @@ public class ZTouchOperationEngineeringServiceImpl implements IZTouchOperationEn
|
|
|
@Override
|
|
|
public List<ZTouchOperationEngineeringVo> queryList(ZTouchOperationEngineeringBo bo) {
|
|
|
LambdaQueryWrapper<ZTouchOperationEngineering> lqw = buildQueryWrapper(bo);
|
|
|
- return baseMapper.selectVoList(lqw);
|
|
|
+ return doList(baseMapper.selectVoList(lqw));
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<ZTouchOperationEngineeringVo> doList(List<ZTouchOperationEngineeringVo> list) {
|
|
|
+ Map<Long, Object> reviewList = nodeService.ReViewPKList(list);
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
+ ZTouchOperationEngineeringVo 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, RoundingMode.HALF_UP);
|
|
|
+ vo.setDonePercent(percentage + "%");// 完工百分比 donePercent
|
|
|
+ }
|
|
|
+ return list;
|
|
|
}
|
|
|
|
|
|
private LambdaQueryWrapper<ZTouchOperationEngineering> buildQueryWrapper(ZTouchOperationEngineeringBo bo) {
|