package com.sunda.spmsweb.ordercontroller;



import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sunda.spmscommon.ResponseResult;
import com.sunda.spmsorder.entity.vo.SapProjectOaNumberQueryVO;
import com.sunda.spmsorder.service.ISapProjectOaNumberService;
import com.sunda.spmsweb.util.JWTUtil;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

/**
 * <p>
 * 项目立项OA表 前端控制器
 * </p>
 *
 * @author Wayne
 * @since 2022-10-21
 */
@RestController
@RequestMapping("/sapProjectOaNumber")
@Api(tags = "项目立项号接口", description = "项目立项号接口")
public class SapProjectOaNumberController {
	
	@Autowired
	private ISapProjectOaNumberService iSapProjectOaNumberService;
	
	/**
	 * 分页查询项目立项号
	 * @param record
	 * @return
	 */
	@RequestMapping("/getSapProjectOaNumberList")
    @ApiOperation(value = "获取项目立项号接口（分页）", notes = "获取项目立项号接口\n" +
            "示例 国家：country = 中国\n" +
    		"项目立项OA号：projectcode = 3130-0000000018" +
            "项目名称：projectname = 备品备件，传空则默认查询所有。", httpMethod = "POST")
    public ResponseResult getSapProjectOaNumberList(@RequestBody SapProjectOaNumberQueryVO record) {
        try {
        	IPage iPage = iSapProjectOaNumberService.getSapProjectOaNumberList(record);
            return ResponseResult.success().add("sapProjectOaNumberList", iPage);
        } catch (Exception e) {
            e.printStackTrace();
            return ResponseResult.error("请求数据失败").add("error", e.getMessage());
        }
    }
	
	/**
	 * 同步SAP项目立项
	 * @param record
	 * @return
	 */
	@RequestMapping("/getSapProjectOaNumberFromSap")
    @ApiOperation(value = "同步SAP项目立项", notes = "同步SAP项目立项", httpMethod = "POST")
    public ResponseResult getSapProjectOaNumberFromSap(@RequestBody SapProjectOaNumberQueryVO record) {
		String userId = JWTUtil.getUserId(SecurityUtils.getSubject().getPrincipal().toString());
		return iSapProjectOaNumberService.getSapProjectOaNumberFromSap(record, userId);
    }

}
