package com.gx.obe.server.tripartitefunction.bidata.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.gx.obe.http.util.ObjectUtil;
import com.gx.obe.server.common.vo.Result;
import com.gx.obe.server.tripartitefunction.bidata.SupplierDTO;
import com.gx.obe.server.tripartitefunction.bidata.service.BidataService;
import com.gx.obe.server.tripartitefunction.bidata.vo.BidataMutiNodesOrderStatus;
import com.gx.obe.server.tripartitefunction.bidata.vo.BidataMutiNodesOrderStatusRequest;
import com.gx.obe.server.tripartitefunction.bidata.vo.EntInfo;
import com.gx.obe.server.tripartitefunction.bidata.vo.MutiNodesBody;
import com.gx.obe.server.tripartitefunction.bidata.vo.SupplierInofVo;

import io.netty.util.internal.StringUtil;

@RestController
@RequestMapping("/tripartiteFunction/bidata")
public class BidataController {

	private static final org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(BidataController.class);
	@Autowired
	private BidataService bidataService;
	
	/**
	 * @Description: 获取企业嘻嘻    mainId 
	 * @author mazc
	 * @param mainId 必填
	 * @param id    creditcode  regno  name  orgcode  任选其一
	 * @return 
	 */
	@GetMapping("/entinfo")
	public Result<EntInfo> entinfo(	String mainId,String id,String creditcode,String regno, String name, String orgcode) {
		if(StringUtil.isNullOrEmpty(mainId)) {
			return  Result.failed("供应商Id不能为空");
		}
		return bidataService.getAllBillTableQDList(mainId,id, creditcode, regno, name, orgcode);
	}
	
	
	
	/**
	 * @Description: 获取当前项目下的供应商 风险概况
	 * @author mazc
	 * @param supplierDTOList
	 * @return 
	 */
	@PostMapping("/getSupplierlistInfor")
	public Result<List<SupplierInofVo>> getSupplierlistInfor(@RequestBody List<SupplierDTO> supplierDTOList) {
		if(ObjectUtil.isNull(supplierDTOList)) {
			return  Result.failed("供应商列表不能为空");
		}
		return  bidataService.getSupplierlistInfor(supplierDTOList);
	}
	
	
	/**
	 * @Description: 多个企业之间
	 * @author mazc 
	 */
	@PostMapping("/relation/asyn/muti_nodes")
	public Result<String> muti_nodes(@RequestBody MutiNodesBody mutiNodesBody) {
		return bidataService.muti_nodes(mutiNodesBody);
	}
	
	/**
	 * @Description: 获取多企业关系
	 * @author mazc
	 * @param order
	 * @return 
	 */
	@GetMapping("/relation/muti_nodes/order_status")
	public Result<BidataMutiNodesOrderStatus> order_status(String order) {
		return bidataService.order_status(order);
	}
	
 
	/**
	 * @Description: 获取文件内容
	 * @author mazc
	 * @param order
	 * @return 
	 */
	@GetMapping("/relation/muti_nodes/getMutiNodesFileContent")
	public Result<String> getMutiNodesFile(String order) {
		return bidataService.getMutiNodesFileContent(order);
	}
	

	
}