diff --git a/src/main/java/com/glxp/api/controller/purchase/SupCompanyController.java b/src/main/java/com/glxp/api/controller/purchase/SupCompanyController.java new file mode 100644 index 0000000..b775351 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/purchase/SupCompanyController.java @@ -0,0 +1,391 @@ +package com.glxp.api.controller.purchase; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.extra.pinyin.PinyinUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.annotation.Log; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.BusinessType; +import com.glxp.api.constant.ConstantStatus; +import com.glxp.api.entity.auth.AuthAdmin; +import com.glxp.api.entity.auth.CustomerInfoEntity; +import com.glxp.api.entity.basic.BasicCorpEntity; +import com.glxp.api.entity.purchase.CustomerContactEntity; +import com.glxp.api.entity.purchase.SupCertEntity; +import com.glxp.api.entity.purchase.SupCertSetEntity; +import com.glxp.api.entity.purchase.SupCompanyEntity; +import com.glxp.api.exception.JsonException; +import com.glxp.api.req.purchase.FilterCertSetsRequest; +import com.glxp.api.req.purchase.FilterSupCertRequest; +import com.glxp.api.req.purchase.FilterSupCompanyRequest; +import com.glxp.api.req.purchase.SelectCorpBindRequest; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.service.auth.AuthAdminService; +import com.glxp.api.service.auth.CustomerInfoService; +import com.glxp.api.service.basic.BasicCorpService; +import com.glxp.api.service.purchase.CustomerContactService; +import com.glxp.api.service.purchase.SupCertService; +import com.glxp.api.service.purchase.SupCertSetService; +import com.glxp.api.service.purchase.SupCompanyService; +import com.glxp.api.util.CustomUtil; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.Date; +import java.util.List; +import java.util.ListIterator; + +@RestController +public class SupCompanyController { + + @Value("${file_path}") + private String filePath; + + @Resource + private AuthAdminService authAdminService; + @Resource + private SupCompanyService companyService; + @Resource + private CustomerContactService customerContactService; + @Resource + private SupCertService supCertService; + @Resource + BasicCorpService basicCorpService; + @Resource + SupCertSetService supCertSetService; + @Resource + SupCompanyService supCompanyService; + @Resource + CustomerInfoService customerInfoService; +// @Resource +// AuthRoleAdminService authRoleAdminService; + + + @AuthRuleAnnotation("") + @GetMapping("/api/pur/getSupComapnys") + public BaseResponse getSupComapnys(FilterSupCompanyRequest companyRequest) { + List companyEntities = companyService.filterCompany(companyRequest); + PageInfo pageInfo = new PageInfo<>(companyEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(companyEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + +// +// @AuthRuleAnnotation("") +// @PostMapping("/api/pur/addCompany") +// @Log(title = "资质证书", businessType = BusinessType.INSERT) +// public BaseResponse insertCompany(@RequestBody SupCompanyEntity companyEntity) { +// +// +// //判断是不是存在草稿 +// if (companyEntity.getAuditStatus() == 6) { +// List supCertEntityList = supCertService.findAll(companyEntity.getCustomerId()); +// for (SupCertEntity obj : supCertEntityList) { +// if (obj.getAuditStatus() == 0) { +// return ResultVOUtils.error(999, "证书中存在草稿不允许提交!"); +// } +// } +// +// //提交审核 +// FilterCertSetsRequest filterCertSetsRequest = new FilterCertSetsRequest(); +// filterCertSetsRequest.setType(ConstantStatus.CERT_COMPANY); +// filterCertSetsRequest.setNeed(1); +// List supCertSetEntities = supCertSetService.filterCertSets(filterCertSetsRequest); +// +// //验证 +// ListIterator iterable = supCertSetEntities.listIterator(); +// while (iterable.hasNext()) { +// SupCertSetEntity supCertSetEntity = iterable.next(); +// if (supCertSetEntity.isNeed()) { +// for (SupCertEntity supCertEntity : supCertEntityList) { +// if (supCertEntity.getName().equals(supCertSetEntity.getName())) { +// if (StrUtil.isNotEmpty(supCertEntity.getFilePath())) { +// iterable.remove(); +// break; +// } +// } +// } +// } +// +// } +// String errMsg = ""; +// if (supCertSetEntities.size() > 0) { +// for (SupCertSetEntity supCertSetEntity : supCertSetEntities) { +// errMsg = errMsg + "," + supCertSetEntity.getName(); +// } +// return ResultVOUtils.error(500, errMsg.substring(1) + "等证书未上传,无法提交审核!"); +// } +// +// +// } +// +// String customerId = CustomUtil.getId(); //重新生成customerId +// CustomerContactEntity customerContactEntity = new CustomerContactEntity(); +// customerContactEntity.setTel(companyEntity.getTel()); +// customerContactEntity.setMobile(companyEntity.getMobile()); +// customerContactEntity.setEmail(companyEntity.getEmail()); +// customerContactEntity.setContacts(companyEntity.getContacts()); +// customerContactEntity.setCustomerId(customerId); +// customerContactService.insertCustomerContact(customerContactEntity); +// //更新相关证书对应的customerId +// supCertService.updateCustomerId(companyEntity.getCustomerId(), customerId, ConstantStatus.AUDIT_UN); +// companyEntity.setCustomerId(customerId); +// +// companyEntity.setCreateTime(new Date()); +// companyEntity.setUpdateTime(new Date()); +// AuthAdmin authAdmin = getUser(); +// companyEntity.setCreateBy(authAdmin.getId() + ""); +// boolean b = companyService.insertCompany(companyEntity); +// return ResultVOUtils.success("修改成功"); +// } +// +// +// @AuthRuleAnnotation("") +// @PostMapping("/api/pur/modifyCompany") +// @Log(title = "资质证书", businessType = BusinessType.UPDATE) +// public BaseResponse modifyCompany(@RequestBody SupCompanyEntity companyEntity) { +// if (companyEntity.getAuditStatus() == ConstantStatus.AUDIT_UN || companyEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE) { +// +// //判断是不是存在草稿 +// List supCertEntityList = supCertService.findAll(companyEntity.getCustomerId()); +// for (SupCertEntity obj : supCertEntityList) { +// if (obj.getAuditStatus() == 0) { +// return ResultVOUtils.error(999, "证书中存在草稿不允许提交!"); +// } +// } +// +// //提交审核 +// FilterCertSetsRequest filterCertSetsRequest = new FilterCertSetsRequest(); +// filterCertSetsRequest.setType(ConstantStatus.CERT_COMPANY); +// filterCertSetsRequest.setNeed(1); +// List supCertSetEntities = supCertSetService.filterCertSets(filterCertSetsRequest); +// +// //验证 +// ListIterator iterable = supCertSetEntities.listIterator(); +// while (iterable.hasNext()) { +// SupCertSetEntity supCertSetEntity = iterable.next(); +// if (supCertSetEntity.isNeed()) { +// for (SupCertEntity supCertEntity : supCertEntityList) { +// if (supCertEntity.getName().equals(supCertSetEntity.getName())) { +// if (StrUtil.isNotEmpty(supCertEntity.getFilePath())) { +// iterable.remove(); +// break; +// } +// } +// } +// } +// +// } +// String errMsg = ""; +// if (supCertSetEntities.size() > 0) { +// for (SupCertSetEntity supCertSetEntity : supCertSetEntities) { +// errMsg = errMsg + "," + supCertSetEntity.getName(); +// } +// return ResultVOUtils.error(500, errMsg.substring(1) + "等证书未上传,无法提交审核!"); +// } +// } +// +// +// companyEntity.setUpdateTime(new Date()); +// boolean b = companyService.modifyCompany(companyEntity); +// CustomerContactEntity customerContactEntity = new CustomerContactEntity(); +// customerContactEntity.setTel(companyEntity.getTel()); +// customerContactEntity.setMobile(companyEntity.getMobile()); +// customerContactEntity.setEmail(companyEntity.getEmail()); +// customerContactEntity.setContacts(companyEntity.getContacts()); +// customerContactEntity.setCustomerId(companyEntity.getCustomerId()); +// customerContactService.updateCustomerContact(customerContactEntity); +// return ResultVOUtils.success("修改成功"); +// } +// +// +// @AuthRuleAnnotation("") +// @PostMapping("/api/pur/auditCompany") +// @Log(title = "资质证书", businessType = BusinessType.UPDATE) +// public BaseResponse auditCompany(@RequestBody SupCompanyEntity companyEntity) { +// +// +// if (companyEntity.getAuditStatus() == 1) { +// //查询用户上传的证书 +// FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); +// filterSupCertRequest.setCustomerId(companyEntity.getCustomerId()); +// filterSupCertRequest.setType(ConstantStatus.CERT_COMPANY); +// List supCertEntityList = supCertService.filterCompanyCert(filterSupCertRequest); +// +// //查询用户该上传的证书 +// FilterCertSetsRequest filterCertSetsRequest = new FilterCertSetsRequest(); +// filterCertSetsRequest.setType(ConstantStatus.CERT_COMPANY); +// filterCertSetsRequest.setNeed(1); +// List supCertSetEntities = supCertSetService.filterCertSets(filterCertSetsRequest); +// +// //验证 +// ListIterator iterable1 = supCertSetEntities.listIterator(); +// while (iterable1.hasNext()) { +// SupCertSetEntity supCertSetEntity = iterable1.next(); +// if (supCertSetEntity.isNeed()) { +// for (SupCertEntity supCertEntity : supCertEntityList) { +// if (supCertEntity.getName().equals(supCertSetEntity.getName())) { +// if (StrUtil.isNotEmpty(supCertEntity.getFilePath())) { +// iterable1.remove(); +// break; +// } +// } +// } +// } +// +// } +// String errMsg = ""; +// if (supCertSetEntities.size() > 0) { +// return ResultVOUtils.error(500, "必传证书不齐全!"); +// } +// } +// String msg = ""; +// //查询是否包含审核未通过的证书 +// if (companyEntity.getAuditStatus() == ConstantStatus.AUDIT_PASS +// || companyEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE_PASS) { +// FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); +// filterSupCertRequest.setAuditStatus(24); +// filterSupCertRequest.setCustomerId(companyEntity.getCustomerId()); +// filterSupCertRequest.setType(ConstantStatus.CERT_COMPANY); +// List supCertEntityList = supCertService.filterCompanyCert(filterSupCertRequest); +// if (CollUtil.isNotEmpty(supCertEntityList)) { +// for (SupCertEntity supCertEntity : supCertEntityList) { +// msg += supCertEntity.getName() + ","; +// } +// return ResultVOUtils.error(500, "审核失败,还有必须提交证书未确认(" + msg.substring(0, msg.length() - 1) + ")"); +// } +// } +// +// //修改用户角色 +// if (companyEntity.getRoleId() != null) { +// CustomerInfoEntity customerInfoEntity = customerInfoService.findByCustomerId(companyEntity.getCustomerId()); +// customerInfoEntity.setCustomerId(Long.valueOf(companyEntity.getCustomerId())); +// customerInfoEntity.setRoleId(companyEntity.getRoleId()); +// customerInfoEntity.setCompanyName(companyEntity.getCompanyName()); +// customerInfoEntity.setCustomerName(companyEntity.getCompanyName()); +// customerInfoService.updateCustomerInfo(customerInfoEntity); +// //获取该供应商下面的用户 +// List authAdmin = authAdminService.findByCustomerld(companyEntity.getCustomerId()); +// for (AuthAdmin obj : authAdmin) { +// AuthRoleAdmin authRoleAdmin = new AuthRoleAdmin(); +// authRoleAdmin.setUser_id(obj.getId()); +// authRoleAdmin.setRole_id(Long.valueOf(companyEntity.getRoleId())); +// authRoleAdminService.updateAuthRoleAdmin(authRoleAdmin); +// } +// } +// +// +// AuthAdmin authAdmin = getUser(); +// companyEntity.setAuditor(authAdmin.getId() + ""); +// companyEntity.setAuditTime(new Date()); +// companyEntity.setUpdateTime(new Date()); +// if (companyEntity.getAuditComment() == null) { +// companyEntity.setAuditComment(""); +// } +// boolean b = companyService.modifyCompany(companyEntity); +// CustomerContactEntity customerContactEntity = new CustomerContactEntity(); +// customerContactEntity.setTel(companyEntity.getTel()); +// customerContactEntity.setMobile(companyEntity.getMobile()); +// customerContactEntity.setEmail(companyEntity.getEmail()); +// customerContactEntity.setContacts(companyEntity.getContacts()); +// customerContactEntity.setCustomerId(companyEntity.getCustomerId()); +// customerContactService.updateCustomerContact(customerContactEntity); +// +// BasicCorpEntity basicCorpEntity = new BasicCorpEntity(); +// basicCorpEntity.setErpId(companyEntity.getCustomerId()); +// basicCorpEntity.setName(companyEntity.getCompanyName()); +// basicCorpEntity.setSpell(PinyinUtil.getFirstLetter(companyEntity.getCompanyName(), "")); +// basicCorpEntity.setAddr(companyEntity.getArea() + companyEntity.getDetailAddr()); +// basicCorpEntity.setCreditNo(companyEntity.getCreditNum()); +// basicCorpEntity.setContact(companyEntity.getContacts()); +// basicCorpEntity.setMobile(companyEntity.getMobile()); +// basicCorpEntity.setCorpType(ConstantStatus.CORP_SP); +// basicCorpEntity.setUpdateTime(new Date()); +// if (!basicCorpDao.exists(new QueryWrapper().eq("erpId", companyEntity.getCustomerId()))) { +// basicCorpEntity.setId(IdUtil.getSnowflakeNextId()); +// basicCorpService.insert(basicCorpEntity); +// }else { +// } +// +// +// return ResultVOUtils.success("修改成功"); +// } +// +// @Resource +// BasicCorpDao basicCorpDao; +// +// @AuthRuleAnnotation("") +// @PostMapping("/sup/company/selectBind") +// public BaseResponse selectBind(@RequestBody SelectCorpBindRequest selectCorpBindRequest) { +// +// BasicCorpEntity basicCorpEntity = basicCorpService.selectByErpId(selectCorpBindRequest.getCustomerId()); +// SupCompanyEntity supCompanyEntity = new SupCompanyEntity(); +// supCompanyEntity.setCustomerId(basicCorpEntity.getErpId()); +// supCompanyEntity.setCompanyName(basicCorpEntity.getName()); +// supCompanyEntity.setCreditNum(basicCorpEntity.getCreditNo()); +// supCompanyEntity.setContacts(basicCorpEntity.getContact()); +// supCompanyEntity.setTel(basicCorpEntity.getMobile()); +// +// return ResultVOUtils.success(supCompanyEntity); +// } +// +// +// @AuthRuleAnnotation("") +// @PostMapping("api/pur/supCompany/delete") +// @Log(title = "资质证书", businessType = BusinessType.DELETE) +// public BaseResponse deleteSupCompany(@RequestBody DeleteRequest deleteRequest) { +// boolean b = supCompanyService.deleteCompany(deleteRequest.getId()); +// if (b) +// return ResultVOUtils.success("删除成功"); +// else { +// return ResultVOUtils.error(500, "删除失败"); +// } +// } +// +// @AuthRuleAnnotation("") +// @GetMapping("api/pur/supCompany/getRoId") +// public BaseResponse getRoId(String companyId) { +// CustomerInfoEntity customerInfoEntity = customerInfoService.selectById(companyId); +// +// return ResultVOUtils.success(customerInfoEntity); +// } +// +// +// public String getCustomerId() { +// ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); +// if (attributes == null) { +// throw new JsonException(ResultEnum.NOT_NETWORK); +// } +// HttpServletRequest request = attributes.getRequest(); +// String userId = request.getHeader("ADMIN_ID"); +// AuthAdmin authAdmin = authAdminService.findById(Long.parseLong(userId)); +// return authAdmin.getCustomerId() + ""; +// } +// +// public AuthAdmin getUser() { +// ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); +// if (attributes == null) { +// throw new JsonException(ResultEnum.NOT_NETWORK); +// } +// HttpServletRequest request = attributes.getRequest(); +// String userId = request.getHeader("ADMIN_ID"); +// AuthAdmin authAdmin = authAdminService.findById(Long.parseLong(userId)); +// return authAdmin; +// } +} diff --git a/src/main/java/com/glxp/api/entity/auth/CustomerDetailEntity.java b/src/main/java/com/glxp/api/entity/auth/CustomerDetailEntity.java new file mode 100644 index 0000000..cafcc2b --- /dev/null +++ b/src/main/java/com/glxp/api/entity/auth/CustomerDetailEntity.java @@ -0,0 +1,31 @@ +package com.glxp.api.entity.auth; + +import lombok.Data; + +@Data +public class CustomerDetailEntity { + + private String customerId; + private String customerName; + private String creditNum; + private String area; + private String detailAddr; + private Integer bussinessStatus; + private Integer userFlag; + private int isInfoLink; + private String infoLink; + private String roleId; + private int userMax; + private String contacts; + private String mobile; + private String tel; + private String email; + private String companyName; + + private String role; + private String count; + + private String pdfTemplateId; + + private String filePath; +} diff --git a/src/main/java/com/glxp/api/entity/auth/CustomerInfoEntity.java b/src/main/java/com/glxp/api/entity/auth/CustomerInfoEntity.java new file mode 100644 index 0000000..d524338 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/auth/CustomerInfoEntity.java @@ -0,0 +1,22 @@ +package com.glxp.api.entity.auth; + +import lombok.Data; + +@Data +public class CustomerInfoEntity { + private Long customerId; + private String customerName; + private String creditNum; + private String area; + private String detailAddr; + private Integer bussinessStatus; + private Integer userFlag; + private Integer isInfoLink; + private String infoLink; + private String roleId; + private String comments; + private int userMax; + private String companyName; + + +} diff --git a/src/main/java/com/glxp/api/entity/purchase/SupCompanyEntity.java b/src/main/java/com/glxp/api/entity/purchase/SupCompanyEntity.java index 4690a56..82e6298 100644 --- a/src/main/java/com/glxp/api/entity/purchase/SupCompanyEntity.java +++ b/src/main/java/com/glxp/api/entity/purchase/SupCompanyEntity.java @@ -310,6 +310,8 @@ public class SupCompanyEntity { private String productFailCout; @TableField(exist = false) private String prouctPassCout; + @TableField(exist = false) + private String roleId; } diff --git a/src/main/java/com/glxp/api/service/auth/CustomerInfoService.java b/src/main/java/com/glxp/api/service/auth/CustomerInfoService.java new file mode 100644 index 0000000..7cee1a4 --- /dev/null +++ b/src/main/java/com/glxp/api/service/auth/CustomerInfoService.java @@ -0,0 +1,37 @@ +package com.glxp.api.service.auth; + + + +import com.glxp.api.entity.auth.CustomerDetailEntity; +import com.glxp.api.entity.auth.CustomerInfoEntity; + +import java.util.List; + +public interface CustomerInfoService { +// +// List filterCustomerInfo(CustomerInfoFilterRequest customerInfoFilterRequest); +// +// List filterDetailCustomer(CustomerInfoFilterRequest customerInfoFilterRequest); + + boolean insertCustomerInfo(CustomerInfoEntity customerInfoEntity); + + boolean updateCustomerInfo(CustomerInfoEntity customerInfoEntity); + + boolean modifyCustomerInfo(CustomerDetailEntity customerDetailEntity); + + boolean deleteById(String id); + + CustomerInfoEntity selectById(String customerId); + + boolean isExitRoleId(String roleId); + + CustomerDetailEntity selectDetail(String customerId); + + /** + * 根据客户ID查询客户信息 + * + * @param customerId + * @return + */ + CustomerInfoEntity findByCustomerId(String customerId); +} diff --git a/src/main/java/com/glxp/api/service/basic/BasicCorpService.java b/src/main/java/com/glxp/api/service/basic/BasicCorpService.java new file mode 100644 index 0000000..3649be0 --- /dev/null +++ b/src/main/java/com/glxp/api/service/basic/BasicCorpService.java @@ -0,0 +1,51 @@ +package com.glxp.api.service.basic; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.glxp.api.entity.basic.BasicCorpEntity; +import com.glxp.api.req.basic.BasicUnitMaintainFilterRequest; + + +import java.util.List; + +public interface BasicCorpService extends IService { + + List filterList(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest); + + boolean insertBasicUnitMaintain(BasicCorpEntity basicCorpEntity); + + boolean updateById(BasicCorpEntity basicCorpEntity); + + boolean insert(BasicCorpEntity basicUnitMaintainEntity); + +// boolean updateById(BasicUnitMaintainSaveRequest basicUnitMaintainSaveRequest); + + boolean deleteById(String id); + + BasicCorpEntity selectByThirdId(String thirdId, String thirdSys); + + BasicCorpEntity selectById(String id); + + BasicCorpEntity selectByErpId(String id); + + BasicCorpEntity selectByName(String name); + + boolean isExit(); + + +// boolean insertThrUnitMaintainignore(ThrUnitMaintainResponse thrUnitMaintainResponse); + + List batchSelectByIds(List id); + + List batchSelectByErpIds(List erpIds); + + List batchSelectByErpIdsAndName(List erpIds, String name); + + /** + * 验证数据是否重复 + * + * @param basicCorpEntity + * @return + */ + boolean verifyExists(BasicCorpEntity basicCorpEntity); +}