cxd před 6 měsíci
rodič
revize
d6e75c2fbe

+ 17 - 0
gqy-admin/src/main/java/com/gqy/web/controller/document/ProductController.java

@@ -3,7 +3,10 @@ package com.gqy.web.controller.document;
 import com.gqy.common.core.controller.BaseController;
 import com.gqy.common.core.domain.AjaxResult;
 import com.gqy.common.core.domain.AjaxResultCQY;
+import com.gqy.common.core.domain.entity.SysRole;
+import com.gqy.common.core.domain.entity.SysUser;
 import com.gqy.common.core.page.TableDataInfo;
+import com.gqy.common.utils.StringUtils;
 import com.gqy.document.domain.DcWork;
 import com.gqy.document.domain.vo.PageResult;
 import com.gqy.document.service.IDcProductService;
@@ -13,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 
 /**
@@ -33,6 +37,19 @@ public class ProductController extends BaseController {
     }
 
 
+    /**
+     *  根据产品id
+     * @param dcp_id
+     * @return
+     */
+    @GetMapping(value =  "/getInfo/{dcp_id}")
+    public AjaxResultCQY getInfo(@PathVariable(value = "dcp_id") Long dcp_id)
+    {
+        return AjaxResultCQY.success(iDcProductService.selectDcProductByIdMap(dcp_id));
+    }
+
+
+
     /**
      * 添加产品
      * @return

+ 0 - 8
gqy-system/src/main/java/com/gqy/document/domain/DcPsParam.java

@@ -27,8 +27,6 @@ public class DcPsParam extends BaseEntity {
     /** 输入类型 */
     private String psp_type;
 
-    /** 输入值 */
-    private String psp_input_value;
 
 
     private String psp_category;
@@ -53,13 +51,7 @@ public class DcPsParam extends BaseEntity {
         this.psp_type = psp_type;
     }
 
-    public String getPsp_input_value() {
-        return psp_input_value;
-    }
 
-    public void setPsp_input_value(String psp_input_value) {
-        this.psp_input_value = psp_input_value;
-    }
 
     public Integer getPsp_status() {
         return psp_status;

+ 8 - 0
gqy-system/src/main/java/com/gqy/document/mapper/DcProductMapper.java

@@ -35,4 +35,12 @@ public interface DcProductMapper {
     public  List<String> selectAllParamNames();
 
 
+    /**
+     * 根据id查询产品
+     * @param dcpId
+     * @return
+     */
+    public DcProduct selectDcProductById(Long dcpId);
+
+
 }

+ 19 - 0
gqy-system/src/main/java/com/gqy/document/service/IDcProductService.java

@@ -1,5 +1,7 @@
 package com.gqy.document.service;
 
+import com.gqy.document.domain.DcProduct;
+
 import java.util.List;
 import java.util.Map;
 
@@ -8,6 +10,15 @@ import java.util.Map;
  */
 public interface IDcProductService {
 
+
+    /**
+     * 根据id查询产品
+     * @param dcpId
+     * @return
+     */
+    public Map selectDcProductByIdMap(Long dcpId);
+
+
     /**
      * 新增产品
      * @param params
@@ -23,5 +34,13 @@ public interface IDcProductService {
      */
     public List<Map> selectProductBaseList(Map params);
 
+    /**
+     * 根据id查询产品
+     * @param dcpId
+     * @return
+     */
+    public DcProduct selectDcProductById(Long dcpId);
+
+
 
 }

+ 41 - 2
gqy-system/src/main/java/com/gqy/document/service/impl/DcProductServiceImpl.java

@@ -39,6 +39,44 @@ public class DcProductServiceImpl implements IDcProductService {
     private DcPsParamMapper dcPsParamMapper;
 
 
+    public Map selectDcProductByIdMap(Long dcpId){
+        Map result = new HashMap();
+        DcProduct dcProduct = dcProductMapper.selectDcProductById(dcpId);
+        DcSpec dcSpecQuery = new DcSpec();
+        Map content = BeanUtils.beanToMap(dcProduct);
+        result.put("content",content);
+        dcSpecQuery.setPs_p_id(dcProduct.getDcp_id());
+        List<DcSpec> list = dcSpecMapper.selectDcSpecList(dcSpecQuery);
+        for (DcSpec dcSpec :list){
+            Map contentDcSpec = BeanUtils.beanToMap(dcSpec);
+
+            DcPsParam dcPsParamQuery = new DcPsParam();
+            dcPsParamQuery.setPsp_mode(dcSpec.getPs_no());
+            List<DcPsParam> listDcPsParam = dcPsParamMapper.selectDcPsParamList(dcPsParamQuery);
+
+            if(!CollectionUtils.isEmpty(listDcPsParam)){
+                DcPsParam dcPsParam = listDcPsParam.get(0);
+                Map contentDcPsParam = BeanUtils.beanToMap(dcPsParam);
+                contentDcSpec.putAll(contentDcPsParam);
+            }
+
+            result.put("specs",contentDcSpec);
+
+        }
+
+        return result;
+    }
+
+    /**
+     * 根据id查询产品
+     * @param dcpId
+     * @return
+     */
+    public DcProduct selectDcProductById(Long dcpId){
+        return dcProductMapper.selectDcProductById(dcpId);
+    }
+
+
     /**
      * 查询所有参数名称
      * @param params
@@ -93,11 +131,12 @@ public class DcProductServiceImpl implements IDcProductService {
 
                 //保存规格信息表
                 DcSpec dcSpec = new DcSpec();
-                dcSpec.setPs_p_id(dcpId);
-                BeanUtils.mapToBean(maps,dcSpec );
+                BeanUtils.mapToBean(maps,dcSpec);
+
                 String ps_no = maps.get("ps_no").toString();
                 dcSpec.setPs_no(ps_no);
                 dcSpec.setPs_name(maps.get("ps_name").toString());
+                dcSpec.setPs_p_id(dcpId);
                 //dcSpec.setPs_category(maps.get("ps_category").toString());
 
                 dcSpecMapper.insertDcSpec(dcSpec);

+ 8 - 10
gqy-system/src/main/resources/mapper/document/DcProductMapper.xml

@@ -21,9 +21,7 @@
     </resultMap>
 
     <sql id="selectDcProductVo">
-        select dcp_id, dcp_name, dcp_model, dcp_diff, dcp_p_no, dcp_status,
-               dcp_price1, dcp_price2, dcp_price3, dcp_price4, dcp_cost_price, dcm_id,
-               dcp_oa_code, create_by, create_time, update_by, update_time
+        select dcp_id,dcp_name,dcp_model,dcp_diff,dcp_p_no,dcp_status,dcp_price1,dcp_price2,dcp_price3,dcp_price4,dcp_cost_price,dcm_id,dcp_oa_code
         from dc_product
     </sql>
 
@@ -43,14 +41,14 @@
         p.dcp_name,
         p.dcp_model,
         p.dcp_id
-        <if test="paramNames != null and paramNames.size() > 0">
-            ,<foreach item="paramName" collection="paramNames" separator=",">
+<!--        <if test="paramNames != null and paramNames.size() > 0">-->
+<!--            ,<foreach item="paramName" collection="paramNames" separator=",">-->
 
-            COALESCE(MAX(CASE WHEN param.psp_name = #{paramName}
-            THEN param.psp_input_value END), '') as "${paramName}"
+<!--            COALESCE(MAX(CASE WHEN param.psp_name = #{paramName}-->
+<!--            THEN param.psp_input_value END), '') as "${paramName}"-->
 
-            </foreach>
-        </if>
+<!--            </foreach>-->
+<!--        </if>-->
 
         FROM
         dc_product p
@@ -98,7 +96,7 @@
         </where>
     </select>
 
-    <select id="selectDcProductById" parameterType="Integer" resultMap="DcProductResult">
+    <select id="selectDcProductById" parameterType="Long" resultMap="DcProductResult">
         <include refid="selectDcProductVo"/>
         where dcp_id = #{dcp_id}
     </select>

+ 44 - 11
创建表语句.txt

@@ -399,15 +399,48 @@ CREATE TABLE `dc_work_system` (
 
 
 
-CREATE TABLE `dc_p_spec` (
-  `ps_id` bigint(19) NOT NULL AUTO_INCREMENT COMMENT '产品规格主键',
-  `ps_p_id` bigint(19) NOT NULL DEFAULT '0' COMMENT '产品主表键',
-  `ps_no` varchar(64) DEFAULT NULL COMMENT '规格编号(编码)box.xt',
-  `ps_name` varchar(200) DEFAULT NULL COMMENT '规格名称/描述',
-  `dcb_id` bigint(19) DEFAULT '0' COMMENT '关联知识id',
-  PRIMARY KEY (`ps_id`),
-  KEY `idx_ps_p_id` (`ps_p_id`) COMMENT '产品ID索引'
-) COMMENT='产品规格表';
-
-
 
+DROP TABLE IF EXISTS `dc_p_spec`;
+CREATE TABLE `dc_p_spec`  (
+  `ps_id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT '产品规格主键',
+  `ps_p_id` bigint(0) NOT NULL DEFAULT 0 COMMENT '产品主表键',
+  `ps_no` varchar(64)   NULL DEFAULT NULL COMMENT '规格编号(编码)box.xt',
+  `ps_name` varchar(200)   DEFAULT NULL COMMENT '规格名称/描述',
+  `dcb_id` bigint(0) NULL DEFAULT 0 COMMENT '关联知识id',
+  PRIMARY KEY (`ps_id`) USING BTREE,
+  INDEX `idx_ps_p_id`(`ps_p_id`) USING BTREE COMMENT '产品ID索引'
+) COMMENT = '产品规格表'
+
+
+DROP TABLE IF EXISTS `dc_product`;
+CREATE TABLE `dc_product`  (
+  `dcp_id` int(0) NOT NULL AUTO_INCREMENT COMMENT '产品ID',
+  `dcp_name` varchar(255) COMMENT '产品名称',
+  `dcp_model` varchar(255)  COMMENT '产品型号',
+  `dcp_diff` varchar(50)  COMMENT '产品区分代码',
+  `dcp_p_no` varchar(50)  COMMENT '产品应用编码',
+  `dcp_status` smallint(0) NULL DEFAULT 0 COMMENT '状态',
+  `dcp_price1` decimal(16, 6) NULL DEFAULT 0.000000 COMMENT '公开价',
+  `dcp_price2` decimal(16, 6) NULL DEFAULT 0.000000 COMMENT '销售价',
+  `dcp_price3` decimal(16, 6) NULL DEFAULT 0.000000 COMMENT '标准价',
+  `dcp_price4` decimal(16, 6) NULL DEFAULT 0.000000 COMMENT '大客价',
+  `dcp_cost_price` decimal(16, 6) NULL DEFAULT 0.000000 COMMENT '成本价',
+  `dcm_id` decimal(16, 6) NULL DEFAULT NULL COMMENT '文档id',
+  `dcp_oa_code` varchar(50)    COMMENT 'OA编码',
+  PRIMARY KEY (`dcp_id`) USING BTREE
+)  COMMENT = '产品表'  ;
+
+
+
+DROP TABLE IF EXISTS `dc_ps_param`;
+CREATE TABLE `dc_ps_param`  (
+  `psp_id` int(0) NOT NULL AUTO_INCREMENT COMMENT '参数主键',
+  `psp_mode` varchar(50)  COMMENT '参数编码(代码)',
+  `psp_name` varchar(100)   COMMENT '参数名',
+  `psp_value` varchar(200)   COMMENT '参数值',
+  `dcb_id` int(0) NULL DEFAULT 0 COMMENT '文档块id',
+  `psp_category` varchar(255) ,
+  `psp_input_value` varchar(255)   COMMENT '参数输入值',
+  `psp_type` varchar(100)    COMMENT '输入类型',
+  PRIMARY KEY (`psp_id`) USING BTREE
+) COMMENT = '产品参数表';