From 871433c022ca3765d0809b72b641291c36f1eaf9 Mon Sep 17 00:00:00 2001
From: anthonywj <yewenjie20@vip.qq.com>
Date: Mon, 20 Nov 2023 15:32:34 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=89=A9=E4=BB=B7=E7=B1=BB?=
 =?UTF-8?q?=E5=88=AB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../purchase/SupManufacturerController.java   |  1 +
 .../controller/thrsys/ThrHslbController.java  | 46 +++++++++++++++++++
 .../thrsys/ThrProductsAddDiController.java    |  6 +--
 .../glxp/api/dao/thrsys/ThrHslbMapper.java    | 15 ++++++
 .../glxp/api/entity/thrsys/ThrHslbEntity.java | 43 +++++++++++++++++
 .../entity/thrsys/ThrProductsAddDiEntity.java |  7 ++-
 .../req/basic/ProductInfoFilterRequest.java   |  1 +
 .../api/req/thrsys/FilterThrHslbRequest.java  | 12 +++++
 .../glxp/api/res/thrsys/UdiInfoResponse.java  |  1 +
 .../api/service/thrsys/ThrHslbService.java    | 32 +++++++++++++
 .../thrsys/impl/ThrProductsAddDiService.java  | 17 +++++--
 .../mybatis/mapper/basic/ProductInfoDao.xml   |  3 ++
 .../mybatis/mapper/thrsys/ThrHslbMapper.xml   | 35 ++++++++++++++
 13 files changed, 212 insertions(+), 7 deletions(-)
 create mode 100644 src/main/java/com/glxp/api/controller/thrsys/ThrHslbController.java
 create mode 100644 src/main/java/com/glxp/api/dao/thrsys/ThrHslbMapper.java
 create mode 100644 src/main/java/com/glxp/api/entity/thrsys/ThrHslbEntity.java
 create mode 100644 src/main/java/com/glxp/api/req/thrsys/FilterThrHslbRequest.java
 create mode 100644 src/main/java/com/glxp/api/service/thrsys/ThrHslbService.java
 create mode 100644 src/main/resources/mybatis/mapper/thrsys/ThrHslbMapper.xml

diff --git a/src/main/java/com/glxp/api/controller/purchase/SupManufacturerController.java b/src/main/java/com/glxp/api/controller/purchase/SupManufacturerController.java
index 300927b1..f39e2ebc 100644
--- a/src/main/java/com/glxp/api/controller/purchase/SupManufacturerController.java
+++ b/src/main/java/com/glxp/api/controller/purchase/SupManufacturerController.java
@@ -98,6 +98,7 @@ public class SupManufacturerController {
     @Log(title = "资质证书", businessType = BusinessType.INSERT)
     public BaseResponse addCompany(@RequestBody SupManufacturerEntity supManufacturerEntity) {
 
+        supManufacturerEntity.setCompanyName(StrUtil.trimToEmpty(supManufacturerEntity.getCompanyName()));
         String customerId = getCustomerId();
         supManufacturerEntity.setCustomerId(customerId);
         //判断用户名和社会信用代码不能重复
diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThrHslbController.java b/src/main/java/com/glxp/api/controller/thrsys/ThrHslbController.java
new file mode 100644
index 00000000..ad155d3d
--- /dev/null
+++ b/src/main/java/com/glxp/api/controller/thrsys/ThrHslbController.java
@@ -0,0 +1,46 @@
+package com.glxp.api.controller.thrsys;
+
+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.thrsys.ThrHslbEntity;
+import com.glxp.api.req.thrsys.FilterThrHslbRequest;
+import com.glxp.api.res.PageSimpleResponse;
+import com.glxp.api.service.thrsys.ThrHslbService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Slf4j
+@RestController
+public class ThrHslbController {
+
+    @Resource
+    ThrHslbService thrHslbService;
+
+    @AuthRuleAnnotation("")
+    @GetMapping("/udiwms/thrsys/getHslbs")
+    public BaseResponse getHslbs(FilterThrHslbRequest filterThrHslbRequest,
+                                 BindingResult bindingResult) {
+
+        if (bindingResult.hasErrors()) {
+            return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
+        }
+        List<ThrHslbEntity> thrHslbEntities
+                = thrHslbService.getHslbs(filterThrHslbRequest);
+        PageInfo<ThrHslbEntity> pageInfo;
+        pageInfo = new PageInfo<>(thrHslbEntities);
+        PageSimpleResponse<ThrHslbEntity> pageSimpleResponse = new PageSimpleResponse<>();
+        pageSimpleResponse.setTotal(pageInfo.getTotal());
+        pageSimpleResponse.setList(thrHslbEntities);
+        return ResultVOUtils.success(pageSimpleResponse);
+    }
+
+
+}
diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThrProductsAddDiController.java b/src/main/java/com/glxp/api/controller/thrsys/ThrProductsAddDiController.java
index c31231de..cfd7cf38 100644
--- a/src/main/java/com/glxp/api/controller/thrsys/ThrProductsAddDiController.java
+++ b/src/main/java/com/glxp/api/controller/thrsys/ThrProductsAddDiController.java
@@ -292,12 +292,12 @@ public class ThrProductsAddDiController {
     /**
      * 获取DI产品信息详情
      *
-     * @param uuid
+     * @param devKey
      * @return
      */
     @GetMapping("udiwms/thrsys/getDiProductDetail")
-    public BaseResponse getDiProductDetail(String uuid) {
-        UdiInfoResponse udiInfoResponse = thrProductsAddDiService.getDiProductDetail(uuid);
+    public BaseResponse getDiProductDetail(String devKey) {
+        UdiInfoResponse udiInfoResponse = thrProductsAddDiService.getDiProductDetail(devKey);
         return ResultVOUtils.success(udiInfoResponse);
     }
 
diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrHslbMapper.java b/src/main/java/com/glxp/api/dao/thrsys/ThrHslbMapper.java
new file mode 100644
index 00000000..563caf9d
--- /dev/null
+++ b/src/main/java/com/glxp/api/dao/thrsys/ThrHslbMapper.java
@@ -0,0 +1,15 @@
+package com.glxp.api.dao.thrsys;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.glxp.api.entity.thrsys.ThrHslbEntity;
+import com.glxp.api.req.thrsys.FilterThrHslbRequest;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface ThrHslbMapper extends BaseMapper<ThrHslbEntity> {
+
+    List<ThrHslbEntity> getHslbs(FilterThrHslbRequest filterThrHslbRequest);
+
+}
diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrHslbEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrHslbEntity.java
new file mode 100644
index 00000000..2f0ed34d
--- /dev/null
+++ b/src/main/java/com/glxp/api/entity/thrsys/ThrHslbEntity.java
@@ -0,0 +1,43 @@
+package com.glxp.api.entity.thrsys;
+
+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.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName(value = "thr_hslb")
+public class ThrHslbEntity implements Serializable {
+    @TableId(value = "id", type = IdType.INPUT)
+    private Integer id;
+
+    @TableField(value = "hslb")
+    private String hslb;
+
+    @TableField(value = "hsmc")
+    private String hsmc;
+
+    @TableField(value = "hsbm")
+    private String hsbm;
+
+    @TableField(value = "remark")
+    private String remark;
+
+    @TableField(value = "updateTime")
+    private Date updateTime;
+
+    @TableField(value = "createTime")
+    private Date createTime;
+
+    private static final long serialVersionUID = 1L;
+}
diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrProductsAddDiEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrProductsAddDiEntity.java
index 8baf0655..37da2a18 100644
--- a/src/main/java/com/glxp/api/entity/thrsys/ThrProductsAddDiEntity.java
+++ b/src/main/java/com/glxp/api/entity/thrsys/ThrProductsAddDiEntity.java
@@ -296,14 +296,19 @@ public class ThrProductsAddDiEntity {
 
     private static final long serialVersionUID = 1L;
 
-
+    @TableField(exist = false)
     private String thirdName;
+    @TableField(exist = false)
     private boolean isChecked;
+    @TableField(exist = false)
     private String corpName;
 
     //添加字段
+    @TableField(exist = false)
     private Integer checkStatus;
+    @TableField(exist = false)
     private String thirdSys;
+    @TableField(exist = false)
     private String nameCode;
 
 
diff --git a/src/main/java/com/glxp/api/req/basic/ProductInfoFilterRequest.java b/src/main/java/com/glxp/api/req/basic/ProductInfoFilterRequest.java
index 51173314..a04df0d2 100644
--- a/src/main/java/com/glxp/api/req/basic/ProductInfoFilterRequest.java
+++ b/src/main/java/com/glxp/api/req/basic/ProductInfoFilterRequest.java
@@ -23,6 +23,7 @@ public class ProductInfoFilterRequest extends ListPageRequest {
     private Integer isNewest;
     private String zczbhhzbapzbh;
     private String updateTime;
+    private String originUuid;
 
     public String toCacheKey() {
         return nameCode + deviceRecordKey + uuid + cpmctymc + ylqxzcrbarmc + ggxh + tyshxydm + diType + zczbhhzbapzbh + updateTime;
diff --git a/src/main/java/com/glxp/api/req/thrsys/FilterThrHslbRequest.java b/src/main/java/com/glxp/api/req/thrsys/FilterThrHslbRequest.java
new file mode 100644
index 00000000..0a1f640b
--- /dev/null
+++ b/src/main/java/com/glxp/api/req/thrsys/FilterThrHslbRequest.java
@@ -0,0 +1,12 @@
+package com.glxp.api.req.thrsys;
+
+import com.glxp.api.util.page.ListPageRequest;
+import lombok.Data;
+
+@Data
+public class FilterThrHslbRequest extends ListPageRequest {
+
+    private String key;
+    private String code;
+
+}
diff --git a/src/main/java/com/glxp/api/res/thrsys/UdiInfoResponse.java b/src/main/java/com/glxp/api/res/thrsys/UdiInfoResponse.java
index cf666732..3b71dc60 100644
--- a/src/main/java/com/glxp/api/res/thrsys/UdiInfoResponse.java
+++ b/src/main/java/com/glxp/api/res/thrsys/UdiInfoResponse.java
@@ -86,6 +86,7 @@ public class UdiInfoResponse {
     private String basicPrductRemak7;
     private String basicPrductRemak8;
     private String remark;
+    private String hslbName;
 
     public Integer getId() {
         return id;
diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrHslbService.java b/src/main/java/com/glxp/api/service/thrsys/ThrHslbService.java
new file mode 100644
index 00000000..24b360a1
--- /dev/null
+++ b/src/main/java/com/glxp/api/service/thrsys/ThrHslbService.java
@@ -0,0 +1,32 @@
+package com.glxp.api.service.thrsys;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.PageHelper;
+import com.glxp.api.dao.thrsys.ThrHslbMapper;
+import com.glxp.api.entity.thrsys.ThrHslbEntity;
+import com.glxp.api.req.thrsys.FilterThrHslbRequest;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Collections;
+import java.util.List;
+
+@Service
+public class ThrHslbService extends ServiceImpl<ThrHslbMapper, ThrHslbEntity> {
+
+    @Resource
+    ThrHslbMapper thrHslbMapper;
+
+    public List<ThrHslbEntity> getHslbs(FilterThrHslbRequest filterThrHslbRequest) {
+        if (filterThrHslbRequest == null) {
+            return Collections.emptyList();
+        }
+        if (filterThrHslbRequest.getPage() != null) {
+            int offset = (filterThrHslbRequest.getPage() - 1) * filterThrHslbRequest.getLimit();
+            PageHelper.offsetPage(offset, filterThrHslbRequest.getLimit());
+        }
+        List<ThrHslbEntity> data = thrHslbMapper.getHslbs(filterThrHslbRequest);
+        return data;
+    }
+
+}
diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsAddDiService.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsAddDiService.java
index 885d7912..b13f2c72 100644
--- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsAddDiService.java
+++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsAddDiService.java
@@ -8,15 +8,18 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import com.glxp.api.dao.auth.AuthCompanyMapper;
+import com.glxp.api.dao.thrsys.ThrHslbMapper;
 import com.glxp.api.dao.thrsys.ThrProductsAddDiDao;
 import com.glxp.api.entity.auth.AuthCompany;
 import com.glxp.api.entity.basic.ProductInfoEntity;
+import com.glxp.api.entity.thrsys.ThrHslbEntity;
 import com.glxp.api.entity.thrsys.ThrProductsAddDiEntity;
 import com.glxp.api.req.thrsys.AddThrDiProductsRequest;
 import com.glxp.api.req.thrsys.FilterThrProductsRequest;
 import com.glxp.api.res.thrsys.ThrProductsAddDiResponse;
 import com.glxp.api.res.thrsys.UdiInfoResponse;
 import com.glxp.api.service.basic.ProductInfoService;
+import com.glxp.api.service.thrsys.ThrHslbService;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -138,9 +141,13 @@ public class ThrProductsAddDiService extends ServiceImpl<ThrProductsAddDiDao, Th
     }
 
 
-    public UdiInfoResponse getDiProductDetail(String uuid) {
-        ThrProductsAddDiEntity thrProductsAddDiEntity = thrProductsAddDiDao.filterThrProductsGetUuid(uuid);
-        UdiInfoResponse udiInfoResponse = thrProductsAddDiDao.getDiProductDetail(uuid);
+    @Resource
+    ThrHslbMapper thrHslbMapper;
+
+    public UdiInfoResponse getDiProductDetail(String devKey) {
+        ThrProductsAddDiEntity thrProductsAddDiEntity = thrProductsAddDiDao.selectOne(new QueryWrapper<ThrProductsAddDiEntity>().eq("deviceRecordKey", devKey).last("limit 1"));
+        UdiInfoResponse udiInfoResponse = new UdiInfoResponse();
+        BeanUtil.copyProperties(thrProductsAddDiEntity, udiInfoResponse);
         if (udiInfoResponse != null) {
             udiInfoResponse.setSptm(thrProductsAddDiEntity.getSptm());
             udiInfoResponse.setYbbm(thrProductsAddDiEntity.getYbbm());
@@ -157,6 +164,10 @@ public class ThrProductsAddDiService extends ServiceImpl<ThrProductsAddDiDao, Th
             udiInfoResponse.setBasicPrductRemak6(thrProductsAddDiEntity.getBasicPrductRemak6());
             udiInfoResponse.setBasicPrductRemak7(thrProductsAddDiEntity.getBasicPrductRemak7());
             udiInfoResponse.setBasicPrductRemak8(thrProductsAddDiEntity.getBasicPrductRemak8());
+            if (StrUtil.isNotEmpty(thrProductsAddDiEntity.getBasicPrductRemak8())) {
+                ThrHslbEntity thrHslbEntity = thrHslbMapper.selectOne(new QueryWrapper<ThrHslbEntity>().eq("hsbm", thrProductsAddDiEntity.getBasicPrductRemak8()).last("limit 1"));
+                udiInfoResponse.setHslbName(thrHslbEntity.getHsmc());
+            }
         }
         return udiInfoResponse;
     }
diff --git a/src/main/resources/mybatis/mapper/basic/ProductInfoDao.xml b/src/main/resources/mybatis/mapper/basic/ProductInfoDao.xml
index ed14d700..6e503aa9 100644
--- a/src/main/resources/mybatis/mapper/basic/ProductInfoDao.xml
+++ b/src/main/resources/mybatis/mapper/basic/ProductInfoDao.xml
@@ -19,6 +19,9 @@
             <if test="uuid != '' and uuid != null">
                 AND uuid = #{uuid}
             </if>
+            <if test="originUuid != '' and originUuid != null">
+                AND uuid = #{originUuid}
+            </if>
             <if test="deviceRecordKey != '' and deviceRecordKey != null">
                 AND deviceRecordKey = #{deviceRecordKey}
             </if>
diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrHslbMapper.xml b/src/main/resources/mybatis/mapper/thrsys/ThrHslbMapper.xml
new file mode 100644
index 00000000..9cdc00b4
--- /dev/null
+++ b/src/main/resources/mybatis/mapper/thrsys/ThrHslbMapper.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.glxp.api.dao.thrsys.ThrHslbMapper">
+    <resultMap id="BaseResultMap" type="com.glxp.api.entity.thrsys.ThrHslbEntity">
+        <!--@mbg.generated-->
+        <!--@Table thr_hslb-->
+        <id column="id" jdbcType="INTEGER" property="id"/>
+        <result column="hslb" jdbcType="VARCHAR" property="hslb"/>
+        <result column="hsmc" jdbcType="VARCHAR" property="hsmc"/>
+        <result column="hsbm" jdbcType="VARCHAR" property="hsbm"/>
+        <result column="remark" jdbcType="VARCHAR" property="remark"/>
+        <result column="updateTime" jdbcType="TIMESTAMP" property="updateTime"/>
+        <result column="createTime" jdbcType="TIMESTAMP" property="createTime"/>
+    </resultMap>
+    <sql id="Base_Column_List">
+        <!--@mbg.generated-->
+        id, hslb, hsmc, hsbm, remark, updateTime, createTime
+    </sql>
+
+
+    <select id="getHslbs" parameterType="com.glxp.api.req.thrsys.FilterThrHslbRequest"
+            resultType="com.glxp.api.entity.thrsys.ThrHslbEntity">
+        SELECT *
+        FROM thr_hslb
+        <where>
+            <if test="key != '' and key != null">
+                AND (hslb LIKE concat('%', #{key}, '%') or hsmc LIKE concat('%', #{key}, '%') or
+                     hsbm LIKE concat('%', #{key}, '%'))
+            </if>
+            <if test="code != '' and code != null">
+                AND hsbm = #{code}
+            </if>
+        </where>
+    </select>
+</mapper>