diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/controller/ContractFileController.java b/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/controller/ContractFileController.java index 6a3cd571..35bee3dc 100644 --- a/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/controller/ContractFileController.java +++ b/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/controller/ContractFileController.java @@ -13,6 +13,7 @@ import io.swagger.annotations.ApiOperation; import jnpf.base.ActionResult; import jnpf.base.NoDataSourceBind; import jnpf.base.UserInfo; +import jnpf.base.entity.BillRuleEntity; import jnpf.base.util.OptimizeUtil; import jnpf.base.vo.DownloadVO; import jnpf.base.vo.PageListVO; @@ -27,9 +28,14 @@ import jnpf.contractfile.service.ContractFileService; import jnpf.contractfile.service.Contract_item0Service; import jnpf.contractfile.service.Contract_item1Service; import jnpf.exception.DataException; +import jnpf.model.EmployeeModel; import jnpf.model.UploaderVO; +import jnpf.model.employee.EmployeeImportVO; +import jnpf.permission.model.user.vo.UserExportVO; +import jnpf.permission.model.user.vo.UserImportVO; import jnpf.util.*; import jnpf.util.enums.FileTypeEnum; +import jnpf.util.enums.ModuleTypeEnum; import jnpf.util.file.UploadUtil; import jnpf.utils.YozoUtils; import lombok.Cleanup; @@ -44,6 +50,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; @@ -52,8 +59,8 @@ import java.util.List; import java.util.Map; /** - * * contractFile + * * @版本: V3.2.0 * @版权: LINKAGE-BOOT * @作者: LINKAGE-BOOT研发团队 @@ -61,7 +68,7 @@ import java.util.Map; */ @Slf4j @RestController -@Api(tags = "contractFile" , value = "example") +@Api(tags = "contractFile", value = "example") @RequestMapping("/api/example/ContractFile") public class ContractFileController { @@ -85,28 +92,27 @@ public class ContractFileController { private YozoUtils yozoUtils; - /** * 列表 * * @param contractFilePagination * @return */ - @PostMapping("/getList") - public ActionResult list(@RequestBody ContractFilePagination contractFilePagination)throws IOException{ - List list= contractFileService.getList(contractFilePagination); + @PostMapping("/getList") + public ActionResult list(@RequestBody ContractFilePagination contractFilePagination) throws IOException { + List list = contractFileService.getList(contractFilePagination); //处理id字段转名称,若无需转或者为空可删除 - for(ContractFileEntity entity:list){ - entity.setApproval(generaterSwapUtil.switchSelectValue(entity.getApproval() ,"开" ,"关")); - } - List listVO=JsonUtil.getJsonToList(list,ContractFileListVO.class); - for(ContractFileListVO contractFileVO:listVO){ - } + for (ContractFileEntity entity : list) { + entity.setApproval(generaterSwapUtil.switchSelectValue(entity.getApproval(), "开", "关")); + } + List listVO = JsonUtil.getJsonToList(list, ContractFileListVO.class); + for (ContractFileListVO contractFileVO : listVO) { + } - PageListVO vo=new PageListVO(); + PageListVO vo = new PageListVO(); vo.setList(listVO); - PaginationVO page=JsonUtil.getJsonToBean(contractFilePagination,PaginationVO.class); + PaginationVO page = JsonUtil.getJsonToBean(contractFilePagination, PaginationVO.class); vo.setPagination(page); return ActionResult.success(vo); } @@ -121,198 +127,248 @@ public class ContractFileController { @PostMapping @Transactional public ActionResult create(@RequestBody @Valid ContractFileCrForm contractFileCrForm) throws DataException { - String mainId =RandomUtil.uuId(); - UserInfo userInfo=userProvider.get(); + String mainId = RandomUtil.uuId(); + UserInfo userInfo = userProvider.get(); ContractFileEntity entity = JsonUtil.getJsonToBean(contractFileCrForm, ContractFileEntity.class); - entity.setId(mainId); - contractFileService.save(entity); - List Contract_item0List = JsonUtil.getJsonToList(contractFileCrForm.getContract_item0List(),Contract_item0Entity.class); - for(Contract_item0Entity entitys : Contract_item0List){ - entitys.setId(RandomUtil.uuId()); - entitys.setContractId(entity.getId()); - - - - + entity.setId(mainId); + contractFileService.save(entity); + List Contract_item0List = JsonUtil.getJsonToList(contractFileCrForm.getContract_item0List(), Contract_item0Entity.class); + for (Contract_item0Entity entitys : Contract_item0List) { + entitys.setId(RandomUtil.uuId()); + entitys.setContractId(entity.getId()); + contract_item0Service.save(entitys); + } + List Contract_item1List = JsonUtil.getJsonToList(contractFileCrForm.getContract_item1List(), Contract_item1Entity.class); + for (Contract_item1Entity entitys : Contract_item1List) { + entitys.setId(RandomUtil.uuId()); + entitys.setContractId(entity.getId()); + contract_item1Service.save(entitys); + } + return ActionResult.success("创建成功"); + } - contract_item0Service.save(entitys); - } - List Contract_item1List = JsonUtil.getJsonToList(contractFileCrForm.getContract_item1List(),Contract_item1Entity.class); - for(Contract_item1Entity entitys : Contract_item1List){ - entitys.setId(RandomUtil.uuId()); - entitys.setContractId(entity.getId()); - - contract_item1Service.save(entitys); - } + /** + * 模板下载 + * + * @return + */ + @ApiOperation("模板下载") + @GetMapping("/TemplateDownload") + public ActionResult TemplateDownload() { + UserInfo userInfo = userProvider.get(); + DownloadVO vo = DownloadVO.builder().build(); + try { + vo.setName("合同档案信息.xlsx"); + vo.setUrl(UploaderUtil.uploaderFile("/api/file/DownloadModel?encryption=", userInfo.getId() + "#" + "合同档案信息" + + ".xlsx" + "#" + "Temporary")); + } catch (Exception e) { + log.error("信息导出Excel错误:" + e.getMessage()); + } + return ActionResult.success(vo); + } + /** + * 上传文件(excel) + * + * @return + */ + @ApiOperation("上传文件") + @PostMapping("/Uploader") + public ActionResult Uploader() { + List list = UpUtil.getFileAll(); + MultipartFile file = list.get(0); + if (file.getOriginalFilename().endsWith(".xlsx") || file.getOriginalFilename().endsWith(".xls")) { + String filePath = configValueUtil.getTemporaryFilePath(); + String fileName = RandomUtil.uuId() + "." + UpUtil.getFileType(file); + fileName = XSSEscape.escape(fileName); + //上传文件 + FileUtil.upFile(file, filePath, fileName); + DownloadVO vo = DownloadVO.builder().build(); + vo.setName(fileName); + return ActionResult.success(vo); + } else { + return ActionResult.fail("选择文件不符合导入"); + } - return ActionResult.success("创建成功"); -} + } + /** + * 导入预览 + * + * @return + */ + @ApiOperation("导入预览") + @GetMapping("/ImportPreview") + public ActionResult ImportPreview(String fileName) { + String filePath = configValueUtil.getTemporaryFilePath(); + File temporary = new File(XSSEscape.escapePath(filePath + fileName)); + //得到数据 + List personList = ExcelUtil.importExcel(temporary, 0, 1, ContractFileModel.class); + //预览数据 + Map map = contractFileService.importPreview(personList); + return ActionResult.success(map); + } /** - * 模板下载 - * - * @return - */ - @ApiOperation("模板下载") - @GetMapping("/templateDownload") - public ActionResult TemplateDownload(){ - UserInfo userInfo=userProvider.get(); - DownloadVO vo=DownloadVO.builder().build(); - try{ - vo.setName("职员信息.xlsx"); - vo.setUrl(UploaderUtil.uploaderFile("/api/Common/DownloadModel?encryption=" ,userInfo.getId()+"#"+"职员信息.xlsx"+"#"+"Temporary")); - }catch(Exception e){ - log.error("信息导出Excel错误:{}" ,e.getMessage()); - } - return ActionResult.success(vo); + * 导入数据 + * + * @return + */ + @ApiOperation("导入数据") + @PostMapping("/ImportData") + public ActionResult ImportData(@RequestBody ContractFileModel data) { + List dataList = JsonUtil.getJsonToList(data.getList(), ContractFileModel.class); + //导入数据 + ContractfileImportVO result = contractFileService.importData(dataList); + return ActionResult.success(result); } + /** - * 导出Excel - * - * @return - */ + * 导出Excel + * + * @return + */ @ApiOperation("导出Excel") @GetMapping("/Actions/Export") public ActionResult Export(ContractFilePaginationExportModel contractFilePaginationExportModel) throws IOException { - if (StringUtil.isEmpty(contractFilePaginationExportModel.getSelectKey())){ + if (StringUtil.isEmpty(contractFilePaginationExportModel.getSelectKey())) { return ActionResult.fail("请选择导出字段"); } - ContractFilePagination contractFilePagination=JsonUtil.getJsonToBean(contractFilePaginationExportModel, ContractFilePagination.class); - List list= contractFileService.getTypeList(contractFilePagination,contractFilePaginationExportModel.getDataType()); + ContractFilePagination contractFilePagination = JsonUtil.getJsonToBean(contractFilePaginationExportModel, ContractFilePagination.class); + List list = contractFileService.getTypeList(contractFilePagination, contractFilePaginationExportModel.getDataType()); //处理id字段转名称,若无需转或者为空可删除 - for(ContractFileEntity entity:list){ - entity.setApproval(generaterSwapUtil.switchSelectValue(entity.getApproval() ,"开" ,"关")); - } - List listVO=JsonUtil.getJsonToList(list,ContractFileListVO.class); - for(ContractFileListVO contractFileVO:listVO){ - } + for (ContractFileEntity entity : list) { + entity.setApproval(generaterSwapUtil.switchSelectValue(entity.getApproval(), "开", "关")); + } + List listVO = JsonUtil.getJsonToList(list, ContractFileListVO.class); + for (ContractFileListVO contractFileVO : listVO) { + } //转换为map输出 - List>mapList=JsonUtil.getJsonToListMap(JsonUtil.getObjectToStringDateFormat(listVO,"yyyy-MM-dd HH:mm:ss")); - String[]keys=!StringUtil.isEmpty(contractFilePaginationExportModel.getSelectKey())?contractFilePaginationExportModel.getSelectKey().split(","):new String[0]; - UserInfo userInfo=userProvider.get(); - DownloadVO vo=this.creatModelExcel(configValueUtil.getTemporaryFilePath(),mapList,keys,userInfo); + List> mapList = JsonUtil.getJsonToListMap(JsonUtil.getObjectToStringDateFormat(listVO, "yyyy-MM-dd HH:mm:ss")); + String[] keys = !StringUtil.isEmpty(contractFilePaginationExportModel.getSelectKey()) ? contractFilePaginationExportModel.getSelectKey().split(",") : new String[0]; + UserInfo userInfo = userProvider.get(); + DownloadVO vo = this.creatModelExcel(configValueUtil.getTemporaryFilePath(), mapList, keys, userInfo); return ActionResult.success(vo); } + //导出表格 - public DownloadVO creatModelExcel(String path,List>list,String[]keys,UserInfo userInfo){ - DownloadVO vo=DownloadVO.builder().build(); - List entitys=new ArrayList<>(); - if(keys.length>0){ - for(String key:keys){ - switch(key){ - case "contractType" : - entitys.add(new ExcelExportEntity("合同类型 " ,"contractType")); - break; - case "contractCode" : - entitys.add(new ExcelExportEntity("合同编码" ,"contractCode")); - break; - case "contractName" : - entitys.add(new ExcelExportEntity("合同名称" ,"contractName")); - break; - case "status" : - entitys.add(new ExcelExportEntity("合同状态" ,"status")); - break; - case "bidOpeningDate" : - entitys.add(new ExcelExportEntity("开标日期" ,"bidOpeningDate")); - break; - case "startDate" : - entitys.add(new ExcelExportEntity("开始日期" ,"startDate")); - break; - case "auditDate" : - entitys.add(new ExcelExportEntity("审核日期" ,"auditDate")); - break; - case "completionDate" : - entitys.add(new ExcelExportEntity("供货完成日期" ,"completionDate")); - break; - case "closingDate" : - entitys.add(new ExcelExportEntity("关闭日期" ,"closingDate")); - break; - case "collectionCycle" : - entitys.add(new ExcelExportEntity("回款周期(日)" ,"collectionCycle")); - break; - case "signingDate" : - entitys.add(new ExcelExportEntity("签订日期" ,"signingDate")); - break; - case "endDate" : - entitys.add(new ExcelExportEntity("截止日期" ,"endDate")); - break; - case "code" : - entitys.add(new ExcelExportEntity("供应商/客户编" ,"code")); - break; - case "name" : - entitys.add(new ExcelExportEntity("供应商/客户名" ,"name")); - break; - case "contractNo" : - entitys.add(new ExcelExportEntity("对方合同号" ,"contractNo")); - break; - case "currency" : - entitys.add(new ExcelExportEntity("币种 " ,"currency")); - break; - case "num" : - entitys.add(new ExcelExportEntity("数量" ,"num")); - break; - case "amount" : - entitys.add(new ExcelExportEntity("金额" ,"amount")); - break; - case "organization" : - entitys.add(new ExcelExportEntity("库存组织" ,"organization")); - break; - case "remark" : - entitys.add(new ExcelExportEntity("备注" ,"remark")); - break; - case "classification" : - entitys.add(new ExcelExportEntity("合同分类 " ,"classification")); - break; - case "declarationDate" : - entitys.add(new ExcelExportEntity("申报日期" ,"declarationDate")); - break; - case "deptCode" : - entitys.add(new ExcelExportEntity("部门编码" ,"deptCode")); - break; - case "creatorusername" : - entitys.add(new ExcelExportEntity("录入人" ,"creatorusername")); - break; - case "deptName" : - entitys.add(new ExcelExportEntity("部门名称" ,"deptName")); - break; - case "approval" : - entitys.add(new ExcelExportEntity("集团审批" ,"approval")); - break; - default: - break; - } + public DownloadVO creatModelExcel(String path, List> list, String[] keys, UserInfo userInfo) { + DownloadVO vo = DownloadVO.builder().build(); + List entitys = new ArrayList<>(); + if (keys.length > 0) { + for (String key : keys) { + switch (key) { + case "contractType": + entitys.add(new ExcelExportEntity("合同类型 ", "contractType")); + break; + case "contractCode": + entitys.add(new ExcelExportEntity("合同编码", "contractCode")); + break; + case "contractName": + entitys.add(new ExcelExportEntity("合同名称", "contractName")); + break; + case "status": + entitys.add(new ExcelExportEntity("合同状态", "status")); + break; + case "bidOpeningDate": + entitys.add(new ExcelExportEntity("开标日期", "bidOpeningDate")); + break; + case "startDate": + entitys.add(new ExcelExportEntity("开始日期", "startDate")); + break; + case "auditDate": + entitys.add(new ExcelExportEntity("审核日期", "auditDate")); + break; + case "completionDate": + entitys.add(new ExcelExportEntity("供货完成日期", "completionDate")); + break; + case "closingDate": + entitys.add(new ExcelExportEntity("关闭日期", "closingDate")); + break; + case "collectionCycle": + entitys.add(new ExcelExportEntity("回款周期(日)", "collectionCycle")); + break; + case "signingDate": + entitys.add(new ExcelExportEntity("签订日期", "signingDate")); + break; + case "endDate": + entitys.add(new ExcelExportEntity("截止日期", "endDate")); + break; + case "code": + entitys.add(new ExcelExportEntity("供应商/客户编", "code")); + break; + case "name": + entitys.add(new ExcelExportEntity("供应商/客户名", "name")); + break; + case "contractNo": + entitys.add(new ExcelExportEntity("对方合同号", "contractNo")); + break; + case "currency": + entitys.add(new ExcelExportEntity("币种 ", "currency")); + break; + case "num": + entitys.add(new ExcelExportEntity("数量", "num")); + break; + case "amount": + entitys.add(new ExcelExportEntity("金额", "amount")); + break; + case "organization": + entitys.add(new ExcelExportEntity("库存组织", "organization")); + break; + case "remark": + entitys.add(new ExcelExportEntity("备注", "remark")); + break; + case "classification": + entitys.add(new ExcelExportEntity("合同分类 ", "classification")); + break; + case "declarationDate": + entitys.add(new ExcelExportEntity("申报日期", "declarationDate")); + break; + case "deptCode": + entitys.add(new ExcelExportEntity("部门编码", "deptCode")); + break; + case "creatorusername": + entitys.add(new ExcelExportEntity("录入人", "creatorusername")); + break; + case "deptName": + entitys.add(new ExcelExportEntity("部门名称", "deptName")); + break; + case "approval": + entitys.add(new ExcelExportEntity("集团审批", "approval")); + break; + default: + break; } } + } ExportParams exportParams = new ExportParams(null, "表单信息"); exportParams.setType(ExcelType.XSSF); - try{ - @Cleanup Workbook workbook = new HSSFWorkbook(); - if (entitys.size()>0){ - workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list); - } - String name = "表单信息" + DateUtil.dateNow("yyyyMMdd") + "_" + RandomUtil.uuId() + ".xlsx"; + try { + @Cleanup Workbook workbook = new HSSFWorkbook(); + if (entitys.size() > 0) { + workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list); + } + String name = "表单信息" + DateUtil.dateNow("yyyyMMdd") + "_" + RandomUtil.uuId() + ".xlsx"; - String fileName = configValueUtil.getTemporaryFilePath() + name; - @Cleanup FileOutputStream output = new FileOutputStream(XSSEscape.escapePath(fileName)); - workbook.write(output); - //上传文件 - UploadUtil.uploadFile(configValueUtil.getFileType(), fileName, FileTypeEnum.TEMPORARY, name); + String fileName = configValueUtil.getTemporaryFilePath() + name; + @Cleanup FileOutputStream output = new FileOutputStream(XSSEscape.escapePath(fileName)); + workbook.write(output); + //上传文件 + UploadUtil.uploadFile(configValueUtil.getFileType(), fileName, FileTypeEnum.TEMPORARY, name); - vo.setName(name); - vo.setUrl(UploaderUtil.uploaderFile(userInfo.getId() + "#" + name + "#" + "Temporary")); + vo.setName(name); + vo.setUrl(UploaderUtil.uploaderFile(userInfo.getId() + "#" + name + "#" + "Temporary")); } catch (Exception e) { log.error("信息导出Excel错误:{}", e.getMessage()); e.printStackTrace(); @@ -329,109 +385,98 @@ public class ContractFileController { */ @DeleteMapping("/batchRemove/{ids}") @Transactional - public ActionResult batchRemove(@PathVariable("ids") String ids){ + public ActionResult batchRemove(@PathVariable("ids") String ids) { String[] idList = ids.split(","); - int i =0; - for (String allId : idList){ + int i = 0; + for (String allId : idList) { this.delete(allId); i++; } - if (i == 0 ){ + if (i == 0) { return ActionResult.fail("删除失败"); } - return ActionResult.success("删除成功"); + return ActionResult.success("删除成功"); } /** - * 信息 - * - * @param id - * @return - */ + * 信息 + * + * @param id + * @return + */ @GetMapping("/{id}") - public ActionResult info(@PathVariable("id") String id){ - ContractFileEntity entity= contractFileService.getInfo(id); - ContractFileInfoVO vo=JsonUtil.getJsonToBean(entity, ContractFileInfoVO.class); - - //子表 - List Contract_item0List = contractFileService.GetContract_item0List(id); - for(Contract_item0Entity contract_item0Entity : Contract_item0List){ - } - vo.setContract_item0List(JsonUtil.getJsonToList(Contract_item0List,Contract_item0Model.class )); - List Contract_item1List = contractFileService.GetContract_item1List(id); - for(Contract_item1Entity contract_item1Entity : Contract_item1List){ - } - vo.setContract_item1List(JsonUtil.getJsonToList(Contract_item1List,Contract_item1Model.class )); - //副表 + public ActionResult info(@PathVariable("id") String id) { + ContractFileEntity entity = contractFileService.getInfo(id); + ContractFileInfoVO vo = JsonUtil.getJsonToBean(entity, ContractFileInfoVO.class); + + //子表 + List Contract_item0List = contractFileService.GetContract_item0List(id); + for (Contract_item0Entity contract_item0Entity : Contract_item0List) { + } + vo.setContract_item0List(JsonUtil.getJsonToList(Contract_item0List, Contract_item0Model.class)); + List Contract_item1List = contractFileService.GetContract_item1List(id); + for (Contract_item1Entity contract_item1Entity : Contract_item1List) { + } + vo.setContract_item1List(JsonUtil.getJsonToList(Contract_item1List, Contract_item1Model.class)); + //副表 return ActionResult.success(vo); } /** - * 表单信息(详情页) - * - * @param id - * @return - */ + * 表单信息(详情页) + * + * @param id + * @return + */ @GetMapping("/detail/{id}") - public ActionResult detailInfo(@PathVariable("id") String id){ - ContractFileEntity entity= contractFileService.getInfo(id); - ContractFileInfoVO vo=JsonUtil.getJsonToBean(entity, ContractFileInfoVO.class); - - //子表数据转换 - List jg_contract_item0List = contractFileService.GetContract_item0List(id); - List jg_contract_item0ModelList = JsonUtil.getJsonToList(jg_contract_item0List,Contract_item0Model.class); - for(Contract_item0Model jg_contract_item0Model : jg_contract_item0ModelList){ - } - vo.setContract_item0List(jg_contract_item0ModelList); - List jg_contract_item1List = contractFileService.GetContract_item1List(id); - List jg_contract_item1ModelList = JsonUtil.getJsonToList(jg_contract_item1List,Contract_item1Model.class); - for(Contract_item1Model jg_contract_item1Model : jg_contract_item1ModelList){ - jg_contract_item1Model.setEnclosure(generaterSwapUtil.getFileNameInJson(jg_contract_item1Model.getEnclosure())); - } - vo.setContract_item1List(jg_contract_item1ModelList); + public ActionResult detailInfo(@PathVariable("id") String id) { + ContractFileEntity entity = contractFileService.getInfo(id); + ContractFileInfoVO vo = JsonUtil.getJsonToBean(entity, ContractFileInfoVO.class); + + //子表数据转换 + List jg_contract_item0List = contractFileService.GetContract_item0List(id); + List jg_contract_item0ModelList = JsonUtil.getJsonToList(jg_contract_item0List, Contract_item0Model.class); + for (Contract_item0Model jg_contract_item0Model : jg_contract_item0ModelList) { + } + vo.setContract_item0List(jg_contract_item0ModelList); + List jg_contract_item1List = contractFileService.GetContract_item1List(id); + List jg_contract_item1ModelList = JsonUtil.getJsonToList(jg_contract_item1List, Contract_item1Model.class); + for (Contract_item1Model jg_contract_item1Model : jg_contract_item1ModelList) { + jg_contract_item1Model.setEnclosure(generaterSwapUtil.getFileNameInJson(jg_contract_item1Model.getEnclosure())); + } + vo.setContract_item1List(jg_contract_item1ModelList); - //附表数据转换 + //附表数据转换 //添加到详情表单对象中 - vo.setApproval(generaterSwapUtil.switchSelectValue(vo.getApproval() ,"开" ,"关")); + vo.setApproval(generaterSwapUtil.switchSelectValue(vo.getApproval(), "开", "关")); return ActionResult.success(vo); - } - - + } - /** - * 更新 - * - * @param id - * @return - */ + /** + * 更新 + * + * @param id + * @return + */ @PutMapping("/{id}") @Transactional - public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid ContractFileUpForm contractFileUpForm) throws DataException { - UserInfo userInfo=userProvider.get(); - ContractFileEntity entity= contractFileService.getInfo(id); - if(entity!=null){ - ContractFileEntity subentity=JsonUtil.getJsonToBean(contractFileUpForm, ContractFileEntity.class); + public ActionResult update(@PathVariable("id") String id, @RequestBody @Valid ContractFileUpForm contractFileUpForm) throws DataException { + UserInfo userInfo = userProvider.get(); + ContractFileEntity entity = contractFileService.getInfo(id); + if (entity != null) { + ContractFileEntity subentity = JsonUtil.getJsonToBean(contractFileUpForm, ContractFileEntity.class); contractFileService.update(id, subentity); QueryWrapper Contract_item0queryWrapper = new QueryWrapper<>(); Contract_item0queryWrapper.lambda().eq(Contract_item0Entity::getContractId, entity.getId()); contract_item0Service.remove(Contract_item0queryWrapper); - List Contract_item0List = JsonUtil.getJsonToList(contractFileUpForm.getContract_item0List(),Contract_item0Entity.class); - for(Contract_item0Entity entitys : Contract_item0List){ - - - - - - - - - + List Contract_item0List = JsonUtil.getJsonToList(contractFileUpForm.getContract_item0List(), Contract_item0Entity.class); + for (Contract_item0Entity entitys : Contract_item0List) { entitys.setId(RandomUtil.uuId()); @@ -444,39 +489,38 @@ public class ContractFileController { Contract_item1queryWrapper.lambda().eq(Contract_item1Entity::getContractId, entity.getId()); contract_item1Service.remove(Contract_item1queryWrapper); - List Contract_item1List = JsonUtil.getJsonToList(contractFileUpForm.getContract_item1List(),Contract_item1Entity.class); - for(Contract_item1Entity entitys : Contract_item1List){ + List Contract_item1List = JsonUtil.getJsonToList(contractFileUpForm.getContract_item1List(), Contract_item1Entity.class); + for (Contract_item1Entity entitys : Contract_item1List) { entitys.setId(RandomUtil.uuId()); entitys.setContractId(entity.getId()); contract_item1Service.save(entitys); } - return ActionResult.success("更新成功"); - }else{ + return ActionResult.success("更新成功"); + } else { return ActionResult.fail("更新失败,数据不存在"); } } - - /** - * 删除 - * - * @param id - * @return - */ + /** + * 删除 + * + * @param id + * @return + */ @DeleteMapping("/{id}") @Transactional - public ActionResult delete(@PathVariable("id") String id){ - ContractFileEntity entity= contractFileService.getInfo(id); - if(entity!=null){ + public ActionResult delete(@PathVariable("id") String id) { + ContractFileEntity entity = contractFileService.getInfo(id); + if (entity != null) { contractFileService.delete(entity); - QueryWrapper queryWrapperContract_item0=new QueryWrapper<>(); - queryWrapperContract_item0.lambda().eq(Contract_item0Entity::getContractId,entity.getId()); + QueryWrapper queryWrapperContract_item0 = new QueryWrapper<>(); + queryWrapperContract_item0.lambda().eq(Contract_item0Entity::getContractId, entity.getId()); contract_item0Service.remove(queryWrapperContract_item0); - QueryWrapper queryWrapperContract_item1=new QueryWrapper<>(); - queryWrapperContract_item1.lambda().eq(Contract_item1Entity::getContractId,entity.getId()); + QueryWrapper queryWrapperContract_item1 = new QueryWrapper<>(); + queryWrapperContract_item1.lambda().eq(Contract_item1Entity::getContractId, entity.getId()); contract_item1Service.remove(queryWrapperContract_item1); } @@ -484,7 +528,6 @@ public class ContractFileController { } - /** * 根据客户信息查询合同 * @@ -492,14 +535,14 @@ public class ContractFileController { * @return */ @PostMapping("/getListByCustomer") - public ActionResult getListByCustomer(@RequestBody ContractFileEntity contractFileEntity)throws IOException{ + public ActionResult getListByCustomer(@RequestBody ContractFileEntity contractFileEntity) throws IOException { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); queryWrapper.eq(ContractFileEntity::getContractType, "1"); queryWrapper.eq(ContractFileEntity::getStatus, "1"); - if(StringUtils.isNotEmpty(contractFileEntity.getCode())){ + if (StringUtils.isNotEmpty(contractFileEntity.getCode())) { queryWrapper.eq(ContractFileEntity::getCode, contractFileEntity.getCode()); } - if(StringUtils.isNotEmpty(contractFileEntity.getName())){ + if (StringUtils.isNotEmpty(contractFileEntity.getName())) { queryWrapper.eq(ContractFileEntity::getName, contractFileEntity.getName()); } queryWrapper.orderByAsc(ContractFileEntity::getBidOpeningDate); @@ -556,8 +599,8 @@ public class ContractFileController { vo.setUrl(UploaderUtil.uploaderImg("/api/file/Image/annex/", fileName)); } else if (type.equalsIgnoreCase(FileTypeEnum.ANNEXPIC)) { vo.setUrl(UploaderUtil.uploaderImg("/api/file/Image/annex/", fileName)); - }else { - vo.setUrl(UploaderUtil.uploaderImg("/api/file/Image/"+type.toLowerCase()+"/", fileName)); + } else { + vo.setUrl(UploaderUtil.uploaderImg("/api/file/Image/" + type.toLowerCase() + "/", fileName)); } //上传到永中 diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/model/contractfile/ContractFileInfoVO.java b/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/model/contractfile/ContractFileInfoVO.java index 8971dd83..786c991b 100644 --- a/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/model/contractfile/ContractFileInfoVO.java +++ b/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/model/contractfile/ContractFileInfoVO.java @@ -3,6 +3,7 @@ package jnpf.contractfile.model.contractfile; +import jnpf.permission.model.user.vo.UserExportVO; import lombok.Data; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; @@ -131,4 +132,6 @@ public class ContractFileInfoVO{ /** 子表数据 **/ @JsonProperty("contract_item1List") private List contract_item1List; + + private List list; } \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/model/contractfile/ContractFileModel.java b/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/model/contractfile/ContractFileModel.java new file mode 100644 index 00000000..44f12451 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/model/contractfile/ContractFileModel.java @@ -0,0 +1,48 @@ +package jnpf.contractfile.model.contractfile; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.List; + +/** + * + * @author Allen Pan + * @version V3.4.1 + * @copyright 长江云息 + * + */ +@Data +public class ContractFileModel { + @Excel(name = "合同编码") + private String contractCode; + @Excel(name = "合同名称") + private String contractName; + @Excel(name = "对方合同号") + private String contractNo; + @Excel(name = "合同类型") + private String contractType; + @Excel(name = "合同分类") + private String classification; + @Excel(name = "申报日期") + private String declarationDate; + @Excel(name = "供应商/客户") + private String name; + @Excel(name = "数量") + private String num; + @Excel(name = "金额") + private String amount; + @Excel(name = "部门名称") + private String deptName; + @Excel(name = "备注") + private String remark; + @Excel(name = "录入人") + private String creatorusername; + @Excel(name = "合同状态") + private String status; + @Excel(name = "集团审批") + private String approval; + + private List list; + private String creatorTime; +} diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/model/contractfile/ContractfileImportVO.java b/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/model/contractfile/ContractfileImportVO.java new file mode 100644 index 00000000..4c29f87d --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/model/contractfile/ContractfileImportVO.java @@ -0,0 +1,36 @@ +package jnpf.contractfile.model.contractfile; + +import jnpf.contractfile.model.contractfile.ContractFileModel; + +import lombok.Data; + +import java.util.List; + +/** + * + * @author Allen Pan + * @version V3.4.1 + * @copyright 长江云息 + * + */ +@Data +public class ContractfileImportVO { + /** + * 导入成功条数 + */ + private int snum; + /** + * 导入失败条数 + */ + private int fnum; + /** + * 导入结果状态(0,成功 1,失败) + */ + private int resultType; + /** + * 失败结果 + */ + + private List failResult; + +} diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/service/ContractFileService.java b/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/service/ContractFileService.java index 7b5d529c..f05060ca 100644 --- a/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/service/ContractFileService.java +++ b/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/service/ContractFileService.java @@ -1,10 +1,21 @@ package jnpf.contractfile.service; +import jnpf.base.ActionResult; +import jnpf.base.entity.BillRuleEntity; import jnpf.contractfile.entity.Contract_item0Entity; import jnpf.contractfile.entity.Contract_item1Entity; import jnpf.contractfile.entity.ContractFileEntity; import com.baomidou.mybatisplus.extension.service.IService; +import jnpf.contractfile.model.contractfile.ContractFileInfoVO; +import jnpf.contractfile.model.contractfile.ContractFileModel; import jnpf.contractfile.model.contractfile.ContractFilePagination; +import jnpf.contractfile.model.contractfile.ContractfileImportVO; +import jnpf.exception.DataException; +import jnpf.model.EmployeeModel; +import jnpf.model.employee.EmployeeImportVO; +import jnpf.permission.model.user.vo.UserExportVO; +import jnpf.permission.model.user.vo.UserImportVO; + import java.util.*; /** * @@ -29,6 +40,22 @@ public interface ContractFileService extends IService { void create(ContractFileEntity entity); boolean update( String id, ContractFileEntity entity); + + /** + * 导入预览 + * + * @param personList 实体对象 + * @return + */ + Map importPreview(List personList); + + + /** + * 导入数据 + * + * @param dt 数据源 + */ + ContractfileImportVO importData(List dt); // 子表方法 List GetContract_item0List(String id); diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/service/impl/ContractFileServiceImpl.java b/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/service/impl/ContractFileServiceImpl.java index 71254c9a..a0b897c6 100644 --- a/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/service/impl/ContractFileServiceImpl.java +++ b/SC-boot/linkage-scm/src/main/java/jnpf/contractfile/service/impl/ContractFileServiceImpl.java @@ -2,16 +2,23 @@ package jnpf.contractfile.service.impl; import jnpf.contractfile.entity.*; import jnpf.contractfile.mapper.ContractFileMapper; +import jnpf.contractfile.model.contractfile.ContractFileModel; +import jnpf.contractfile.model.contractfile.ContractfileImportVO; import jnpf.contractfile.service.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import cn.hutool.core.util.ObjectUtil; +import jnpf.entity.EmployeeEntity; +import jnpf.model.EmployeeModel; +import jnpf.model.employee.EmployeeImportVO; import jnpf.permission.model.authorize.AuthorizeConditionModel; import jnpf.contractfile.model.contractfile.ContractFilePagination; import jnpf.permission.service.AuthorizeService; + import java.lang.reflect.Field; + import com.baomidou.mybatisplus.annotation.TableField; @@ -21,10 +28,10 @@ import org.springframework.beans.factory.annotation.Autowired; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import jnpf.util.*; + import java.util.*; /** - * * contractFile * 版本: V3.2.0 * 版权: LINKAGE-BOOT @@ -32,7 +39,7 @@ import java.util.*; * 日期: 2023-01-04 */ @Service -public class ContractFileServiceImpl extends ServiceImpl implements ContractFileService{ +public class ContractFileServiceImpl extends ServiceImpl implements ContractFileService { @Autowired @@ -49,245 +56,406 @@ public class ContractFileServiceImpl extends ServiceImpl getList(ContractFilePagination contractFilePagination){ - String userId=userProvider.get().getUserId(); - List AllIdList =new ArrayList(); - int total=0; - int contractFileNum =0; - QueryWrapper contractFileQueryWrapper=new QueryWrapper<>(); - int contract_item0Num =0; - QueryWrapper contract_item0QueryWrapper=new QueryWrapper<>(); - int contract_item1Num =0; - QueryWrapper contract_item1QueryWrapper=new QueryWrapper<>(); - boolean pcPermission = false; - boolean appPermission = false; - boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); - if(isPc && pcPermission){ - if (!userProvider.get().getIsAdministrator()){ - Object contractFileObj=authorizeService.getCondition(new AuthorizeConditionModel(contractFileQueryWrapper,contractFilePagination.getMenuId(),"contractFile")); - if (ObjectUtil.isEmpty(contractFileObj)){ - return new ArrayList<>(); - } else { - contractFileQueryWrapper = (QueryWrapper)contractFileObj; - contractFileNum++; - } - Object contract_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(contract_item0QueryWrapper,contractFilePagination.getMenuId(),"contract_item0")); - if (ObjectUtil.isEmpty(contract_item0Obj)){ - return new ArrayList<>(); - } else { - contract_item0QueryWrapper = (QueryWrapper)contract_item0Obj; - contract_item0Num++; - } - Object contract_item1Obj=authorizeService.getCondition(new AuthorizeConditionModel(contract_item1QueryWrapper,contractFilePagination.getMenuId(),"contract_item1")); - if (ObjectUtil.isEmpty(contract_item1Obj)){ - return new ArrayList<>(); - } else { - contract_item1QueryWrapper = (QueryWrapper)contract_item1Obj; - contract_item1Num++; + public List getList(ContractFilePagination contractFilePagination) { + String userId = userProvider.get().getUserId(); + List AllIdList = new ArrayList(); + int total = 0; + int contractFileNum = 0; + QueryWrapper contractFileQueryWrapper = new QueryWrapper<>(); + int contract_item0Num = 0; + QueryWrapper contract_item0QueryWrapper = new QueryWrapper<>(); + int contract_item1Num = 0; + QueryWrapper contract_item1QueryWrapper = new QueryWrapper<>(); + boolean pcPermission = false; + boolean appPermission = false; + boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); + if (isPc && pcPermission) { + if (!userProvider.get().getIsAdministrator()) { + Object contractFileObj = authorizeService.getCondition(new AuthorizeConditionModel(contractFileQueryWrapper, contractFilePagination.getMenuId(), "contractFile")); + if (ObjectUtil.isEmpty(contractFileObj)) { + return new ArrayList<>(); + } else { + contractFileQueryWrapper = (QueryWrapper) contractFileObj; + contractFileNum++; + } + Object contract_item0Obj = authorizeService.getCondition(new AuthorizeConditionModel(contract_item0QueryWrapper, contractFilePagination.getMenuId(), "contract_item0")); + if (ObjectUtil.isEmpty(contract_item0Obj)) { + return new ArrayList<>(); + } else { + contract_item0QueryWrapper = (QueryWrapper) contract_item0Obj; + contract_item0Num++; + } + Object contract_item1Obj = authorizeService.getCondition(new AuthorizeConditionModel(contract_item1QueryWrapper, contractFilePagination.getMenuId(), "contract_item1")); + if (ObjectUtil.isEmpty(contract_item1Obj)) { + return new ArrayList<>(); + } else { + contract_item1QueryWrapper = (QueryWrapper) contract_item1Obj; + contract_item1Num++; + } } } - } - if(!isPc && appPermission){ - if (!userProvider.get().getIsAdministrator()){ - Object contractFileObj=authorizeService.getCondition(new AuthorizeConditionModel(contractFileQueryWrapper,contractFilePagination.getMenuId(),"contractFile")); - if (ObjectUtil.isEmpty(contractFileObj)){ - return new ArrayList<>(); - } else { - contractFileQueryWrapper = (QueryWrapper)contractFileObj; - contractFileNum++; - } - - - Object contract_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(contract_item0QueryWrapper,contractFilePagination.getMenuId(),"contract_item0")); - if (ObjectUtil.isEmpty(contract_item0Obj)){ - return new ArrayList<>(); - } else { - contract_item0QueryWrapper = (QueryWrapper)contract_item0Obj; - contract_item0Num++; - } + if (!isPc && appPermission) { + if (!userProvider.get().getIsAdministrator()) { + Object contractFileObj = authorizeService.getCondition(new AuthorizeConditionModel(contractFileQueryWrapper, contractFilePagination.getMenuId(), "contractFile")); + if (ObjectUtil.isEmpty(contractFileObj)) { + return new ArrayList<>(); + } else { + contractFileQueryWrapper = (QueryWrapper) contractFileObj; + contractFileNum++; + } + + + Object contract_item0Obj = authorizeService.getCondition(new AuthorizeConditionModel(contract_item0QueryWrapper, contractFilePagination.getMenuId(), "contract_item0")); + if (ObjectUtil.isEmpty(contract_item0Obj)) { + return new ArrayList<>(); + } else { + contract_item0QueryWrapper = (QueryWrapper) contract_item0Obj; + contract_item0Num++; + } + + + Object contract_item1Obj = authorizeService.getCondition(new AuthorizeConditionModel(contract_item1QueryWrapper, contractFilePagination.getMenuId(), "contract_item1")); + if (ObjectUtil.isEmpty(contract_item1Obj)) { + return new ArrayList<>(); + } else { + contract_item1QueryWrapper = (QueryWrapper) contract_item1Obj; + contract_item1Num++; + } - Object contract_item1Obj=authorizeService.getCondition(new AuthorizeConditionModel(contract_item1QueryWrapper,contractFilePagination.getMenuId(),"contract_item1")); - if (ObjectUtil.isEmpty(contract_item1Obj)){ - return new ArrayList<>(); - } else { - contract_item1QueryWrapper = (QueryWrapper)contract_item1Obj; - contract_item1Num++; - } - - - } - } - if(AllIdList.size()>0){ + } + } + if (AllIdList.size() > 0) { contractFileQueryWrapper.lambda().in(ContractFileEntity::getId, AllIdList); } //排序 - if(StringUtil.isEmpty(contractFilePagination.getSidx())){ - contractFileQueryWrapper.lambda().orderByDesc(ContractFileEntity::getId); - }else{ + if (StringUtil.isEmpty(contractFilePagination.getSidx())) { + contractFileQueryWrapper.lambda().orderByDesc(ContractFileEntity::getId); + } else { try { String sidx = contractFilePagination.getSidx(); ContractFileEntity contractFileEntity = new ContractFileEntity(); Field declaredField = contractFileEntity.getClass().getDeclaredField(sidx); declaredField.setAccessible(true); String value = declaredField.getAnnotation(TableField.class).value(); - contractFileQueryWrapper="asc".equals(contractFilePagination.getSort().toLowerCase())?contractFileQueryWrapper.orderByAsc(value):contractFileQueryWrapper.orderByDesc(value); + contractFileQueryWrapper = "asc".equals(contractFilePagination.getSort().toLowerCase()) ? contractFileQueryWrapper.orderByAsc(value) : contractFileQueryWrapper.orderByDesc(value); } catch (NoSuchFieldException e) { e.printStackTrace(); } } - if((total>0 && AllIdList.size()>0) || total==0){ - Page page=new Page<>(contractFilePagination.getCurrentPage(), contractFilePagination.getPageSize()); - IPage userIPage=this.page(page, contractFileQueryWrapper); - return contractFilePagination.setData(userIPage.getRecords(),userIPage.getTotal()); - }else{ + if ((total > 0 && AllIdList.size() > 0) || total == 0) { + Page page = new Page<>(contractFilePagination.getCurrentPage(), contractFilePagination.getPageSize()); + IPage userIPage = this.page(page, contractFileQueryWrapper); + return contractFilePagination.setData(userIPage.getRecords(), userIPage.getTotal()); + } else { List list = new ArrayList(); return contractFilePagination.setData(list, list.size()); } } + @Override - public List getTypeList(ContractFilePagination contractFilePagination,String dataType){ - String userId=userProvider.get().getUserId(); - List AllIdList =new ArrayList(); - int total=0; - int contractFileNum =0; - QueryWrapper contractFileQueryWrapper=new QueryWrapper<>(); - int contract_item0Num =0; - QueryWrapper contract_item0QueryWrapper=new QueryWrapper<>(); - int contract_item1Num =0; - QueryWrapper contract_item1QueryWrapper=new QueryWrapper<>(); - boolean pcPermission = false; - boolean appPermission = false; - boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); - if(isPc && pcPermission){ - if (!userProvider.get().getIsAdministrator()){ - Object contractFileObj=authorizeService.getCondition(new AuthorizeConditionModel(contractFileQueryWrapper,contractFilePagination.getMenuId(),"contractFile")); - if (ObjectUtil.isEmpty(contractFileObj)){ - return new ArrayList<>(); - } else { - contractFileQueryWrapper = (QueryWrapper)contractFileObj; - contractFileNum++; - } - Object contract_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(contract_item0QueryWrapper,contractFilePagination.getMenuId(),"contract_item0")); - if (ObjectUtil.isEmpty(contract_item0Obj)){ - return new ArrayList<>(); - } else { - contract_item0QueryWrapper = (QueryWrapper)contract_item0Obj; - contract_item0Num++; - } - Object contract_item1Obj=authorizeService.getCondition(new AuthorizeConditionModel(contract_item1QueryWrapper,contractFilePagination.getMenuId(),"contract_item1")); - if (ObjectUtil.isEmpty(contract_item1Obj)){ - return new ArrayList<>(); - } else { - contract_item1QueryWrapper = (QueryWrapper)contract_item1Obj; - contract_item1Num++; + public List getTypeList(ContractFilePagination contractFilePagination, String dataType) { + String userId = userProvider.get().getUserId(); + List AllIdList = new ArrayList(); + int total = 0; + int contractFileNum = 0; + QueryWrapper contractFileQueryWrapper = new QueryWrapper<>(); + int contract_item0Num = 0; + QueryWrapper contract_item0QueryWrapper = new QueryWrapper<>(); + int contract_item1Num = 0; + QueryWrapper contract_item1QueryWrapper = new QueryWrapper<>(); + boolean pcPermission = false; + boolean appPermission = false; + boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); + if (isPc && pcPermission) { + if (!userProvider.get().getIsAdministrator()) { + Object contractFileObj = authorizeService.getCondition(new AuthorizeConditionModel(contractFileQueryWrapper, contractFilePagination.getMenuId(), "contractFile")); + if (ObjectUtil.isEmpty(contractFileObj)) { + return new ArrayList<>(); + } else { + contractFileQueryWrapper = (QueryWrapper) contractFileObj; + contractFileNum++; + } + Object contract_item0Obj = authorizeService.getCondition(new AuthorizeConditionModel(contract_item0QueryWrapper, contractFilePagination.getMenuId(), "contract_item0")); + if (ObjectUtil.isEmpty(contract_item0Obj)) { + return new ArrayList<>(); + } else { + contract_item0QueryWrapper = (QueryWrapper) contract_item0Obj; + contract_item0Num++; + } + Object contract_item1Obj = authorizeService.getCondition(new AuthorizeConditionModel(contract_item1QueryWrapper, contractFilePagination.getMenuId(), "contract_item1")); + if (ObjectUtil.isEmpty(contract_item1Obj)) { + return new ArrayList<>(); + } else { + contract_item1QueryWrapper = (QueryWrapper) contract_item1Obj; + contract_item1Num++; + } } } - } - if(!isPc && appPermission){ - if (!userProvider.get().getIsAdministrator()){ - Object contractFileObj=authorizeService.getCondition(new AuthorizeConditionModel(contractFileQueryWrapper,contractFilePagination.getMenuId(),"contractFile")); - if (ObjectUtil.isEmpty(contractFileObj)){ - return new ArrayList<>(); - } else { - contractFileQueryWrapper = (QueryWrapper)contractFileObj; - contractFileNum++; - } - + if (!isPc && appPermission) { + if (!userProvider.get().getIsAdministrator()) { + Object contractFileObj = authorizeService.getCondition(new AuthorizeConditionModel(contractFileQueryWrapper, contractFilePagination.getMenuId(), "contractFile")); + if (ObjectUtil.isEmpty(contractFileObj)) { + return new ArrayList<>(); + } else { + contractFileQueryWrapper = (QueryWrapper) contractFileObj; + contractFileNum++; + } + + + Object contract_item0Obj = authorizeService.getCondition(new AuthorizeConditionModel(contract_item0QueryWrapper, contractFilePagination.getMenuId(), "contract_item0")); + if (ObjectUtil.isEmpty(contract_item0Obj)) { + return new ArrayList<>(); + } else { + contract_item0QueryWrapper = (QueryWrapper) contract_item0Obj; + contract_item0Num++; + } + + + Object contract_item1Obj = authorizeService.getCondition(new AuthorizeConditionModel(contract_item1QueryWrapper, contractFilePagination.getMenuId(), "contract_item1")); + if (ObjectUtil.isEmpty(contract_item1Obj)) { + return new ArrayList<>(); + } else { + contract_item1QueryWrapper = (QueryWrapper) contract_item1Obj; + contract_item1Num++; + } - Object contract_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(contract_item0QueryWrapper,contractFilePagination.getMenuId(),"contract_item0")); - if (ObjectUtil.isEmpty(contract_item0Obj)){ - return new ArrayList<>(); - } else { - contract_item0QueryWrapper = (QueryWrapper)contract_item0Obj; - contract_item0Num++; - } - - Object contract_item1Obj=authorizeService.getCondition(new AuthorizeConditionModel(contract_item1QueryWrapper,contractFilePagination.getMenuId(),"contract_item1")); - if (ObjectUtil.isEmpty(contract_item1Obj)){ - return new ArrayList<>(); - } else { - contract_item1QueryWrapper = (QueryWrapper)contract_item1Obj; - contract_item1Num++; - } - - - } - } - if(AllIdList.size()>0){ - contractFileQueryWrapper.lambda().in(ContractFileEntity::getId, AllIdList); - } + } + } + if (AllIdList.size() > 0) { + contractFileQueryWrapper.lambda().in(ContractFileEntity::getId, AllIdList); + } //排序 - if(StringUtil.isEmpty(contractFilePagination.getSidx())){ - contractFileQueryWrapper.lambda().orderByDesc(ContractFileEntity::getId); - }else{ + if (StringUtil.isEmpty(contractFilePagination.getSidx())) { + contractFileQueryWrapper.lambda().orderByDesc(ContractFileEntity::getId); + } else { try { - String sidx = contractFilePagination.getSidx(); + String sidx = contractFilePagination.getSidx(); ContractFileEntity contractFileEntity = new ContractFileEntity(); - Field declaredField = contractFileEntity.getClass().getDeclaredField(sidx); - declaredField.setAccessible(true); - String value = declaredField.getAnnotation(TableField.class).value(); - contractFileQueryWrapper="asc".equals(contractFilePagination.getSort().toLowerCase())?contractFileQueryWrapper.orderByAsc(value):contractFileQueryWrapper.orderByDesc(value); + Field declaredField = contractFileEntity.getClass().getDeclaredField(sidx); + declaredField.setAccessible(true); + String value = declaredField.getAnnotation(TableField.class).value(); + contractFileQueryWrapper = "asc".equals(contractFilePagination.getSort().toLowerCase()) ? contractFileQueryWrapper.orderByAsc(value) : contractFileQueryWrapper.orderByDesc(value); } catch (NoSuchFieldException e) { e.printStackTrace(); } } - if("0".equals(dataType)){ - if((total>0 && AllIdList.size()>0) || total==0){ - Page page=new Page<>(contractFilePagination.getCurrentPage(), contractFilePagination.getPageSize()); - IPage userIPage=this.page(page, contractFileQueryWrapper); - return contractFilePagination.setData(userIPage.getRecords(),userIPage.getTotal()); - }else{ + if ("0".equals(dataType)) { + if ((total > 0 && AllIdList.size() > 0) || total == 0) { + Page page = new Page<>(contractFilePagination.getCurrentPage(), contractFilePagination.getPageSize()); + IPage userIPage = this.page(page, contractFileQueryWrapper); + return contractFilePagination.setData(userIPage.getRecords(), userIPage.getTotal()); + } else { List list = new ArrayList(); return contractFilePagination.setData(list, list.size()); } - }else{ + } else { return this.list(contractFileQueryWrapper); } } @Override - public ContractFileEntity getInfo(String id){ - QueryWrapper queryWrapper=new QueryWrapper<>(); - queryWrapper.lambda().eq(ContractFileEntity::getId,id); + public ContractFileEntity getInfo(String id) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(ContractFileEntity::getId, id); return this.getOne(queryWrapper); } @Override - public void create(ContractFileEntity entity){ + public void create(ContractFileEntity entity) { this.save(entity); } @Override - public boolean update(String id, ContractFileEntity entity){ + public boolean update(String id, ContractFileEntity entity) { entity.setId(id); return this.updateById(entity); } + + @Override //预览 + public Map importPreview(List personList) { + List> dataRow = new ArrayList<>(); + List> columns = new ArrayList<>(); + if (personList != null) { + for (int i = 0; i < personList.size(); i++) { + Map dataRowMap = new HashMap<>(); + ContractFileModel model = personList.get(i); + dataRowMap.put("contractCode", model.getContractCode()); + dataRowMap.put("contractName", model.getContractName()); + dataRowMap.put("contractNo", model.getContractNo()); + dataRowMap.put("contractType", model.getContractType()); + dataRowMap.put("classification", model.getClassification()); + dataRowMap.put("declarationDate", model.getDeclarationDate()); + dataRowMap.put("name", model.getName()); + dataRowMap.put("num", model.getNum()); + dataRowMap.put("amount", model.getAmount()); + dataRowMap.put("deptName", model.getDeptName()); + dataRowMap.put("remark", model.getRemark()); + dataRowMap.put("creatorusername", model.getCreatorusername()); + dataRowMap.put("status", model.getStatus()); + dataRowMap.put("approval", model.getApproval()); + dataRow.add(dataRowMap); + } + for (int i = 1; i < 15; i++) { + Map columnsMap = new HashMap<>(); + columnsMap.put("AllowDBNull", true); + columnsMap.put("AutoIncrement", false); + columnsMap.put("AutoIncrementSeed", 0); + columnsMap.put("AutoIncrementStep", 1); + columnsMap.put("Caption", this.getColumns(i)); + columnsMap.put("ColumnMapping", 1); + columnsMap.put("ColumnName", this.getColumns(i)); + columnsMap.put("Container", null); + columnsMap.put("DataType", "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"); + columnsMap.put("DateTimeMode", 3); + columnsMap.put("DefaultValue", null); + columnsMap.put("DesignMode", false); + columnsMap.put("Expression", ""); + columnsMap.put("ExtendedProperties", ""); + columnsMap.put("MaxLength", -1); + columnsMap.put("Namespace", ""); + columnsMap.put("Ordinal", 0); + columnsMap.put("Prefix", ""); + columnsMap.put("ReadOnly", false); + columnsMap.put("Site", null); + columnsMap.put("Table", personList); + columnsMap.put("Unique", false); + columns.add(columnsMap); + } + } + Map map = new HashMap<>(); + map.put("dataRow", dataRow); + map.put("columns", columns); + return map; + } + + //导入 @Override - public void delete(ContractFileEntity entity){ - if(entity!=null){ + public ContractfileImportVO importData(List dt) { + for (ContractFileModel model : dt) { + model.setCreatorTime(DateUtil.cstFormat(model.getCreatorTime())); + model.setNum(DateUtil.cstFormat(model.getNum())); + if (model.getContractType() != null) { + if (model.getContractType().equals("采购合同")) { + model.setContractType("0"); + } else if (model.getContractType().equals("销售合同")) { + model.setContractType("1"); + } + } + if (model.getClassification() != null) { + if (model.getClassification().equals("采购类")) { + model.setClassification("0"); + } else if (model.getClassification().equals("销售类")) { + model.setClassification("1"); + } + } + if (model.getStatus() != null) { + if (model.getStatus().equals("合同进行中")) { + model.setStatus("0"); + } else if (model.getStatus().equals("合同审批中")) { + model.setStatus("1"); + } else if (model.getStatus().equals("合同审批结束")) { + model.setStatus("2"); + } + } + } + List entitys = JsonUtil.getJsonToList(dt, ContractFileEntity.class); + //记录成功了几条 + int sum = 0; + //记录第几条失败 + int num = 0; + List errList = new ArrayList<>(); + for (ContractFileEntity entity : entitys) { + entity.setId(RandomUtil.uuId()); + entity.setCreatoruserid(userProvider.get().getUserId()); + entity.setCreatortime(new Date()); + try { + this.baseMapper.insert(entity); + sum++; + } catch (Exception e) { + errList.add(entity); + num++; + log.error("导入第" + (num + 1) + "条数据失败"); + } + + } + ContractfileImportVO vo = new ContractfileImportVO(); + vo.setSnum(sum); + vo.setFnum(num); + if (vo.getFnum() > 0) { + vo.setResultType(1); + vo.setFailResult(JsonUtil.getJsonToList(errList, ContractFileModel.class)); + return vo; + } else { + vo.setResultType(0); + return vo; + } + } + + + @Override + public void delete(ContractFileEntity entity) { + if (entity != null) { this.removeById(entity.getId()); } } + //子表方法 - @Override - public List GetContract_item0List(String id){ - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().eq(Contract_item0Entity::getContractId, id); - return contract_item0Service.list(queryWrapper); - } - @Override - public List GetContract_item1List(String id){ - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().eq(Contract_item1Entity::getContractId, id); - return contract_item1Service.list(queryWrapper); - } + @Override + public List GetContract_item0List(String id) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(Contract_item0Entity::getContractId, id); + return contract_item0Service.list(queryWrapper); + } + + @Override + public List GetContract_item1List(String id) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(Contract_item1Entity::getContractId, id); + return contract_item1Service.list(queryWrapper); + } //列表子表数据方法 + private String getKey(String key) { + Map map = new HashMap<>(); + map.put("工号", "F_EnCode"); + map.put("姓名", "F_FullName"); + map.put("性别", "F_Gender"); + map.put("部门", "F_DepartmentName"); + map.put("岗位", "F_PositionName"); + map.put("用工性质", "F_WorkingNature"); + map.put("身份证号", "F_IDNumber"); + map.put("联系电话", "F_Telephone"); + map.put("出生年月", "F_Birthday"); + map.put("参加工作", "F_AttendWorkTime"); + map.put("最高学历", "F_Education"); + map.put("所学专业", "F_Major"); + map.put("毕业院校", "F_GraduationAcademy"); + map.put("毕业时间", "F_GraduationTime"); + return map.get(key); + } + + private String getColumns(Integer key) { + Map map = new HashMap<>(); + map.put(1, "合同编码"); + map.put(2, "合同名称"); + map.put(3, "对方合同号"); + map.put(4, "合同类型"); + map.put(5, "合同分类"); + map.put(6, "申报日期"); + map.put(7, "供应商"); + map.put(8, "数量"); + map.put(9, "金额"); + map.put(10, "部门名称"); + map.put(11, "备注"); + map.put(12, "录入人"); + map.put(13, "单据状态"); + map.put(14, "集团审批"); + return map.get(key); + } + } \ No newline at end of file diff --git a/SC-boot/linkage-system/src/main/java/jnpf/base/service/impl/BillRuleServiceImpl.java b/SC-boot/linkage-system/src/main/java/jnpf/base/service/impl/BillRuleServiceImpl.java index ccfd0a70..7ff44186 100644 --- a/SC-boot/linkage-system/src/main/java/jnpf/base/service/impl/BillRuleServiceImpl.java +++ b/SC-boot/linkage-system/src/main/java/jnpf/base/service/impl/BillRuleServiceImpl.java @@ -237,6 +237,7 @@ public class BillRuleServiceImpl extends ServiceImpl \ No newline at end of file + diff --git a/SC-web/src/views/scm/basicInformation/contractfile/ImportForm.vue b/SC-web/src/views/scm/basicInformation/contractfile/ImportForm.vue new file mode 100644 index 00000000..21fc10b5 --- /dev/null +++ b/SC-web/src/views/scm/basicInformation/contractfile/ImportForm.vue @@ -0,0 +1,264 @@ + + + diff --git a/SC-web/src/views/scm/basicInformation/contractfile/index.vue b/SC-web/src/views/scm/basicInformation/contractfile/index.vue index 548f48ac..5e14071e 100644 --- a/SC-web/src/views/scm/basicInformation/contractfile/index.vue +++ b/SC-web/src/views/scm/basicInformation/contractfile/index.vue @@ -31,8 +31,10 @@ 导出 - - + + 导入 + +
@@ -54,7 +56,13 @@ {{ scope.row.contractType | dynamicText(contractTypeOptions) }} - + + + + + @@ -98,10 +106,15 @@ + + +