jiangping
2024-08-13 6765787baa5e0b771d71f865c4deb776367410c4
server/dmvisit_admin/src/main/java/com/doumee/api/business/CompanyController.java
@@ -1,19 +1,26 @@
package com.doumee.api.business;
import com.doumee.api.BaseController;
import com.doumee.config.DataSyncConfig;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.core.utils.Constants;
import com.doumee.dao.admin.request.UpdateCompanySortDTO;
import com.doumee.dao.admin.response.CompanyDTO;
import com.doumee.dao.business.model.Company;
import com.doumee.service.business.CompanyService;
import com.doumee.service.business.ext.ERPSyncService;
import com.doumee.service.business.impl.hksync.fhk.HkSyncOrgUserFromHKServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -31,6 +38,13 @@
    @Autowired
    private CompanyService companyService;
    @Autowired
    private ERPSyncService erpSyncService;
    @Autowired
    private HkSyncOrgUserFromHKServiceImpl hkSyncOrgUserFHKService;
    @Autowired
    private DataSyncConfig dataSyncConfig;
    @PreventRepeat
    @ApiOperation("新建")
@@ -84,6 +98,34 @@
        return ApiResponse.success(companyService.findPage(pageWrap));
    }
    @ApiOperation("组织树查询")
    @GetMapping("/tree")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "type", dataType = "Integer", value = "类型 0劳务公司 1内部组织", required = true),
    })
    @RequiresPermissions("business:company:query")
    public ApiResponse<List<Company>> tree (@RequestParam Integer type) {
        return ApiResponse.success(companyService.companyTree(type));
    }
    @ApiOperation("排序")
    @PostMapping("/updateSort")
    @RequiresPermissions("business:company:query")
    public ApiResponse updateSort (@Validated @RequestBody UpdateCompanySortDTO dto) {
        companyService.updateSort(dto);
        return ApiResponse.success(null);
    }
    @ApiOperation("修改状态")
    @PostMapping("/updateStatusById")
    @RequiresPermissions("business:company:update")
    public ApiResponse updateStatusById(@RequestBody Company company) {
        companyService.updateStatusById(company);
        return ApiResponse.success(null);
    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:company:exportExcel")
@@ -117,9 +159,23 @@
     */
    @ApiOperation("根据类型查询组织信息")
    @GetMapping("/findCompanyTreePage")
//    @RequiresPermissions("business:company:query")
    @RequiresPermissions("business:company:query")
    public ApiResponse<List<CompanyDTO>> findCompanyTreePage(Integer type){
        return ApiResponse.success(companyService.findCompanyTreePage(type));
    }
    @ApiOperation("全量部门信息同步")
    @PostMapping("/syncAll")
    @RequiresPermissions("business:company:sync")
    public ApiResponse sync(){
        if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp){
            return ApiResponse.success( erpSyncService.syncCompany(null));
        }else if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.hk){
             hkSyncOrgUserFHKService.syncOrgData();
            return ApiResponse.success("同步成功");
        }
        return ApiResponse.failed("无效操作");
    }
}