| | |
| | | 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; |
| | | |
| | |
| | | @Autowired |
| | | private CompanyService companyService; |
| | | |
| | | @Autowired |
| | | private ERPSyncService erpSyncService; |
| | | @Autowired |
| | | private HkSyncOrgUserFromHKServiceImpl hkSyncOrgUserFHKService; |
| | | @Autowired |
| | | private DataSyncConfig dataSyncConfig; |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("新建") |
| | | @PostMapping("/create") |
| | | @RequiresPermissions("business:company:create") |
| | | public ApiResponse create(@RequestBody Company company) { |
| | | return ApiResponse.success(companyService.create(company)); |
| | | } |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("创建劳务公司") |
| | | @PostMapping("/createLaborServices") |
| | | @RequiresPermissions("business:company:create") |
| | | public ApiResponse<Integer> createLaborServices(@RequestBody Company company){ |
| | | return ApiResponse.success(companyService.createLaborServices(company)); |
| | | } |
| | | |
| | | @ApiOperation("根据ID删除") |
| | |
| | | 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") |
| | |
| | | company.setCategoryId(query.getCategoryId()); |
| | | return ApiResponse.success(companyService.findList(company)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询部门及其子部门信息 |
| | | * @param type 0 查询所有信息 1 查询内部信息 |
| | | * @return |
| | | */ |
| | | @ApiOperation("根据类型查询组织信息") |
| | | @GetMapping("/findCompanyTreePage") |
| | | @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("无效操作"); |
| | | } |
| | | } |