|
@@ -6,16 +6,16 @@ import com.rongwei.bscommon.sys.service.*;
|
|
|
import com.rongwei.bsentity.domain.*;
|
|
|
import com.rongwei.bscommon.sys.dao.ZhcxItpProjectNodesDao;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.rongwei.bsentity.vo.CopyNodeVo;
|
|
|
+import com.rongwei.commonservice.service.dao.CommonSqlDao;
|
|
|
import com.rongwei.rwcommon.base.exception.CustomException;
|
|
|
import com.rongwei.rwcommon.utils.SecurityUtil;
|
|
|
import com.rongwei.rwcommon.utils.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -36,6 +36,8 @@ public class ZhcxItpProjectNodesServiceImpl extends ServiceImpl<ZhcxItpProjectNo
|
|
|
private ZhcxItpProjectNodesFilesService zhcxItpProjectNodesFilesService;
|
|
|
@Autowired
|
|
|
private ZhcxProjectDeviceNumberService zhcxProjectDeviceNumberService;
|
|
|
+ @Autowired
|
|
|
+ private CommonSqlDao commonSqlDao;
|
|
|
|
|
|
/**
|
|
|
* 项目引用ITP模板节点
|
|
@@ -142,4 +144,62 @@ public class ZhcxItpProjectNodesServiceImpl extends ServiceImpl<ZhcxItpProjectNo
|
|
|
throw new CustomException("项目ID不能为空");
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 复制项目节点
|
|
|
+ * @param copyNodeVo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> copyProjectNode(CopyNodeVo copyNodeVo) {
|
|
|
+ // 复制数据
|
|
|
+ if(StringUtils.isNotBlank(copyNodeVo.getCopysourceid()) && copyNodeVo.getCopytoid() != null){
|
|
|
+ List<ZhcxItpProjectNodesDo> toSave = new ArrayList<>();
|
|
|
+
|
|
|
+ List<String> toids = new ArrayList<>();
|
|
|
+ Map<String,String> idSort = new HashMap<>();
|
|
|
+ copyNodeVo.getCopytoid().forEach(v->{
|
|
|
+ if(v.containsKey("id")){
|
|
|
+ toids.add(v.get("id").toString());
|
|
|
+ if(v.containsKey("lastsort")){
|
|
|
+ idSort.put(v.get("id").toString(),v.get("lastsort").toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ ZhcxItpProjectNodesDo sourceDo = this.getById(copyNodeVo.getCopysourceid());
|
|
|
+ List<ZhcxItpProjectNodesDo> toDos = (List<ZhcxItpProjectNodesDo>)this.listByIds(toids);
|
|
|
+ if(toDos != null && toDos.size()>0){
|
|
|
+ for (ZhcxItpProjectNodesDo toDo : toDos) {
|
|
|
+ ZhcxItpProjectNodesDo newDo = new ZhcxItpProjectNodesDo();
|
|
|
+ BeanUtil.copyProperties(sourceDo,newDo);
|
|
|
+ newDo.setId(SecurityUtil.getUUID());
|
|
|
+ if(idSort.containsKey(toDo.getId())){
|
|
|
+ newDo.setSortindex(new BigDecimal(idSort.get(toDo.getId())));
|
|
|
+ }else{
|
|
|
+ newDo.setSortindex(new BigDecimal("0"));
|
|
|
+ }
|
|
|
+ newDo.setPid(toDo.getId());
|
|
|
+ toSave.add(newDo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(toSave != null && toSave.size()>0){
|
|
|
+ this.saveBatch(toSave);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 返回数据
|
|
|
+ return getProjectNodes(copyNodeVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 返回最新数据
|
|
|
+ * @param copyNodeVo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private List<Map<String, Object>> getProjectNodes(CopyNodeVo copyNodeVo){
|
|
|
+ String sql = "select * from ZHCX_ITP_PROJECT_NODES where PROJECTID='"+ copyNodeVo.getProjectid() +"' and deleted='0' order by sortindex asc";
|
|
|
+ List<Map<String, Object>> nodes = commonSqlDao.sqlExecutu(sql);
|
|
|
+ return nodes;
|
|
|
+ }
|
|
|
}
|