Browse Source

档案统计-已组案卷,已销毁案卷

qianxb 2 năm trước cách đây
mục cha
commit
4f8ad7c9a2

+ 5 - 0
blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/vo/ArchivesAutoVO.java

@@ -108,6 +108,11 @@ public class ArchivesAutoVO extends ArchivesAuto {
 	 */
 	private List<String> carrierTypes;
 
+	/**
+	 * 案卷合同类型,C施工、S监理、空业主
+	 */
+	private String contractType;
+
 	@ApiModelProperty("批量保存")
 	private List<ArchivesAutoVO> list;
 	/**

+ 23 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchivesAutoController.java

@@ -36,6 +36,7 @@ import org.springblade.archive.service.IArchivesAutoService;
 import org.springblade.core.boot.ctrl.BladeController;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  *  控制器
@@ -108,6 +109,28 @@ public class ArchivesAutoController extends BladeController {
 		return R.data(pages);
 	}
 
+	/**
+	 * 档案统计-已组案卷
+	 */
+	@GetMapping("/allArchiveByContractType")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "档案统计-已组案卷")
+	public R allArchiveByContractType(Long projectId) {
+		Map<String, String> map = archivesAutoService.getAllArchiveByContractType(projectId,"0");
+		return R.data(map);
+	}
+
+	/**
+	 * 档案统计-已销毁案卷
+	 */
+	@GetMapping("/allDeletedArchiveByContractType")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "档案统计-已销毁案卷")
+	public R allDeletedArchiveByContractType(Long projectId) {
+		Map<String, String> map = archivesAutoService.getAllArchiveByContractType(projectId,"1");
+		return R.data(map);
+	}
+
 	/**
 	 * 新增 
 	 */

+ 9 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/mapper/ArchivesAutoMapper.java

@@ -57,5 +57,14 @@ public interface ArchivesAutoMapper extends BaseMapper<ArchivesAuto> {
 	 */
 	List<ArchivesAutoDTO> getListByProjectId(@Param("projectId") Long projectId);
 
+	/**
+	 *  档案利用-档案查询
+	 */
     List<ArchivesAutoVO> pageByArchivesAuto(IPage page, @Param("vo") ArchivesAutoVO vo);
+
+	/**
+	 * 获取当前项目所有案卷,并设置合同类型
+	 */
+	List<ArchivesAutoVO> getAllArchiveByContractType(@Param("projectId") Long projectId,@Param("type") String type);
+
 }

+ 5 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/mapper/ArchivesAutoMapper.xml

@@ -178,6 +178,11 @@
         </if>
         GROUP BY uaa.id
     </select>
+    <select id="getAllArchiveByContractType" resultType="org.springblade.archive.vo.ArchivesAutoVO">
+        SELECT uaa.id,matc.tree_code as 'contractType'
+        FROM u_archives_auto uaa left join m_archive_tree_contract matc on uaa.node_id =matc.id
+        WHERE uaa.project_id =#{projectId} and uaa.is_deleted = #{type}
+    </select>
 
 
 </mapper>

+ 4 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/service/IArchivesAutoService.java

@@ -21,6 +21,8 @@ import org.springblade.archive.vo.ArchivesAutoVO;
 import org.springblade.core.mp.base.BaseService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.Map;
+
 /**
  *  服务类
  *
@@ -43,4 +45,6 @@ public interface IArchivesAutoService extends BaseService<ArchivesAuto> {
 	IPage<ArchivesAutoVO> selectArchivesAutoFilePage(ArchivesAutoVO queryVo);
 
 	boolean updateArchivesAutoFileByNodeId(String ids, String nodeId,String nodeSort);
+
+	Map<String,String> getAllArchiveByContractType(Long projectId,String type);
 }

+ 47 - 1
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java

@@ -34,7 +34,12 @@ import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.manager.entity.ArchiveTreeContract;
+import org.springblade.manager.entity.ContractInfo;
+import org.springblade.manager.entity.ProjectInfo;
 import org.springblade.manager.feign.ArchiveTreeContractClient;
+import org.springblade.manager.feign.ContractClient;
+import org.springblade.manager.feign.ProjectClient;
+import org.springblade.manager.feign.WbsInfoClient;
 import org.springblade.system.entity.DictBiz;
 import org.springblade.system.feign.IDictBizClient;
 import org.springframework.stereotype.Service;
@@ -57,7 +62,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 	private final IDictBizClient iDictBizClient;
 	private ArchiveFileClient archiveFileClient;
 	private ArchiveTreeContractClient archiveTreeContractClient;
-
+	private ContractClient contractClient;
 	private Map<String,Integer> indexMap; //按立卷位区分和生成流水号
 
 
@@ -152,6 +157,47 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 		return true;
 	}
 
+	@Override
+	public Map<String, String> getAllArchiveByContractType(Long projectId,String typ) {
+		List<ArchivesAutoVO> list = baseMapper.getAllArchiveByContractType(projectId,typ);
+		List<ContractInfo> infos = contractClient.queryContractListByIds(Arrays.asList(projectId));
+		int key1=0,key2=0,key3=0;
+		//判断案卷属于1施工,2监理,还是3业主
+		for (ArchivesAutoVO l : list) {
+			String type = l.getContractType();
+			if (StringUtils.isBlank(type)){
+				//业主
+				key3++;
+			}else if ("S".equals(type)){
+				//监理
+				key2++;
+			}else if ("C".equals(type)){
+				//施工
+				key1++;
+			}else if (type.length() > 10){
+				for (ContractInfo info : infos) {
+					if (type.equals(info.getId()+"")){
+						Integer t = info.getContractType();
+						if (t == 1){
+							key1++;
+						}else if(t==2){
+							key2++;
+						}else {
+							key3++;
+						}
+						break;
+					}
+				}
+			}else {
+				System.out.println(type);
+			}
+		}
+		Map<String,String> map = new HashMap<>();
+		map.put("key1",key1+"");
+		map.put("key2",key2+"");
+		map.put("key3",key3+"");
+		return map;
+	}
 
 
 	public void archiveAutoMethod(Long projectId){