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("新建")
@@ -73,7 +87,7 @@
    @PostMapping("/updateById")
    @RequiresPermissions("business:company:update")
    public ApiResponse updateById(@RequestBody Company company) {
        companyService.updateLaborServicesById(company);
        companyService.updateById(company);
        return ApiResponse.success(null);
    }
@@ -82,6 +96,25 @@
    @RequiresPermissions("business:company:query")
    public ApiResponse<PageData<Company>> findPage (@RequestBody PageWrap<Company> pageWrap) {
        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);
    }
@@ -126,18 +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("/sync")
//    @RequiresPermissions("business:company:sync")
    @ApiOperation("全量部门信息同步")
    @PostMapping("/syncAll")
    @RequiresPermissions("business:company:sync")
    public ApiResponse sync(){
        //TODO 手动同步 部门信息
        return ApiResponse.success("同步成功");
        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("无效操作");
    }
}