diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/common/CustomPaginationInterceptor.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/common/CustomPaginationInterceptor.java new file mode 100644 index 0000000..215a2d9 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/common/CustomPaginationInterceptor.java @@ -0,0 +1,40 @@ +package com.chinaunicom.zyhy.ebtp.supplier.common; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.apache.ibatis.executor.Executor; +import org.apache.ibatis.mapping.BoundSql; +import org.apache.ibatis.mapping.MappedStatement; +import org.apache.ibatis.session.ResultHandler; +import org.apache.ibatis.session.RowBounds; + +import java.lang.reflect.Field; +import java.sql.SQLException; + +public class CustomPaginationInterceptor extends PaginationInnerInterceptor { + + @Override + public void beforeQuery(Executor executor, MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler, BoundSql boundSql) throws SQLException { + System.out.println("Current SQL ID------------------------------------: " + ms.getId()); + if (ms.getId().endsWith("_COUNT")) { + String originalSql = boundSql.getSql(); + // 关键修改:增强正则以匹配多行和子查询中的 ORDER BY + String newSql = removeOrderBy(originalSql); + resetBoundSql(boundSql, newSql); + } + super.beforeQuery(executor, ms, parameter, rowBounds, resultHandler, boundSql); + } + + private String removeOrderBy(String sql) { + // 改进后的正则:跨行匹配,并处理子查询中的 ORDER BY + return sql.replaceAll("(?is)order\\s+by\\s+[^\\)]+", ""); + } + + private void resetBoundSql(BoundSql boundSql, String newSql) { + try { + Field field = BoundSql.class.getDeclaredField("sql"); + field.setAccessible(true); + field.set(boundSql, newSql); + } catch (Exception e) { + throw new RuntimeException("Failed to modify BoundSql", e); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/common/ListToStringConverter.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/common/ListToStringConverter.java new file mode 100644 index 0000000..ae74e32 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/common/ListToStringConverter.java @@ -0,0 +1,36 @@ +package com.chinaunicom.zyhy.ebtp.supplier.common; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; +import com.alibaba.excel.metadata.data.CellData; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 将 List 类型转换为 Excel 单元格中的逗号分隔字符串 + */ +public class ListToStringConverter implements Converter> { + + @Override + public Class supportJavaTypeKey() { + return List.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public WriteCellData convertToExcelData(List value, + ExcelContentProperty contentProperty, + GlobalConfiguration globalConfiguration) { + String joined = value.stream() + .map(Object::toString) + .collect(Collectors.joining(",")); + return new WriteCellData<>(joined); + } +} \ No newline at end of file diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/common/MybatisPlusConfig.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/common/MybatisPlusConfig.java index da557a0..65dc1b3 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/common/MybatisPlusConfig.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/common/MybatisPlusConfig.java @@ -11,7 +11,7 @@ public class MybatisPlusConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 数据库类型 + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 根据你的数据库类型调整 return interceptor; } } \ No newline at end of file diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/common/aop/MessageLogAspect.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/common/aop/MessageLogAspect.java index 734a4a2..8199aed 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/common/aop/MessageLogAspect.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/common/aop/MessageLogAspect.java @@ -230,19 +230,17 @@ public class MessageLogAspect { CoscoSupplierAccessWorkVo vo = (CoscoSupplierAccessWorkVo) result; List coscoMessageList = new ArrayList<>(); // 使用转换后的对象 - for (CoscoAccessSupplier coscoAccessSupplier : vo.getSupplierList()) { - for (CoscoAccessCategory coscoAccessCategory : coscoAccessSupplier.getCoscoAccessCategoryList()) { - String approveStr = ""; - if (CoscoType.APPROVE_STATUS_TG.equals(vo.getApproveStatus())) { - approveStr = "已通过"; - } else { - approveStr = "已驳回"; - } - String cont = coscoAccessSupplier.getSupplierName() + ",准入" + - vo.getDeptId() + "部门的" + - coscoAccessCategory.getCategoryName() + "品类," + approveStr; - coscoMessageList.add(coscoMessageData(coscoAccessSupplier.getSupplierId(), cont, messageType)); + for (CoscoAccessCategory coscoAccessCategory : vo.getSupplierAndCategoryList()) { + String approveStr = ""; + if (CoscoType.APPROVE_STATUS_TG.equals(vo.getApproveStatus())) { + approveStr = "已通过"; + } else { + approveStr = "已驳回"; } + String cont = coscoAccessCategory.getSupplierName() + ",准入" + + vo.getDeptId() + "部门的" + + coscoAccessCategory.getCategoryName() + "品类," + approveStr; + coscoMessageList.add(coscoMessageData(coscoAccessCategory.getSupplierId(), cont, messageType)); } pustMessage(coscoMessageList); } else { diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskServiceImpl.java index 7e10b9c..c352c8e 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskServiceImpl.java @@ -1,6 +1,5 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.service.impl; -import cn.hutool.system.UserInfo; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskServiceImpl.java index b59a0a0..774c87a 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskServiceImpl.java @@ -1,8 +1,5 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.service.impl; -import java.lang.reflect.Array; -import java.lang.reflect.InvocationTargetException; -import java.math.BigDecimal; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -10,9 +7,7 @@ import java.util.stream.Collectors; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; -import com.chinaunicom.zyhy.ebtp.supplier.base.constant.AnnualreviewTaskConstant; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CoscoCategoryConstant; -import com.chinaunicom.zyhy.ebtp.supplier.base.constant.EvaluateTaskConstant; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.SupplierUserConstant; import com.chinaunicom.zyhy.ebtp.supplier.base.service.impl.UserService; import com.chinaunicom.zyhy.ebtp.supplier.base.vo.SelectUserVo; @@ -24,12 +19,9 @@ import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.dao.*; import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.entity.*; import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.service.ICoscoEvaluateTaskAssignDeptService; import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.service.ICoscoEvaluateTemplateIndicatorNdService; -import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.service.ICoscoEvaluateTemplateIndicatorStService; import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.vo.*; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoSupplierBaseMapper; -import org.apache.commons.beanutils.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.service.ICoscoEvaluateTaskService; import org.springframework.transaction.annotation.Transactional; diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/controller/CoscoAccessItemController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/controller/CoscoAccessItemController.java new file mode 100644 index 0000000..47d744a --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/controller/CoscoAccessItemController.java @@ -0,0 +1,37 @@ +package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.controller; + +import com.chinaunicom.mall.ebtp.common.base.controller.BaseController; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessCategory; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessItem; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierBank; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.ICoscoAccessCategoryService; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.ICoscoAccessItemService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +/** + * 中远海运_供应商_银行账户Controller + * + * @author ruoyi + * @date 2025-06-16 + */ +@RestController +@RequestMapping("/coscoAccessItem") +public class CoscoAccessItemController extends BaseController { + @Autowired + private ICoscoAccessCategoryService coscoAccessCategoryService; + + /** + * 分组查询工作任务下的评审项 + */ + @GetMapping("/groupByList") + public BaseResponse> groupByList(CoscoAccessCategory coscoAccessCategory) { + List list = coscoAccessCategoryService.selectCoscoAccessCategoryList(coscoAccessCategory); + return BaseResponse.success(list); + } + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/controller/CoscoAccessSupplierController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/controller/CoscoAccessSupplierController.java new file mode 100644 index 0000000..f3a4956 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/controller/CoscoAccessSupplierController.java @@ -0,0 +1,76 @@ +package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.controller; + +import com.alibaba.excel.EasyExcelFactory; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.chinaunicom.mall.ebtp.common.base.controller.BaseController; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoType; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplier; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.ICoscoAccessSupplierService; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.net.URLEncoder; +import java.util.*; + + +/** + * 中远海运_供应商_银行账户Controller + * + * @author ruoyi + * @date 2025-06-16 + */ +@RestController +@RequestMapping("/coscoAccessSupplier") +public class CoscoAccessSupplierController extends BaseController { + @Autowired + private ICoscoAccessSupplierService coscoAccessSupplierService; + + /** + * 分组查询工作任务下的评审项 + */ + @ApiOperation("查询分页数据") + @PostMapping("/getPage") + public BaseResponse getPage(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoAccessSupplier coscoAccessSupplier) { + coscoAccessSupplier.setAccessStatus(CoscoType.ACCESS_STATUS_YZR); + List deptIdList = new ArrayList<>(); + deptIdList.add("100"); + coscoAccessSupplier.setDeptIdList(deptIdList); + return BaseResponse.success(coscoAccessSupplierService.selectCoscoAccessSupplierAndWorkPageList(coscoAccessSupplier)); + } + + @GetMapping("/getPageExport") + public void getPageExport(HttpServletResponse response, CoscoAccessSupplier coscoAccessSupplier){ + try{ + coscoAccessSupplier.setAccessStatus(CoscoType.ACCESS_STATUS_YZR); + List deptIdList = new ArrayList<>(); + deptIdList.add("100"); + coscoAccessSupplier.setDeptIdList(deptIdList); + List list = coscoAccessSupplierService.selectCoscoAccessSupplierAndWorkExecList(coscoAccessSupplier); + + // 动态设置导出字段(忽略未标注字段) + Set includeFields = new HashSet<>(Arrays.asList( + "supplierName","supplierTypeCn", "accessTypeText","categoryNameList","updateYear" // 指定要导出的字段名 + )); + + String fileName = URLEncoder.encode("供应商准入情况统计.xlsx", "UTF-8"); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader("Content-Disposition", "attachment;filename=" + fileName); + response.setCharacterEncoding("utf-8"); + + EasyExcelFactory.write(response.getOutputStream()) + .includeColumnFieldNames(includeFields) + .head(CoscoAccessSupplier.class) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 自动列宽 + .sheet("供应商准入情况统计") + .doWrite(list); + }catch (Exception e){ + e.printStackTrace(); + } + + } + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/controller/CoscoAccessWorkController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/controller/CoscoAccessWorkController.java index e065ca8..0af31de 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/controller/CoscoAccessWorkController.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/controller/CoscoAccessWorkController.java @@ -34,6 +34,7 @@ public class CoscoAccessWorkController extends BaseController { @ApiOperation("查询分页数据") @PostMapping("/getPage") public BaseResponse> getPage(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoAccessWork data) { + //判断当前登录人是否是组长 data.setUserId("1"); return BaseResponse.success(coscoAccessWorkService.getPage(data)); } @@ -79,7 +80,7 @@ public class CoscoAccessWorkController extends BaseController { @ApiOperation("查询数据") @GetMapping("/reviewInfo") public BaseResponse> reviewInfo(@ApiParam(value = "主键id", required = true) String id,@ApiParam(value = "用户id", required = true) String userId){ - userId = "1000"; + userId = "1"; return BaseResponse.success(coscoAccessWorkService.reviewInfo(id,userId)); } @@ -102,7 +103,7 @@ public class CoscoAccessWorkController extends BaseController { @ApiOperation("修改数据") @PostMapping("/update") public BaseResponse update(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid CoscoAccessUserItemVo vo){ - vo.setUserId("USER002"); + vo.setUserId("1"); return BaseResponse.success(coscoAccessWorkService.updateCoscoAccessWork(vo)); } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/controller/CoscoSupplierBaseController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/controller/CoscoSupplierBaseController.java index 191f846..f68e64f 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/controller/CoscoSupplierBaseController.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/controller/CoscoSupplierBaseController.java @@ -8,7 +8,6 @@ import com.chinaunicom.mall.ebtp.common.base.controller.BaseController; import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoType; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.AdmissionDetailsVo; -import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplierCategory; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierBase; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierVo; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.ICoscoSupplierBaseService; @@ -43,7 +42,7 @@ public class CoscoSupplierBaseController extends BaseController { */ @ApiOperation("查询分页数据") @PostMapping("/getPage") - public BaseResponse> getPage(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierBase coscoSupplierBase) { + public BaseResponse> selectWzrPageList(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierBase coscoSupplierBase) { return BaseResponse.success(coscoSupplierBaseService.selectWzrPageList(coscoSupplierBase)); } @@ -122,18 +121,40 @@ public class CoscoSupplierBaseController extends BaseController { /** - * 根据部门查询合格供应商列表查询分页数据 + * 根据部门查询合格供应商列表查询分页数据(只查境内,境外的合格供应商) * @return 返回结果 */ @ApiOperation("查询分页数据") @PostMapping("/getPageQualified") public BaseResponse> getPageQualified(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierBase coscoSupplierBase) { + List supplierTypeList = new ArrayList<>(); + supplierTypeList.add(CoscoType.SUPPLIER_TYPE_DVS);//境内 + supplierTypeList.add(CoscoType.SUPPLIER_TYPE_OVS);//境外 coscoSupplierBase.setAccessStatus(CoscoType.ACCESS_STATUS_YZR); coscoSupplierBase.setBlacklistStatus(CoscoType.BLACKLIST_STATUS_W); + coscoSupplierBase.setSupplierTypeList(supplierTypeList); return BaseResponse.success(coscoSupplierBaseService.getPage(coscoSupplierBase)); } + /** + * 根据部门查询合格供应商列表查询分页数据(只查个人的合格供应商) + * @return 返回结果 + */ + @ApiOperation("查询分页数据") + @PostMapping("/getPagePe") + public BaseResponse> getPagePe(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoSupplierBase coscoSupplierBase) { + List supplierTypeList = new ArrayList<>(); + supplierTypeList.add(CoscoType.SUPPLIER_TYPE_PE);//个人 + coscoSupplierBase.setAccessStatus(CoscoType.ACCESS_STATUS_YZR); + coscoSupplierBase.setBlacklistStatus(CoscoType.BLACKLIST_STATUS_W); + coscoSupplierBase.setSupplierTypeList(supplierTypeList); + return BaseResponse.success(coscoSupplierBaseService.getPage(coscoSupplierBase)); + } + + + + /** * 导出合我的分页数据 @@ -170,20 +191,24 @@ public class CoscoSupplierBaseController extends BaseController { /** - * 导出合格供应商列表查询分页数据 + * 导出境内境外合格供应商列表查询分页数据 * @return */ @GetMapping("/getPageQualifiedExport") public void getPageQualifiedExport(HttpServletResponse response, CoscoSupplierBase coscoSupplierBase){ try{ + List supplierTypeList = new ArrayList<>(); + supplierTypeList.add(CoscoType.SUPPLIER_TYPE_DVS);//境内 + supplierTypeList.add(CoscoType.SUPPLIER_TYPE_OVS);//境外 coscoSupplierBase.setAccessStatus(CoscoType.ACCESS_STATUS_YZR); coscoSupplierBase.setBlacklistStatus(CoscoType.BLACKLIST_STATUS_W); + coscoSupplierBase.setSupplierTypeList(supplierTypeList); List list = coscoSupplierBaseService.selectCoscoSupplierBaseList(coscoSupplierBase); // 动态设置导出字段(忽略未标注字段) Set includeFields = new HashSet<>(Arrays.asList( - "name", "socialCreditCode","supplierTypeCn", "enterpriseTypeCn","createTime" // 指定要导出的字段名 + "name", "unifiedCode","supplierTypeCn", "enterpriseTypeCn","createTime" // 指定要导出的字段名 )); String fileName = URLEncoder.encode("合格供应商.xlsx", "UTF-8"); @@ -204,6 +229,45 @@ public class CoscoSupplierBaseController extends BaseController { } + /** + * 导出个人合格供应商列表查询分页数据 + * @return + */ + + @GetMapping("/getPagePeExport") + public void getPagePeExport(HttpServletResponse response, CoscoSupplierBase coscoSupplierBase){ + try{ + List supplierTypeList = new ArrayList<>(); + supplierTypeList.add(CoscoType.SUPPLIER_TYPE_PE);//个人 + coscoSupplierBase.setAccessStatus(CoscoType.ACCESS_STATUS_YZR); + coscoSupplierBase.setBlacklistStatus(CoscoType.BLACKLIST_STATUS_W); + coscoSupplierBase.setSupplierTypeList(supplierTypeList); + List list = coscoSupplierBaseService.selectCoscoSupplierBaseList(coscoSupplierBase); + + // 动态设置导出字段(忽略未标注字段) + Set includeFields = new HashSet<>(Arrays.asList( + "name", "unifiedCode","personPhone", "createTime" // 指定要导出的字段名 + )); + + String fileName = URLEncoder.encode("个人合格供应商.xlsx", "UTF-8"); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader("Content-Disposition", "attachment;filename=" + fileName); + response.setCharacterEncoding("utf-8"); + + EasyExcelFactory.write(response.getOutputStream()) + .includeColumnFieldNames(includeFields) + .head(CoscoSupplierBase.class) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 自动列宽 + .sheet("个人合格供应商") + .doWrite(list); + }catch (Exception e){ + e.printStackTrace(); + } + + } + + + /** * 供应商后台获取基本信息 * @param id @@ -243,7 +307,7 @@ public class CoscoSupplierBaseController extends BaseController { @GetMapping("/getSupplierInfo/{id}") public BaseResponse getCoscoSupplierBase(@ApiParam(value = "主键id", required = true) @PathVariable String id){ //获取登录人信息 - id = "9c12e8ea-a681-4184-81ba-5fa276299a00"; + id = "1942424482567487488"; return BaseResponse.success(coscoSupplierBaseService.getCoscoSupplierBase(id)); } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessCategoryMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessCategoryMapper.java index 6da5cdc..253fe9a 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessCategoryMapper.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessCategoryMapper.java @@ -1,6 +1,8 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessCategory; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -27,6 +29,12 @@ public interface CoscoAccessCategoryMapper { */ public List selectCoscoAccessCategoryList(CoscoAccessCategory coscoAccessCategory); + //通过任务id与部门id查询这个部门下不存在的品类 + public List selectCoscoAccessCategoryByDeptIdList(CoscoAccessCategory coscoAccessCategory); + + + + /** * 新增供应商准入_准入申请关联品类 * diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessItemAttachmentsMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessItemAttachmentsMapper.java index 41a49a3..269c48d 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessItemAttachmentsMapper.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessItemAttachmentsMapper.java @@ -44,12 +44,11 @@ public interface CoscoAccessItemAttachmentsMapper { public int updateCoscoAccessItemAttachments(CoscoAccessItemAttachments coscoAccessItemAttachments); /** - * 删除供应商准入_准入工作评审项附件 + * 通过评审项关联评审人表id准入工作评审项附件 * - * @param id 供应商准入_准入工作评审项附件主键 * @return 结果 */ - public int deleteCoscoAccessItemAttachmentsById(String id); + public int deleteCoscoAccessItemAttachmentsByAccessUserItemId(String accessUserItemId); /** * 批量删除供应商准入_准入工作评审项附件 diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessItemMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessItemMapper.java index d381b2e..5e55005 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessItemMapper.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessItemMapper.java @@ -27,6 +27,14 @@ public interface CoscoAccessItemMapper { */ public List selectCoscoAccessItemList(CoscoAccessItem coscoAccessItem); + /** + * 分组查询任务下的评审项 + * @param coscoAccessItem + * @return + */ + public List selectGroupByItemList(CoscoAccessItem coscoAccessItem); + + /** * 新增供应商准入_准入工作评审项 * diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessSupplierMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessSupplierMapper.java index 1b227bc..b15af5e 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessSupplierMapper.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessSupplierMapper.java @@ -2,6 +2,7 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplier; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierBase; import org.springframework.data.repository.query.Param; import java.util.List; @@ -31,14 +32,10 @@ public interface CoscoAccessSupplierMapper { */ public List selectCoscoAccessSupplierList(CoscoAccessSupplier coscoAccessSupplier); + public IPage selectCoscoAccessSupplierAndWorkPageList(IPage page, @Param("vo") CoscoAccessSupplier vo); + public List selectCoscoAccessSupplierAndWorkExecList(CoscoAccessSupplier coscoAccessSupplier); - /** - * 通过部门id集合,查询审批中或者审批通过并且已准入的供应商id集合 - * @param deptIds - * @return - */ - public List selectSupplierIdByDeptIdList(List deptIds); diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessWorkAttachmentsMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessWorkAttachmentsMapper.java index f8cf373..c81f02b 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessWorkAttachmentsMapper.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessWorkAttachmentsMapper.java @@ -19,6 +19,14 @@ public interface CoscoAccessWorkAttachmentsMapper { */ public CoscoAccessWorkAttachments selectCoscoAccessWorkAttachmentsById(String id); + /** + * 通过工作id查询附件信息 + * @param id + * @return + */ + public CoscoAccessWorkAttachments selectCoscoAccessWorkAttachmentsByWorkId(String id); + + /** * 查询中远海运_准入申请工作附件列表 * diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessWorkMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessWorkMapper.java index 133bbfe..3658600 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessWorkMapper.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessWorkMapper.java @@ -2,7 +2,7 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessWork; -import org.springframework.data.repository.query.Param; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -15,9 +15,6 @@ import java.util.List; public interface CoscoAccessWorkMapper { - - List selectPageByIdList(IPage page, @Param("vo") CoscoAccessWork vo); - IPage selectPageList(IPage page, @Param("vo") CoscoAccessWork vo); IPage selectApproveList(CoscoAccessWork coscoAccessWork); diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoSupplierBankMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoSupplierBankMapper.java index 8c6e01d..d8a6820 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoSupplierBankMapper.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoSupplierBankMapper.java @@ -1,7 +1,7 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper; +import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper;; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierBank; import org.springframework.data.repository.query.Param; diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoSupplierBaseMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoSupplierBaseMapper.java index a676f83..13ecc14 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoSupplierBaseMapper.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoSupplierBaseMapper.java @@ -1,11 +1,13 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper; import com.chinaunicom.zyhy.ebtp.supplier.coscoBlack.vo.BlackSupplierVo; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierBase; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo.BaseCategoryNameVo; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo.SupplierPageVo; -import org.springframework.data.repository.query.Param; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -15,7 +17,7 @@ import java.util.List; * @author ruoyi * @date 2025-06-16 */ -public interface CoscoSupplierBaseMapper { +public interface CoscoSupplierBaseMapper extends IBaseMapper { /** * 查询中远海运_供应商_基本信息 * @@ -34,7 +36,7 @@ public interface CoscoSupplierBaseMapper { - IPage selectWzrPageList(IPage page, @Param("vo") CoscoSupplierBase vo); + IPage selectWzrPageList(IPage page, @Param("vo") CoscoSupplierBase vo); IPage selectPageList(IPage page, @Param("vo") CoscoSupplierBase vo); @@ -97,7 +99,7 @@ public interface CoscoSupplierBaseMapper { List selectSupplierByIds(List supperList); /** - * 查询选择人员 + * 查询已准入的供应商 * @param page * @param vo * @return diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoAccessCategory.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoAccessCategory.java index efe41ca..d9f144d 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoAccessCategory.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoAccessCategory.java @@ -19,8 +19,22 @@ public class CoscoAccessCategory extends CoscoBaseEntity { /** 品类id(cosco_category表主键) */ private String categoryId; - //品类名 + /** + * 品类名称 + */ private String categoryName; + /** + * 部门id + */ + private String deptId; + + /** + * 供应商ID + */ + private String supplierId; + + private String supplierName; + } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoAccessSupplier.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoAccessSupplier.java index 2727b4c..47f219b 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoAccessSupplier.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoAccessSupplier.java @@ -1,6 +1,8 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity; +import com.alibaba.excel.annotation.ExcelProperty; import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoBaseEntity; +import com.chinaunicom.zyhy.ebtp.supplier.common.ListToStringConverter; import lombok.Data; import java.util.List; @@ -31,6 +33,7 @@ public class CoscoAccessSupplier extends CoscoBaseEntity { private String supplierId; //供应商名 + @ExcelProperty("供应商名称") private String supplierName; //品类名 @@ -65,4 +68,39 @@ public class CoscoAccessSupplier extends CoscoBaseEntity { */ private List idList; + private List deptIdList; + + //品类名称 + @ExcelProperty(value = "准入品类", converter = ListToStringConverter.class) + private List categoryNameList; + + + /** + * 准入年度 + */ + @ExcelProperty("准入年度") + private Long updateYear; + /** + * 准入方式 + */ + private String accessType; + + + /** + * 准入方式-中文 + */ + @ExcelProperty("准入方式") + private String accessTypeText; + + /** + * 境内境外或者个人 + */ + @ExcelProperty("境内境外") + private String supplierTypeCn; + + //年度开始时间大于等于格式2025-01-01 + private String startTime; + //年度结束时间小于格式2026-01-01 + private String endTime; + } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoAccessUserItem.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoAccessUserItem.java index 31148c5..d5b62c5 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoAccessUserItem.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoAccessUserItem.java @@ -49,6 +49,10 @@ public class CoscoAccessUserItem extends CoscoBaseEntity { //评审项名 private String itemName; + //评审类型 + private String itemType; + + //评审附件 private CoscoAccessItemAttachments coscoAccessTtemAttachments; diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoAccessWork.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoAccessWork.java index dde285d..0e96108 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoAccessWork.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoAccessWork.java @@ -36,6 +36,11 @@ public class CoscoAccessWork extends CoscoBaseEntity { //@Excel(name = "准入方式(online.线上准入、offline.线下准入)") private String accessType; + /** 准入说明 */ + private String accessDesc; + + + /** 评审开始时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm") //@Excel(name = "评审开始时间", width = 30, dateFormat = "yyyy-MM-dd") @@ -83,8 +88,8 @@ public class CoscoAccessWork extends CoscoBaseEntity { //当前登录人,验证是否是组长用 private String userId; - /** - * 分页查询条件 - */ - List idList; + + //品类名集合 + private List categoryNameList; + } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoSupplierBase.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoSupplierBase.java index 5d32e9e..09c4ce5 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoSupplierBase.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoSupplierBase.java @@ -2,6 +2,7 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity; import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; +import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModelProperty; @@ -48,7 +49,6 @@ public class CoscoSupplierBase { private String enterpriseType; /** 企业名称 */ - @NotBlank(message = "企业名称不能为空") @TableField("企业名称") @ExcelProperty("供应商名称") private String name; @@ -59,7 +59,6 @@ public class CoscoSupplierBase { /** 统一社会信用代码 */ @TableField("统一社会信用代码") - @ExcelProperty("统一社会信用代码") private String socialCreditCode; /** 经营范围 */ @@ -132,6 +131,7 @@ public class CoscoSupplierBase { /** 个人 __ 个人联系电话 */ @TableField("个人联系电话") + @ExcelProperty("联系电话") private String personPhone; /** 个人 __ 开户行 */ @@ -236,5 +236,11 @@ public class CoscoSupplierBase { //批量修改用 private List idList; + private List deptIdList; + //合并后的统一社会信用代码 + @ExcelProperty("统一社会信用代码") + private String unifiedCode; + + private List supplierTypeList; } \ No newline at end of file diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessItemAttachmentsService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessItemAttachmentsService.java index ebf8d53..bcd20fb 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessItemAttachmentsService.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessItemAttachmentsService.java @@ -54,8 +54,6 @@ public interface ICoscoAccessItemAttachmentsService { /** * 删除供应商准入_准入工作评审项附件信息 * - * @param id 供应商准入_准入工作评审项附件主键 - * @return 结果 */ - public int deleteCoscoAccessItemAttachmentsById(String id); + public int deleteCoscoAccessItemAttachmentsByAccessUserItemId(String accessUserItemId); } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessItemService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessItemService.java index 918b038..9e933b4 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessItemService.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessItemService.java @@ -27,6 +27,14 @@ public interface ICoscoAccessItemService { */ public List selectCoscoAccessItemList(CoscoAccessItem coscoAccessItem); + + /** + * 分组查询任务下评审项 + * @param coscoAccessItem + * @return + */ + public List selectGroupByItemList(CoscoAccessItem coscoAccessItem); + /** * 新增供应商准入_准入工作评审项 * diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessSupplierCategoryService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessSupplierCategoryService.java index c2f68a5..14826be 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessSupplierCategoryService.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessSupplierCategoryService.java @@ -1,6 +1,9 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplier; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplierCategory; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessWork; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo.CoscoSupplierAccessWorkVo; import java.util.List; @@ -51,4 +54,14 @@ public interface ICoscoAccessSupplierCategoryService { */ public int deleteCoscoAccessSupplierCategoryByIds(String[] ids); + + /** + * 供应商准入,零星采购/应急采购类型,准入品类直接添加到已准入品类表处理方法 + * @param coscoAccessWorkData + * @param supplierList + * @param categoryIdList + * @return + */ + public CoscoSupplierAccessWorkVo sporadicHandling(CoscoAccessWork coscoAccessWorkData, List supplierList, List categoryIdList); + } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessSupplierService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessSupplierService.java index bc02f2d..efc629d 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessSupplierService.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessSupplierService.java @@ -1,5 +1,6 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplier; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierBase; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierQualifications; @@ -22,6 +23,20 @@ public interface ICoscoAccessSupplierService { */ public CoscoAccessSupplier selectCoscoAccessSupplierByAccessWorkId(String accessWorkId); + + /** + * 供应商准入统计分页查询 + * @param coscoAccessSupplier + * @return + */ + public IPage selectCoscoAccessSupplierAndWorkPageList(CoscoAccessSupplier coscoAccessSupplier); + + /** + * 供应商准入统计导出 + * @param coscoAccessSupplier + * @return + */ + public List selectCoscoAccessSupplierAndWorkExecList(CoscoAccessSupplier coscoAccessSupplier); /** * 查询供应商准入_关联供应商列表 * diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessItemAttachmentsServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessItemAttachmentsServiceImpl.java index 4d116e4..f2c4e3f 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessItemAttachmentsServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessItemAttachmentsServiceImpl.java @@ -91,11 +91,10 @@ public class CoscoAccessItemAttachmentsServiceImpl implements ICoscoAccessItemAt /** * 删除供应商准入_准入工作评审项附件信息 * - * @param id 供应商准入_准入工作评审项附件主键 * @return 结果 */ @Override - public int deleteCoscoAccessItemAttachmentsById(String id) { - return coscoAccessItemAttachmentsMapper.deleteCoscoAccessItemAttachmentsById(id); + public int deleteCoscoAccessItemAttachmentsByAccessUserItemId(String accessUserItemId) { + return coscoAccessItemAttachmentsMapper.deleteCoscoAccessItemAttachmentsByAccessUserItemId(accessUserItemId); } } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessItemServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessItemServiceImpl.java index baf12d3..56313a2 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessItemServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessItemServiceImpl.java @@ -23,8 +23,6 @@ public class CoscoAccessItemServiceImpl implements ICoscoAccessItemService { @Autowired private CoscoAccessItemMapper coscoAccessItemMapper; - @Autowired - private CoscoAccessSupplierMapper coscoAccessSupplierMapper; /** * 查询供应商准入_准入工作评审项 @@ -48,6 +46,11 @@ public class CoscoAccessItemServiceImpl implements ICoscoAccessItemService { return coscoAccessItemMapper.selectCoscoAccessItemList(coscoAccessItem); } + @Override + public List selectGroupByItemList(CoscoAccessItem coscoAccessItem) { + return coscoAccessItemMapper.selectGroupByItemList(coscoAccessItem); + } + /** * 新增供应商准入_准入工作评审项 * diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessSupplierCategoryServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessSupplierCategoryServiceImpl.java index e2cd4a4..ddf5a0d 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessSupplierCategoryServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessSupplierCategoryServiceImpl.java @@ -2,12 +2,22 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.impl; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoDateUtils; +import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoType; +import com.chinaunicom.zyhy.ebtp.supplier.common.MessageType; +import com.chinaunicom.zyhy.ebtp.supplier.common.aop.MessageLog; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoAccessSupplierCategoryMapper; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoSupplierBaseMapper; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplier; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplierCategory; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessWork; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierBase; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.ICoscoAccessSupplierCategoryService; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo.CoscoSupplierAccessWorkVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -21,6 +31,9 @@ import java.util.List; public class CoscoAccessSupplierCategoryServiceImpl implements ICoscoAccessSupplierCategoryService { @Autowired private CoscoAccessSupplierCategoryMapper coscoAccessSupplierCategoryMapper; + @Autowired + private CoscoSupplierBaseMapper coscoSupplierBaseMapper; + /** * 查询供应商准入_供应商已准入品类 @@ -83,4 +96,59 @@ public class CoscoAccessSupplierCategoryServiceImpl implements ICoscoAccessSuppl public int deleteCoscoAccessSupplierCategoryByIds(String[] ids) { return coscoAccessSupplierCategoryMapper.deleteCoscoAccessSupplierCategoryByIds(ids); } + + /** + * 供应商准入零星采购/应急采购处理 + * @return + */ + @Transactional + @MessageLog(messageType = MessageType.MESSAGETYPE_GYSZR) + public CoscoSupplierAccessWorkVo sporadicHandling(CoscoAccessWork coscoAccessWorkData,List supplierList,List categoryIdList) { + + //aop返回对象,消息推送用 + CoscoSupplierAccessWorkVo coscoSupplierAccessWorkVo = new CoscoSupplierAccessWorkVo(); + List supplierMessageList = new ArrayList<>(); + List supplierBaseIdList = new ArrayList<>(); + + Date date = new Date(); + //品类准入新增 + List coscoAccessSupplierCategoryInsertList = new ArrayList<>(); + for(CoscoAccessSupplier supplier : supplierList ){ + for (String categoryId : categoryIdList){ + CoscoAccessSupplierCategory coscoAccessSupplierCategory = new CoscoAccessSupplierCategory(); + coscoAccessSupplierCategory.setId(PropertyUtils.getSnowflakeId()); + coscoAccessSupplierCategory.setAccessWorkId(coscoAccessWorkData.getId()); + coscoAccessSupplierCategory.setSupplierId(supplier.getSupplierId()); + coscoAccessSupplierCategory.setCategoryId(categoryId); + coscoAccessSupplierCategory.setDeptId(coscoAccessWorkData.getDeptId()); + coscoAccessSupplierCategory.setCreateBy(coscoAccessWorkData.getCreateBy()); + coscoAccessSupplierCategory.setUpdateBy(coscoAccessWorkData.getUpdateBy()); + coscoAccessSupplierCategory.setCreateTime(date); + coscoAccessSupplierCategory.setUpdateTime(date); + coscoAccessSupplierCategory.setLastUpdateTime(date); + coscoAccessSupplierCategoryInsertList.add(coscoAccessSupplierCategory); + } + //需要修改供应商id结合 + supplierBaseIdList.add(supplier.getSupplierId()); + + //需要发送消息的供应商集合 + supplierMessageList.add(supplier); + } + //批量新增已准入品类 + coscoAccessSupplierCategoryMapper.batchCoscoAccessSupplierCategory(coscoAccessSupplierCategoryInsertList); + + //批量修改供应商基础信息状态 + CoscoSupplierBase batchUpCoscoSupplierBase = new CoscoSupplierBase(); + batchUpCoscoSupplierBase.setAccessStatus(CoscoType.ACCESS_STATUS_YZR); + batchUpCoscoSupplierBase.setIdList(supplierBaseIdList); + batchUpCoscoSupplierBase.setUpdateTime(date); + coscoSupplierBaseMapper.updateCoscoSupplierBaseByIds(batchUpCoscoSupplierBase); + + //封装消息内容实体 + coscoSupplierAccessWorkVo.setSupplierList(supplierMessageList); + coscoSupplierAccessWorkVo.setApproveStatus(coscoAccessWorkData.getApproveStatus()); + coscoSupplierAccessWorkVo.setDeptId(coscoAccessWorkData.getDeptId()); + return coscoSupplierAccessWorkVo; + } + } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessSupplierServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessSupplierServiceImpl.java index c196106..bff6aba 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessSupplierServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessSupplierServiceImpl.java @@ -1,5 +1,7 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoType; import com.chinaunicom.zyhy.ebtp.supplier.common.MessageType; import com.chinaunicom.zyhy.ebtp.supplier.common.aop.MessageLog; @@ -44,6 +46,17 @@ public class CoscoAccessSupplierServiceImpl implements ICoscoAccessSupplierServi return coscoAccessSupplierMapper.selectCoscoAccessSupplierByAccessWorkId(accessWorkId); } + @Override + public IPage selectCoscoAccessSupplierAndWorkPageList(CoscoAccessSupplier coscoAccessSupplier) { + IPage accessSupplierIPage = new Page<>(coscoAccessSupplier.getPageNo(), coscoAccessSupplier.getPageSize()); + return coscoAccessSupplierMapper.selectCoscoAccessSupplierAndWorkPageList(accessSupplierIPage,coscoAccessSupplier); + } + + @Override + public List selectCoscoAccessSupplierAndWorkExecList(CoscoAccessSupplier coscoAccessSupplier) { + return coscoAccessSupplierMapper.selectCoscoAccessSupplierAndWorkExecList(coscoAccessSupplier); + } + /** * 查询供应商准入_关联供应商列表 * diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessWorkCategoryServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessWorkCategoryServiceImpl.java index 266a554..00821a3 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessWorkCategoryServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessWorkCategoryServiceImpl.java @@ -70,9 +70,6 @@ public class CoscoAccessWorkCategoryServiceImpl implements ICoscoAccessWorkCateg // 创建分页对象(当前页,每页大小) IPage page = new Page<>(data.getPageNo(), data.getPageSize()); data.setApplyType(CoscoType.APPLY_TYPE_PLZR); - - List IdList= coscoAccessWorkMapper.selectPageByIdList(page, data); - data.setIdList(IdList); IPage wqeq = coscoAccessWorkMapper.selectPageList(page, data); return wqeq; } @@ -191,7 +188,7 @@ public class CoscoAccessWorkCategoryServiceImpl implements ICoscoAccessWorkCateg //推送消息用的 CoscoSupplierAccessWorkVo coscoSupplierAccessWorkVo = new CoscoSupplierAccessWorkVo(); - List supplierIdList = new ArrayList<>(); + List supplierAndCateGoryList = new ArrayList<>(); //修改任务主表审批状态--通过或者驳回 CoscoAccessWork coscoAccessWork = new CoscoAccessWork(); @@ -199,74 +196,50 @@ public class CoscoAccessWorkCategoryServiceImpl implements ICoscoAccessWorkCateg coscoAccessWork.setApproveStatus(coscoAccessWorkData.getApproveStatus()); coscoAccessWorkService.updateWork(coscoAccessWork); - //供应商信息 - CoscoAccessSupplier coscoAccessSupplier = new CoscoAccessSupplier(); - coscoAccessSupplier.setAccessWorkId(coscoAccessWorkData.getId()); - List supplierList = coscoAccessSupplierMapper.selectCoscoAccessSupplierList(coscoAccessSupplier); //处理审批逻辑 - approveYandN(coscoAccessWorkData, supplierIdList, supplierList); + approveYandN(coscoAccessWorkData, supplierAndCateGoryList); //封装消息内容实体 - coscoSupplierAccessWorkVo.setSupplierList(supplierIdList); + coscoSupplierAccessWorkVo.setSupplierAndCategoryList(supplierAndCateGoryList); coscoSupplierAccessWorkVo.setApproveStatus(coscoAccessWorkData.getApproveStatus()); coscoSupplierAccessWorkVo.setDeptId(coscoAccessWorkData.getDeptId()); return coscoSupplierAccessWorkVo; } - private void approveYandN(CoscoAccessWork coscoAccessWorkData, List supplierIdList, List supplierList) { + private void approveYandN(CoscoAccessWork coscoAccessWorkData, List supplierAndCateGoryList) { Date date = new Date(); - //根据id查询全部需要准入的品类 + //根据任务id与部门id查询需要准入的品类,并且排除每个供应商已存在该部门下的品类 CoscoAccessCategory coscoAccessCategory = new CoscoAccessCategory(); coscoAccessCategory.setAccessWorkId(coscoAccessWorkData.getId()); - List coscoAccessCategoryList = coscoAccessCategoryMapper.selectCoscoAccessCategoryList(coscoAccessCategory); + coscoAccessCategory.setDeptId(coscoAccessWorkData.getDeptId()); + List coscoAccessCategoryList = coscoAccessCategoryMapper.selectCoscoAccessCategoryByDeptIdList(coscoAccessCategory); //审批通过 if(CoscoType.APPROVE_STATUS_TG.equals(coscoAccessWorkData.getApproveStatus())){ - //把需要准入的品类添加到已准入品类表 - - //查询当前部门下已有的品类 - CoscoAccessSupplierCategory coscoAccessSupplierCategoryDept = new CoscoAccessSupplierCategory(); - coscoAccessSupplierCategoryDept.setDeptId(coscoAccessWorkData.getDeptId()); - List existingList = - coscoAccessSupplierCategoryMapper.selectCoscoAccessSupplierCategoryList(coscoAccessSupplierCategoryDept); - - //重新封装成集合,判断用 - Set existingKeySet = existingList.stream() - .map(e -> e.getSupplierId() + "_" + e.getCategoryId()) - .collect(Collectors.toSet()); - List coscoAccessSupplierCategoryList = new ArrayList<>(); - for(CoscoAccessSupplier accessSupplier : supplierList){ - for (CoscoAccessCategory accessCategory : coscoAccessCategoryList){ - //判断当前品类是否已存在,如果不存在则添加到已准入品类表 - String key = accessSupplier.getSupplierId() + "_" + accessCategory.getCategoryId(); - if (!existingKeySet.contains(key)) { - CoscoAccessSupplierCategory coscoAccessSupplierCategory = new CoscoAccessSupplierCategory(); - coscoAccessSupplierCategory.setAccessWorkId(coscoAccessWorkData.getId()); - coscoAccessSupplierCategory.setSupplierId(accessSupplier.getSupplierId()); - coscoAccessSupplierCategory.setCategoryId(accessCategory.getCategoryId()); - coscoAccessSupplierCategory.setCreateBy(coscoAccessWorkData.getCreateBy()); - coscoAccessSupplierCategory.setUpdateBy(coscoAccessWorkData.getUpdateBy()); - coscoAccessSupplierCategory.setDeptId(coscoAccessWorkData.getDeptId()); - coscoAccessSupplierCategory.setId(PropertyUtils.getSnowflakeId()); - coscoAccessSupplierCategory.setCreateTime(date); - coscoAccessSupplierCategory.setUpdateTime(date); - coscoAccessSupplierCategory.setLastUpdateTime(date); - coscoAccessSupplierCategoryList.add(coscoAccessSupplierCategory); - } - } - accessSupplier.setCoscoAccessCategoryList(coscoAccessCategoryList); - supplierIdList.add(accessSupplier); + for (CoscoAccessCategory accessCategory : coscoAccessCategoryList){ + CoscoAccessSupplierCategory coscoAccessSupplierCategory = new CoscoAccessSupplierCategory(); + coscoAccessSupplierCategory.setAccessWorkId(coscoAccessWorkData.getId()); + coscoAccessSupplierCategory.setSupplierId(accessCategory.getSupplierId()); + coscoAccessSupplierCategory.setCategoryId(accessCategory.getCategoryId()); + coscoAccessSupplierCategory.setCreateBy(coscoAccessWorkData.getCreateBy()); + coscoAccessSupplierCategory.setUpdateBy(coscoAccessWorkData.getUpdateBy()); + coscoAccessSupplierCategory.setDeptId(coscoAccessWorkData.getDeptId()); + coscoAccessSupplierCategory.setId(PropertyUtils.getSnowflakeId()); + coscoAccessSupplierCategory.setCreateTime(date); + coscoAccessSupplierCategory.setUpdateTime(date); + coscoAccessSupplierCategory.setLastUpdateTime(date); + coscoAccessSupplierCategoryList.add(coscoAccessSupplierCategory); + supplierAndCateGoryList.add(accessCategory); } if (!CollectionUtils.isEmpty(coscoAccessSupplierCategoryList)) { coscoAccessSupplierCategoryMapper.batchCoscoAccessSupplierCategory(coscoAccessSupplierCategoryList); } }else{ //审批未通过 - for(CoscoAccessSupplier accessSupplier : supplierList){ - accessSupplier.setCoscoAccessCategoryList(coscoAccessCategoryList); - supplierIdList.add(accessSupplier); + for(CoscoAccessCategory accessCategory : coscoAccessCategoryList){ + supplierAndCateGoryList.add(accessCategory); } } } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessWorkServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessWorkServiceImpl.java index 7020493..7267c0e 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessWorkServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessWorkServiceImpl.java @@ -2,7 +2,6 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoDateUtils; import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoIdUtil; @@ -10,6 +9,7 @@ import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoType; import com.chinaunicom.zyhy.ebtp.supplier.common.MessageType; import com.chinaunicom.zyhy.ebtp.supplier.common.aop.MessageLog; import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.ICoscoCategoryService; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoSupplierBaseMapper; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.*; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.*; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.*; @@ -37,6 +37,9 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService { @Autowired private ICoscoCategoryService coscoCategoryService; + @Autowired + private ICoscoAccessSupplierCategoryService coscoAccessSupplierCategoryService; + @Autowired @@ -145,6 +148,9 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService { CoscoAccessUser coscoAccessUser = new CoscoAccessUser(); coscoAccessUser.setAccessWorkId(id); vo.setCoscoAccessUserls(coscoAccessUserMapper.selectCoscoAccessUserList(coscoAccessUser)); + + //查询附件信息 + vo.setCoscoAccessWorkAttachments(coscoAccessWorkAttachmentsMapper.selectCoscoAccessWorkAttachmentsByWorkId(id)); return vo; } @@ -211,7 +217,12 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService { //供应商准入_准入申请工作主表新增 CoscoAccessWork coscoAccessWork = vo.getCoscoAccessWork(); coscoAccessWork.setId(workId); - + coscoAccessWork.setApplyType(CoscoType.APPLY_TYPE_GYSZR); + coscoAccessWork.setCreateBy("1"); + coscoAccessWork.setCreateTime(date); + coscoAccessWork.setUpdateBy("1"); + coscoAccessWork.setUpdateTime(date); + coscoAccessWork.setLastUpdateTime(date); //供应商准入_准入申请关联品类表新增 addCateGoryId(vo, workId); @@ -237,18 +248,8 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService { if(CoscoType.ACCESS_TYPE_OFFLINE.equals(coscoAccessWork.getAccessType())){ //如果是线下准入、评审状态直接为完成 coscoAccessWork.setReviewStatus(CoscoType.REVIEW_STATUS_YWC); - - //审查附件新增 - CoscoAccessWorkAttachments coscoAccessWorkAttachments = vo.getCoscoAccessWorkAttachments(); - coscoAccessWorkAttachments.setId(PropertyUtils.getSnowflakeId()); - coscoAccessWorkAttachments.setAccessWorkId(workId); - coscoAccessWorkAttachments.setAttachmentsType(CoscoType.ACCESS_TYPE_OFFLINE); - coscoAccessWorkAttachments.setCreateBy("1"); - coscoAccessWorkAttachments.setCreateTime(date); - coscoAccessWorkAttachments.setUpdateBy("1"); - coscoAccessWorkAttachments.setUpdateTime(date); - coscoAccessWorkAttachments.setLastUpdateTime(date); - coscoAccessWorkAttachmentsMapper.insertCoscoAccessWorkAttachments(coscoAccessWorkAttachments); + //新增线下审批需要的附件 + addCoscoAccessWorkAttachments(vo.getCoscoAccessWorkAttachments(),workId,CoscoType.ACCESS_TYPE_OFFLINE); } //如果是零星采购/应急采购,不需要走任何流程直接审核通过 @@ -256,22 +257,38 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService { //如果是零星采购/应急采购、评审状态直接为完成 coscoAccessWork.setReviewStatus(CoscoType.REVIEW_STATUS_YWC); //如果是零星采购/应急采购、审批状态直接为通过 - coscoAccessWork.setApproveStatus(CoscoType.ACCESS_STATUS_TC); - - - + coscoAccessWork.setApproveStatus(CoscoType.ACCESS_STATUS_YZR); + //零星采购,直接把准入品类添加到已准入品类表,并给供应商发送消息 + sporadicHandling(coscoAccessWork,vo.getCategoryIds()); + //新增零星采购需要的附件 + addCoscoAccessWorkAttachments(vo.getCoscoAccessWorkAttachments(),workId,CoscoType.ACCESS_TYPE_SCATTERED); } //保存工作主表 - coscoAccessWork.setApplyType(CoscoType.APPLY_TYPE_GYSZR); - coscoAccessWork.setCreateBy("1"); - coscoAccessWork.setCreateTime(date); - coscoAccessWork.setUpdateBy("1"); - coscoAccessWork.setUpdateTime(date); - coscoAccessWork.setLastUpdateTime(date); return coscoAccessWorkMapper.insertCoscoAccessWork(coscoAccessWork); } + /** + * 线下准入 与 零星采购 新增附件方法 + * @param coscoAccessWorkAttachments 附件实体 + * @param attachmentsType 附件类型 + */ + private void addCoscoAccessWorkAttachments(CoscoAccessWorkAttachments coscoAccessWorkAttachments,String workId,String attachmentsType){ + //附件新增 + if(!ObjectUtils.isEmpty(coscoAccessWorkAttachments)){ + Date date = new Date(); + coscoAccessWorkAttachments.setId(PropertyUtils.getSnowflakeId()); + coscoAccessWorkAttachments.setAccessWorkId(workId); + coscoAccessWorkAttachments.setAttachmentsType(attachmentsType); + coscoAccessWorkAttachments.setCreateBy("1"); + coscoAccessWorkAttachments.setCreateTime(date); + coscoAccessWorkAttachments.setUpdateBy("1"); + coscoAccessWorkAttachments.setUpdateTime(date); + coscoAccessWorkAttachments.setLastUpdateTime(date); + coscoAccessWorkAttachmentsMapper.insertCoscoAccessWorkAttachments(coscoAccessWorkAttachments); + } + } + private void addUserAndItem(CoscoAccessWorkVo vo, String workId, String leaderId) { //评审项集合 List coscoAccessItemList = new ArrayList<>(); @@ -498,6 +515,7 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService { } private void addCoscoAccessUserItemAndUp(CoscoAccessUserItemVo vo) { + //如果附件有值可能是新增,也可能是修改 if (!CollectionUtils.isEmpty(vo.getCoscoAccessUserItemList())) { for(CoscoAccessUserItem coscoAccessUserItem : vo.getCoscoAccessUserItemList()){ //修改评审项关联评审人员表 @@ -512,6 +530,8 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService { }else{ coscoAccessItemAttachmentsService.insertCoscoAccessItemAttachments(coscoAccessTtemAttachments); } + }else{ + coscoAccessItemAttachmentsService.deleteCoscoAccessItemAttachmentsByAccessUserItemId(coscoAccessUserItem.getId()); } } } @@ -581,7 +601,7 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService { } /** - * 接受审批返回值 + * 供应商准入接受审批返回值处理 * @return */ @Override @@ -679,4 +699,21 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService { return coscoSupplierAccessWorkVo; } + + + /** + * 供应商准入零星采购/应急采购处理 + * @return + */ + public void sporadicHandling(CoscoAccessWork coscoAccessWorkData,List categoryIdList) { + + //通过工作主体任务id查询供应商信息--因为需要给供应商发送准入申请通过的消息 + CoscoAccessSupplier coscoAccessSupplier = new CoscoAccessSupplier(); + coscoAccessSupplier.setAccessWorkId(coscoAccessWorkData.getId()); + List supplierList = coscoAccessSupplierMapper.selectCoscoAccessSupplierList(coscoAccessSupplier); + //调用准入品类直接添加到已准入表方法 + coscoAccessSupplierCategoryService.sporadicHandling(coscoAccessWorkData,supplierList,categoryIdList); + } + + } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierBaseServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierBaseServiceImpl.java index 1ddd423..3f13d7d 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierBaseServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierBaseServiceImpl.java @@ -2,19 +2,20 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; -import com.alibaba.nacos.common.utils.StringUtils; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoDateUtils; import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoIdUtil; import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoType; import com.chinaunicom.zyhy.ebtp.supplier.common.MessageType; import com.chinaunicom.zyhy.ebtp.supplier.common.aop.MessageLog; -import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.dao.CoscoCategoryMapper; -import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.entity.CoscoCategory; import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.ICoscoCategoryService; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoSupplierBaseMapper; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.*; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.*; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.*; @@ -35,7 +36,7 @@ import java.util.*; * @date 2025-06-16 */ @Service -public class CoscoSupplierBaseServiceImpl implements ICoscoSupplierBaseService { +public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl implements ICoscoSupplierBaseService { @Autowired private CoscoSupplierBaseMapper coscoSupplierBaseMapper; @Autowired @@ -43,10 +44,6 @@ public class CoscoSupplierBaseServiceImpl implements ICoscoSupplierBaseService { - @Autowired - private CoscoAccessSupplierMapper coscoAccessSupplierMapper; - - @Autowired private CoscoSupplierInvoiceMapper coscoSupplierInvoiceMapper; @@ -101,14 +98,13 @@ public class CoscoSupplierBaseServiceImpl implements ICoscoSupplierBaseService { */ @Override public IPage selectWzrPageList(CoscoSupplierBase coscoSupplierBase) { + IPage page = new Page<>(coscoSupplierBase.getPageNo(), coscoSupplierBase.getPageSize()); //查询当前登录人的部门本级、上级、下级,所有已发起和已准入供应商id List deptIds = new ArrayList<>(); - deptIds.add("DEPT001"); - List supplierBaseList = coscoAccessSupplierMapper.selectSupplierIdByDeptIdList(deptIds); - coscoSupplierBase.setSupplierBaseList(supplierBaseList); + deptIds.add("100"); + coscoSupplierBase.setDeptIdList(deptIds); //查询当前登录人的部门本级、上级、下级,以外的供应商数据 - IPage page = new Page<>(coscoSupplierBase.getPageNo(), coscoSupplierBase.getPageSize()); - return coscoSupplierBaseMapper.selectWzrPageList(page, coscoSupplierBase); + return coscoSupplierBaseMapper.selectWzrPageList(page,coscoSupplierBase); } @Override @@ -222,6 +218,8 @@ public class CoscoSupplierBaseServiceImpl implements ICoscoSupplierBaseService { coscoSupplierQualifications.setLastUpdateTime(date); coscoSupplierQualificationsList.add(coscoSupplierQualifications); } + //资质信息保存 + coscoSupplierQualificationsMapper.batchCoscoSupplierQualifications(coscoSupplierQualificationsList); } //发票信息保存 if (!ObjectUtils.isEmpty(vo.getCoscoSupplierInvoice())) { @@ -247,6 +245,8 @@ public class CoscoSupplierBaseServiceImpl implements ICoscoSupplierBaseService { coscoSupplierBank.setLastUpdateTime(date); coscoSupplierBankList.add(coscoSupplierBank); } + //银行账户保存 + coscoSupplierBankMapper.batchCoscoSupplierBank(coscoSupplierBankList); } if (!ObjectUtils.isEmpty(vo.getCoscoSupplierSurvey())) { //填写人信息 @@ -273,6 +273,8 @@ public class CoscoSupplierBaseServiceImpl implements ICoscoSupplierBaseService { coscoSupplierSurveyQuestionReply.setLastUpdateTime(date); coscoSupplierSurveyQuestionReplieList.add(coscoSupplierSurveyQuestionReply); } + //问题回复保存 + coscoSupplierSurveyQuestionReplyMapper.batchCoscoSupplierSurveyQuestionReply(coscoSupplierSurveyQuestionReplieList); } //承诺书/其他附件添加到集合 if (!CollectionUtils.isEmpty(vo.getCoscoSupplierSurveyAttachments())) { @@ -286,16 +288,10 @@ public class CoscoSupplierBaseServiceImpl implements ICoscoSupplierBaseService { coscoSupplierSurveyAttachments.setLastUpdateTime(date); coscoSupplierSurveyAttachmentsList.add(coscoSupplierSurveyAttachments); } + //承诺书、其他附件保存 + coscoSupplierSurveyAttachmentsMapper.batchCoscoSupplierSurveyAttachments(coscoSupplierSurveyAttachmentsList); } - //资质信息保存 - coscoSupplierQualificationsMapper.batchCoscoSupplierQualifications(coscoSupplierQualificationsList); - //银行账户保存 - coscoSupplierBankMapper.batchCoscoSupplierBank(coscoSupplierBankList); - //问题回复保存 - coscoSupplierSurveyQuestionReplyMapper.batchCoscoSupplierSurveyQuestionReply(coscoSupplierSurveyQuestionReplieList); - //承诺书、其他附件保存 - coscoSupplierSurveyAttachmentsMapper.batchCoscoSupplierSurveyAttachments(coscoSupplierSurveyAttachmentsList); //基本信息新增 CoscoSupplierBase coscoSupplierBase = vo.getCoscoSupplierBase(); diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierexitServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierexitServiceImpl.java index 867088b..96d9267 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierexitServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierexitServiceImpl.java @@ -3,10 +3,10 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; -import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoDateUtils; import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoType; import com.chinaunicom.zyhy.ebtp.supplier.common.MessageType; import com.chinaunicom.zyhy.ebtp.supplier.common.aop.MessageLog; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoSupplierBaseMapper; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.*; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.*; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.ICoscoSupplierexitService; @@ -15,7 +15,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import org.springframework.util.ObjectUtils; import java.util.*; import java.util.stream.Collectors; @@ -59,9 +58,9 @@ public class CoscoSupplierexitServiceImpl implements ICoscoSupplierexitService { */ @Override public IPage getSupplierCategoryPage(CoscoAccessSupplierCategory data) { - //获取当前登录人的所有部门,查询这个人所有部门下的已经通过与审批中的退出数据 + //获取当前登录人的所有部门,查询这个人所有部门下的审批中的退出数据 ---因为审批通过的会在因准入品类表中删除所有不需要查审批通过的 List deptIds = new ArrayList<>(); - deptIds.add("DEPT001"); + deptIds.add("100"); List categoryList = coscoAccessSupplierCategoryMapper.selectCategoryByDeptIdList(deptIds); //查询所有部门的没通过与审批中的数据 diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/vo/CoscoSupplierAccessWorkVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/vo/CoscoSupplierAccessWorkVo.java index 7dd66f8..d925a82 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/vo/CoscoSupplierAccessWorkVo.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/vo/CoscoSupplierAccessWorkVo.java @@ -1,5 +1,6 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessCategory; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplier; import lombok.Data; @@ -13,6 +14,13 @@ public class CoscoSupplierAccessWorkVo { */ List supplierList; + + /** + * 供应商品类准入品类id与供应商id集合 + */ + List supplierAndCategoryList; + + /** * 审批状态 */ diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessCategoryMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessCategoryMapper.xml index 0a1450f..1185ae2 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessCategoryMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessCategoryMapper.xml @@ -21,6 +21,24 @@ + + + + diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessSupplierMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessSupplierMapper.xml index 858e9f5..99912fc 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessSupplierMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessSupplierMapper.xml @@ -9,6 +9,26 @@ + + + + + + + + + + + + + + + + + @@ -20,9 +40,45 @@ a.dept_id FROM cosco_access_supplier a - LEFT JOIN cosco_supplier_base s ON a.supplier_id = s.id + LEFT JOIN cosco_supplier_base s ON a.supplier_id = s.id and s.del_flag = 'normal' + + SELECT + a.id, + CASE + WHEN s.supplier_type = 'ovs' THEN + name_en ELSE name END AS supplierName, + CASE s.supplier_type + WHEN 'dvs' THEN '境内企业' + WHEN 'ovs' THEN '境外企业' + WHEN 'pe' THEN '个人' + END AS supplier_type_cn, + a.access_work_id, + a.supplier_id, + a.dept_id, + caw.access_type, + CASE + WHEN caw.access_type = 'online' THEN '线上准入' + WHEN caw.access_type = 'offline' THEN '线下准入' + WHEN caw.access_type = 'scattered' THEN '零星采购/应急采购/个人供应商' + ELSE caw.access_type + END AS accessTypeText, + YEAR(caw.update_time) AS updateYear + FROM + cosco_access_supplier a + LEFT JOIN cosco_supplier_base s ON a.supplier_id = s.id and s.del_flag = 'normal' + left join cosco_access_work caw on caw.id = a.access_work_id and caw.del_flag = 'normal' + + + + - - - + + + and a.dept_id in + + #{item} - ) + + and a.access_status = #{vo.accessStatus} + + + and s.name = #{vo.supplierName} or s.name_en = #{vo.supplierName} + + + and caw.access_type = #{vo.accessType} + + + and caw.update_time >= #{vo.startTime} + + + and caw.update_time < #{vo.endTime} + + + order by a.id desc + + + + diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessUserItemMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessUserItemMapper.xml index b032e77..0c2c44b 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessUserItemMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessUserItemMapper.xml @@ -45,6 +45,7 @@ SELECT i.item_name AS itemName, + i.item_type as itemType, ui.review_by, ui.id, ui.access_work_id, diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessWorkAttachmentsMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessWorkAttachmentsMapper.xml index f2377fe..f884ed0 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessWorkAttachmentsMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessWorkAttachmentsMapper.xml @@ -62,6 +62,14 @@ where id = #{id} + + + + insert into cosco_access_work_attachments diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessWorkMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessWorkMapper.xml index f862111..7cfe89d 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessWorkMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessWorkMapper.xml @@ -10,6 +10,7 @@ + @@ -21,19 +22,32 @@ + + + + + + + + SELECT - DISTINCT w.id, w.access_work_name, w.dept_id, + w.access_type, CASE WHEN w.access_type = 'online' THEN '线上准入' WHEN w.access_type = 'offline' THEN '线下准入' + WHEN w.access_type = 'scattered' THEN '零星采购/应急采购/个人供应商' ELSE w.access_type END AS access_type_text, + w.access_desc, w.start_time, w.end_time, CASE @@ -58,20 +72,21 @@ w.last_update_time FROM cosco_access_work w - left join cosco_access_category c on w.id = c.access_work_id - select c.categoryName, + select IFNULL(cau.is_leader, 0) AS isLeader, w.id, w.access_work_name, w.dept_id, + w.access_type, CASE WHEN w.access_type = 'online' THEN '线上准入' WHEN w.access_type = 'offline' THEN '线下准入' + WHEN w.access_type = 'scattered' THEN '零星采购/应急采购/个人供应商' ELSE w.access_type END AS access_type_text, w.start_time, @@ -99,75 +114,26 @@ w.last_update_time FROM cosco_access_work w - left join ( - SELECT - cac.access_work_id, - GROUP_CONCAT(cc.category_name SEPARATOR ', ') AS categoryName - FROM cosco_access_category cac - INNER JOIN cosco_category cc ON cac.category_id = cc.id - GROUP BY cac.access_work_id - ) as c on c.access_work_id = w.id - left join cosco_access_user cau on w.id = cau.access_work_id and cau.is_leader = 1 + left join cosco_access_user cau on w.id = cau.access_work_id and cau.is_leader = 1 + left join cosco_access_category cac on cac.access_work_id = w.id and cau.user_id = #{vo.userId} - - + select a.category_name as categoryName from cosco_access_category c + left join cosco_category a on c.category_id = a.id and a.del_flag = 'normal' + where c.access_work_id = #{accessWorkId} - - @@ -253,7 +218,7 @@ and w.del_flag = 'normal' - and c.category_id = #{vo.categoryId} + and cac.category_id = #{vo.categoryId} and w.access_work_name like concat('%', #{vo.accessWorkName}, '%') @@ -289,7 +254,6 @@ and w.last_update_time = #{vo.lastUpdateTime} - order by w.create_time desc @@ -308,6 +272,7 @@ dept_id, apply_type, access_type, + access_desc, start_time, end_time, review_status, @@ -326,6 +291,7 @@ #{deptId}, #{applyType}, #{accessType}, + #{accessDesc}, #{startTime}, #{endTime}, #{reviewStatus}, @@ -341,10 +307,10 @@ insert into cosco_access_work - ( id, access_work_name, dept_id, apply_type, access_type, start_time, end_time, review_status, approve_status, work_flow_id, del_flag, create_by, create_time, update_by, update_time, last_update_time) + ( id, access_work_name, dept_id, apply_type, access_type, access_desc, start_time, end_time, review_status, approve_status, work_flow_id, del_flag, create_by, create_time, update_by, update_time, last_update_time) values - ( #{item.id}, #{item.accessWorkName}, #{item.deptId}, #{item.applyType}, #{item.accessType}, #{item.startTime}, #{item.endTime}, #{item.reviewStatus}, #{item.approveStatus}, #{item.workFlowId}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.lastUpdateTime}) + ( #{item.id}, #{item.accessWorkName}, #{item.deptId}, #{item.applyType}, #{item.accessType}, #{item.accessDesc}, #{item.startTime}, #{item.endTime}, #{item.reviewStatus}, #{item.approveStatus}, #{item.workFlowId}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.lastUpdateTime}) @@ -362,6 +328,9 @@ access_type = #{accessType}, + access_desc = + #{accessDesc}, + start_time = #{startTime}, diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoSupplierBaseMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoSupplierBaseMapper.xml index 14f80dd..4cb8112 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoSupplierBaseMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoSupplierBaseMapper.xml @@ -51,6 +51,9 @@ + + + @@ -64,6 +67,12 @@ WHEN 'pe' THEN '个人' ELSE supplier_type END AS supplier_type_cn, + CASE + WHEN supplier_type = 'dvs' THEN social_credit_code + WHEN supplier_type = 'ovs' THEN vat + WHEN supplier_type = 'pe' THEN id_card + ELSE NULL + END AS unified_code, licence_accessory, licence_date, enterprise_type, @@ -139,6 +148,12 @@ WHEN 'ovs' THEN '境外企业' WHEN 'pe' THEN '个人' END AS supplier_type_cn, + CASE + WHEN supplier_type = 'dvs' THEN social_credit_code + WHEN supplier_type = 'ovs' THEN vat + WHEN supplier_type = 'pe' THEN id_card + ELSE NULL + END AS unified_code, csb.enterprise_type, dp.dic_name as enterprise_type_cn, cas.id, @@ -167,121 +182,49 @@ left join dict_project dp on csb.enterprise_type = dp.`code` and dp.parent_code = 'enterprise_type' - + + SELECT + csb.id, + CASE + WHEN csb.supplier_type = 'dvs' THEN social_credit_code + WHEN csb.supplier_type = 'ovs' THEN vat + WHEN csb.supplier_type = 'pe' THEN id_card + ELSE NULL + END AS unified_code, + CASE + WHEN csb.supplier_type = 'ovs' THEN name_en + ELSE name + END AS name + FROM + cosco_supplier_base csb + left join ( + SELECT + cas.supplier_id + FROM + cosco_access_work caw + LEFT JOIN cosco_access_supplier cas ON caw.id = cas.access_work_id + WHERE + ( + caw.approve_status IS NULL + OR caw.approve_status = 0 + OR ( caw.approve_status = 1 AND cas.access_status = 1 )) + AND cas.dept_id in + + #{item} + + ) b on csb.id = b.supplier_id + @@ -296,6 +239,12 @@ and supplier_type = #{vo.supplierType} + + AND supplier_type IN + + #{item} + + and licence_accessory = #{vo.licenceAccessory} @@ -541,111 +490,117 @@ and del_flag = 'normal' - - and dept_id = #{vo.deptId} - - - and supplier_type = #{supplierType} - - - and licence_accessory = #{licenceAccessory} - - - and licence_date = #{licenceDate} - - - and enterprise_type = #{enterpriseType} - - - and name like concat('%', #{name}, '%') - - - and name_en = #{nameEn} - - - and social_credit_code = #{socialCreditCode} - - - and `range` = #{range} - - - and reg_address = #{regAddress} - - - and work_address = #{workAddress} - - - and parent_company_investor = #{parentCompanyInvestor} - - - and legal_person = #{legalPerson} - - - and id_card = #{idCard} - - - and capital = #{capital} - - - and contacts_name like concat('%', #{contactsName}, '%') - - - and contacts_phone = #{contactsPhone} - - - and contacts_type = #{contactsType} - - - and contacts_email = #{contactsEmail} - - - and telephone = #{telephone} - - - and nation = #{nation} - - - and vat = #{vat} - - - and taxpayer_id = #{taxpayerId} - - - and currency = #{currency} - - - and person_name like concat('%', #{personName}, '%') - - - and person_phone = #{personPhone} - - - and person_bank = #{personBank} - - - and person_account = #{personAccount} - - - and access_status = #{accessStatus} - - - and blacklist_status = #{blacklistStatus} - - - and greylist_status = #{greylistStatus} - - - and fillin_status = #{fillinStatus} - - - and fillin_by = #{fillinBy} - - - and sap_code = #{sapCode} - - - and last_update_time = #{lastUpdateTime} - + + and dept_id = #{vo.deptId} + + + AND supplier_type IN + + #{item} + + + + and supplier_type = #{supplierType} + + + and licence_accessory = #{licenceAccessory} + + + and licence_date = #{licenceDate} + + + and enterprise_type = #{enterpriseType} + + + and name like concat('%', #{name}, '%') + + + and name_en = #{nameEn} + + + and social_credit_code = #{socialCreditCode} + + + and `range` = #{range} + + + and reg_address = #{regAddress} + + + and work_address = #{workAddress} + + + and parent_company_investor = #{parentCompanyInvestor} + + + and legal_person = #{legalPerson} + + + and id_card = #{idCard} + + + and capital = #{capital} + + + and contacts_name like concat('%', #{contactsName}, '%') + + + and contacts_phone = #{contactsPhone} + + + and contacts_type = #{contactsType} + + + and contacts_email = #{contactsEmail} + + + and telephone = #{telephone} + + + and nation = #{nation} + + + and vat = #{vat} + + + and taxpayer_id = #{taxpayerId} + + + and currency = #{currency} + + + and person_name like concat('%', #{personName}, '%') + + + and person_phone = #{personPhone} + + + and person_bank = #{personBank} + + + and person_account = #{personAccount} + + + and access_status = #{accessStatus} + + + and blacklist_status = #{blacklistStatus} + + + and greylist_status = #{greylistStatus} + + + and fillin_status = #{fillinStatus} + + + and fillin_by = #{fillinBy} + + + and sap_code = #{sapCode} + + + and last_update_time = #{lastUpdateTime} +