diff --git a/src/main/java/com/glxp/api/controller/purchase/SupCertController.java b/src/main/java/com/glxp/api/controller/purchase/SupCertController.java new file mode 100644 index 000000000..e23129e02 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/purchase/SupCertController.java @@ -0,0 +1,463 @@ +package com.glxp.api.controller.purchase; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.AuthRuleAnnotation; +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.ConstantStatus; +import com.glxp.api.entity.auth.AuthAdmin; +import com.glxp.api.entity.purchase.*; +import com.glxp.api.entity.system.SystemPDFModuleEntity; +import com.glxp.api.entity.system.SystemPDFTemplateEntity; +import com.glxp.api.exception.JsonException; +import com.glxp.api.req.inout.InspectionPDFTemplateRequest; +import com.glxp.api.req.inout.SystemPDFModuleRequest; +import com.glxp.api.req.purchase.*; +import com.glxp.api.req.system.DeleteCompanyFileRequest; +import com.glxp.api.req.system.FilterPdfModuleRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.purchase.SupProductResponse; +import com.glxp.api.service.auth.AuthAdminService; +import com.glxp.api.service.purchase.SupCertService; +import com.glxp.api.service.purchase.SupCompanyService; +import com.glxp.api.service.purchase.SupManufacturerService; +import com.glxp.api.service.purchase.SupProductService; +import com.glxp.api.service.system.SystemPDFModuleService; +import com.glxp.api.service.system.SystemPDFTemplateService; +import com.glxp.api.util.JasperUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.validation.BindingResult; +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 javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +@RestController +public class SupCertController { + @Resource + private AuthAdminService authAdminService; + @Resource + private SupCertService supCertService; + + @Value("${file_path}") + private String filePath; + + @Resource + private SystemPDFTemplateService systemPDFTemplateService; + @Resource + private SystemPDFModuleService systemPDFModuleService; + + + @AuthRuleAnnotation("") + @GetMapping("/sup/company/cert/filter") + public BaseResponse filterCompanyCert(FilterSupCertRequest filterSupCertRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List supCertEntityList + = supCertService.filterCompanyCert(filterSupCertRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(supCertEntityList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(supCertEntityList); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @AuthRuleAnnotation("") + @PostMapping("/sup/info/selectAllCert") + public BaseResponse selectAllCert(@RequestBody PostSelCertRequest postSelCertRequest) { + String customerId = null; + if (StrUtil.isEmpty(postSelCertRequest.getCustomerId())) + customerId = getCustomerId(); + else { + customerId = postSelCertRequest.getCustomerId(); + } + if (CollUtil.isEmpty(postSelCertRequest.getSupCertSetEntities())) { + return ResultVOUtils.error(500, "请选入资质证书!"); + } + if (postSelCertRequest.getCertType() == null) { + return ResultVOUtils.error(500, "参数错误!"); + } + for (SupCertSetEntity supCertSetEntity : postSelCertRequest.getSupCertSetEntities()) { + SupCertEntity supCertEntity = new SupCertEntity(); + supCertEntity.setName(supCertSetEntity.getName()); + supCertEntity.setManufacturerIdFk(postSelCertRequest.getManufacturerIdFk()); + supCertEntity.setProductIdFk(postSelCertRequest.getProductIdFk()); + supCertEntity.setCustomerId(customerId); + supCertEntity.setType(postSelCertRequest.getCertType()); + supCertEntity.setCreateTime(new Date()); + supCertEntity.setStatus(supCertSetEntity.isNeed()==true ? 0:1); + supCertEntity.setAuditStatus(ConstantStatus.AUDIT_DRAFT); + supCertEntity.setUpdateTime(new Date()); + boolean b = supCertService.insertCompanyCert(supCertEntity); + } + return ResultVOUtils.success("成功"); + } + + + @AuthRuleAnnotation("") + @GetMapping("/sale/info/getCompanyCert") + public BaseResponse getCompanyCert(FilterSupCertRequest filterSupCertRequest) { + filterSupCertRequest.setCustomerId(getCustomerId()); + List companyCertEntities = supCertService.getCompanyCert(filterSupCertRequest); + PageInfo pageInfo = new PageInfo<>(companyCertEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(companyCertEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @PostMapping("/sup/info/insertCompanyCert") + public BaseResponse insertCompanyCert(@RequestBody SupCertEntity supCertEntity) { + supCertEntity.setCreateTime(new Date()); + supCertEntity.setUpdateTime(new Date()); + boolean b = supCertService.insertCompanyCert(supCertEntity); + return ResultVOUtils.success("成功"); + } + + + @AuthRuleAnnotation("") + @PostMapping("/sale/sup/cert/audit") + public BaseResponse auditSupCert(@RequestBody SupCertEntity supCertEntity) { + supCertEntity.setCreateTime(new Date()); + supCertEntity.setUpdateTime(new Date()); + boolean b = supCertService.updateCompanyCert(supCertEntity); + return ResultVOUtils.success("成功"); + } + + @Resource + SupCompanyService supCompanyService; + @Resource + SupManufacturerService supManufacturerService; + @Resource + SupProductService supProductService; + + @AuthRuleAnnotation("") + @PostMapping("/sup/info/updateCompanyCert") + public BaseResponse updateCompanyCert(@RequestBody PostSupCertRequest postSupCertRequest) { + SupCertEntity supCertEntity = new SupCertEntity(); + BeanUtils.copyProperties(postSupCertRequest, supCertEntity); + if (postSupCertRequest.getRepeatUpload() == 1) { + //已审核的重新提交 + //1.修改对应的资质信息进入变更审核状态, + if (postSupCertRequest.getType() == ConstantStatus.CERT_COMPANY) { + SupCompanyEntity supCompanyEntity = supCompanyService.findCompany(supCertEntity.getCustomerId()); + supCompanyEntity.setAuditStatus(ConstantStatus.AUDIT_CHANGE); + supCompanyEntity.setUpdateTime(new Date()); + supCompanyService.modifyCompany(supCompanyEntity); + } else if (postSupCertRequest.getType() == ConstantStatus.CERT_MANUFACTURER) { + SupManufacturerEntity supManufacturerEntity = supManufacturerService.findManufacturer(supCertEntity.getManufacturerIdFk()); + supManufacturerEntity.setAuditStatus(ConstantStatus.AUDIT_CHANGE); + supManufacturerEntity.setUpdateTime(new Date()); + supManufacturerService.modifyCompany(supManufacturerEntity); + } else if (postSupCertRequest.getType() == ConstantStatus.CERT_PRODUCT) { + SupProductResponse supProductResponse = supProductService.findByProductId(supCertEntity.getProductIdFk()); + SupProductEntity supProductEntity = new SupProductEntity(); + supProductEntity.setId(supProductResponse.getId()); + supProductEntity.setUpdateTime(new Date()); + supProductEntity.setAuditStatus(ConstantStatus.AUDIT_CHANGE); + supProductService.modifyRegistration(supProductEntity); + } + + } + boolean b = supCertService.updateCompanyCert(supCertEntity); + return ResultVOUtils.success("修改成功"); + } + + @AuthRuleAnnotation("") + @PostMapping("/sup/info/deleteCompanyCert") + public BaseResponse deleteCompanyCert(@RequestBody DeleteCompanyFileRequest deleteCompanyFileRequest, BindingResult bindingResult) { + boolean b = supCertService.deleteById(deleteCompanyFileRequest.getId()); + String URL = filePath + "/register/file/image2/" + deleteCompanyFileRequest.getFilePath(); + File file = new File(URL); + if (file.exists() && file.isFile()) { + file.delete(); + } + return ResultVOUtils.success("成功"); + } + + 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() + ""; + } + + /** + * 校验模板文件 + * + * @param inspectionPDFTemplateRequest + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/sup/info/verifyTemplateFile") + public BaseResponse verifyTemplateFile(@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) { + if (null == inspectionPDFTemplateRequest) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!"); + } + //查询模板文件是否存在 + FilterPdfModuleRequest filterPdfModuleRequest = new FilterPdfModuleRequest(); + filterPdfModuleRequest.setId(inspectionPDFTemplateRequest.getModuleId()); + SystemPDFModuleEntity systemPDFModule = systemPDFModuleService.findSystemPDFModule(filterPdfModuleRequest); + if (null == systemPDFModule) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); + } + + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(systemPDFModule.getTemplateId())); + if (null == systemPDFTemplateEntity) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); + } + return ResultVOUtils.success(systemPDFModule.getTemplateId()); + } + + /** + * 打印模板单号标签 + * + * @param purPlanPrintRequest + * @param request + * @param response + * @throws Exception + */ + @AuthRuleAnnotation("") + @PostMapping("/sup/info/printOrder") + public void printOrder(@RequestBody purPlanPrintRequest purPlanPrintRequest, HttpServletRequest request, HttpServletResponse response) throws Exception { + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(purPlanPrintRequest.getTemplateId()); + //打印单号标签 + Map data = new HashMap<>(1); + List list = new ArrayList<>(); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式 + + + //查询配送企业信息 + SupCompanyEntity supCompanyEntity = supCompanyService.findCompany(purPlanPrintRequest.getCustomerId()); + //查询详情 + List selectSupCertList = supCertService.selectSupCertList(purPlanPrintRequest); + int i = 1; + if (selectSupCertList != null && selectSupCertList.size() > 0) { + for (SupCertEntity obj : selectSupCertList) { + //组装数据 + Map supData = new HashMap<>(); + supData.put("companyName", supCompanyEntity.getCompanyName() == null ? ' ' : supCompanyEntity.getCompanyName()); + supData.put("creditNum", supCompanyEntity.getCreditNum() == null ? ' ' : supCompanyEntity.getCreditNum()); + supData.put("classes", supCompanyEntity.getClasses().equals(1) ? "医院" : "经营企业"); + supData.put("area", supCompanyEntity.getArea() == null ? ' ' : supCompanyEntity.getArea()); + supData.put("contacts", supCompanyEntity.getContacts() == null ? ' ' : supCompanyEntity.getContacts()); + supData.put("detailAddr", supCompanyEntity.getDetailAddr() == null ? ' ' : supCompanyEntity.getDetailAddr()); + supData.put("mobile", supCompanyEntity.getMobile() == null ? ' ' : supCompanyEntity.getMobile()); + supData.put("email", supCompanyEntity.getEmail() == null ? ' ' : supCompanyEntity.getEmail()); + supData.put("index", String.valueOf(i)); + supData.put("name", obj.getName() == null ? ' ' : obj.getName()); + supData.put("code", obj.getCode() == null ? ' ' : obj.getCode()); + supData.put("vaiDate", formatter.format(obj.getVailDate())); + supData.put("expireDate", formatter.format(obj.getExpireDate())); + supData.put("status", obj.getStatus() == 0 ? "有效" : "失效"); + supData.put("auditStatus", getAuditStatus(obj.getAuditStatus())); + supData.put("remark", obj.getRemark() == null ? ' ' : obj.getRemark()); + supData.put("filePath", "d:/1s/udiwms/register/file/image2/" + obj.getFilePath()); + list.add(supData); + i++; + } + } + + String param = JSON.toJSONString(list); + JasperUtils.jasperReport(request, response, param, systemPDFTemplateEntity.getPath(), "pdf"); + } + + /** + * 获取详情ids + * + * @param filterSupCertRequest + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/sup/info/filterCompanyCertIdList") + public BaseResponse filterCompanyCertIdList(@RequestBody FilterSupCertRequest filterSupCertRequest) { + + if (StrUtil.isNotEmpty(filterSupCertRequest.getCustomerId()) && filterSupCertRequest.getType() != null) { + List supCertEntityList = supCertService.filterCompanyCert(filterSupCertRequest); + List idsList = supCertEntityList.stream().map(SupCertEntity::getId).distinct().collect(Collectors.toList()); + return ResultVOUtils.success(idsList); + } + return ResultVOUtils.error(999, "参数错误"); + } + + + public String getAuditStatus(int type) { + + if (type == 0) { + return "草稿"; + } else if (type == 1) { + return "审核通过"; + } else if (type == 2) { + return "审核不通过"; + } else if (type == 3) { + return "申请变更"; + } else if (type == 4) { + return "申请变更通过"; + } else if (type == 5) { + return "申请变更不通过"; + } else if (type == 6) { + return "已提交未审核"; + } + return ""; + } + + public String getRegisterStatus(String type) { + + if (type.equals("1")) { + return "续存(在营,开业,在册)"; + } else if (type.equals("2")) { + return "吊销"; + } else if (type.equals("3")) { + return "注销"; + } else if (type.equals("4")) { + return "迁出"; + } + return ""; + } + + + /** + * 打印生产企业模板单号标签 + * + * @param purPlanPrintRequest + * @param request + * @param response + * @throws Exception + */ + @AuthRuleAnnotation("") + @PostMapping("/sup/info/printSupCertManufacturer") + public void printSupCertManufacturer(@RequestBody purPlanPrintRequest purPlanPrintRequest, HttpServletRequest request, HttpServletResponse response) throws Exception { + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(purPlanPrintRequest.getTemplateId()); + //打印单号标签 + Map data = new HashMap<>(1); + List list = new ArrayList<>(); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式 + + + FilterSupManufacturerRequest filterSupManufacturerRequest = new FilterSupManufacturerRequest(); + filterSupManufacturerRequest.setId(purPlanPrintRequest.getId()); + //查询生产企业信息 + List supManufacturerEntityList = supManufacturerService.getCompanyByNameAndCode(filterSupManufacturerRequest); + SupManufacturerEntity supManufacturerEntity = supManufacturerEntityList.get(0); + //查询详情 + List selectSupCertList = supCertService.selectSupCertList(purPlanPrintRequest); + int i = 1; + if (selectSupCertList != null && selectSupCertList.size() > 0) { + for (SupCertEntity obj : selectSupCertList) { + //组装数据 + Map supData = new HashMap<>(); + supData.put("customerName", supManufacturerEntity.getSupName() == null ? ' ' : supManufacturerEntity.getSupName()); + supData.put("companyName", supManufacturerEntity.getCompanyName() == null ? ' ' : supManufacturerEntity.getCompanyName()); + supData.put("companyType", supManufacturerEntity.getCompanyType().equals(1) ? "境内企业" : "境外企业"); + supData.put("creditCode", supManufacturerEntity.getCreditCode() == null ? ' ' : supManufacturerEntity.getCreditCode()); + supData.put("placeArea", supManufacturerEntity.getPlaceArea() == null ? ' ' : supManufacturerEntity.getPlaceArea()); + supData.put("productionArea", supManufacturerEntity.getProductionArea() == null ? ' ' : supManufacturerEntity.getProductionArea()); + supData.put("registerStatus", getRegisterStatus(supManufacturerEntity.getRegisterStatus())); + supData.put("placeAddress", supManufacturerEntity.getPlaceAddress() == null ? ' ' : supManufacturerEntity.getPlaceAddress()); + supData.put("productionAddress", supManufacturerEntity.getProductionAddress() == null ? ' ' : supManufacturerEntity.getProductionAddress()); + supData.put("remark1", supManufacturerEntity.getRemark() == null ? ' ' : supManufacturerEntity.getRemark()); + supData.put("index", String.valueOf(i)); + supData.put("name", obj.getName() == null ? ' ' : obj.getName()); + supData.put("code", obj.getCode() == null ? ' ' : obj.getCode()); + supData.put("vaiDate", formatter.format(obj.getVailDate())); + supData.put("expireDate", formatter.format(obj.getExpireDate())); + supData.put("status", obj.getStatus() == 0 ? "有效" : "失效"); + supData.put("auditStatus", getAuditStatus(obj.getAuditStatus())); + supData.put("remark2", obj.getRemark() == null ? ' ' : obj.getRemark()); + supData.put("filePath", "d:/1s/udiwms/register/file/image2/" + obj.getFilePath()); + list.add(supData); + i++; + } + } + + String param = JSON.toJSONString(list); + JasperUtils.jasperReport(request, response, param, systemPDFTemplateEntity.getPath(), "pdf"); + } + + /** + * 打印生产企业模板单号标签 + * + * @param purPlanPrintRequest + * @param request + * @param response + * @throws Exception + */ + @AuthRuleAnnotation("") + @PostMapping("/sup/info/printSupCertProduction") + public void printSupCertProduction(@RequestBody purPlanPrintRequest purPlanPrintRequest, HttpServletRequest request, HttpServletResponse response) throws Exception { + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(purPlanPrintRequest.getTemplateId()); + //打印单号标签 + Map data = new HashMap<>(1); + List list = new ArrayList<>(); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式 + + //查询配送产品信息 + SupProductEntity supProductEntity = supProductService.findRegistration(purPlanPrintRequest.getId()); + //查询生产企业信息 + FilterSupManufacturerRequest filterSupManufacturerRequest = new FilterSupManufacturerRequest(); + filterSupManufacturerRequest.setManufacturerId(supProductEntity.getManufacturerIdFk()); + List supManufacturerEntityList = supManufacturerService.getCompanyByNameAndCode(filterSupManufacturerRequest); + SupManufacturerEntity supManufacturerEntity = supManufacturerEntityList.get(0); + + //查询详情 + List selectSupCertList = supCertService.selectSupCertList(purPlanPrintRequest); + int i = 1; + if (selectSupCertList != null && selectSupCertList.size() > 0) { + for (SupCertEntity obj : selectSupCertList) { + //组装数据 + Map supData = new HashMap<>(); + supData.put("customerName", supManufacturerEntity.getSupName() == null ? ' ' : supManufacturerEntity.getSupName()); + supData.put("manufacturerldFk", supManufacturerEntity.getCompanyName() == null ? ' ' : supManufacturerEntity.getCompanyName()); + supData.put("recordProductName", supProductEntity.getRecordProductName() == null ? ' ' : supProductEntity.getRecordProductName()); + supData.put("recordCode", supProductEntity.getRecordCode() == null ? ' ' : supProductEntity.getRecordCode()); + supData.put("recordPeopleName", supProductEntity.getRecordPeopleName() == null ? ' ' : supProductEntity.getRecordPeopleName()); + supData.put("hchzsb", supProductEntity.getHchzsb() == null ? ' ' : supProductEntity.getHchzsb()); + supData.put("productType", supProductEntity.getProductType() == null ? ' ' : supProductEntity.getProductType()); + supData.put("productDirectoryCode", supProductEntity.getProductDirectoryCode() == null ? ' ' : supProductEntity.getProductDirectoryCode()); + supData.put("specification", supProductEntity.getSpecification() == null ? ' ' : supProductEntity.getSpecification()); + supData.put("cpms", supProductEntity.getCpms() == null ? ' ' : supProductEntity.getCpms()); + supData.put("remark1", supProductEntity.getRemark() == null ? ' ' : supProductEntity.getRemark()); + + supData.put("index", String.valueOf(i)); + supData.put("name", obj.getName() == null ? ' ' : obj.getName()); + supData.put("code", obj.getCode() == null ? ' ' : obj.getCode()); + supData.put("vaiDate", formatter.format(obj.getVailDate())); + supData.put("expireDate", formatter.format(obj.getExpireDate())); + supData.put("status", obj.getStatus() == 0 ? "有效" : "失效"); + supData.put("auditStatus", getAuditStatus(obj.getAuditStatus())); + supData.put("remark2", obj.getRemark() == null ? ' ' : obj.getRemark()); + supData.put("filePath", "d:/1s/udiwms/register/file/image2/" + obj.getFilePath()); + list.add(supData); + i++; + } + } + + String param = JSON.toJSONString(list); + JasperUtils.jasperReport(request, response, param, systemPDFTemplateEntity.getPath(), "pdf"); + } + +} diff --git a/src/main/java/com/glxp/api/controller/purchase/SupCertSetController.java b/src/main/java/com/glxp/api/controller/purchase/SupCertSetController.java new file mode 100644 index 000000000..2bd17b0c7 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/purchase/SupCertSetController.java @@ -0,0 +1,103 @@ +package com.glxp.api.controller.purchase; + +import cn.hutool.core.collection.CollUtil; +import com.github.pagehelper.PageInfo; + +import com.glxp.api.annotation.AuthRuleAnnotation; +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.entity.purchase.SupCertSetEntity; +import com.glxp.api.req.purchase.FilterCertSetsRequest; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.service.purchase.SupCertSetService; +import org.springframework.validation.BindingResult; +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 javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +@RestController +public class SupCertSetController { + + @Resource + private SupCertSetService supCertSetService; + + + @AuthRuleAnnotation("") + @GetMapping("/sup/cert/set/filter") + public BaseResponse filterCertSet(FilterCertSetsRequest filterCertSetsRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + List supCertEntityList + = supCertSetService.filterCertSets(filterCertSetsRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(supCertEntityList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(supCertEntityList); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @AuthRuleAnnotation("") + @PostMapping("/sup/cert/set/add") + public BaseResponse addCertSet(@RequestBody SupCertSetEntity supCertSetEntity) { + if (supCertSetEntity == null) { + supCertSetEntity = new SupCertSetEntity(); + } + //判断名字存在就返回 + FilterCertSetsRequest filterCertSetsRequest=new FilterCertSetsRequest(); + filterCertSetsRequest.setType(supCertSetEntity.getType()); + filterCertSetsRequest.setName(supCertSetEntity.getName()); + List supCertEntityList = supCertSetService.filterCertSets(filterCertSetsRequest); + if(supCertEntityList.size()>0){ + return ResultVOUtils.error(999,"该证书名称已存在!"); + } + supCertSetEntity.setUpdateTime(new Date()); + if(supCertSetEntity.getType()==3){ + if(supCertSetEntity.getFlbmList().size()>0){ + String flbm = String.join(",", supCertSetEntity.getFlbmList()); + supCertSetEntity.setFlbm(flbm); + } + } + boolean b = supCertSetService.insertCertSet(supCertSetEntity); + return ResultVOUtils.success("添加成功!"); + } + + + @AuthRuleAnnotation("") + @PostMapping("/sup/cert/set/update") + public BaseResponse updateCertSet(@RequestBody SupCertSetEntity supCertSetEntity) { + if (CollUtil.isNotEmpty(supCertSetEntity.getFlbmList())) { + String flbm = supCertSetEntity.getFlbmList().stream().collect(Collectors.joining(",")); + supCertSetEntity.setFlbm(flbm); + } + //判断名字存在就返回 + FilterCertSetsRequest filterCertSetsRequest=new FilterCertSetsRequest(); + filterCertSetsRequest.setType(supCertSetEntity.getType()); + filterCertSetsRequest.setName(supCertSetEntity.getName()); + List supCertEntityList = supCertSetService.filterCertSets(filterCertSetsRequest); + + boolean b = supCertSetService.updateCertSet(supCertSetEntity); + return ResultVOUtils.success("修改成功"); + } + + + @AuthRuleAnnotation("") + @PostMapping("/sup/cert/set/delete") + public BaseResponse deleteCertSet(@RequestBody DeleteRequest deleteRequest) { + + boolean b = supCertSetService.deleteById(deleteRequest.getId()); + return ResultVOUtils.success("删除成功!"); + } +} 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 000000000..35d788fd1 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/purchase/SupCompanyController.java @@ -0,0 +1,341 @@ +package com.glxp.api.controller.purchase; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.extra.pinyin.PinyinUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.AuthRuleAnnotation; +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.ConstantStatus; +import com.glxp.api.entity.auth.AuthAdmin; +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.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; + + + @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") + 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") + 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") + 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, "必传证书不齐全!"); + } + } + + //查询是否包含审核未通过的证书 + 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) { + supCertEntity.setAuditStatus(ConstantStatus.AUDIT_PASS); + supCertService.updateCompanyCert(supCertEntity); + } +// return ResultVOUtils.error(500, "审核失败,剩余" + supCertEntityList.size() + "个证书还未审核或审核未通过!"); + } + } + + + AuthAdmin authAdmin = getUser(); + companyEntity.setAuditor(authAdmin.getId() + ""); + companyEntity.setAuditTime(new Date()); + 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); + + 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()); + basicCorpService.insertBasicUnitMaintain(basicCorpEntity); + + return ResultVOUtils.success("修改成功"); + } + + + @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") + public BaseResponse deleteSupCompany(@RequestBody DeleteRequest deleteRequest) { + boolean b = supCompanyService.deleteCompany(deleteRequest.getId()); + if (b) + return ResultVOUtils.success("删除成功"); + else { + return ResultVOUtils.error(500, "删除失败"); + } + } + + + 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/controller/purchase/SupManufacturerController.java b/src/main/java/com/glxp/api/controller/purchase/SupManufacturerController.java new file mode 100644 index 000000000..66d66fc1f --- /dev/null +++ b/src/main/java/com/glxp/api/controller/purchase/SupManufacturerController.java @@ -0,0 +1,405 @@ +package com.glxp.api.controller.purchase; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.AuthRuleAnnotation; +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.ConstantStatus; +import com.glxp.api.entity.auth.AuthAdmin; +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.entity.purchase.SupManufacturerEntity; +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.FilterSupManufacturerRequest; +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.purchase.SupCertService; +import com.glxp.api.service.purchase.SupCertSetService; +import com.glxp.api.service.purchase.SupCompanyService; +import com.glxp.api.service.purchase.SupManufacturerService; +import com.glxp.api.service.system.CompanyService; +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 SupManufacturerController { + + + @Resource + private AuthAdminService authAdminService; + @Resource + private SupManufacturerService supManufacturerService; + @Resource + private SupCertService supCertService; + @Resource + private SupCompanyService supCompanyService; + @Resource + SupCertSetService supCertSetService; + @Resource + private CompanyService companyService; + + @AuthRuleAnnotation("") + @GetMapping("/sup/manufacturer/getCompanyInfo") + public BaseResponse getCompanyInfo(FilterSupManufacturerRequest filterSupManufacturerRequest) { + SupManufacturerEntity supManufacturerEntity = supManufacturerService.findCompany(filterSupManufacturerRequest.getId()); + if (supManufacturerEntity != null) { + return ResultVOUtils.success(supManufacturerEntity); + } + return ResultVOUtils.error(500, "企业信息为空"); + } + + @AuthRuleAnnotation("") + @GetMapping("/sup/manufacturer/getCompanyList") + public BaseResponse getCompanyList(FilterSupManufacturerRequest filterSupManufacturerRequest) { + List companyEntities = supManufacturerService.getCompany(filterSupManufacturerRequest); + PageInfo pageInfo = new PageInfo<>(companyEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(companyEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @GetMapping("/sup/manufacturer/getCompanyBySup") + public BaseResponse getCompanyBySup(FilterSupManufacturerRequest filterSupManufacturerRequest) { +// filterSupManufacturerRequest.setCustomerId(getCustomerId()); + List companyEntities = supManufacturerService.getCompany(filterSupManufacturerRequest); + PageInfo pageInfo = new PageInfo<>(companyEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(companyEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @AuthRuleAnnotation("") + @PostMapping("/sup/manufacturer/addCompany") + public BaseResponse addCompany(@RequestBody SupManufacturerEntity supManufacturerEntity) { + + //判断用户名和社会信用代码不能重复 + FilterSupManufacturerRequest filterSupManufacturerRequest=new FilterSupManufacturerRequest(); + filterSupManufacturerRequest.setCompanyName(supManufacturerEntity.getCompanyName()); + filterSupManufacturerRequest.setCustomerId(getCustomerId()); + List companyEntities = supManufacturerService.getCompanyByNameAndCode(filterSupManufacturerRequest); + if(companyEntities.size()>0){ + return ResultVOUtils.error(999,"企业名称不能重复!"); + } + filterSupManufacturerRequest=new FilterSupManufacturerRequest(); + filterSupManufacturerRequest.setCustomerId(getCustomerId()); + filterSupManufacturerRequest.setCreditCode(supManufacturerEntity.getCreditCode()); + companyEntities = supManufacturerService.getCompanyByNameAndCode(filterSupManufacturerRequest); + if(companyEntities.size()>0){ + return ResultVOUtils.error(999,"统一社会信用代码不能重复!"); + } + //提交审核 + if (supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE || supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_UN) { + //判断是否上级供应商是否审核通过 + SupCompanyEntity supCompanyEntity = supCompanyService.findCompany(supManufacturerEntity.getCustomerId()); + if (supCompanyEntity.getAuditStatus() == ConstantStatus.AUDIT_UN + || supCompanyEntity.getAuditStatus() == ConstantStatus.AUDIT_DRAFT) { + return ResultVOUtils.error(500, "所属配送企业资质未通过审核,暂时无法提交!"); + } + + //验证证书是否齐全 + FilterCertSetsRequest filterCertSetsRequest = new FilterCertSetsRequest(); + filterCertSetsRequest.setType(ConstantStatus.CERT_MANUFACTURER); + filterCertSetsRequest.setNeed(0); + List supCertSetEntities = supCertSetService.filterCertSets(filterCertSetsRequest); + List supCertEntityList = supCertService.findAll(supManufacturerEntity.getCustomerId(), supManufacturerEntity.getManufacturerId()); + //判断存在有草稿的未提交的就不能通过 + for(SupCertEntity obj:supCertEntityList){ + if (obj.getAuditStatus() == 0.) { + return ResultVOUtils.error(999,"资质证书存在草稿不能提交!"); + } + } + ListIterator iterable = supCertSetEntities.listIterator(); + while (iterable.hasNext()) { + SupCertSetEntity supCertSetEntity = iterable.next(); + + if (( supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 2 + && StrUtil.trimToEmpty(supManufacturerEntity.getCompanyType()).equals("2")) + || + ( + supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 1 + && StrUtil.trimToEmpty(supManufacturerEntity.getCompanyType()).equals("2")) + || + ( supCertSetEntity.getForeign() != null + && supCertSetEntity.getForeign() == 1 + && supManufacturerEntity.getCompanyType().equals("1")) + || + ( supCertSetEntity.getForeign() != null + && supCertSetEntity.getForeign() == 3 + && supManufacturerEntity.getCompanyType().equals("1"))) { + for (SupCertEntity supCertEntity : supCertEntityList) { + + if (supCertEntity.getName().equals(supCertSetEntity.getName())) { + if (StrUtil.isNotEmpty(supCertEntity.getFilePath())) { + iterable.remove(); + break; + } + } + } + } else { + iterable.remove(); + } + + + } + String errMsg = ""; + if (supCertSetEntities.size() > 0) { + for (SupCertSetEntity supCertSetEntity : supCertSetEntities) { + errMsg = errMsg + "," + supCertSetEntity.getName(); + } + return ResultVOUtils.error(500, errMsg.substring(1) + "等证书未上传,无法提交审核!"); + } + + + } + + supManufacturerEntity.setCreateTime(new Date()); + supManufacturerEntity.setUpdateTime(new Date()); + + boolean b = supManufacturerService.insertCompany(supManufacturerEntity); + if (b) { + return ResultVOUtils.success("添加成功"); + } else { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + } + + @AuthRuleAnnotation("") + @PostMapping("/sup/manufacturer/modifyCompany") + public BaseResponse modifyCompany(@RequestBody SupManufacturerEntity supManufacturerEntity) { + + if (StrUtil.isEmpty(supManufacturerEntity.getManufacturerId()) || StrUtil.isEmpty(supManufacturerEntity.getCustomerId())) { + return ResultVOUtils.error(500, "参数错误!"); + } + + //判断用户名和社会信用代码不能重复 + FilterSupManufacturerRequest filterSupManufacturerRequest=new FilterSupManufacturerRequest(); + filterSupManufacturerRequest.setCompanyName(supManufacturerEntity.getCompanyName()); + filterSupManufacturerRequest.setCustomerId(getCustomerId()); + List companyEntities = supManufacturerService.getCompanyByNameAndCode(filterSupManufacturerRequest); + if(companyEntities.size()>0){ + return ResultVOUtils.error(999,"企业名称不能重复!"); + } + filterSupManufacturerRequest=new FilterSupManufacturerRequest(); + filterSupManufacturerRequest.setCustomerId(getCustomerId()); + filterSupManufacturerRequest.setCreditCode(supManufacturerEntity.getCreditCode()); + companyEntities = supManufacturerService.getCompanyByNameAndCode(filterSupManufacturerRequest); + if(companyEntities.size()>0){ + return ResultVOUtils.error(999,"统一社会信用代码不能重复!"); + } + + //提交审核 + if (supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE || supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_UN) { + //判断是否上级供应商是否审核通过 + SupCompanyEntity supCompanyEntity = supCompanyService.findCompany(supManufacturerEntity.getCustomerId()); + if (supCompanyEntity.getAuditStatus() == ConstantStatus.AUDIT_UN + || supCompanyEntity.getAuditStatus() == ConstantStatus.AUDIT_DRAFT) { + return ResultVOUtils.error(500, "所属配送企业资质未通过审核,暂时无法提交!"); + } + + //验证证书是否齐全 + FilterCertSetsRequest filterCertSetsRequest = new FilterCertSetsRequest(); + filterCertSetsRequest.setType(ConstantStatus.CERT_MANUFACTURER); + filterCertSetsRequest.setNeed(0); + List supCertSetEntities = supCertSetService.filterCertSets(filterCertSetsRequest); + List supCertEntityList = supCertService.findAll(supManufacturerEntity.getCustomerId(), supManufacturerEntity.getManufacturerId()); + //判断存在有草稿的未提交的就不能通过 + for(SupCertEntity obj:supCertEntityList){ + if (obj.getAuditStatus() == 0.) { + return ResultVOUtils.error(999,"资质证书存在草稿不能提交!"); + } + } + ListIterator iterable = supCertSetEntities.listIterator(); + while (iterable.hasNext()) { + SupCertSetEntity supCertSetEntity = iterable.next(); + + if (( supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 2 + && StrUtil.trimToEmpty(supManufacturerEntity.getCompanyType()).equals("2")) + || + ( + supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 1 + && StrUtil.trimToEmpty(supManufacturerEntity.getCompanyType()).equals("2")) + || + ( supCertSetEntity.getForeign() != null + && supCertSetEntity.getForeign() == 1 + && supManufacturerEntity.getCompanyType().equals("1")) + || + ( supCertSetEntity.getForeign() != null + && supCertSetEntity.getForeign() == 3 + && supManufacturerEntity.getCompanyType().equals("1"))) { + for (SupCertEntity supCertEntity : supCertEntityList) { + + if (supCertEntity.getName().equals(supCertSetEntity.getName())) { + if (StrUtil.isNotEmpty(supCertEntity.getFilePath())) { + iterable.remove(); + break; + } + } + } + } else { + iterable.remove(); + } + + + } + String errMsg = ""; + if (supCertSetEntities.size() > 0) { + for (SupCertSetEntity supCertSetEntity : supCertSetEntities) { + errMsg = errMsg + "," + supCertSetEntity.getName(); + } + return ResultVOUtils.error(500, errMsg.substring(1) + "等证书未上传,无法提交审核!"); + } + + + } + + + supManufacturerEntity.setUpdateTime(new Date()); + SupManufacturerEntity originEntity = supManufacturerService.findManufacturer(supManufacturerEntity.getManufacturerId()); + boolean b = supManufacturerService.modifyCompany(supManufacturerEntity); + //修改证书对应的供应商ID,生产企业ID + supCertService.updateManufacturerId(originEntity.getCustomerId(), supManufacturerEntity.getCustomerId(), originEntity.getManufacturerId(), supManufacturerEntity.getManufacturerId()); + + if (b) { + return ResultVOUtils.success("修改成功"); + } else { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + } + + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/sup/manufacturer/audit") + public BaseResponse auditMmanufacturer(@RequestBody SupManufacturerEntity supManufacturerEntity) { + + if (StrUtil.isEmpty(supManufacturerEntity.getManufacturerId()) || StrUtil.isEmpty(supManufacturerEntity.getCustomerId())) { + return ResultVOUtils.error(500, "参数错误!"); + } + + + + if(supManufacturerEntity.getAuditStatus()==2){ + //查询上传的资质证书 + FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); + filterSupCertRequest.setCustomerId(supManufacturerEntity.getCustomerId()); + filterSupCertRequest.setManufacturerIdFk(supManufacturerEntity.getManufacturerId()); + filterSupCertRequest.setType(ConstantStatus.CERT_MANUFACTURER); + List supCertEntityList = supCertService.filterCompanyCert(filterSupCertRequest); + //查询必须上传的资质证书 + FilterCertSetsRequest filterCertSetsRequest = new FilterCertSetsRequest(); + filterCertSetsRequest.setType(ConstantStatus.CERT_MANUFACTURER); + List supCertSetEntities = supCertSetService.filterCertSets(filterCertSetsRequest); + //判断有没有存在必须上传而没有上传的证书 + ListIterator iterable = supCertSetEntities.listIterator(); + while (iterable.hasNext()) { + SupCertSetEntity supCertSetEntity = iterable.next(); + + if (( supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 2 + && StrUtil.trimToEmpty(supManufacturerEntity.getCompanyType()).equals("2")) + || + ( + supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 1 + && StrUtil.trimToEmpty(supManufacturerEntity.getCompanyType()).equals("2")) + || + ( supCertSetEntity.getForeign() != null + && supCertSetEntity.getForeign() == 1 + && supManufacturerEntity.getCompanyType().equals("1")) + || + ( supCertSetEntity.getForeign() != null + && supCertSetEntity.getForeign() == 3 + && supManufacturerEntity.getCompanyType().equals("1"))) { + for (SupCertEntity supCertEntity : supCertEntityList) { + + if (supCertEntity.getName().equals(supCertSetEntity.getName())) { + if (StrUtil.isNotEmpty(supCertEntity.getFilePath())) { + iterable.remove(); + break; + } + } + } + } else { + iterable.remove(); + } + } + String errMsg = ""; + if (supCertSetEntities.size() > 0) { + return ResultVOUtils.error(500, "必传证书不齐全!"); + } + } + + + // 查询是否包含审核未通过的证书 + if (supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_PASS || + supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE_PASS) { + FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); + filterSupCertRequest.setAuditStatus(24); + filterSupCertRequest.setCustomerId(supManufacturerEntity.getCustomerId()); + filterSupCertRequest.setManufacturerIdFk(supManufacturerEntity.getManufacturerId()); + filterSupCertRequest.setType(ConstantStatus.CERT_MANUFACTURER); + List supCertEntityList = supCertService.filterCompanyCert(filterSupCertRequest); + if (CollUtil.isNotEmpty(supCertEntityList)) { + for (SupCertEntity supCertEntity : supCertEntityList) { + supCertEntity.setAuditStatus(ConstantStatus.AUDIT_PASS); + supCertService.updateCompanyCert(supCertEntity); + } +// return ResultVOUtils.error(500, "审核失败,剩余" + supCertEntityList.size() + "个证书还未审核或审核未通过!"); + } + } + + supManufacturerEntity.setUpdateTime(new Date()); + SupManufacturerEntity originEntity = supManufacturerService.findCompany(supManufacturerEntity.getId()); + boolean b = supManufacturerService.modifyCompany(supManufacturerEntity); + //修改证书对应的供应商ID,生产企业ID + supCertService.updateManufacturerId(originEntity.getCustomerId(), supManufacturerEntity.getCustomerId(), originEntity.getManufacturerId(), supManufacturerEntity.getManufacturerId()); + + if (b) { + return ResultVOUtils.success("修改成功"); + } else { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + } + + + @AuthRuleAnnotation("") + @GetMapping("/sup/manufacturer/basic/delete") + public BaseResponse deleteContact(DeleteRequest deleteRequest) { + boolean b = supManufacturerService.deleteById(deleteRequest.getId()); + if (b) + return ResultVOUtils.success("删除成功"); + else { + return ResultVOUtils.error(500, "删除失败"); + } + + } + + 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() + ""; + } +} diff --git a/src/main/java/com/glxp/api/controller/purchase/SupProductController.java b/src/main/java/com/glxp/api/controller/purchase/SupProductController.java new file mode 100644 index 000000000..e5588a4d6 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/purchase/SupProductController.java @@ -0,0 +1,436 @@ +package com.glxp.api.controller.purchase; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; + +import com.glxp.api.annotation.AuthRuleAnnotation; +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.ConstantStatus; +import com.glxp.api.entity.auth.AuthAdmin; +import com.glxp.api.entity.purchase.SupCertEntity; +import com.glxp.api.entity.purchase.SupCertSetEntity; +import com.glxp.api.entity.purchase.SupManufacturerEntity; +import com.glxp.api.entity.purchase.SupProductEntity; +import com.glxp.api.exception.JsonException; +import com.glxp.api.req.purchase.FilterCertSetsRequest; +import com.glxp.api.req.purchase.FilterPoductRequest; +import com.glxp.api.req.purchase.FilterSupCertRequest; +import com.glxp.api.req.purchase.SelectProductBindRequest; +import com.glxp.api.req.system.DeleteCompanyFileRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.res.purchase.SupProductResponse; +import com.glxp.api.service.auth.AuthAdminService; +import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.service.purchase.SupCertService; +import com.glxp.api.service.purchase.SupCertSetService; +import com.glxp.api.service.purchase.SupManufacturerService; +import com.glxp.api.service.purchase.SupProductService; +import com.glxp.api.service.thrsys.ThrProductsService; +import com.glxp.api.service.thrsys.ThrSystemService; +import com.glxp.api.util.GennerOrderUtils; +import org.springframework.beans.BeanUtils; +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 SupProductController { + @Resource + private AuthAdminService authAdminService; + @Resource + private SupProductService supProductService; + @Resource + UdiRelevanceService udiRelevanceService; + @Resource + private SupCertService supCertService; + @Resource + SupManufacturerService supManufacturerService; + @Resource + SupCertSetService supCertSetService; + + @AuthRuleAnnotation("") + @GetMapping("/sup/product/getRegistrationInfo") + public BaseResponse getRegistrationInfo(FilterPoductRequest filterPoductRequest) { + SupProductEntity supProductEntity = supProductService.findRegistration(filterPoductRequest.getId()); + if (supProductEntity != null) { + return ResultVOUtils.success(supProductEntity); + } + return ResultVOUtils.error(500, "企业信息为空"); + } + + @AuthRuleAnnotation("") + @GetMapping("/sup/product/getRegistrationList") + public BaseResponse getRegistrationList(FilterPoductRequest filterPoductRequest) { + List companyEntities = supProductService.getRegistration(filterPoductRequest); + PageInfo pageInfo = new PageInfo<>(companyEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(companyEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @PostMapping("/sup/product/addRegistration") + public BaseResponse addRegistration(@RequestBody SupProductEntity supProductEntity) { + + //提交审核 + if (supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_UN) { + //判断是否上级供应商是否审核通过 + + SupManufacturerEntity supManufacturerEntity = supManufacturerService.findManufacturer(supProductEntity.getManufacturerIdFk()); + if (supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_UN + || supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_DRAFT) { + return ResultVOUtils.error(500, "所属生产企业资质未通过审核,暂时无法提交!"); + } + + //验证证书是否齐全 + FilterCertSetsRequest filterCertSetsRequest = new FilterCertSetsRequest(); + filterCertSetsRequest.setType(ConstantStatus.CERT_PRODUCT); + filterCertSetsRequest.setNeed(0); + List supCertSetEntities = supCertSetService.filterCertSets(filterCertSetsRequest); + List supCertEntityList = supCertService.findAll(supProductEntity.getCustomerId(), supProductEntity.getManufacturerIdFk(), supProductEntity.getProductId()); + ListIterator iterable = supCertSetEntities.listIterator(); + while (iterable.hasNext()) { + SupCertSetEntity supCertSetEntity = iterable.next(); + if (supCertSetEntity.getImports()!=null && supCertSetEntity.getImports() == 1 || StrUtil.isNotEmpty(supCertSetEntity.getCplx()) && supCertSetEntity.getCplx().equals("全部") + || StrUtil.isNotEmpty(supCertSetEntity.getHchzsb()) && supCertSetEntity.getHchzsb().equals("全部") + || (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 2 + && StrUtil.trimToEmpty(supProductEntity.getRecordCode()).contains("进")) + || (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 3 && !StrUtil.trimToEmpty(supProductEntity.getRecordCode()).contains("进")) + || (StrUtil.trimToEmpty(supProductEntity.getProductType()).equals(supCertSetEntity.getCplx())) + || (StrUtil.trimToEmpty(supProductEntity.getHchzsb()).equals(supCertSetEntity.getHchzsb())) + || StrUtil.isNotEmpty(supCertSetEntity.getFlbm()) &&(supCertSetEntity.getFlbm().contains(StrUtil.trimToEmpty(supProductEntity.getProductDirectoryCode()))) + ) { + for (SupCertEntity supCertEntity : supCertEntityList) { + if (supCertEntity.getName().equals(supCertSetEntity.getName())) { + if (StrUtil.isNotEmpty(supCertEntity.getFilePath())) { + iterable.remove(); + break; + } + } + } + } else { + iterable.remove(); + } + } + String errMsg = ""; + if (supCertSetEntities.size() > 0) { + for (SupCertSetEntity supCertSetEntity : supCertSetEntities) { + errMsg = errMsg + "," + supCertSetEntity.getName(); + } + return ResultVOUtils.error(500, errMsg.substring(1) + "等证书未上传,无法提交审核!"); + } + } + supProductEntity.setCreateTime(new Date()); + supProductEntity.setUpdateTime(new Date()); + boolean b = supProductService.insertRegistration(supProductEntity); + if (b) { + return ResultVOUtils.success("添加成功"); + } else { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + } + + + @AuthRuleAnnotation("") + @PostMapping("/sup/product/selectBind") + public BaseResponse selectBind(@RequestBody SelectProductBindRequest selectProductBindRequest) { + + + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(Long.valueOf(selectProductBindRequest.getRelIdFk())); + + SupProductEntity supProductEntity = new SupProductEntity(); + BeanUtils.copyProperties(udiRelevanceResponse, supProductEntity); + supProductEntity.setProductId(selectProductBindRequest.getProductId()); + supProductEntity.setRecordCode(udiRelevanceResponse.getZczbhhzbapzbh()); + supProductEntity.setRelIdFk(selectProductBindRequest.getRelIdFk()); + supProductEntity.setRecordProductName(udiRelevanceResponse.getCpmctymc()); + supProductEntity.setProductType(udiRelevanceResponse.getQxlb()); + supProductEntity.setProductDirectoryCode(udiRelevanceResponse.getFlbm()); + supProductEntity.setRecordPeopleName(udiRelevanceResponse.getYlqxzcrbarmc()); + supProductEntity.setSpecification(udiRelevanceResponse.getGgxh()); + supProductEntity.setCreateTime(new Date()); + supProductEntity.setUpdateTime(new Date()); + supProductEntity.setManufacturerIdFk(selectProductBindRequest.getManufacturerId()); + supProductEntity.setCustomerId(selectProductBindRequest.getCustomerId()); + supProductEntity.setHchzsb(udiRelevanceResponse.getCplb()); + supProductEntity.setAuditStatus(selectProductBindRequest.getAuditStatus()); + + return ResultVOUtils.success(supProductEntity); +// boolean b = supProductService.insertRegistration(supProductEntity); +// if (b) { +// return ResultVOUtils.success(supProductEntity); +// } else { +// return ResultVOUtils.error(ResultEnum.NOT_NETWORK); +// } + } + + + @AuthRuleAnnotation("") + @PostMapping("/sup/product/modifyRegistration") + public BaseResponse modifyRegistration(@RequestBody SupProductEntity supProductEntity) { + + if (StrUtil.isEmpty(supProductEntity.getProductId()) || StrUtil.isEmpty(supProductEntity.getManufacturerIdFk()) || StrUtil.isEmpty(supProductEntity.getCustomerId())) { + return ResultVOUtils.error(500, "参数错误!"); + } + //判断是不是存在草稿 + List supCertEntityList1 = supCertService.findAll(supProductEntity.getCustomerId(), supProductEntity.getManufacturerIdFk(), supProductEntity.getProductId()); + for(SupCertEntity obj:supCertEntityList1){ + if(obj.getAuditStatus()==0){ + return ResultVOUtils.error(999,"证书中存在草稿不允许提交!"); + } + } + //提交审核 + + //判断是否上级供应商是否审核通过 + + SupManufacturerEntity supManufacturerEntity = supManufacturerService.findManufacturer(supProductEntity.getManufacturerIdFk()); + if (supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_UN + || supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_DRAFT) { + return ResultVOUtils.error(500, "所属生产企业资质未通过审核,暂时无法提交!"); + } + + //验证证书是否齐全 + FilterCertSetsRequest filterCertSetsRequest = new FilterCertSetsRequest(); + filterCertSetsRequest.setType(ConstantStatus.CERT_PRODUCT); + List supCertSetEntities = supCertSetService.filterCertSets(filterCertSetsRequest); + List supCertEntityList = supCertService.findAll(supProductEntity.getCustomerId(), supProductEntity.getManufacturerIdFk(), supProductEntity.getProductId()); + ListIterator iterable = supCertSetEntities.listIterator(); + while (iterable.hasNext()) { + SupCertSetEntity supCertSetEntity = iterable.next(); + + if (supCertSetEntity.getImports()!=null && supCertSetEntity.getImports() == 1 || StrUtil.isNotEmpty(supCertSetEntity.getCplx()) && supCertSetEntity.getCplx().equals("全部") + || StrUtil.isNotEmpty(supCertSetEntity.getHchzsb()) && supCertSetEntity.getHchzsb().equals("全部") + || (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 2 + && StrUtil.trimToEmpty(supProductEntity.getRecordCode()).contains("进")) + || (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 3 && !StrUtil.trimToEmpty(supProductEntity.getRecordCode()).contains("进")) + || (StrUtil.trimToEmpty(supProductEntity.getProductType()).equals(supCertSetEntity.getCplx())) + || (StrUtil.trimToEmpty(supProductEntity.getHchzsb()).equals(supCertSetEntity.getHchzsb())) + || StrUtil.isNotEmpty(supCertSetEntity.getFlbm()) &&(supCertSetEntity.getFlbm().contains(StrUtil.trimToEmpty(supProductEntity.getProductDirectoryCode()))) + ) { + for (SupCertEntity supCertEntity : supCertEntityList) { + if (supCertEntity.getName().equals(supCertSetEntity.getName())) { + if (StrUtil.isNotEmpty(supCertEntity.getFilePath())) { + iterable.remove(); + break; + } + } + } + } else { + iterable.remove(); + } + } + String errMsg = ""; + if (supCertSetEntities.size() > 0) { + for (SupCertSetEntity supCertSetEntity : supCertSetEntities) { + errMsg = errMsg + "," + supCertSetEntity.getName(); + } + return ResultVOUtils.error(500, errMsg.substring(1) + "等证书未上传,无法提交审核!"); + } + + + supProductEntity.setUpdateTime(new Date()); + SupProductResponse originEntity = supProductService.findByProductId(supProductEntity.getProductId()); + supCertService.updateProductId(originEntity.getCustomerId(), supProductEntity.getCustomerId(), originEntity.getManufacturerIdFk(), + supProductEntity.getManufacturerIdFk(), originEntity.getProductId(), supProductEntity.getProductId()); + boolean b = supProductService.modifyRegistration(supProductEntity); + if (b) { + return ResultVOUtils.success("修改成功"); + } else { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + } + + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/pur/suppliers/product/audit") + public BaseResponse auditProduct(@RequestBody SupProductEntity supProductEntity) { + + if (supProductEntity.getAuditStatus() == null) { + return ResultVOUtils.error(500, "参数错误!"); + } + if(supProductEntity.getAuditStatus()==1){ + //查询用户上传的证书 + FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); + filterSupCertRequest.setCustomerId(supProductEntity.getCustomerId()); + filterSupCertRequest.setManufacturerIdFk(supProductEntity.getManufacturerIdFk()); + filterSupCertRequest.setProductIdFk(supProductEntity.getProductId()); + filterSupCertRequest.setType(ConstantStatus.CERT_PRODUCT); + List supCertEntityList = supCertService.filterCompanyCert(filterSupCertRequest); + + //查询用户该上传的证书 + FilterCertSetsRequest filterCertSetsRequest = new FilterCertSetsRequest(); + filterCertSetsRequest.setType(ConstantStatus.CERT_PRODUCT); + List supCertSetEntities = supCertSetService.filterCertSets(filterCertSetsRequest); + + ListIterator iterable = supCertSetEntities.listIterator(); + while (iterable.hasNext()) { + SupCertSetEntity supCertSetEntity = iterable.next(); + + if (supCertSetEntity.getImports()!=null && supCertSetEntity.getImports() == 1 || StrUtil.isNotEmpty(supCertSetEntity.getCplx()) && supCertSetEntity.getCplx().equals("全部") + || StrUtil.isNotEmpty(supCertSetEntity.getHchzsb()) && supCertSetEntity.getHchzsb().equals("全部") + || (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 2 + && StrUtil.trimToEmpty(supProductEntity.getRecordCode()).contains("进")) + || (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 3 && !StrUtil.trimToEmpty(supProductEntity.getRecordCode()).contains("进")) + || (StrUtil.trimToEmpty(supProductEntity.getProductType()).equals(supCertSetEntity.getCplx())) + || (StrUtil.trimToEmpty(supProductEntity.getHchzsb()).equals(supCertSetEntity.getHchzsb())) + || StrUtil.isNotEmpty(supCertSetEntity.getFlbm()) &&(supCertSetEntity.getFlbm().contains(StrUtil.trimToEmpty(supProductEntity.getProductDirectoryCode()))) + ) { + for (SupCertEntity supCertEntity : supCertEntityList) { + if (supCertEntity.getName().equals(supCertSetEntity.getName())) { + if (StrUtil.isNotEmpty(supCertEntity.getFilePath())) { + iterable.remove(); + break; + } + } + } + } else { + iterable.remove(); + } + } + String errMsg = ""; + if (supCertSetEntities.size() > 0) { + for (SupCertSetEntity supCertSetEntity : supCertSetEntities) { + errMsg = errMsg + "," + supCertSetEntity.getName(); + } + return ResultVOUtils.error(500, "必传证书不齐全"); + } + } + + // 查询是否包含审核未通过的证书 + if (supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_PASS || + supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE_PASS) { + FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); + filterSupCertRequest.setAuditStatus(24); + filterSupCertRequest.setCustomerId(supProductEntity.getCustomerId()); + filterSupCertRequest.setManufacturerIdFk(supProductEntity.getManufacturerIdFk()); + filterSupCertRequest.setProductIdFk(supProductEntity.getProductId()); + filterSupCertRequest.setType(ConstantStatus.CERT_PRODUCT); + List supCertEntityList = supCertService.filterCompanyCert(filterSupCertRequest); + if (CollUtil.isNotEmpty(supCertEntityList)) { + for (SupCertEntity supCertEntity : supCertEntityList) { + supCertEntity.setAuditStatus(ConstantStatus.AUDIT_PASS); + supCertService.updateCompanyCert(supCertEntity); + } + +// return ResultVOUtils.error(500, "审核失败,剩余" + supCertEntityList.size() + "个证书还未审核或审核未通过!"); + } + } + + + supProductEntity.setUpdateTime(new Date()); + boolean b = supProductService.modifyRegistration(supProductEntity); + +// if (supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_PASS) { +// SupProductResponse supProductResponse = supProductService.findJoinRegistration(supProductEntity.getId()); +// +// //步骤1:先添加到主系统第三方产品信息; +// BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectMainThrSys(); +// ThrProductsEntity thrProductsEntity = new ThrProductsEntity(); +// thrProductsEntity.setCode(gennerOrderUtils.getRelId() + ""); +// thrProductsEntity.setThirdSys(basicThirdSysEntity.getThirdId()); +// thrProductsEntity.setThirdSysFk(basicThirdSysEntity.getThirdId()); +// thrProductsEntity.setName(supProductEntity.getRecordProductName()); +// thrProductsEntity.setSpec(supProductEntity.getSpecification()); +// thrProductsEntity.setStandard(supProductEntity.getSpecification()); +// thrProductsEntity.setManufactory(supProductResponse.getManufacturerName()); +// thrProductsService.insertThrProducts(thrProductsEntity); +// +// +// //步骤2:添加到关联表 +// String uuid = CustomUtil.getUUId(); +// UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity(); +// udiRelevanceEntity.setThirdId(thrProductsEntity.getCode()); +// udiRelevanceEntity.setThirdName(thrProductsEntity.getName()); +// udiRelevanceEntity.setMainId(thrProductsEntity.getCode()); +// udiRelevanceEntity.setMainName(thrProductsEntity.getName()); +// udiRelevanceEntity.setMeasname(thrProductsEntity.getMeasname()); +// String time = DateUtil.getDateTime(); +// udiRelevanceEntity.setUpdateTime(time); +// udiRelevanceEntity.setModifyTime(time); +// udiRelevanceEntity.setUuid(uuid); +// udiRelevanceEntity.setManufactory(supProductResponse.getManufacturerName()); +// udiRelevanceEntity.setSupName(supProductResponse.getSupName()); +// udiRelevanceEntity.setId(gennerOrderUtils.getRelId() + ""); +// udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); +// +// +// //步骤3:添加基础信息表 +// UdiInfoEntity udiInfoEntity = new UdiInfoEntity(); +// udiInfoEntity.setNameCode(thrProductsEntity.getCode()); +// udiInfoEntity.setCpmctymc(thrProductsEntity.getName()); +// udiInfoEntity.setManufactory(thrProductsEntity.getManufactory()); +// udiInfoEntity.setYlqxzcrbarmc(supProductEntity.getRecordPeopleName()); +// udiInfoEntity.setGgxh(thrProductsEntity.getSpec()); +// udiInfoEntity.setZczbhhzbapzbh(supProductEntity.getRecordCode()); +// udiInfoEntity.setUuid(udiRelevanceEntity.getUuid()); +// udiInfoEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD); +// udiInfoEntity.setDiType(1); +// udiInfoEntity.setScbssfbhph("是"); +// udiInfoEntity.setScbssfbhscrq("是"); +// udiInfoEntity.setScbssfbhsxrq("是"); +// udiInfoEntity.setScbssfbhxlh("否"); +// udiInfoEntity = UdiInfoUtil.initUdiInfoEntity(udiInfoEntity); +// udiInfoService.insertUdiInfo(udiInfoEntity); +// +// +// //步骤4:添加供应商关联表 +// CompanyProductRelevanceEntity companyProductRelevanceEntity = new CompanyProductRelevanceEntity(); +// companyProductRelevanceEntity.setCreate_time(new Date()); +// companyProductRelevanceEntity.setUpdate_time(new Date()); +// companyProductRelevanceEntity.setAuditStatus("3"); +// companyProductRelevanceEntity.setUnitFk(supProductResponse.getCustomerId()); +// companyProductRelevanceEntity.setUdiRlIdFk(udiRelevanceEntity.getId()); +// companyProductRelevanceEntity.setCustomerId(supProductResponse.getCustomerId()); +// companyProductRelevanceEntity.setProductId(supProductEntity.getProductId()); +// companyProductRelevanceEntity.setRegistrationId(supProductEntity.getProductId()); +// companyProductRelevanceEntity.setEnterpriseId(supProductEntity.getManufacturerIdFk()); +// companyProductRelevanceService.insertCompanyProductRelevance(companyProductRelevanceEntity); +// +// +// } + + if (b) { + return ResultVOUtils.success("审核通过!"); + } else { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + + } + + + @AuthRuleAnnotation("") + @GetMapping("/sup/product/delete") + public BaseResponse delete(DeleteCompanyFileRequest deleteCompanyFileRequest) { + boolean b = supProductService.deleteById(deleteCompanyFileRequest.getId()); + if (b) + return ResultVOUtils.success("删除成功"); + else { + return ResultVOUtils.error(500, "删除失败"); + } + } + + 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() + ""; + } +} diff --git a/src/main/java/com/glxp/api/dao/purchase/CustomerContacDao.java b/src/main/java/com/glxp/api/dao/purchase/CustomerContacDao.java new file mode 100644 index 000000000..f57bce4c7 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/purchase/CustomerContacDao.java @@ -0,0 +1,26 @@ +package com.glxp.api.dao.purchase; + + +import com.glxp.api.entity.purchase.CustomerContactEntity; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.req.purchase.CustomerContactFilterRequest; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface CustomerContacDao { + + List filterCustomerContact(CustomerContactFilterRequest userResisterFilterRequest); + + boolean insertCustomerContact(CustomerContactEntity customerContactEntity); + + boolean updateCustomerContact(CustomerContactEntity customerContactEntity); + + boolean deleteById(String customerId); + + CustomerContactEntity selectById(Long customerId); + + boolean deleteContact(DeleteRequest deleteRequest); + +} diff --git a/src/main/java/com/glxp/api/dao/purchase/SupCertDao.java b/src/main/java/com/glxp/api/dao/purchase/SupCertDao.java new file mode 100644 index 000000000..8e2dc38f1 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/purchase/SupCertDao.java @@ -0,0 +1,42 @@ +package com.glxp.api.dao.purchase; + + +import com.glxp.api.entity.purchase.SupCertEntity; +import com.glxp.api.req.purchase.FilterSupCertRequest; +import com.glxp.api.req.purchase.purPlanPrintRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface SupCertDao { + + List filterCompanyCert(FilterSupCertRequest filterSupCertRequest); + + + SupCertEntity findCompanyCertByName(String name); + + List getCompanyCert(FilterSupCertRequest filterSupCertRequest); + + boolean updateCompanyCert(SupCertEntity supCertEntity); + + boolean insertCompanyCert(SupCertEntity supCertEntity); + + boolean deleteById(String id); + + boolean updateCustomerId(@Param("oldId") String oldId, @Param("newId") String newId,@Param("auditStatus") Integer auditStatus); + + boolean updateManufacturerId(@Param("oldCustomerId") String oldCustomerId, @Param("newCustomerId") String newCustomerId, + @Param("oldManufacturerIdFk") String oldManufacturerIdFk, @Param("newManufacturerIdFk") String newManufacturerIdFk); + + boolean updateProductId(@Param("oldCustomerId") String oldCustomerId, @Param("newCustomerId") String newCustomerId, + @Param("oldManufacturerIdFk") String oldManufacturerIdFk, @Param("newManufacturerIdFk") String newManufacturerIdFk, + @Param("oldProductIdFk") String oldProductIdFk, @Param("newProductIdFk") String newProductIdFk); + + + boolean deleteCert(FilterSupCertRequest filterSupCertRequest); + + List selectSupCertList(purPlanPrintRequest purPlanPrintRequest); + +} diff --git a/src/main/java/com/glxp/api/dao/purchase/SupCertSetDao.java b/src/main/java/com/glxp/api/dao/purchase/SupCertSetDao.java new file mode 100644 index 000000000..3e9d9ffcc --- /dev/null +++ b/src/main/java/com/glxp/api/dao/purchase/SupCertSetDao.java @@ -0,0 +1,24 @@ +package com.glxp.api.dao.purchase; + + +import com.glxp.api.entity.purchase.SupCertSetEntity; +import com.glxp.api.req.purchase.FilterCertSetsRequest; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface SupCertSetDao { + List filterCertSets(FilterCertSetsRequest filterCertSetsRequest); + + boolean insertCertSet(SupCertSetEntity supCertSetEntity); + + + boolean updateCertSet(SupCertSetEntity supCertSetEntity); + + boolean deleteById(String id); + + boolean deleteAll(); + + +} diff --git a/src/main/java/com/glxp/api/dao/purchase/SupCompanyDao.java b/src/main/java/com/glxp/api/dao/purchase/SupCompanyDao.java new file mode 100644 index 000000000..d0b65f8ec --- /dev/null +++ b/src/main/java/com/glxp/api/dao/purchase/SupCompanyDao.java @@ -0,0 +1,29 @@ +package com.glxp.api.dao.purchase; + + +import com.glxp.api.entity.purchase.SupCompanyEntity; +import com.glxp.api.req.purchase.FilterSupCompanyRequest; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface SupCompanyDao { + + SupCompanyEntity findCompany(String CustomerId); + + SupCompanyEntity findCompanyByName(String companyName); + + List getSubCompany(FilterSupCompanyRequest companyRequest); + + List getSubCompany2(FilterSupCompanyRequest companyRequest); + + List filterCompany(FilterSupCompanyRequest companyRequest); + + boolean modifyCompany(SupCompanyEntity companyEntity); + + boolean insertCompany(SupCompanyEntity companyEntity); + + boolean deleteCompany(String customerId); + +} diff --git a/src/main/java/com/glxp/api/dao/purchase/SupManufacturerDao.java b/src/main/java/com/glxp/api/dao/purchase/SupManufacturerDao.java new file mode 100644 index 000000000..261c8a436 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/purchase/SupManufacturerDao.java @@ -0,0 +1,27 @@ +package com.glxp.api.dao.purchase; + + +import com.glxp.api.entity.purchase.SupManufacturerEntity; +import com.glxp.api.req.purchase.FilterSupManufacturerRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface SupManufacturerDao { + + SupManufacturerEntity findCompany(Long id); + + SupManufacturerEntity findCompanyByName(String companyName); + + List getCompany(FilterSupManufacturerRequest filterSupManufacturerRequest); + + boolean modifyCompany(SupManufacturerEntity supManufacturerEntity); + + boolean insertCompany(SupManufacturerEntity supManufacturerEntity); + + boolean deleteById(@Param("id") String id); + + List getCompanyByNameAndCode(FilterSupManufacturerRequest filterSupManufacturerRequest); +} diff --git a/src/main/java/com/glxp/api/dao/purchase/SupProductDao.java b/src/main/java/com/glxp/api/dao/purchase/SupProductDao.java new file mode 100644 index 000000000..92c0e94fc --- /dev/null +++ b/src/main/java/com/glxp/api/dao/purchase/SupProductDao.java @@ -0,0 +1,30 @@ +package com.glxp.api.dao.purchase; + + +import com.glxp.api.entity.purchase.SupProductEntity; +import com.glxp.api.req.purchase.FilterPoductRequest; +import com.glxp.api.res.purchase.SupProductResponse; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface SupProductDao { + + SupProductEntity findRegistration(Long id); + + SupProductEntity findRegistrationByName(String recordProductName); + + List getRegistration(FilterPoductRequest filterPoductRequest); + + boolean modifyRegistration(SupProductEntity supProductEntity); + + List filterProducts(FilterPoductRequest filterPoductRequest); + + boolean insertRegistration(SupProductEntity supProductEntity); + + boolean deleteById(@Param("id") String id); + + boolean deleteByEnterpriseId(@Param("enterpriseId") String enterpriseId); +} diff --git a/src/main/java/com/glxp/api/entity/purchase/CustomerContactEntity.java b/src/main/java/com/glxp/api/entity/purchase/CustomerContactEntity.java new file mode 100644 index 000000000..2da978558 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/CustomerContactEntity.java @@ -0,0 +1,79 @@ +package com.glxp.api.entity.purchase; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author 作者 + * @since 2023-02-07 + */ +@TableName("customer_contact") +@Data +public class CustomerContactEntity{ + + private static final long serialVersionUID = 1L; + + @TableField("customerId") + private String customerId; + + @TableField("contacts") + private String contacts; + + @TableField("mobile") + private String mobile; + + @TableField("tel") + private String tel; + + @TableField("email") + private String email; + + @TableField("comments") + private String comments; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 创建人 + */ + @TableField("createUser") + private String createUser; + + /** + * 创建时间 + */ + @TableField("createTime") + private Date createTime; + + /** + * 更新人 + */ + @TableField("updateUser") + private String updateUser; + + /** + * 更新时间 + */ + @TableField("updateTime") + private Date updateTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + +} diff --git a/src/main/java/com/glxp/api/entity/purchase/PurApplyDetailEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurApplyDetailEntity.java new file mode 100644 index 000000000..b2acf42f6 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/PurApplyDetailEntity.java @@ -0,0 +1,36 @@ +package com.glxp.api.entity.purchase; + +import lombok.Data; + +@Data +public class PurApplyDetailEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private Long id; + /** + * 订单外键 + */ + private String orderIdFk; + /** + * 产品ID + */ + private String productId; + /** + * 产品名称 + */ + private String productName; + /** + * 数量 + */ + private Integer count; + /** + * 供应商ID + */ + private String supId; + private String zczbhhzbapzbh; + +} diff --git a/src/main/java/com/glxp/api/entity/purchase/PurApplyEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurApplyEntity.java new file mode 100644 index 000000000..0e5ee1a41 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/PurApplyEntity.java @@ -0,0 +1,82 @@ +package com.glxp.api.entity.purchase; + +import lombok.Data; + +import java.util.Date; + + +/** + * pur对象 pur_apply + * + * @author anthony.ywj + * @date 2022-10-12 + */ +@Data +public class PurApplyEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private Integer id; + /** + * 单据号 + */ + private String billNo; + /** + * 单据日期 + */ + private Date billDate; + /** + * 状态(1.草稿,2.未审核,3.已审核) + */ + private int status; + /** + * 申购类型 + */ + private String billType; + /** + * 申购说明 + */ + private String remark; + /** + * 当前仓库 + */ + private String locStorageCode; + /** + * 当前分库 + */ + private String invWarehouseCode; + /** + * 所属部门 + */ + private String deptCode; + /** + * 审核人 + */ + private String auditBy; + /** + * 审核时间 + */ + private Date auditTime; + + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + private Date updateTime; + + private String auditRemark; + + private String targetInv; + private String targetSubInv; + private String targetBillType; + + private String planBillNo; //生成采购计划单据号 + private boolean generatePlan; //是否已生成采购计划单 + +} diff --git a/src/main/java/com/glxp/api/entity/purchase/PurPlanDetailEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurPlanDetailEntity.java new file mode 100644 index 000000000..da0055afd --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/PurPlanDetailEntity.java @@ -0,0 +1,37 @@ +package com.glxp.api.entity.purchase; + +import lombok.Data; + +@Data +public class PurPlanDetailEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private Long id; + /** + * 订单外键 + */ + private String orderIdFk; + /** + * 产品ID + */ + private String productId; + /** + * 产品名称 + */ + private String productName; + /** + * 数量 + */ + private Integer count; + /** + * 供应商ID + */ + private String supId; + + private String zczbhhzbapzbh; + +} diff --git a/src/main/java/com/glxp/api/entity/purchase/PurPlanEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurPlanEntity.java new file mode 100644 index 000000000..e1da50944 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/PurPlanEntity.java @@ -0,0 +1,86 @@ +package com.glxp.api.entity.purchase; + + +import lombok.Data; + +import java.util.Date; + +/** + * pur对象 pur_plan + * + * @author anthony.ywj + * @date 2022-10-12 + */ +@Data +public class PurPlanEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private Integer id; + /** + * 单据号 + */ + private String billNo; + /** + * 单据日期 + */ + private Date billDate; + /** + * 状态(1.草稿,2.未审核,3.已审核) + */ + private Integer status; + /** + * 申购类型 + */ + private String billType; + /** + * 申购说明 + */ + private String remark; + /** + * 当前仓库 + */ + private String locStorageCode; + /** + * 当前分库 + */ + private String invWarehouseCode; + /** + * 所属部门 + */ + private String deptCode; + /** + * 审核人 + */ + private String auditBy; + /** + * 审核时间 + */ + private Date auditTime; + + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + private Date updateTime; + + private String auditRemark; + + private String stockOrderNo; //生成业务单据号 + private String applyCreateBy; //申购人 + private String applyAuditBy; //申购审核人 + private String applyRemark; //申购说明 + private String applyBillNo; //申购单据号,多单以逗号隔开 + + + private String targetBillAction; + private String targetSubInv; + private String targetInv; + +} diff --git a/src/main/java/com/glxp/api/entity/purchase/SupCertEntity.java b/src/main/java/com/glxp/api/entity/purchase/SupCertEntity.java new file mode 100644 index 000000000..7356a3d14 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/SupCertEntity.java @@ -0,0 +1,135 @@ +package com.glxp.api.entity.purchase; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author 作者 + * @since 2023-02-07 + */ +@TableName("sup_cert") +@Data +public class SupCertEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 配送企业ID外键 + */ + @TableField("CustomerId") + private String customerId; + + /** + * 证书名称 + */ + @TableField("name") + private String name; + + /** + * 证书编号 + */ + @TableField("code") + private String code; + + @TableField("filePath") + private String filePath; + + /** + * 有效期 + */ + @TableField("vailDate") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date vailDate; + + /** + * 失效期 + */ + @TableField("expireDate") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date expireDate; + + @TableField("remark1") + private String remark1; + + /** + * 证书类型:1:供应商;2.生产企业;3.产品品种 + */ + @TableField("type") + private Integer type; + + /** + * 生产企业ID外键 + */ + @TableField("manufacturerIdFk") + private String manufacturerIdFk; + + /** + * 产品证书ID外键 + */ + @TableField("productIdFk") + private String productIdFk; + + /** + * 审核状态 + */ + @TableField("auditStatus") + private Integer auditStatus; + + /** + * 审核说明 + */ + @TableField("auditComment") + private String auditComment; + + /** + * 0:启用,1:禁用 + */ + @TableField("status") + private Integer status; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + /** + * 创建人 + */ + @TableField("createUser") + private String createUser; + + /** + * 创建时间 + */ + @TableField("createTime") + private Date createTime; + + /** + * 更新人 + */ + @TableField("updateUser") + private String updateUser; + + /** + * 更新时间 + */ + @TableField("updateTime") + private Date updateTime; + +} diff --git a/src/main/java/com/glxp/api/entity/purchase/SupCertSetEntity.java b/src/main/java/com/glxp/api/entity/purchase/SupCertSetEntity.java new file mode 100644 index 000000000..f0f95411d --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/SupCertSetEntity.java @@ -0,0 +1,123 @@ +package com.glxp.api.entity.purchase; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + *

+ * + *

+ * + * @author 作者 + * @since 2023-02-07 + */ +@TableName("sup_cert_set") +@Data +public class SupCertSetEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 证书名称 + */ + @TableField("name") + private String name; + + /** + * 是否必选 + */ + @TableField("need") + private boolean need; + + /** + * 类型:(1.供应商,2.生产企业,3,产品) + */ + @TableField("type") + private Integer type; + + /** + * 是否进口(1:全部,2:进口,3.国内) + */ + @TableField("foreign") + private Integer foreign; + + /** + * 产品类型(器械/实际) + */ + @TableField("cplx") + private String cplx; + + /** + * 产品类别(耗材/设备) + */ + @TableField("hchzsb") + private String hchzsb; + + /** + * 分类编码 + */ + @TableField("flbm") + private String flbm; + + /** + * 是否进口(1:全部,2:进口,3.国内) + */ + @TableField("imports") + private Integer imports; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + /** + * 创建人 + */ + @TableField("createUser") + private String createUser; + + /** + * 创建时间 + */ + @TableField("createTime") + private Date createTime; + + /** + * 更新人 + */ + @TableField("updateUser") + private String updateUser; + + /** + * 更新时间 + */ + @TableField("updateTime") + private Date updateTime; + + @TableField(exist = false) + private List flbmList; + + + + public List getFlbmList() { + if (StrUtil.isNotEmpty(flbm)) { + return Arrays.asList(flbm.split(",")); + } + return flbmList; + } + +} diff --git a/src/main/java/com/glxp/api/entity/purchase/SupCompanyEntity.java b/src/main/java/com/glxp/api/entity/purchase/SupCompanyEntity.java new file mode 100644 index 000000000..82a189fb3 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/SupCompanyEntity.java @@ -0,0 +1,310 @@ +package com.glxp.api.entity.purchase; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author 作者 + * @since 2023-02-07 + */ +@TableName("sup_company") +@Data +public class SupCompanyEntity { + + private static final long serialVersionUID = 1L; + + @TableId("customerId") + private String customerId; + + /** + * 企业名称 + */ + @TableField("companyName") + private String companyName; + + /** + * 企业类型:1.生产企业;2.经营企业; + */ + @TableField("bussinessStatus") + private Integer bussinessStatus; + + /** + * 统一社会信用代码 + */ + @TableField("creditNum") + private String creditNum; + + @TableField("classes") + private String classes; + + /** + * 地址 + */ + @TableField("area") + private String area; + + /** + * 详细地址 + */ + @TableField("detailAddr") + private String detailAddr; + + /** + * 应用码x + */ + @TableField("appId") + private String appId; + + /** + * 授权码x + */ + @TableField("appSecret") + private String appSecret; + + /** + * 联系人 + */ + @TableField("contacts") + private String contacts; + + /** + * 联系电话 + */ + @TableField("mobile") + private String mobile; + + /** + * 电话 + */ + @TableField("tel") + private String tel; + + /** + * 邮箱 + */ + @TableField("email") + private String email; + + @TableField("areaCode") + private String areaCode; + + /** + * 企业唯一标识x + */ + @TableField("refEntId") + private String refEntId; + + /** + * 企业IDx + */ + @TableField("entId") + private String entId; + + /** + * 入网标识【0非入网1入网2入驻马上放心】x + */ + @TableField("networkType") + private Integer networkType; + + /** + * 绑定appkey外键IDx + */ + @TableField("certIdFk") + private Integer certIdFk; + + /** + * 所属总部x + */ + @TableField("parentCompany") + private String parentCompany; + + /** + * 所属总部Idx + */ + @TableField("parentIdFk") + private String parentIdFk; + + /** + * 法人证件类型:1:身份证 + */ + @TableField("contactsPapersType") + private String contactsPapersType; + + /** + * 法人证件号码 + */ + @TableField("contactsPapersCode") + private String contactsPapersCode; + + /** + * 登记状态:1:续存(在营,开业,在册),2:吊销,3:注销,4:迁出 + */ + @TableField("registerStatus") + private String registerStatus; + + /** + * 经营许可证号(Ⅲ类) + */ + @TableField("jyxkzh") + private String jyxkzh; + + /** + * 经营许可证发证机关 + */ + @TableField("jyxkzfzjg") + private String jyxkzfzjg; + + /** + * 经营许可证有效期至 + */ + @TableField("jyxkzyxq") + private LocalDate jyxkzyxq; + + /** + * 经营备案凭证号(Ⅱ类) + */ + @TableField("jybapzh") + private String jybapzh; + + /** + * 经营备案部门 + */ + @TableField("jybabm") + private String jybabm; + + /** + * 发证日期 + */ + @TableField("fzrq") + private Date fzrq; + + /** + * 税号 + */ + @TableField("suihao") + private String suihao; + + /** + * 开户行 + */ + @TableField("kaihuhang") + private String kaihuhang; + + /** + * 开户账号 + */ + @TableField("kaihuzhanghao") + private String kaihuzhanghao; + + /** + * 审核状态 0:草稿,4:申请变更,3:允许变更,5:拒绝变更,6:未审核,1:通过,2:不通过 + */ + @TableField("auditStatus") + private Integer auditStatus; + + /** + * 文件路径 + */ + @TableField("filePath") + private String filePath; + + /** + * 文件路径 + */ + @TableField("filePath2") + private String filePath2; + + /** + * 文件路径 + */ + @TableField("filePath3") + private String filePath3; + + /** + * 文件路径 + */ + @TableField("filePath4") + private String filePath4; + + /** + * 往来单位外键 + */ + @TableField("unitIdFk") + private String unitIdFk; + + /** + * 创建人 + */ + @TableField("createBy") + private String createBy; + + /** + * 审核时间 + */ + @TableField("auditTime") + private Date auditTime; + + /** + * 审核意见 + */ + @TableField("auditComment") + private String auditComment; + + /** + * 保存状态(1.草稿保存,2.已提交保存) + */ + @TableField("editStatus") + private Integer editStatus; + + /** + * 0:启用,1:禁用 + */ + @TableField("status") + private Integer status; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + /** + * 创建人 + */ + @TableField("createUser") + private String createUser; + + /** + * 创建时间 + */ + @TableField("createTime") + private Date createTime; + + /** + * 更新人 + */ + @TableField("updateUser") + private String updateUser; + + /** + * 更新时间 + */ + @TableField("updateTime") + private Date updateTime; + + @TableField(exist = false) + private String auditor; + + +} diff --git a/src/main/java/com/glxp/api/entity/purchase/SupManufacturerEntity.java b/src/main/java/com/glxp/api/entity/purchase/SupManufacturerEntity.java new file mode 100644 index 000000000..4065f81c3 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/SupManufacturerEntity.java @@ -0,0 +1,203 @@ +package com.glxp.api.entity.purchase; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author 作者 + * @since 2023-02-07 + */ +@TableName("sup_manufacturer") +@Data +public class SupManufacturerEntity{ + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 企业ID主键 + */ + @TableField("manufacturerId") + private String manufacturerId; + + /** + * 企业名称 + */ + @TableField("companyName") + private String companyName; + + /** + * 统一社会信用代码 + */ + @TableField("creditCode") + private String creditCode; + + /** + * 企业类型:1:注册人/备案人,2:代理人 + */ + @TableField("companyType") + private String companyType; + + /** + * 所在地区:省市区 + */ + @TableField("placeArea") + private String placeArea; + + /** + * 所在地区代码 + */ + @TableField("placeAreaCode") + private String placeAreaCode; + + /** + * 所在地址:详细地址 + */ + @TableField("placeAddress") + private String placeAddress; + + /** + * 法人姓名 + */ + @TableField("legalPersonName") + private String legalPersonName; + + /** + * 法人证件类型:1:身份证 + */ + @TableField("legalPersonPapersType") + private String legalPersonPapersType; + + /** + * 法人证件号码 + */ + @TableField("legalPersonPapersCode") + private String legalPersonPapersCode; + + /** + * 生产地区:省市区 + */ + @TableField("productionArea") + private String productionArea; + + /** + * 生产地区代码 + */ + @TableField("productionAreaCode") + private String productionAreaCode; + + /** + * 生产地址:详细地址 + */ + @TableField("productionAddress") + private String productionAddress; + + /** + * 登记状态:1:续存(在营,开业,在册),2:吊销,3:注销,4:迁出 + */ + @TableField("registerStatus") + private String registerStatus; + + /** + * 医疗器械生产许可证号 + */ + @TableField("productionLicenceNum") + private String productionLicenceNum; + + /** + * 医疗器械生产许可证有效期至 + */ + @TableField("productionLicenceDate") + private LocalDate productionLicenceDate; + + /** + * 医疗器械生产备案凭证号 + */ + @TableField("productionRecordNum") + private String productionRecordNum; + + /** + * 医疗器械经营备案凭证号 +发证机关/备案部门 + */ + @TableField("productionRecordSection") + private String productionRecordSection; + + /** + * 医疗器械生产备案凭证号发证日期 + */ + @TableField("productionRecordDate") + private Date productionRecordDate; + + /** + * 更新时间 + */ + @TableField("update_date") + private LocalDate updateDate; + + /** + * 往来单位ID主键 + */ + @TableField("customerId") + private String customerId; + + /** + * 审核状态 0:草稿,4:申请变更,3:允许变更,5:拒绝变更,6:未审核,1:通过,2:不通过 + */ + @TableField("auditStatus") + private Integer auditStatus; + + /** + * 拒绝说明 + */ + @TableField("auditComment") + private String auditComment; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + /** + * 创建人 + */ + @TableField("createUser") + private String createUser; + + /** + * 创建时间 + */ + @TableField("createTime") + private Date createTime; + + /** + * 更新人 + */ + @TableField("updateUser") + private String updateUser; + + /** + * 更新时间 + */ + @TableField("updateTime") + private Date updateTime; + + @TableField(exist = false) + private String supName; + +} diff --git a/src/main/java/com/glxp/api/entity/purchase/SupProductEntity.java b/src/main/java/com/glxp/api/entity/purchase/SupProductEntity.java new file mode 100644 index 000000000..48663624d --- /dev/null +++ b/src/main/java/com/glxp/api/entity/purchase/SupProductEntity.java @@ -0,0 +1,261 @@ +package com.glxp.api.entity.purchase; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author 作者 + * @since 2023-02-07 + */ +@TableName("sup_product") +@Data +public class SupProductEntity{ + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 产品ID + */ + @TableField("productId") + private String productId; + + @TableField("enterpriseId") + private Long enterpriseId; + + /** + * 注册/备案号 + */ + @TableField("recordCode") + private String recordCode; + + /** + * 注册/备案产品名称 + */ + @TableField("recordProductName") + private String recordProductName; + + /** + * 医疗器械管理类别(Ⅰ类、Ⅱ类、Ⅲ类) + */ + @TableField("productManageType") + private String productManageType; + + /** + * 注册/备案人名称 + */ + @TableField("recordPeopleName") + private String recordPeopleName; + + /** + * 注册人住所地区:省市区 + */ + @TableField("recordPeopleArea") + private String recordPeopleArea; + + /** + * 注册人住所地区代码 + */ + @TableField("recordPeopleAreaCode") + private String recordPeopleAreaCode; + + /** + * 注册人住所地址:详细地址 + */ + @TableField("recordPeopleAddress") + private String recordPeopleAddress; + + /** + * 器械类别(器械或诊断试剂) + */ + @TableField("productType") + private String productType; + + /** + * 器械目录分类编码 + */ + @TableField("productDirectoryCode") + private String productDirectoryCode; + + /** + * 代理人名称 + */ + @TableField("agentName") + private String agentName; + + /** + * 代理人住所地区:省市区 + */ + @TableField("agentArea") + private String agentArea; + + /** + * 代理人住所地区代码 + */ + @TableField("agentAreaCode") + private String agentAreaCode; + + /** + * 代理人住所地址:详细地址 + */ + @TableField("agentAddress") + private String agentAddress; + + /** + * 说明书附件 + */ + @TableField("instructions") + private String instructions; + + /** + * 生产地址 + */ + @TableField("productAddress") + private String productAddress; + + /** + * 注册/备案证电子档案 + */ + @TableField("recordText") + private String recordText; + + /** + * 产地 国产 进口 港澳台 + */ + @TableField("placeOrigin") + private String placeOrigin; + + /** + * 生产国或地区 + */ + @TableField("productionRegion") + private String productionRegion; + + /** + * 生产厂商名称 + */ + @TableField("productionCompanyName") + private String productionCompanyName; + + /** + * 售后服务机构 + */ + @TableField("afterSale") + private String afterSale; + + /** + * 规格型号 + */ + @TableField("specification") + private String specification; + + /** + * 结构及组成 + */ + @TableField("structure") + private String structure; + + /** + * 适用范围 + */ + @TableField("scope") + private String scope; + + /** + * 其它内容 + */ + @TableField("other") + private String other; + + /** + * 注册证/备案凭证电子档 文件地址 + */ + @TableField("filePath") + private String filePath; + + /** + * 生产企业Id + */ + @TableField("manufacturerIdFk") + private String manufacturerIdFk; + + /** + * 往来单位ID + */ + @TableField("customerId") + private String customerId; + + @TableField("auditStatus") + private Integer auditStatus; + + @TableField("auditComment") + private String auditComment; + + @TableField("sptm") + private String sptm; + + @TableField("ybbm") + private String ybbm; + + @TableField("measname") + private String measname; + + @TableField("cpms") + private String cpms; + + /** + * 耗材字典关联主键 + */ + @TableField("relIdFk") + private String relIdFk; + + /** + * 耗材或者设备 + */ + @TableField("hchzsb") + private String hchzsb; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + /** + * 创建人 + */ + @TableField("createUser") + private String createUser; + + /** + * 创建时间 + */ + @TableField("createTime") + private Date createTime; + + /** + * 更新人 + */ + @TableField("updateUser") + private String updateUser; + + /** + * 更新时间 + */ + @TableField("updateTime") + private Date updateTime; + +} diff --git a/src/main/java/com/glxp/api/req/inout/InspectionPDFTemplateRequest.java b/src/main/java/com/glxp/api/req/inout/InspectionPDFTemplateRequest.java new file mode 100644 index 000000000..995ccae27 --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/InspectionPDFTemplateRequest.java @@ -0,0 +1,18 @@ +package com.glxp.api.req.inout; + +import lombok.Data; + +@Data +public class InspectionPDFTemplateRequest { + + private String queryId; + + private String id; + private int type; + private int module; + private String orderId; + private Long customerId; + private int moduleId; + + +} diff --git a/src/main/java/com/glxp/api/req/inout/SystemPDFModuleRequest.java b/src/main/java/com/glxp/api/req/inout/SystemPDFModuleRequest.java new file mode 100644 index 000000000..8a6c00621 --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/SystemPDFModuleRequest.java @@ -0,0 +1,23 @@ +package com.glxp.api.req.inout; + + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +@EqualsAndHashCode(callSuper = true) +@Data +public class SystemPDFModuleRequest extends ListPageRequest { + + private int id; + private String name; + private String param; + private String fieldExplain; + private int templateId; + private String remark; + private Date create_time; + private Integer templateType; + private Date update_time; +} diff --git a/src/main/java/com/glxp/api/req/purchase/CustomerContactFilterRequest.java b/src/main/java/com/glxp/api/req/purchase/CustomerContactFilterRequest.java new file mode 100644 index 000000000..aef21a69a --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/CustomerContactFilterRequest.java @@ -0,0 +1,11 @@ +package com.glxp.api.req.purchase; + + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +@Data +public class CustomerContactFilterRequest extends ListPageRequest { + private Integer customerId; + +} diff --git a/src/main/java/com/glxp/api/req/purchase/FilterCertSetsRequest.java b/src/main/java/com/glxp/api/req/purchase/FilterCertSetsRequest.java new file mode 100644 index 000000000..5a1e558bb --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/FilterCertSetsRequest.java @@ -0,0 +1,17 @@ +package com.glxp.api.req.purchase; + + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +@Data +public class FilterCertSetsRequest extends ListPageRequest { + + private String name; + private Integer type; + private Integer need; + + private String lastUpdateTime; + + +} diff --git a/src/main/java/com/glxp/api/req/purchase/FilterPoductRequest.java b/src/main/java/com/glxp/api/req/purchase/FilterPoductRequest.java new file mode 100644 index 000000000..3101ac03b --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/FilterPoductRequest.java @@ -0,0 +1,22 @@ +package com.glxp.api.req.purchase; + + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +@Data +public class FilterPoductRequest extends ListPageRequest { + + private Long id; + private Long enterpriseId; + private String recordCode; + private String recordProductName; + private String recordPeopleName; + + + private String productId; + private String manufacturerIdFk; + private String customerId; + private Integer auditStatus; + private String lastUpdateTime; +} diff --git a/src/main/java/com/glxp/api/req/purchase/FilterSupCertRequest.java b/src/main/java/com/glxp/api/req/purchase/FilterSupCertRequest.java new file mode 100644 index 000000000..f4d3a28d5 --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/FilterSupCertRequest.java @@ -0,0 +1,19 @@ +package com.glxp.api.req.purchase; + + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +@Data +public class FilterSupCertRequest extends ListPageRequest { + + private String code; + private String customerId; + private String name; + private String manufacturerIdFk; + private String productIdFk; + private Integer auditStatus; + private Integer type; + + private String lastUpdateTime; +} diff --git a/src/main/java/com/glxp/api/req/purchase/FilterSupCompanyRequest.java b/src/main/java/com/glxp/api/req/purchase/FilterSupCompanyRequest.java new file mode 100644 index 000000000..82ebcb91c --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/FilterSupCompanyRequest.java @@ -0,0 +1,19 @@ +package com.glxp.api.req.purchase; + + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.List; + +@Data +public class FilterSupCompanyRequest extends ListPageRequest { + + private String customerId; + private String companyName; + private String creditNum; + private Integer auditStatus; + private String unitIdFk; + private String lastUpdateTime; + private List auditStatusList; +} diff --git a/src/main/java/com/glxp/api/req/purchase/FilterSupManufacturerRequest.java b/src/main/java/com/glxp/api/req/purchase/FilterSupManufacturerRequest.java new file mode 100644 index 000000000..5d3cbc7ac --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/FilterSupManufacturerRequest.java @@ -0,0 +1,19 @@ +package com.glxp.api.req.purchase; + + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +@Data +public class FilterSupManufacturerRequest extends ListPageRequest { + + private Long id; + private String companyName; + private String creditCode; + private String placeArea; + private String customerId; + private Integer auditStatus; + private String manufacturerId; + private Integer type; + private String lastUpdateTime; +} diff --git a/src/main/java/com/glxp/api/req/purchase/PostSelCertRequest.java b/src/main/java/com/glxp/api/req/purchase/PostSelCertRequest.java new file mode 100644 index 000000000..181d306f7 --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/PostSelCertRequest.java @@ -0,0 +1,17 @@ +package com.glxp.api.req.purchase; + +import com.glxp.api.entity.purchase.SupCertSetEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class PostSelCertRequest { + + + private String customerId; + private Integer certType; + private String manufacturerIdFk; + private String productIdFk; + private List supCertSetEntities; +} diff --git a/src/main/java/com/glxp/api/req/purchase/PostSupCertRequest.java b/src/main/java/com/glxp/api/req/purchase/PostSupCertRequest.java new file mode 100644 index 000000000..0e39f1555 --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/PostSupCertRequest.java @@ -0,0 +1,11 @@ +package com.glxp.api.req.purchase; + +import com.glxp.api.entity.purchase.SupCertEntity; +import lombok.Data; + +@Data +public class PostSupCertRequest extends SupCertEntity { + + + private int repeatUpload; +} diff --git a/src/main/java/com/glxp/api/req/purchase/SelectCorpBindRequest.java b/src/main/java/com/glxp/api/req/purchase/SelectCorpBindRequest.java new file mode 100644 index 000000000..3afd9fd99 --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/SelectCorpBindRequest.java @@ -0,0 +1,9 @@ +package com.glxp.api.req.purchase; + +import lombok.Data; + +@Data +public class SelectCorpBindRequest { + + private String customerId; +} diff --git a/src/main/java/com/glxp/api/req/purchase/SelectProductBindRequest.java b/src/main/java/com/glxp/api/req/purchase/SelectProductBindRequest.java new file mode 100644 index 000000000..e576550c6 --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/SelectProductBindRequest.java @@ -0,0 +1,13 @@ +package com.glxp.api.req.purchase; + +import lombok.Data; + +@Data +public class SelectProductBindRequest { + + private String productId; + private String relIdFk; + private String manufacturerId; + private String customerId; + private Integer auditStatus; +} diff --git a/src/main/java/com/glxp/api/req/purchase/purPlanPrintRequest.java b/src/main/java/com/glxp/api/req/purchase/purPlanPrintRequest.java new file mode 100644 index 000000000..467001768 --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/purPlanPrintRequest.java @@ -0,0 +1,33 @@ +package com.glxp.api.req.purchase; + +import lombok.Data; + +import java.util.List; + +/** + * 采购单据打印参数 + */ +@Data +public class purPlanPrintRequest { + + /** + * 打印id + */ + private List ids; + + /** + * 模板ID + */ + private String templateId; + + /** + * 用户id + */ + private String customerId; + + /** + * 采购id + */ + private Long id; + +} diff --git a/src/main/java/com/glxp/api/res/purchase/PurApplyResponse.java b/src/main/java/com/glxp/api/res/purchase/PurApplyResponse.java new file mode 100644 index 000000000..628b47d15 --- /dev/null +++ b/src/main/java/com/glxp/api/res/purchase/PurApplyResponse.java @@ -0,0 +1,84 @@ +package com.glxp.api.res.purchase; + +import lombok.Data; + +import java.util.Date; + +@Data +public class PurApplyResponse { + + + + /** + * + */ + private Integer id; + /** + * 单据号 + */ + private String billNo; + /** + * 单据日期 + */ + private Date billDate; + /** + * 状态(1.草稿,2.未审核,3.已审核) + */ + private int status; + /** + * 申购类型 + */ + private String billType; + /** + * 申购说明 + */ + private String remark; + /** + * 当前仓库 + */ + private String locStorageCode; + /** + * 当前分库 + */ + private String invWarehouseCode; + /** + * 所属部门 + */ + private String deptCode; + /** + * 审核人 + */ + private String auditBy; + /** + * 审核时间 + */ + private Date auditTime; + + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + private Date updateTime; + + + private String createByName; + private String auditByName; + private String invName; + private String subInvName; + private String auditRemark; + + private String targetInv; + private String targetSubInv; + private String targetBillType; + + private String planBillNo; //生成采购计划单据号 + private boolean generatePlan; + private boolean audtoPlan; /// + + private String createUser; + private String updateUser; + +} diff --git a/src/main/java/com/glxp/api/res/purchase/PurPlanResponse.java b/src/main/java/com/glxp/api/res/purchase/PurPlanResponse.java new file mode 100644 index 000000000..e352274da --- /dev/null +++ b/src/main/java/com/glxp/api/res/purchase/PurPlanResponse.java @@ -0,0 +1,79 @@ +package com.glxp.api.res.purchase; + +import lombok.Data; + +import java.util.Date; + +@Data +public class PurPlanResponse { + + /** + * + */ + private Integer id; + /** + * 单据号 + */ + private String billNo; + /** + * 单据日期 + */ + private Date billDate; + /** + * 状态(1.草稿,2.未审核,3.已审核) + */ + private Integer status; + /** + * 申购类型 + */ + private String billType; + /** + * 申购说明 + */ + private String remark; + /** + * 当前仓库 + */ + private String locStorageCode; + /** + * 当前分库 + */ + private String invWarehouseCode; + /** + * 所属部门 + */ + private String deptCode; + /** + * 审核人 + */ + private String auditBy; + /** + * 审核时间 + */ + private Date auditTime; + + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + private Date updateTime; + + private String createByName; + private String auditByName; + private String invName; + private String subInvName; + private String auditRemark; + + private String applyCreateBy; //申购人 + private String applyAuditBy; //申购审核人 + private String applyRemark; //申购说明 + private String applyBillNo; //申购单据号,多单以逗号隔开 + + private String stockOrderNo; + + private String createUser; + private String updateUser; +} diff --git a/src/main/java/com/glxp/api/res/purchase/SupProductResponse.java b/src/main/java/com/glxp/api/res/purchase/SupProductResponse.java new file mode 100644 index 000000000..7f362ebbf --- /dev/null +++ b/src/main/java/com/glxp/api/res/purchase/SupProductResponse.java @@ -0,0 +1,19 @@ +package com.glxp.api.res.purchase; + +import com.glxp.api.entity.purchase.SupProductEntity; +import lombok.Data; + +import java.util.Date; + +@Data +public class SupProductResponse extends SupProductEntity { + + + private String supName; + private String manufacturerName; + private String createUser; + private Date createTime; + private String updateUser; + private Date updateTime; + private String remark; +} diff --git a/src/main/java/com/glxp/api/service/purchase/CustomerContactService.java b/src/main/java/com/glxp/api/service/purchase/CustomerContactService.java new file mode 100644 index 000000000..d502f8d70 --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/CustomerContactService.java @@ -0,0 +1,25 @@ +package com.glxp.api.service.purchase; + + + + +import com.glxp.api.entity.purchase.CustomerContactEntity; +import com.glxp.api.req.purchase.CustomerContactFilterRequest; +import com.glxp.api.req.system.DeleteRequest; + +import java.util.List; + +public interface CustomerContactService { + + List filterCustomerContact(CustomerContactFilterRequest userResisterFilterRequest); + + boolean insertCustomerContact(CustomerContactEntity customerContactEntity); + + boolean updateCustomerContact(CustomerContactEntity customerContactEntity); + + boolean deleteById(String id); + + boolean deleteContact(DeleteRequest deleteRequest); + + CustomerContactEntity selectById(Long emailId); +} diff --git a/src/main/java/com/glxp/api/service/purchase/SupCertService.java b/src/main/java/com/glxp/api/service/purchase/SupCertService.java new file mode 100644 index 000000000..c6d1f9378 --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/SupCertService.java @@ -0,0 +1,48 @@ +package com.glxp.api.service.purchase; + + + + +import com.glxp.api.entity.purchase.SupCertEntity; +import com.glxp.api.req.purchase.FilterSupCertRequest; +import com.glxp.api.req.purchase.purPlanPrintRequest; + +import java.util.List; + +public interface SupCertService { + + List filterCompanyCert(FilterSupCertRequest filterSupCertRequest); + + SupCertEntity findCompanyCertByName(String name); + + List findAll(String customerId); + + List findAll(String customerId, String manufacturerId); + + List findAll(String customerId, String manufacturerId, String productId); + + + List getCompanyCert(FilterSupCertRequest filterSupCertRequest); + + boolean updateCompanyCert(SupCertEntity supCertEntity); + + boolean updateCustomerId(String oldId, String newId,Integer auditStatus); + + boolean updateManufacturerId(String oldCustomerId, String newCustomerId, String oldManufacturerIdFk, String newManufacturerIdFk); + + boolean updateProductId(String oldCustomerId, String newCustomerId, String oldManufacturerIdFk, String newManufacturerIdFk, String oldProductIdFk, String newProductIdFk); + + boolean insertCompanyCert(SupCertEntity supCertEntity); + + boolean deleteById(String id); + + boolean deleteByCustomerId(String customerId); + + boolean delManufacturerId(String customerId, String manufacturerId); + + boolean delProductId(String customerId, String manufacturerId, String productId); + + List selectSupCertList(purPlanPrintRequest purPlanPrintRequest); + + +} diff --git a/src/main/java/com/glxp/api/service/purchase/SupCertSetService.java b/src/main/java/com/glxp/api/service/purchase/SupCertSetService.java new file mode 100644 index 000000000..30d345d3f --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/SupCertSetService.java @@ -0,0 +1,25 @@ +package com.glxp.api.service.purchase; + + + + +import com.glxp.api.entity.purchase.SupCertSetEntity; +import com.glxp.api.req.purchase.FilterCertSetsRequest; + +import java.util.List; + +public interface SupCertSetService { + + + List filterCertSets(FilterCertSetsRequest filterCertSetsRequest); + + boolean updateCertSet(SupCertSetEntity supCertSetEntity); + + boolean insertCertSet(SupCertSetEntity supCertSetEntity); + + boolean deleteById(String id); + + boolean deleteAll(); + + +} diff --git a/src/main/java/com/glxp/api/service/purchase/SupCompanyService.java b/src/main/java/com/glxp/api/service/purchase/SupCompanyService.java new file mode 100644 index 000000000..7f5ba1f5d --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/SupCompanyService.java @@ -0,0 +1,29 @@ +package com.glxp.api.service.purchase; + + + +import com.glxp.api.entity.purchase.SupCompanyEntity; +import com.glxp.api.req.purchase.FilterSupCompanyRequest; + +import java.util.List; + +public interface SupCompanyService { + + SupCompanyEntity findCompanyByUnitFk(String unitFk); + + List filterCompany(FilterSupCompanyRequest companyRequest); + + SupCompanyEntity findCompany(String CustomerId); + + List getSubCompany(FilterSupCompanyRequest commitRequest); + + List getSubCompany2(FilterSupCompanyRequest commitRequest); + + SupCompanyEntity findCompanyByName(String companyName); + + boolean modifyCompany(SupCompanyEntity companyEntity); + + boolean insertCompany(SupCompanyEntity companyEntity); + + boolean deleteCompany(String customerId); +} diff --git a/src/main/java/com/glxp/api/service/purchase/SupManufacturerService.java b/src/main/java/com/glxp/api/service/purchase/SupManufacturerService.java new file mode 100644 index 000000000..e868eb176 --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/SupManufacturerService.java @@ -0,0 +1,31 @@ +package com.glxp.api.service.purchase; + + + + +import com.glxp.api.entity.purchase.SupManufacturerEntity; +import com.glxp.api.req.purchase.FilterSupManufacturerRequest; + +import java.util.List; + +public interface SupManufacturerService { + + SupManufacturerEntity findCompany(Long id); + + SupManufacturerEntity findManufacturer(String manufacturerId); + + + SupManufacturerEntity findCompanyByName(String companyName); + + List getCompany(FilterSupManufacturerRequest filterSupManufacturerRequest); + + boolean modifyCompany(SupManufacturerEntity supManufacturerEntity); + + boolean insertCompany(SupManufacturerEntity supManufacturerEntity); + + boolean deleteById(String id); + + List getCompanyByNameAndCode(FilterSupManufacturerRequest filterSupManufacturerRequest); + + +} diff --git a/src/main/java/com/glxp/api/service/purchase/SupProductService.java b/src/main/java/com/glxp/api/service/purchase/SupProductService.java new file mode 100644 index 000000000..461e5a72c --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/SupProductService.java @@ -0,0 +1,34 @@ +package com.glxp.api.service.purchase; + + +import com.glxp.api.entity.purchase.SupProductEntity; +import com.glxp.api.req.purchase.FilterPoductRequest; +import com.glxp.api.res.purchase.SupProductResponse; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface SupProductService { + + SupProductEntity findRegistration(Long id); + + SupProductResponse findByProductId(String productId); + + SupProductResponse findByPassByReCert(String registerCert); + + SupProductResponse findJoinRegistration(Long id); + + SupProductEntity findRegistrationByName(String recordProductName); + + List getRegistration(FilterPoductRequest filterPoductRequest); + + List filterProducts(FilterPoductRequest filterPoductRequest); + + boolean modifyRegistration(SupProductEntity supProductEntity); + + boolean insertRegistration(SupProductEntity supProductEntity); + + boolean deleteById(@Param("id") String id); + + boolean deleteByEnterpriseId(@Param("enterpriseId") String enterpriseId); +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/service/purchase/impl/CustomerContactServiceImpl.java b/src/main/java/com/glxp/api/service/purchase/impl/CustomerContactServiceImpl.java new file mode 100644 index 000000000..1563636c7 --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/impl/CustomerContactServiceImpl.java @@ -0,0 +1,57 @@ +package com.glxp.api.service.purchase.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.purchase.CustomerContacDao; +import com.glxp.api.entity.purchase.CustomerContactEntity; +import com.glxp.api.req.purchase.CustomerContactFilterRequest; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.service.purchase.CustomerContactService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class CustomerContactServiceImpl implements CustomerContactService { + + + @Resource + private CustomerContacDao customerContacDao; + + @Override + public List filterCustomerContact(CustomerContactFilterRequest customerContactFilterRequest) { + if (customerContactFilterRequest == null) { + return Collections.emptyList(); + } + int offset = (customerContactFilterRequest.getPage() - 1) * customerContactFilterRequest.getLimit(); + PageHelper.offsetPage(offset, customerContactFilterRequest.getLimit()); + return customerContacDao.filterCustomerContact(customerContactFilterRequest); + } + + @Override + public boolean insertCustomerContact(CustomerContactEntity customerContactEntity) { + return customerContacDao.insertCustomerContact(customerContactEntity); + } + + @Override + public boolean updateCustomerContact(CustomerContactEntity customerContactEntity) { + return customerContacDao.updateCustomerContact(customerContactEntity); + } + + @Override + public boolean deleteById(String id) { + return customerContacDao.deleteById(id); + } + + @Override + public boolean deleteContact(DeleteRequest deleteRequest) { + return customerContacDao.deleteContact(deleteRequest); + } + + + @Override + public CustomerContactEntity selectById(Long emailId) { + return customerContacDao.selectById(emailId); + } +} diff --git a/src/main/java/com/glxp/api/service/purchase/impl/SupCertServiceImpl.java b/src/main/java/com/glxp/api/service/purchase/impl/SupCertServiceImpl.java new file mode 100644 index 000000000..4a28f6f86 --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/impl/SupCertServiceImpl.java @@ -0,0 +1,160 @@ +package com.glxp.api.service.purchase.impl; + +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.constant.ConstantStatus; +import com.glxp.api.dao.purchase.SupCertDao; +import com.glxp.api.entity.purchase.SupCertEntity; +import com.glxp.api.req.purchase.FilterSupCertRequest; +import com.glxp.api.req.purchase.purPlanPrintRequest; +import com.glxp.api.service.purchase.SupCertService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class SupCertServiceImpl implements SupCertService { + + @Resource + SupCertDao supCertDao; + + @Override + public List filterCompanyCert(FilterSupCertRequest filterSupCertRequest) { + if (filterSupCertRequest == null) { + return Collections.emptyList(); + } + if (filterSupCertRequest.getPage() != null) { + int offset = (filterSupCertRequest.getPage() - 1) * filterSupCertRequest.getLimit(); + PageHelper.offsetPage(offset, filterSupCertRequest.getLimit()); + } + return supCertDao.filterCompanyCert(filterSupCertRequest); + } + + + @Override + public List getCompanyCert(FilterSupCertRequest filterSupCertRequest) { + if (filterSupCertRequest == null) { + return Collections.emptyList(); + } + if (filterSupCertRequest.getPage() != null) { + int offset = (filterSupCertRequest.getPage() - 1) * filterSupCertRequest.getLimit(); + PageHelper.offsetPage(offset, filterSupCertRequest.getLimit()); + } + + List companyEntities = supCertDao.getCompanyCert(filterSupCertRequest); + return companyEntities; + } + + @Override + public SupCertEntity findCompanyCertByName(String companyName) { + return supCertDao.findCompanyCertByName(companyName); + } + + @Override + public List findAll(String customerId) { + if (StrUtil.isEmpty(customerId)) + return null; + FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); + filterSupCertRequest.setCustomerId(customerId); + filterSupCertRequest.setType(ConstantStatus.CERT_COMPANY); + List supCertEntityList = supCertDao.filterCompanyCert(filterSupCertRequest); + return supCertEntityList; + } + + @Override + public List findAll(String customerId, String manufacturerId) { + if (StrUtil.isEmpty(customerId) || StrUtil.isEmpty(manufacturerId)) + return null; + FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); + filterSupCertRequest.setCustomerId(customerId); + filterSupCertRequest.setManufacturerIdFk(manufacturerId); + filterSupCertRequest.setType(ConstantStatus.CERT_MANUFACTURER); + List supCertEntityList = supCertDao.filterCompanyCert(filterSupCertRequest); + return supCertEntityList; + } + + @Override + public List findAll(String customerId, String manufacturerId, String productId) { + if (StrUtil.isEmpty(customerId) || StrUtil.isEmpty(manufacturerId) || StrUtil.isEmpty(productId)) + return null; + FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); + filterSupCertRequest.setCustomerId(customerId); + filterSupCertRequest.setManufacturerIdFk(manufacturerId); + filterSupCertRequest.setProductIdFk(productId); + filterSupCertRequest.setType(ConstantStatus.CERT_PRODUCT); + List supCertEntityList = supCertDao.filterCompanyCert(filterSupCertRequest); + return supCertEntityList; + } + + + @Override + public boolean updateCompanyCert(SupCertEntity supCertEntity) { + return supCertDao.updateCompanyCert(supCertEntity); + } + + @Override + public boolean updateCustomerId(String oldId, String newId,Integer auditStatus) { + return supCertDao.updateCustomerId(oldId, newId,auditStatus); + } + + @Override + public boolean updateManufacturerId(String oldCustomerId, String newCustomerId, String oldManufacturerIdFk, String newManufacturerIdFk) { + return supCertDao.updateManufacturerId(oldCustomerId, newCustomerId, oldManufacturerIdFk, newManufacturerIdFk); + } + + @Override + public boolean updateProductId(String oldCustomerId, String newCustomerId, String oldManufacturerIdFk, String newManufacturerIdFk, String oldProductIdFk, String newProductIdFk) { + return supCertDao.updateProductId(oldCustomerId, newCustomerId, oldManufacturerIdFk, newManufacturerIdFk, oldProductIdFk, newProductIdFk); + } + + @Override + public boolean insertCompanyCert(SupCertEntity supCertEntity) { + return supCertDao.insertCompanyCert(supCertEntity); + } + + @Override + public boolean deleteById(String id) { + return supCertDao.deleteById(id); + } + + @Override + public boolean deleteByCustomerId(String customerId) { + + if (StrUtil.isNotEmpty(customerId)) { + FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); + filterSupCertRequest.setCustomerId(customerId); + return supCertDao.deleteCert(filterSupCertRequest); + } + return false; + } + + @Override + public boolean delManufacturerId(String customerId, String manufacturerId) { + if (StrUtil.isNotEmpty(customerId) && StrUtil.isNotEmpty(manufacturerId)) { + FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); + filterSupCertRequest.setCustomerId(customerId); + filterSupCertRequest.setManufacturerIdFk(manufacturerId); + return supCertDao.deleteCert(filterSupCertRequest); + } + return false; + } + + @Override + public boolean delProductId(String customerId, String manufacturerId, String productId) { + if (StrUtil.isNotEmpty(customerId) && StrUtil.isNotEmpty(manufacturerId) && StrUtil.isNotEmpty(productId)) { + FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); + filterSupCertRequest.setCustomerId(customerId); + filterSupCertRequest.setManufacturerIdFk(manufacturerId); + filterSupCertRequest.setProductIdFk(productId); + return supCertDao.deleteCert(filterSupCertRequest); + } + return false; + } + + @Override + public List selectSupCertList(purPlanPrintRequest purPlanPrintRequest) { + return supCertDao.selectSupCertList(purPlanPrintRequest); + } +} diff --git a/src/main/java/com/glxp/api/service/purchase/impl/SupCertSetServiceImpl.java b/src/main/java/com/glxp/api/service/purchase/impl/SupCertSetServiceImpl.java new file mode 100644 index 000000000..cff03141c --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/impl/SupCertSetServiceImpl.java @@ -0,0 +1,54 @@ +package com.glxp.api.service.purchase.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.purchase.SupCertSetDao; +import com.glxp.api.entity.purchase.SupCertSetEntity; +import com.glxp.api.req.purchase.FilterCertSetsRequest; +import com.glxp.api.service.purchase.SupCertSetService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class SupCertSetServiceImpl implements SupCertSetService { + + @Resource + SupCertSetDao supCertSetDao; + + @Override + public List filterCertSets(FilterCertSetsRequest filterCertSetsRequest) { + + if (filterCertSetsRequest == null) { + return Collections.emptyList(); + } + if (filterCertSetsRequest.getPage() != null) { + int offset = (filterCertSetsRequest.getPage() - 1) * filterCertSetsRequest.getLimit(); + PageHelper.offsetPage(offset, filterCertSetsRequest.getLimit()); + } + return supCertSetDao.filterCertSets(filterCertSetsRequest); + + } + + @Override + public boolean updateCertSet(SupCertSetEntity supCertSetEntity) { + return supCertSetDao.updateCertSet(supCertSetEntity); + } + + @Override + public boolean insertCertSet(SupCertSetEntity supCertSetEntity) { + return supCertSetDao.insertCertSet(supCertSetEntity); + } + + @Override + public boolean deleteById(String id) { + return supCertSetDao.deleteById(id); + } + + @Override + public boolean deleteAll() { + return supCertSetDao.deleteAll(); + } + +} diff --git a/src/main/java/com/glxp/api/service/purchase/impl/SupCompanyServiceImpl.java b/src/main/java/com/glxp/api/service/purchase/impl/SupCompanyServiceImpl.java new file mode 100644 index 000000000..60e196247 --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/impl/SupCompanyServiceImpl.java @@ -0,0 +1,86 @@ +package com.glxp.api.service.purchase.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.purchase.SupCompanyDao; +import com.glxp.api.entity.purchase.SupCompanyEntity; +import com.glxp.api.req.purchase.FilterSupCompanyRequest; +import com.glxp.api.service.purchase.SupCompanyService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class SupCompanyServiceImpl implements SupCompanyService { + + @Resource + SupCompanyDao supCompanyDao; + + @Override + public SupCompanyEntity findCompanyByUnitFk(String unitFk) { + FilterSupCompanyRequest filterSupCompanyRequest = new FilterSupCompanyRequest(); + filterSupCompanyRequest.setUnitIdFk(unitFk); + List companyEntities = supCompanyDao.filterCompany(filterSupCompanyRequest); + if (companyEntities != null && companyEntities.size() > 0) { + return companyEntities.get(0); + } + return null; + } + + @Override + public List filterCompany(FilterSupCompanyRequest companyRequest) { + return supCompanyDao.filterCompany(companyRequest); + } + + @Override + public SupCompanyEntity findCompany(String CustomerId) { + return supCompanyDao.findCompany(CustomerId); + } + + @Override + public List getSubCompany(FilterSupCompanyRequest commitRequest) { + if (commitRequest == null) { + return Collections.emptyList(); + } + if (commitRequest.getPage() != null) { + int offset = (commitRequest.getPage() - 1) * commitRequest.getLimit(); + PageHelper.offsetPage(offset, commitRequest.getLimit()); + } + + List companyEntities = supCompanyDao.getSubCompany(commitRequest); + return companyEntities; + } + + @Override + public List getSubCompany2(FilterSupCompanyRequest commitRequest) { + if (commitRequest == null) { + return Collections.emptyList(); + } + int offset = (commitRequest.getPage() - 1) * commitRequest.getLimit(); + PageHelper.offsetPage(offset, commitRequest.getLimit()); + List companyEntities = supCompanyDao.getSubCompany2(commitRequest); + return companyEntities; + } + + @Override + public SupCompanyEntity findCompanyByName(String companyName) { + return supCompanyDao.findCompanyByName(companyName); + } + + @Override + public boolean modifyCompany(SupCompanyEntity companyEntity) { + return supCompanyDao.modifyCompany(companyEntity); + } + + @Override + public boolean insertCompany(SupCompanyEntity companyEntity) { + return supCompanyDao.insertCompany(companyEntity); + } + + + @Override + public boolean deleteCompany(String customerId) { + return supCompanyDao.deleteCompany(customerId); + } +} diff --git a/src/main/java/com/glxp/api/service/purchase/impl/SupManufacturerServiceImpl.java b/src/main/java/com/glxp/api/service/purchase/impl/SupManufacturerServiceImpl.java new file mode 100644 index 000000000..3d1bcce57 --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/impl/SupManufacturerServiceImpl.java @@ -0,0 +1,80 @@ +package com.glxp.api.service.purchase.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.purchase.SupManufacturerDao; +import com.glxp.api.entity.purchase.SupManufacturerEntity; +import com.glxp.api.req.purchase.FilterSupManufacturerRequest; +import com.glxp.api.service.purchase.SupManufacturerService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class SupManufacturerServiceImpl implements SupManufacturerService { + + @Resource + SupManufacturerDao supManufacturerDao; + + @Override + public SupManufacturerEntity findCompany(Long id) { + return supManufacturerDao.findCompany(id); + } + + @Override + public SupManufacturerEntity findCompanyByName(String companyName) { + return supManufacturerDao.findCompanyByName(companyName); + } + + @Override + public SupManufacturerEntity findManufacturer(String manufacturerId) { + + if (StrUtil.isEmpty(manufacturerId)) { + return null; + } + FilterSupManufacturerRequest filterSupManufacturerRequest = new FilterSupManufacturerRequest(); + filterSupManufacturerRequest.setManufacturerId(manufacturerId); + List companyEntities = supManufacturerDao.getCompany(filterSupManufacturerRequest); + if (CollUtil.isNotEmpty(companyEntities)) { + return companyEntities.get(0); + } + return null; + } + + @Override + public List getCompany(FilterSupManufacturerRequest filterSupManufacturerRequest) { + if (filterSupManufacturerRequest == null) { + return Collections.emptyList(); + } + if (filterSupManufacturerRequest.getPage() != null) { + int offset = (filterSupManufacturerRequest.getPage() - 1) * filterSupManufacturerRequest.getLimit(); + PageHelper.offsetPage(offset, filterSupManufacturerRequest.getLimit()); + } + + List companyEntities = supManufacturerDao.getCompany(filterSupManufacturerRequest); + return companyEntities; + } + + @Override + public boolean modifyCompany(SupManufacturerEntity companyEntity) { + return supManufacturerDao.modifyCompany(companyEntity); + } + + @Override + public boolean insertCompany(SupManufacturerEntity companyEntity) { + return supManufacturerDao.insertCompany(companyEntity); + } + + @Override + public boolean deleteById(String id) { + return supManufacturerDao.deleteById(id); + } + + @Override + public List getCompanyByNameAndCode(FilterSupManufacturerRequest filterSupManufacturerRequest) { + return supManufacturerDao.getCompanyByNameAndCode(filterSupManufacturerRequest); + } +} diff --git a/src/main/java/com/glxp/api/service/purchase/impl/SupProductServiceImpl.java b/src/main/java/com/glxp/api/service/purchase/impl/SupProductServiceImpl.java new file mode 100644 index 000000000..4ee740a6b --- /dev/null +++ b/src/main/java/com/glxp/api/service/purchase/impl/SupProductServiceImpl.java @@ -0,0 +1,120 @@ +package com.glxp.api.service.purchase.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.constant.ConstantStatus; +import com.glxp.api.dao.purchase.SupProductDao; +import com.glxp.api.entity.purchase.SupProductEntity; +import com.glxp.api.req.purchase.FilterPoductRequest; +import com.glxp.api.res.purchase.SupProductResponse; +import com.glxp.api.service.purchase.SupProductService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class SupProductServiceImpl implements SupProductService { + + @Resource + SupProductDao supProductDao; + + @Override + public SupProductEntity findRegistration(Long id) { + return supProductDao.findRegistration(id); + } + + @Override + public SupProductResponse findJoinRegistration(Long id) { + if (id == null) + return null; + FilterPoductRequest filterPoductRequest = new FilterPoductRequest(); + filterPoductRequest.setId(id); + List companyEntities = supProductDao.getRegistration(filterPoductRequest); + if (CollUtil.isNotEmpty(companyEntities)) + return companyEntities.get(0); + + return null; + } + + @Override + public SupProductResponse findByPassByReCert(String registerCert) { + if (StrUtil.isEmpty(registerCert)) + return null; + FilterPoductRequest filterPoductRequest = new FilterPoductRequest(); + filterPoductRequest.setRecordCode(registerCert); + filterPoductRequest.setAuditStatus(ConstantStatus.AUDIT_PASS); + List supProductEntities = supProductDao.getRegistration(filterPoductRequest); + if (CollUtil.isNotEmpty(supProductEntities)) + return supProductEntities.get(0); + + return null; + } + + @Override + public SupProductResponse findByProductId(String productId) { + + if (StrUtil.isEmpty(productId)) { + return null; + } + FilterPoductRequest filterPoductRequest = new FilterPoductRequest(); + filterPoductRequest.setProductId(productId); + List supProductEntities = supProductDao.getRegistration(filterPoductRequest); + if (CollUtil.isNotEmpty(supProductEntities)) + return supProductEntities.get(0); + return null; + } + + @Override + public SupProductEntity findRegistrationByName(String recordProductName) { + return supProductDao.findRegistrationByName(recordProductName); + } + + @Override + public List getRegistration(FilterPoductRequest filterPoductRequest) { + if (filterPoductRequest == null) { + return Collections.emptyList(); + } + if (filterPoductRequest.getPage() != null) { + int offset = (filterPoductRequest.getPage() - 1) * filterPoductRequest.getLimit(); + PageHelper.offsetPage(offset, filterPoductRequest.getLimit()); + } + List companyEntities = supProductDao.getRegistration(filterPoductRequest); + return companyEntities; + } + + @Override + public List filterProducts(FilterPoductRequest filterPoductRequest) { + if (filterPoductRequest == null) { + return Collections.emptyList(); + } + if (filterPoductRequest.getPage() != null) { + int offset = (filterPoductRequest.getPage() - 1) * filterPoductRequest.getLimit(); + PageHelper.offsetPage(offset, filterPoductRequest.getLimit()); + } + List supProductEntities = supProductDao.filterProducts(filterPoductRequest); + return supProductEntities; + } + + @Override + public boolean modifyRegistration(SupProductEntity companyEntity) { + return supProductDao.modifyRegistration(companyEntity); + } + + @Override + public boolean insertRegistration(SupProductEntity companyEntity) { + return supProductDao.insertRegistration(companyEntity); + } + + @Override + public boolean deleteById(String id) { + return supProductDao.deleteById(id); + } + + @Override + public boolean deleteByEnterpriseId(String enterpriseId) { + return supProductDao.deleteByEnterpriseId(enterpriseId); + } +} diff --git a/src/main/resources/mybatis/mapper/purchase/CustomerContactDao.xml b/src/main/resources/mybatis/mapper/purchase/CustomerContactDao.xml new file mode 100644 index 000000000..c5cd2872b --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/CustomerContactDao.xml @@ -0,0 +1,62 @@ + + + + + + + + + + INSERT INTO customer_contact + (customerId, contacts, + mobile, tel, email, + comments) + values (#{customerId}, #{contacts}, + #{mobile}, #{tel}, #{email}, + #{comments}) + + + + UPDATE customer_contact + + contacts=#{contacts}, + mobile=#{mobile}, + tel=#{tel}, + email=#{email}, + comments=#{comments}, + + WHERE customerId=#{customerId} + + + + delete + from customer_contact + where customerId = #{customerId} + + + delete + from customer_contact + where customerId = #{customerId} + + + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/purchase/SupCertDao.xml b/src/main/resources/mybatis/mapper/purchase/SupCertDao.xml new file mode 100644 index 000000000..b7eb1c4fe --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/SupCertDao.xml @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + UPDATE sup_cert + + name=#{name}, + customerId=#{customerId}, + filePath=#{filePath}, + remark=#{remark}, + createTime=#{createTime}, + updateTime=#{updateTime}, + vailDate=#{vailDate}, + expireDate=#{expireDate}, + `type`=#{type}, + `manufacturerIdFk`=#{manufacturerIdFk}, + `productIdFk`=#{productIdFk}, + `code`=#{code}, + `auditStatus`=#{auditStatus}, + `auditComment`=#{auditComment}, + `status`=#{status}, + + + WHERE id = #{id} + + + + UPDATE sup_cert + set customerId = #{newId} + + ,auditStatus = #{auditStatus} + + WHERE customerId = #{oldId} + + + + + + UPDATE sup_cert + set customerId = #{newCustomerId} + , manufacturerIdFk = #{newManufacturerIdFk} + WHERE customerId = #{oldCustomerId} + and manufacturerIdFk = #{oldManufacturerIdFk} + + + + + UPDATE sup_cert + set customerId = #{newCustomerId} + , manufacturerIdFk = #{newManufacturerIdFk} + , productIdFk = #{newProductIdFk} + WHERE customerId = #{oldCustomerId} + and manufacturerIdFk = #{oldManufacturerIdFk} + and productIdFk = #{oldProductIdFk} + + + + + INSERT INTO sup_cert( `name`, customerId, filePath, remark, createTime, updateTime + , vailDate, expireDate, `type`, manufacturerIdFk, productIdFk, code, auditStatus + , auditComment, status) + values (#{name}, + #{customerId}, + #{filePath}, + #{remark}, + #{createTime}, + #{updateTime}, + #{vailDate}, + #{expireDate}, + #{type}, #{manufacturerIdFk}, #{productIdFk}, #{code}, #{auditStatus}, #{auditComment}, #{status}) + + + + DELETE + FROM sup_cert + WHERE id = #{id} + + + + + DELETE + FROM sup_cert + + + and customerId = #{customerId} + + + and manufacturerIdFk = #{manufacturerIdFk} + + + and productIdFk = #{productIdFk} + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/purchase/SupCertSetDao.xml b/src/main/resources/mybatis/mapper/purchase/SupCertSetDao.xml new file mode 100644 index 000000000..86803735c --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/SupCertSetDao.xml @@ -0,0 +1,71 @@ + + + + + + + + + + DELETE + FROM sup_cert_set + WHERE id = #{id} + + + + + UPDATE sup_cert_set + + name=#{name}, + `need`=#{need}, + `foreign`=#{foreign}, + remark=#{remark}, + cplx=#{cplx}, + updateTime=#{updateTime}, + hchzsb=#{hchzsb}, + flbm=#{flbm}, + `imports`=#{imports}, + `type`=#{type}, + + WHERE id = #{id} + + + + + INSERT INTO sup_cert_set(`name`, `need`, `foreign`, remark, cplx, updateTime, hchzsb, flbm, imports, `type`) + values (#{name}, + #{need}, + #{foreign}, + #{remark}, + #{cplx}, + #{updateTime}, + #{hchzsb}, + #{flbm}, + #{imports}, #{type}) + + + + DELETE + FROM sup_cert_set + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/purchase/SupCompanyDao.xml b/src/main/resources/mybatis/mapper/purchase/SupCompanyDao.xml new file mode 100644 index 000000000..b20dd41dc --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/SupCompanyDao.xml @@ -0,0 +1,183 @@ + + + + + + + + + + + + delete + from sup_company + where customerId = #{customerId} + + + + + + + + + + + UPDATE sup_company + + companyName=#{companyName}, + bussinessStatus=#{bussinessStatus}, + creditNum=#{creditNum}, + classes=#{classes}, + area=#{area}, + detailAddr=#{detailAddr}, + appId=#{appId}, + appSecret=#{appSecret}, + contacts=#{contacts}, + mobile=#{mobile}, + tel=#{tel}, + email=#{email}, + areaCode=#{areaCode}, + auditStatus=#{auditStatus}, + createTime=#{createTime}, + createBy=#{createBy}, + updateTime=#{updateTime}, + auditTime=#{auditTime}, + auditComment=#{auditComment}, + editStatus=#{editStatus}, + + + WHERE customerId=#{customerId} + + + + + + replace INTO sup_company(companyName, bussinessStatus, creditNum, classes, area, + detailAddr, appId, appSecret, contacts, mobile, tel, email, customerId, areaCode, + auditStatus, unitIdFk, createTime, createBy, updateTime, auditTime, auditComment, + editStatus) + values (#{companyName}, + #{bussinessStatus}, + #{creditNum}, + #{classes}, + #{area}, + #{detailAddr}, + #{appId}, + #{appSecret}, + #{contacts}, + #{mobile}, + #{tel}, + #{email}, + #{customerId}, + #{areaCode}, + #{auditStatus}, + #{unitIdFk}, + #{createTime}, + #{createBy}, + #{updateTime}, + #{auditTime}, #{auditComment}, #{editStatus}) + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/purchase/SupManufacturerDao.xml b/src/main/resources/mybatis/mapper/purchase/SupManufacturerDao.xml new file mode 100644 index 000000000..5f0038e05 --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/SupManufacturerDao.xml @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + UPDATE sup_manufacturer + + companyName=#{companyName}, + creditCode=#{creditCode}, + companyType=#{companyType}, + placeArea=#{placeArea}, + placeAreaCode=#{placeAreaCode}, + placeAddress=#{placeAddress}, + legalPersonName=#{legalPersonName}, + legalPersonPapersType=#{legalPersonPapersType}, + legalPersonPapersCode=#{legalPersonPapersCode}, + productionArea=#{productionArea}, + productionAreaCode=#{productionAreaCode}, + productionAddress=#{productionAddress}, + registerStatus=#{registerStatus}, + productionLicenceNum=#{productionLicenceNum}, + productionLicenceDate=#{productionLicenceDate}, + productionRecordNum=#{productionRecordNum}, + productionRecordSection=#{productionRecordSection}, + productionRecordDate=#{productionRecordDate}, + remark=#{remark}, + createTime=#{createTime}, + updateTime=#{updateTime}, + customerId=#{customerId}, + manufacturerId=#{manufacturerId}, + auditStatus=#{auditStatus}, + auditComment=#{auditComment}, + + + + WHERE id=#{id} + + + + + replace INTO sup_manufacturer(companyName, creditCode, companyType, + placeArea, placeAreaCode, placeAddress, + legalPersonName, legalPersonPapersType, legalPersonPapersCode, + productionArea, productionAreaCode, productionAddress, + registerStatus, productionLicenceNum, productionLicenceDate, + productionRecordNum, productionRecordSection, productionRecordDate, + remark, createTime, updateTime, customerId, manufacturerId, + auditStatus, auditComment) + values (#{companyName}, #{creditCode}, #{companyType}, + #{placeArea}, #{placeAreaCode}, #{placeAddress}, + #{legalPersonName}, #{legalPersonPapersType}, #{legalPersonPapersCode}, + #{productionArea}, #{productionAreaCode}, #{productionAddress}, + #{registerStatus}, #{productionLicenceNum}, #{productionLicenceDate}, + #{productionRecordNum}, #{productionRecordSection}, #{productionRecordDate}, + #{remark}, #{createTime}, #{updateTime}, #{customerId}, #{manufacturerId}, #{auditStatus}, + #{auditComment}) + + + + DELETE + FROM sup_manufacturer + WHERE id = #{id} + + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/purchase/SupProductDao.xml b/src/main/resources/mybatis/mapper/purchase/SupProductDao.xml new file mode 100644 index 000000000..133d9bbb8 --- /dev/null +++ b/src/main/resources/mybatis/mapper/purchase/SupProductDao.xml @@ -0,0 +1,241 @@ + + + + + + + + + + + + + + + + + UPDATE sup_product + + enterpriseId=#{enterpriseId}, + recordCode=#{recordCode}, + recordProductName=#{recordProductName}, + productManageType=#{productManageType}, + recordPeopleName=#{recordPeopleName}, + recordPeopleArea=#{recordPeopleArea}, + recordPeopleAreaCode=#{recordPeopleAreaCode}, + recordPeopleAddress=#{recordPeopleAddress}, + productType=#{productType}, + productDirectoryCode=#{productDirectoryCode}, + agentName=#{agentName}, + agentArea=#{agentArea}, + agentAreaCode=#{agentAreaCode}, + agentAddress=#{agentAddress}, + instructions=#{instructions}, + productAddress=#{productAddress}, + recordText=#{recordText}, + placeOrigin=#{placeOrigin}, + productionRegion=#{productionRegion}, + productionCompanyName=#{productionCompanyName}, + afterSale=#{afterSale}, + specification=#{specification}, + structure=#{structure}, + scope=#{scope}, + other=#{other}, + filePath=#{filePath}, + remark=#{remark}, + createTime=#{createTime}, + updateTime=#{updateTime}, + manufacturerIdFk=#{manufacturerIdFk}, + customerId=#{customerId}, + productId=#{productId}, + auditStatus=#{auditStatus}, + auditComment=#{auditComment}, + sptm=#{sptm}, + ybbm=#{ybbm}, + measname=#{measname}, + cpms=#{cpms}, + hchzsb=#{hchzsb}, + relIdFk=#{relIdFk}, + + + + WHERE id=#{id} + + + + + replace + INTO sup_product(enterpriseId, recordCode, recordProductName, + productManageType, recordPeopleName, recordPeopleArea, + recordPeopleAreaCode, recordPeopleAddress, productType, + productDirectoryCode, agentName, agentArea, + agentAreaCode, agentAddress, instructions, + productAddress, recordText, placeOrigin, + productionRegion, productionCompanyName, afterSale, + specification, structure, `scope`, + other, filePath, remark, + createTime, updateTime, manufacturerIdFk, customerId, productId + , auditStatus, auditComment, sptm, ybbm, measname, cpms, hchzsb) + values ( + #{enterpriseId}, + #{recordCode}, + #{recordProductName}, + #{productManageType}, + #{recordPeopleName}, + #{recordPeopleArea}, + #{recordPeopleAreaCode}, + #{recordPeopleAddress}, + #{productType}, + #{productDirectoryCode}, + #{agentName}, + #{agentArea}, + #{agentAreaCode}, + #{agentAddress}, + #{instructions}, + #{productAddress}, + #{recordText}, + #{placeOrigin}, + #{productionRegion}, + #{productionCompanyName}, + #{afterSale}, + #{specification}, + #{structure}, + #{scope}, + #{other}, + #{filePath}, + #{remark}, + #{createTime}, + #{updateTime}, + #{manufacturerIdFk}, + #{customerId}, + #{productId} + , + #{auditStatus}, + #{auditComment}, + #{sptm}, + #{ybbm}, + #{measname}, + #{cpms}, + #{hchzsb} + ) + + + + DELETE + FROM sup_product + WHERE id = #{id} + + + + DELETE + FROM sup_product + WHERE enterpriseId = #{enterpriseId} + + + \ No newline at end of file