diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/quot/QuotController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/quot/QuotController.java index 8622d39..0e166ea 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/quot/QuotController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/quot/QuotController.java @@ -1,29 +1,23 @@ package com.ruoyi.web.controller.quot; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; -import javax.servlet.http.HttpServletResponse; - import com.alibaba.fastjson.JSON; +import com.ruoyi.common.annotation.Log; import com.ruoyi.common.constant.WebsocketConst; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.file.FileUploadUtils; import com.ruoyi.common.utils.file.MinioUtil; import com.ruoyi.common.utils.http.HttpUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.sign.Base64; import com.ruoyi.common.utils.uuid.UUID; import com.ruoyi.priceVerification.domain.QuotHj; @@ -31,29 +25,34 @@ import com.ruoyi.priceVerification.service.IQuotHjService; import com.ruoyi.quot.domain.*; import com.ruoyi.quot.domain.jsw.*; import com.ruoyi.quot.service.IQuotFileService; +import com.ruoyi.quot.service.IQuotService; import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysNoticeService; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.technicalConfirm.domain.QuotJsqr; import com.ruoyi.technicalConfirm.service.IQuotJsqrService; -import com.ruoyi.web.utils.IdUtils; +import com.ruoyi.web.utils.SapHana.SapHanaUtils; import com.ruoyi.web.utils.SendNotice.NoticeUtil; import com.ruoyi.web.utils.rbExcel.excelUtil; import org.apache.commons.io.FileUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mock.web.MockMultipartFile; import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.quot.service.IQuotService; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.common.core.page.TableDataInfo; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + /** * 报价Controller * @@ -749,6 +748,22 @@ public class QuotController extends BaseController return success(); } + /** + * 校验该客户税号是否在经营部注册公司名单里 + * @param quot + * @return + */ + @PostMapping("/checkCustom") + public Boolean checkCustom(@RequestBody Quot quot){ + Boolean isExist = false; + String quotCustomerBm = quot.getQuotCustomerBm(); + String tax = SapHanaUtils.selectTaxByBm(quotCustomerBm); + if(StringUtils.isNotEmpty(tax)){ + isExist = quotService.selectRegisteredCompanyByTax(tax); + } + return isExist; + } + /** * 报价单提交OA */ @@ -1056,4 +1071,15 @@ public class QuotController extends BaseController } return zbInfo; } + + /** + * 统计有效报价单模块-平均处理时间 + */ + @PreAuthorize("@ss.hasPermi('quot:quot:listStatisticsQuotQuot')") + @GetMapping("/handleTime") + public String handleTime(Quot quot) + { + String time = quotService.selectHandleTime(quot); + return time; + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/registeredCompany/RegisteredCompanyController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/registeredCompany/RegisteredCompanyController.java new file mode 100644 index 0000000..ba069ff --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/registeredCompany/RegisteredCompanyController.java @@ -0,0 +1,111 @@ +package com.ruoyi.web.controller.registeredCompany; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.utils.uuid.UUID; +import com.ruoyi.registeredCompany.domain.RegisteredCompany; +import com.ruoyi.registeredCompany.service.IRegisteredCompanyService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 经营部注册公司Controller + * + * @author ruoyi + * @date 2024-07-31 + */ +@RestController +@RequestMapping("/registeredCompany/registeredCompany") +public class RegisteredCompanyController extends BaseController +{ + @Autowired + private IRegisteredCompanyService registeredCompanyService; + + /** + * 查询经营部注册公司列表 + */ + @PreAuthorize("@ss.hasPermi('registeredCompany:registeredCompany:list')") + @GetMapping("/list") + public TableDataInfo list(RegisteredCompany registeredCompany) + { + startPage(); + List list = registeredCompanyService.selectRegisteredCompanyList(registeredCompany); + return getDataTable(list); + } + + /** + * 导出经营部注册公司列表 + */ + @PreAuthorize("@ss.hasPermi('registeredCompany:registeredCompany:export')") + @Log(title = "经营部注册公司", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, RegisteredCompany registeredCompany) + { + List list = registeredCompanyService.selectRegisteredCompanyList(registeredCompany); + ExcelUtil util = new ExcelUtil(RegisteredCompany.class); + util.exportExcel(response, list, "经营部注册公司数据"); + } + + /** + * 获取经营部注册公司详细信息 + */ + @PreAuthorize("@ss.hasPermi('registeredCompany:registeredCompany:query')") + @GetMapping(value = "/{regId}") + public AjaxResult getInfo(@PathVariable("regId") String regId) + { + return success(registeredCompanyService.selectRegisteredCompanyByRegId(regId)); + } + + /** + * 新增经营部注册公司 + */ + @PreAuthorize("@ss.hasPermi('registeredCompany:registeredCompany:add')") + @Log(title = "经营部注册公司新增", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody RegisteredCompany registeredCompany) + { + if (!registeredCompanyService.checkTaxUnique(registeredCompany)) + { + return error("创建注册公司失败,税号已存在"); + } + registeredCompany.setRegId(UUID.fastUUID().toString()); + registeredCompany.setCreateBy(getUsername()); + registeredCompany.setUpdateBy(getUsername()); + return toAjax(registeredCompanyService.insertRegisteredCompany(registeredCompany)); + } + + /** + * 修改经营部注册公司 + */ + @PreAuthorize("@ss.hasPermi('registeredCompany:registeredCompany:edit')") + @Log(title = "经营部注册公司修改", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody RegisteredCompany registeredCompany) + { + if (!registeredCompanyService.checkTaxUnique(registeredCompany)) + { + return error("修改注册公司失败,税号已存在"); + } + registeredCompany.setUpdateBy(getUsername()); + return toAjax(registeredCompanyService.updateRegisteredCompany(registeredCompany)); + } + + /** + * 删除经营部注册公司 + */ + @PreAuthorize("@ss.hasPermi('registeredCompany:registeredCompany:remove')") + @Log(title = "经营部注册公司", businessType = BusinessType.DELETE) + @DeleteMapping("/{regIds}") + public AjaxResult remove(@PathVariable String[] regIds) + { + return toAjax(registeredCompanyService.deleteRegisteredCompanyByRegIds(regIds)); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/utils/SapFunction/SapRfcUtils.java b/ruoyi-admin/src/main/java/com/ruoyi/web/utils/SapFunction/SapRfcUtils.java index 461ebbd..4251544 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/utils/SapFunction/SapRfcUtils.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/utils/SapFunction/SapRfcUtils.java @@ -13,7 +13,7 @@ import java.util.List; public class SapRfcUtils { /** - * 获取SAP 国家数据 + * 获取SAP 客户数据 * @param param * @return */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/utils/SapHana/SapHanaUtils.java b/ruoyi-admin/src/main/java/com/ruoyi/web/utils/SapHana/SapHanaUtils.java index 68b7f4c..62ed3f3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/utils/SapHana/SapHanaUtils.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/utils/SapHana/SapHanaUtils.java @@ -1,5 +1,7 @@ package com.ruoyi.web.utils.SapHana; +import com.ruoyi.common.utils.StringUtils; + import java.sql.Connection; import java.sql.ResultSet; @@ -40,4 +42,36 @@ public class SapHanaUtils { } return flag; } + + /** + * 根据客户编码查询SAP客户税号 + * @param quotCustomerBm + * @return + */ + public static String selectTaxByBm(String quotCustomerBm) { + String tax = ""; + Connection conn = null; + ResultSet rs = null; + try { + conn = HanaDB.getConn(); + StringBuffer sf = new StringBuffer(); + + if(StringUtils.isNotEmpty(quotCustomerBm)){ + sf.append(" select top 1 BAHNS from SAPHANADB.KNA1 "); + sf.append(" where 1=1 and KUNNR = '"+quotCustomerBm+"' "); + rs = HanaDB.executeQuery(conn, String.valueOf(sf)); + if (rs.next()) { + do { + tax = rs.getString(1); + } while (rs.next()); + } + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + HanaDB.close(rs); + HanaDB.close(conn); + } + return tax; + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/quot/mapper/QuotMapper.java b/ruoyi-system/src/main/java/com/ruoyi/quot/mapper/QuotMapper.java index aa79aa5..f206240 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/quot/mapper/QuotMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/quot/mapper/QuotMapper.java @@ -1,12 +1,13 @@ package com.ruoyi.quot.mapper; -import java.util.List; import com.ruoyi.quot.domain.Quot; import com.ruoyi.quot.domain.QuotMaterial; import com.ruoyi.quot.domain.QuotZb; import com.ruoyi.quot.domain.SysOaQuot; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * 报价Mapper接口 * @@ -155,6 +156,19 @@ public interface QuotMapper */ void setHandle(String quotId); + /** + * 报价组-保存反馈说明 + * @param quot + */ + void saveQuotFeedbackExplanation(Quot quot); + + /** + * 根据客户税号查询经营部注册公司名单里是否存在 + * @param tax + * @return + */ + String selectRegisteredCompanyByTax(String tax); + /** * 统计有效报价单模块-获取报价单数据 * @param quot @@ -170,8 +184,9 @@ public interface QuotMapper List selectZbInfo(Quot quot); /** - * 报价组-保存反馈说明 + * 统计有效报价单模块-平均处理时间 * @param quot + * @return */ - void saveQuotFeedbackExplanation(Quot quot); + String selectHandleTime(Quot quot); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/quot/service/IQuotService.java b/ruoyi-system/src/main/java/com/ruoyi/quot/service/IQuotService.java index e924b58..b7f6c78 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/quot/service/IQuotService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/quot/service/IQuotService.java @@ -1,12 +1,11 @@ package com.ruoyi.quot.service; -import java.util.List; - -import com.ruoyi.customer.domain.Customer; import com.ruoyi.quot.domain.Quot; import com.ruoyi.quot.domain.QuotZb; import com.ruoyi.quot.domain.SysOaQuot; +import java.util.List; + /** * 报价Service接口 * @@ -138,6 +137,19 @@ public interface IQuotService */ void setHandle(String quotId); + /** + * 报价组-保存反馈说明 + * @param quot + */ + void saveQuotFeedbackExplanation(Quot quot); + + /** + * 根据客户税号查询经营部注册公司名单里是否存在 + * @param tax + * @return + */ + Boolean selectRegisteredCompanyByTax(String tax); + /** * 统计有效报价单模块-获取报价单数据 * @param quot @@ -153,8 +165,9 @@ public interface IQuotService List selectZbInfo(Quot quot); /** - * 报价组-保存反馈说明 + * 统计有效报价单模块-平均处理时间 * @param quot + * @return */ - void saveQuotFeedbackExplanation(Quot quot); + String selectHandleTime(Quot quot); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/quot/service/impl/QuotServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/quot/service/impl/QuotServiceImpl.java index 9d7270e..ac236bf 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/quot/service/impl/QuotServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/quot/service/impl/QuotServiceImpl.java @@ -1,24 +1,23 @@ package com.ruoyi.quot.service.impl; -import java.util.List; - import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.annotation.DataSource; import com.ruoyi.common.enums.DataSourceType; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.uuid.UUID; -import com.ruoyi.customer.domain.Customer; +import com.ruoyi.quot.domain.Quot; +import com.ruoyi.quot.domain.QuotMaterial; import com.ruoyi.quot.domain.QuotZb; import com.ruoyi.quot.domain.SysOaQuot; +import com.ruoyi.quot.mapper.QuotMapper; +import com.ruoyi.quot.service.IQuotService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import com.ruoyi.common.utils.StringUtils; import org.springframework.transaction.annotation.Transactional; -import com.ruoyi.quot.domain.QuotMaterial; -import com.ruoyi.quot.mapper.QuotMapper; -import com.ruoyi.quot.domain.Quot; -import com.ruoyi.quot.service.IQuotService; + +import java.util.ArrayList; +import java.util.List; /** * 报价Service业务层处理 @@ -309,6 +308,16 @@ public class QuotServiceImpl implements IQuotService return quotMapper.selectZbInfo(quot); } + /** + * 统计有效报价单模块-平均处理时间 + * @param quot + * @return + */ + @Override + public String selectHandleTime(Quot quot) { + return quotMapper.selectHandleTime(quot); + } + /** * 报价组-保存反馈说明 * @param quot @@ -317,4 +326,15 @@ public class QuotServiceImpl implements IQuotService public void saveQuotFeedbackExplanation(Quot quot) { quotMapper.saveQuotFeedbackExplanation(quot); } + + /** + * 根据客户税号查询经营部注册公司名单里是否存在 + * @param tax + * @return + */ + @Override + public Boolean selectRegisteredCompanyByTax(String tax) { + String count = quotMapper.selectRegisteredCompanyByTax(tax); + return !"0".equals(count); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/registeredCompany/domain/RegisteredCompany.java b/ruoyi-system/src/main/java/com/ruoyi/registeredCompany/domain/RegisteredCompany.java new file mode 100644 index 0000000..a83c430 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/registeredCompany/domain/RegisteredCompany.java @@ -0,0 +1,111 @@ +package com.ruoyi.registeredCompany.domain; + +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 经营部注册公司对象 registered_company + * + * @author ruoyi + * @date 2024-07-31 + */ +public class RegisteredCompany extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** id */ + private String regId; + + /** 业务员账号 */ + @Excel(name = "业务员账号") + private String regSalesmanCode; + + /** 业务员 */ + @Excel(name = "业务员") + private String regSalesmanName; + + /** 注册公司 */ + @Excel(name = "注册公司") + private String regCompany; + + /** 税号 */ + @Excel(name = "税号") + private String regTax; + + /** 状态(0-启用,1-停用) */ + @Excel(name = "状态",dictType = "common_state") + private String regState; + + public void setRegId(String regId) + { + this.regId = regId; + } + + public String getRegId() + { + return regId; + } + public void setRegSalesmanCode(String regSalesmanCode) + { + this.regSalesmanCode = regSalesmanCode; + } + + public String getRegSalesmanCode() + { + return regSalesmanCode; + } + public void setRegSalesmanName(String regSalesmanName) + { + this.regSalesmanName = regSalesmanName; + } + + public String getRegSalesmanName() + { + return regSalesmanName; + } + public void setRegCompany(String regCompany) + { + this.regCompany = regCompany; + } + + public String getRegCompany() + { + return regCompany; + } + public void setRegTax(String regTax) + { + this.regTax = regTax; + } + + public String getRegTax() + { + return regTax; + } + public void setRegState(String regState) + { + this.regState = regState; + } + + public String getRegState() + { + return regState; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("regId", getRegId()) + .append("regSalesmanCode", getRegSalesmanCode()) + .append("regSalesmanName", getRegSalesmanName()) + .append("regCompany", getRegCompany()) + .append("regTax", getRegTax()) + .append("regState", getRegState()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/registeredCompany/mapper/RegisteredCompanyMapper.java b/ruoyi-system/src/main/java/com/ruoyi/registeredCompany/mapper/RegisteredCompanyMapper.java new file mode 100644 index 0000000..b452cdd --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/registeredCompany/mapper/RegisteredCompanyMapper.java @@ -0,0 +1,69 @@ +package com.ruoyi.registeredCompany.mapper; + +import com.ruoyi.registeredCompany.domain.RegisteredCompany; + +import java.util.List; + +/** + * 经营部注册公司Mapper接口 + * + * @author ruoyi + * @date 2024-07-31 + */ +public interface RegisteredCompanyMapper +{ + /** + * 查询经营部注册公司 + * + * @param regId 经营部注册公司主键 + * @return 经营部注册公司 + */ + public RegisteredCompany selectRegisteredCompanyByRegId(String regId); + + /** + * 查询经营部注册公司列表 + * + * @param registeredCompany 经营部注册公司 + * @return 经营部注册公司集合 + */ + public List selectRegisteredCompanyList(RegisteredCompany registeredCompany); + + /** + * 新增经营部注册公司 + * + * @param registeredCompany 经营部注册公司 + * @return 结果 + */ + public int insertRegisteredCompany(RegisteredCompany registeredCompany); + + /** + * 修改经营部注册公司 + * + * @param registeredCompany 经营部注册公司 + * @return 结果 + */ + public int updateRegisteredCompany(RegisteredCompany registeredCompany); + + /** + * 删除经营部注册公司 + * + * @param regId 经营部注册公司主键 + * @return 结果 + */ + public int deleteRegisteredCompanyByRegId(String regId); + + /** + * 批量删除经营部注册公司 + * + * @param regIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteRegisteredCompanyByRegIds(String[] regIds); + + /** + * 校验税号是否存在 + * @param regTax + * @return + */ + RegisteredCompany checkTaxUnique(String regTax); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/registeredCompany/service/IRegisteredCompanyService.java b/ruoyi-system/src/main/java/com/ruoyi/registeredCompany/service/IRegisteredCompanyService.java new file mode 100644 index 0000000..a3bd54b --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/registeredCompany/service/IRegisteredCompanyService.java @@ -0,0 +1,69 @@ +package com.ruoyi.registeredCompany.service; + +import com.ruoyi.registeredCompany.domain.RegisteredCompany; + +import java.util.List; + +/** + * 经营部注册公司Service接口 + * + * @author ruoyi + * @date 2024-07-31 + */ +public interface IRegisteredCompanyService +{ + /** + * 查询经营部注册公司 + * + * @param regId 经营部注册公司主键 + * @return 经营部注册公司 + */ + public RegisteredCompany selectRegisteredCompanyByRegId(String regId); + + /** + * 查询经营部注册公司列表 + * + * @param registeredCompany 经营部注册公司 + * @return 经营部注册公司集合 + */ + public List selectRegisteredCompanyList(RegisteredCompany registeredCompany); + + /** + * 新增经营部注册公司 + * + * @param registeredCompany 经营部注册公司 + * @return 结果 + */ + public int insertRegisteredCompany(RegisteredCompany registeredCompany); + + /** + * 修改经营部注册公司 + * + * @param registeredCompany 经营部注册公司 + * @return 结果 + */ + public int updateRegisteredCompany(RegisteredCompany registeredCompany); + + /** + * 批量删除经营部注册公司 + * + * @param regIds 需要删除的经营部注册公司主键集合 + * @return 结果 + */ + public int deleteRegisteredCompanyByRegIds(String[] regIds); + + /** + * 删除经营部注册公司信息 + * + * @param regId 经营部注册公司主键 + * @return 结果 + */ + public int deleteRegisteredCompanyByRegId(String regId); + + /** + * 校验税号是否存在 + * @param registeredCompany + * @return + */ + boolean checkTaxUnique(RegisteredCompany registeredCompany); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/registeredCompany/service/impl/RegisteredCompanyServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/registeredCompany/service/impl/RegisteredCompanyServiceImpl.java new file mode 100644 index 0000000..d25ebd7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/registeredCompany/service/impl/RegisteredCompanyServiceImpl.java @@ -0,0 +1,116 @@ +package com.ruoyi.registeredCompany.service.impl; + +import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.registeredCompany.domain.RegisteredCompany; +import com.ruoyi.registeredCompany.mapper.RegisteredCompanyMapper; +import com.ruoyi.registeredCompany.service.IRegisteredCompanyService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 经营部注册公司Service业务层处理 + * + * @author ruoyi + * @date 2024-07-31 + */ +@Service +public class RegisteredCompanyServiceImpl implements IRegisteredCompanyService +{ + @Autowired + private RegisteredCompanyMapper registeredCompanyMapper; + + /** + * 查询经营部注册公司 + * + * @param regId 经营部注册公司主键 + * @return 经营部注册公司 + */ + @Override + public RegisteredCompany selectRegisteredCompanyByRegId(String regId) + { + return registeredCompanyMapper.selectRegisteredCompanyByRegId(regId); + } + + /** + * 查询经营部注册公司列表 + * + * @param registeredCompany 经营部注册公司 + * @return 经营部注册公司 + */ + @Override + public List selectRegisteredCompanyList(RegisteredCompany registeredCompany) + { + return registeredCompanyMapper.selectRegisteredCompanyList(registeredCompany); + } + + /** + * 新增经营部注册公司 + * + * @param registeredCompany 经营部注册公司 + * @return 结果 + */ + @Override + public int insertRegisteredCompany(RegisteredCompany registeredCompany) + { + registeredCompany.setCreateTime(DateUtils.getNowDate()); + registeredCompany.setUpdateTime(DateUtils.getNowDate()); + return registeredCompanyMapper.insertRegisteredCompany(registeredCompany); + } + + /** + * 修改经营部注册公司 + * + * @param registeredCompany 经营部注册公司 + * @return 结果 + */ + @Override + public int updateRegisteredCompany(RegisteredCompany registeredCompany) + { + registeredCompany.setUpdateTime(DateUtils.getNowDate()); + return registeredCompanyMapper.updateRegisteredCompany(registeredCompany); + } + + /** + * 批量删除经营部注册公司 + * + * @param regIds 需要删除的经营部注册公司主键 + * @return 结果 + */ + @Override + public int deleteRegisteredCompanyByRegIds(String[] regIds) + { + return registeredCompanyMapper.deleteRegisteredCompanyByRegIds(regIds); + } + + /** + * 删除经营部注册公司信息 + * + * @param regId 经营部注册公司主键 + * @return 结果 + */ + @Override + public int deleteRegisteredCompanyByRegId(String regId) + { + return registeredCompanyMapper.deleteRegisteredCompanyByRegId(regId); + } + + /** + * 校验税号是否存在 + * @param registeredCompany + * @return + */ + @Override + public boolean checkTaxUnique(RegisteredCompany registeredCompany) { + String regId = StringUtils.isNull(registeredCompany.getRegId()) ? "-1" : registeredCompany.getRegId(); + RegisteredCompany info = registeredCompanyMapper.checkTaxUnique(registeredCompany.getRegTax()); + if (StringUtils.isNotNull(info) && !info.getRegId().equals(regId)) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } +} diff --git a/ruoyi-system/src/main/resources/mapper/quot/QuotMapper.xml b/ruoyi-system/src/main/resources/mapper/quot/QuotMapper.xml index d455413..2f7c66a 100644 --- a/ruoyi-system/src/main/resources/mapper/quot/QuotMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/quot/QuotMapper.xml @@ -221,6 +221,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and quot_approval_status in ('1','2') + + insert into quot @@ -580,4 +584,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" group by quot_distinguish) a + + + + diff --git a/ruoyi-system/src/main/resources/mapper/registeredCompany/RegisteredCompanyMapper.xml b/ruoyi-system/src/main/resources/mapper/registeredCompany/RegisteredCompanyMapper.xml new file mode 100644 index 0000000..89db97c --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/registeredCompany/RegisteredCompanyMapper.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + select reg_id, reg_salesman_code, reg_salesman_name, reg_company, reg_tax, reg_state, create_by, create_time, update_by, update_time from registered_company + + + + + + + + insert into registered_company + + reg_id, + reg_salesman_code, + reg_salesman_name, + reg_company, + reg_tax, + reg_state, + create_by, + create_time, + update_by, + update_time, + + + #{regId}, + #{regSalesmanCode}, + #{regSalesmanName}, + #{regCompany}, + #{regTax}, + #{regState}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update registered_company + + reg_salesman_code = #{regSalesmanCode}, + reg_salesman_name = #{regSalesmanName}, + reg_company = #{regCompany}, + reg_tax = #{regTax}, + reg_state = #{regState}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where reg_id = #{regId} + + + + delete from registered_company where reg_id = #{regId} + + + + delete from registered_company where reg_id in + + #{regId} + + + + + diff --git a/ruoyi-ui/src/api/quot/quot.js b/ruoyi-ui/src/api/quot/quot.js index 8eb1a1a..81702cf 100644 --- a/ruoyi-ui/src/api/quot/quot.js +++ b/ruoyi-ui/src/api/quot/quot.js @@ -136,6 +136,15 @@ export function commitJswQuot(data) { }) } +//校验该客户税号是否在经营部注册公司名单里 +export function checkCustom(data) { + return request({ + url: '/quot/quot/checkCustom', + method: 'post', + data: data + }) +} + //提交OA export function commitOAQuot(data) { return request({ @@ -226,4 +235,14 @@ export function zbInfo(query) { }) } +//平均处理时间 +export function handleTime(query) { + return request({ + url: '/quot/quot/handleTime', + method: 'get', + params: query + }) +} + + diff --git a/ruoyi-ui/src/api/registeredCompany/registeredCompany.js b/ruoyi-ui/src/api/registeredCompany/registeredCompany.js new file mode 100644 index 0000000..6463922 --- /dev/null +++ b/ruoyi-ui/src/api/registeredCompany/registeredCompany.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询经营部注册公司列表 +export function listRegisteredCompany(query) { + return request({ + url: '/registeredCompany/registeredCompany/list', + method: 'get', + params: query + }) +} + +// 查询经营部注册公司详细 +export function getRegisteredCompany(regId) { + return request({ + url: '/registeredCompany/registeredCompany/' + regId, + method: 'get' + }) +} + +// 新增经营部注册公司 +export function addRegisteredCompany(data) { + return request({ + url: '/registeredCompany/registeredCompany', + method: 'post', + data: data + }) +} + +// 修改经营部注册公司 +export function updateRegisteredCompany(data) { + return request({ + url: '/registeredCompany/registeredCompany', + method: 'put', + data: data + }) +} + +// 删除经营部注册公司 +export function delRegisteredCompany(regId) { + return request({ + url: '/registeredCompany/registeredCompany/' + regId, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/views/quot/quot/index.vue b/ruoyi-ui/src/views/quot/quot/index.vue index aa6270c..0fff41e 100644 --- a/ruoyi-ui/src/views/quot/quot/index.vue +++ b/ruoyi-ui/src/views/quot/quot/index.vue @@ -1076,7 +1076,7 @@ import { NumberAdd } from '@/utils/number';// 数值计算 import { toDecimal,versionList } from "@/api/redBook/redBook"; -import { changQuotPrintStatus,listQuot, getQuot, getReturnUpdateQuot,getAllPass,getAllReject, delQuot, addQuot, updateQuot, quotFileList, quotFileDelete, commitQuot, commitJsQuot, commitHjQuot, commitJswQuot, commitOAQuot, feedbackQuot, madeQuot, rejectQuot, setHandle,saveQuotFeedbackExplanation } from "@/api/quot/quot"; +import { changQuotPrintStatus,listQuot, getQuot, getReturnUpdateQuot,getAllPass,getAllReject, delQuot, addQuot, updateQuot, quotFileList, quotFileDelete, commitQuot, commitJsQuot, commitHjQuot, commitJswQuot, checkCustom, commitOAQuot, feedbackQuot, madeQuot, rejectQuot, setHandle,saveQuotFeedbackExplanation } from "@/api/quot/quot"; import { getToken } from "@/utils/auth"; import { checkPermi,checkRole } from '@/utils/permission';// 权限判断函数 import { getDicts } from "@/api/system/dict/data"; @@ -1599,8 +1599,22 @@ export default { }); }, - /** 报价组提交金OA按钮 */ + /** 报价组提交OA按钮 */ commitOAForm() { + //校验该客户税号是否在经营部注册公司名单里 + checkCustom(this.form).then(isExist => { + if(isExist){ + this.$modal.confirm('该询价客户为经营部注册公司,是否继续操作?').then(function() { + }).then(() => { + this.commitOAQuot(); + }).catch(() => {}); + }else{ + this.commitOAQuot(); + } + }); + }, + /** 提交OA */ + commitOAQuot(){ this.form.quotMaterialList = this.quotMaterialList; commitOAQuot(this.form).then(response => { this.$modal.msgSuccess("提交OA成功"); diff --git a/ruoyi-ui/src/views/registeredCompany/registeredCompany/index.vue b/ruoyi-ui/src/views/registeredCompany/registeredCompany/index.vue new file mode 100644 index 0000000..e267844 --- /dev/null +++ b/ruoyi-ui/src/views/registeredCompany/registeredCompany/index.vue @@ -0,0 +1,334 @@ + + + diff --git a/ruoyi-ui/src/views/statisticsQuot/statisticsQuot/index.vue b/ruoyi-ui/src/views/statisticsQuot/statisticsQuot/index.vue index 329ffd3..cdc8625 100644 --- a/ruoyi-ui/src/views/statisticsQuot/statisticsQuot/index.vue +++ b/ruoyi-ui/src/views/statisticsQuot/statisticsQuot/index.vue @@ -59,6 +59,7 @@ 总单量:{{sumQuotCount}} {{this.zbInfo}} + 平均处理时长(小时/单):{{this.time}} @@ -90,7 +91,7 @@