1 éve
szülő
commit
003ec22f43
23 módosított fájl, 880 hozzáadás és 1 törlés
  1. 2 0
      platform-dao/src/main/java/com/platform/dao/dto/longyanpurchaseorder/LongYanPurchaseDetailDTO.java
  2. 2 0
      platform-dao/src/main/java/com/platform/dao/dto/longyanpurchaseorder/LongYanPurchaseOrderDTO.java
  3. 74 0
      platform-dao/src/main/java/com/platform/dao/dto/merge/LongYanPurchaseOrderMergeDTO.java
  4. 2 0
      platform-dao/src/main/java/com/platform/dao/entity/longyanpurchaseorder/LongYanPurchaseDetail.java
  5. 2 0
      platform-dao/src/main/java/com/platform/dao/entity/longyanpurchaseorder/LongYanPurchaseOrder.java
  6. 61 0
      platform-dao/src/main/java/com/platform/dao/entity/merge/LongYanPurchaseOrderMerge.java
  7. 1 0
      platform-dao/src/main/java/com/platform/dao/mapper/longyanpurchaseorder/LongYanPurchaseOrderMapper.java
  8. 26 0
      platform-dao/src/main/java/com/platform/dao/mapper/merge/LongYanPurchaseOrderMergeMapper.java
  9. 57 0
      platform-dao/src/main/java/com/platform/dao/vo/export/merge/ExportLongYanPurchaseOrderMergeVO.java
  10. 2 0
      platform-dao/src/main/java/com/platform/dao/vo/query/longyanpurchaseorder/LongYanPurchaseDetailVO.java
  11. 2 0
      platform-dao/src/main/java/com/platform/dao/vo/query/longyanpurchaseorder/LongYanPurchaseOrderVO.java
  12. 56 0
      platform-dao/src/main/java/com/platform/dao/vo/query/merge/LongYanPurchaseOrderMergeVO.java
  13. 17 1
      platform-dao/src/main/resources/mapper/longyanpurchaseorder/LongYanPurchaseOrderMapper.xml
  14. 57 0
      platform-dao/src/main/resources/mapper/merge/LongYanPurchaseOrderMergeMapper.xml
  15. 149 0
      platform-rest/src/main/java/com/platform/rest/controller/merge/LongYanPurchaseOrderMergeController.java
  16. 6 0
      platform-rest/src/main/java/com/platform/rest/controller/yongyou/YongyouController.java
  17. 1 0
      platform-rest/src/main/resources/application-dev.yml
  18. 2 0
      platform-service/src/main/java/com/platform/service/longyanpurchaseorder/impl/LongYanPurchaseOrderServiceImpl.java
  19. 37 0
      platform-service/src/main/java/com/platform/service/merge/LongYanPurchaseOrderMergeService.java
  20. 138 0
      platform-service/src/main/java/com/platform/service/merge/impl/LongYanPurchaseOrderMergeServiceImpl.java
  21. 1 0
      platform-service/src/main/java/com/platform/service/yongyou/YongyouService.java
  22. 184 0
      platform-service/src/main/java/com/platform/service/yongyou/impl/YongyouServiceImpl.java
  23. 1 0
      platform-service/src/main/java/handler/yongyou/request/PuAppDetail.java

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/dto/longyanpurchaseorder/LongYanPurchaseDetailDTO.java

@@ -23,6 +23,8 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class LongYanPurchaseDetailDTO extends BaseDTO implements Serializable {
+    private String cdefine30;//设备位号
+
     private String cdefine22;//需求人
 
     private String cdefine28;//使用地点

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/dto/longyanpurchaseorder/LongYanPurchaseOrderDTO.java

@@ -23,6 +23,8 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class LongYanPurchaseOrderDTO extends BaseDTO implements Serializable {
+    private String mergeId;//请购单合并id
+
     private Double ipertaxrate;//税率
     private String cdefine12;//物料简述
 

+ 74 - 0
platform-dao/src/main/java/com/platform/dao/dto/merge/LongYanPurchaseOrderMergeDTO.java

@@ -0,0 +1,74 @@
+package com.platform.dao.dto.merge;
+
+import com.platform.common.bean.BaseDTO;
+import com.platform.common.validation.group.UpdateGroup;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import javax.validation.constraints.*;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+
+/**
+ * @Description 龙岩采购合并表DTO
+ * @Author pww
+ * @Date 2023-11-15 10:38:10
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class LongYanPurchaseOrderMergeDTO extends BaseDTO implements Serializable {
+    private String createdUserName;
+    private String title;
+    private Integer status;//0:草稿1:成功,2:失败
+
+    private String yongyouId;
+      /**
+     *
+     */
+        @NotNull(groups = {UpdateGroup.class}, message = "ID不能为空")
+    private String id;
+          /**
+     *
+     */
+          private String purchaseOrderId;
+          /**
+     *
+     */
+        private LocalDateTime createdTime;
+      /**
+       * 开始
+       */
+      private LocalDateTime createdTimeStart;
+      /**
+       * 结束
+       */
+      private LocalDateTime createdTimeEnd;
+          /**
+     *
+     */
+          private String createdUserId;
+          /**
+     *
+     */
+        private LocalDateTime updateTime;
+      /**
+       * 开始
+       */
+      private LocalDateTime updateTimeStart;
+      /**
+       * 结束
+       */
+      private LocalDateTime updateTimeEnd;
+          /**
+     *
+     */
+          private String updateUserId;
+        /**
+     * 关键字
+     */
+  private String keyword;
+
+}

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/entity/longyanpurchaseorder/LongYanPurchaseDetail.java

@@ -22,6 +22,8 @@ import java.math.BigDecimal;
 @Accessors(chain = true)
 @Table(name = "t_long_yan_purchase_detail")
 public class LongYanPurchaseDetail implements Serializable{
+    private String cdefine30;//设备位号
+
     private String cdefine22;//需求人
 
     private String cdefine28;//使用地点

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/entity/longyanpurchaseorder/LongYanPurchaseOrder.java

@@ -24,6 +24,8 @@ import javax.persistence.Transient;
 @Accessors(chain = true)
 @Table(name = "t_long_yan_purchase_order")
 public class LongYanPurchaseOrder implements Serializable{
+    private String mergeId;//请购单合并id
+
     private String cdefine12;//物料简述
 
     private String cpersoncode;//请购人编码

+ 61 - 0
platform-dao/src/main/java/com/platform/dao/entity/merge/LongYanPurchaseOrderMerge.java

@@ -0,0 +1,61 @@
+package com.platform.dao.entity.merge;
+
+import lombok.Data;
+
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+import lombok.experimental.Accessors;
+import com.platform.common.bean.DataScope;
+import javax.persistence.Transient;
+
+/**
+ * @Description 龙岩采购合并表实体类
+ * @Author pww
+ * @Date 2023-11-15 10:38:10
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@Table(name = "t_long_yan_purchase_order_merge")
+public class LongYanPurchaseOrderMerge implements Serializable{
+    private String createdUserName;
+    private String title;
+    private Integer status;//0:草稿1:成功,2:失败
+    private String yongyouId;
+
+    /**
+     *
+     */
+        @Id
+    private String id;
+    /**
+     *
+     */
+    private String purchaseOrderId;
+    /**
+     *
+     */
+    private LocalDateTime createdTime;
+    /**
+     *
+     */
+    private String createdUserId;
+    /**
+     *
+     */
+    private LocalDateTime updateTime;
+    /**
+     *
+     */
+    private String updateUserId;
+
+   /**
+    * 数据权限
+    */
+    @Transient
+    private DataScope dataScope;
+
+}

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/mapper/longyanpurchaseorder/LongYanPurchaseOrderMapper.java

@@ -22,6 +22,7 @@ import java.util.List;
  */
 @Component
 public interface LongYanPurchaseOrderMapper extends MyMapper<LongYanPurchaseOrder> {
+    void updateBatch(@Param("list") List<LongYanPurchaseOrder> list);
     void updateBatchPurchaseOrder(List<LongYanPurchaseOrder> list);
 
     List<LongYanPurchaseOrderByConditionReportVO> getReportByCptcode(LongYanPurchaseOrderDTO dto);

+ 26 - 0
platform-dao/src/main/java/com/platform/dao/mapper/merge/LongYanPurchaseOrderMergeMapper.java

@@ -0,0 +1,26 @@
+package com.platform.dao.mapper.merge;
+
+import com.platform.dao.dto.merge.LongYanPurchaseOrderMergeDTO;
+import com.platform.dao.config.MyMapper;
+import com.platform.dao.entity.merge.LongYanPurchaseOrderMerge;
+import com.platform.dao.vo.query.merge.LongYanPurchaseOrderMergeVO;
+import org.springframework.stereotype.Component;
+import java.util.List;
+
+
+/**
+ * @Description 龙岩采购合并表 mapper
+ * @Author pww
+ * @Date 2023-11-15 10:38:10
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Component
+public interface LongYanPurchaseOrderMergeMapper extends MyMapper<LongYanPurchaseOrderMerge> {
+    /**
+     * 分页查询
+     * @param dto
+     * @return
+     */
+    List<LongYanPurchaseOrderMergeVO> selectList(LongYanPurchaseOrderMergeDTO dto);
+
+}

+ 57 - 0
platform-dao/src/main/java/com/platform/dao/vo/export/merge/ExportLongYanPurchaseOrderMergeVO.java

@@ -0,0 +1,57 @@
+package com.platform.dao.vo.export.merge;
+
+import com.platform.office.annotation.Excel;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+
+/**
+ * @Description 龙岩采购合并表导出VO
+ * @Author pww
+ * @Date 2023-11-15 10:38:10
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+public class ExportLongYanPurchaseOrderMergeVO implements Serializable {
+
+    /**
+   * 
+   */
+          @Excel(name = "", orderNum = "1")
+      private String id;
+    
+    /**
+   * 
+   */
+          @Excel(name = "", orderNum = "2")
+      private String purchaseOrderId;
+    
+    /**
+   * 
+   */
+          @Excel(name = "", orderNum = "3")
+      private LocalDateTime createdTime;
+    
+    /**
+   * 
+   */
+          @Excel(name = "", orderNum = "4")
+      private String createdUserId;
+    
+    /**
+   * 
+   */
+          @Excel(name = "", orderNum = "5")
+      private LocalDateTime updateTime;
+    
+    /**
+   * 
+   */
+          @Excel(name = "", orderNum = "6")
+      private String updateUserId;
+    
+  
+}

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/longyanpurchaseorder/LongYanPurchaseDetailVO.java

@@ -23,6 +23,8 @@ import java.util.function.DoubleToLongFunction;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class LongYanPurchaseDetailVO extends BaseVO implements Serializable{
+    private String cdefine30;//设备位号
+
     private String cdefine22;//需求人
 
     private String cdefine28;//使用地点

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/longyanpurchaseorder/LongYanPurchaseOrderVO.java

@@ -24,6 +24,8 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class LongYanPurchaseOrderVO extends BaseVO implements Serializable{
+    private String mergeId;//请购单合并id
+
     private String cdefine12;//物料简述
 
     private String cpersoncode;//请购人编码

+ 56 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/merge/LongYanPurchaseOrderMergeVO.java

@@ -0,0 +1,56 @@
+package com.platform.dao.vo.query.merge;
+
+import lombok.Data;
+import com.platform.common.bean.BaseVO;
+import com.platform.common.bean.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import javax.validation.constraints.*;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+
+/**
+ * @Description 龙岩采购合并表VO结果类
+ * @Author pww
+ * @Date 2023-11-15 10:38:10
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class LongYanPurchaseOrderMergeVO extends BaseVO implements Serializable{
+    private String createdUserName;
+    private String title;
+    private Integer status;//0:草稿1:成功,2:失败
+
+    private String yongyouId;
+    /**
+     *
+     */
+        private String id;
+        /**
+     *
+     */
+        private String purchaseOrderId;
+        /**
+     *
+     */
+        private LocalDateTime createdTime;
+        /**
+     *
+     */
+        private String createdUserId;
+        /**
+     *
+     */
+        private LocalDateTime updateTime;
+        /**
+     *
+     */
+        private String updateUserId;
+
+
+
+}

+ 17 - 1
platform-dao/src/main/resources/mapper/longyanpurchaseorder/LongYanPurchaseOrderMapper.xml

@@ -93,7 +93,10 @@
             and menu.purchase_no like concat('%',#{purchaseNo},'%')
         </if>
         <if test="yongYouId !=null and yongYouId !=''">
-            and menu.yongYouId = #{yongYouId}
+            and menu.yong_you_id = #{yongYouId}
+        </if>
+        <if test="mergeId!=null and mergeId!=''">
+            and menu.merge_id = #{mergeId}
         </if>
     </sql>
     <select id="selectList" parameterType="com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseOrderDTO"
@@ -191,4 +194,17 @@
             where orders.yong_you_id = #{item.yongYouId}
         </foreach>
     </update>
+
+    <update id="updateBatch" parameterType="java.util.List">
+        <foreach collection="list" item="item" index="index" open="" close="" separator=";">
+            update t_long_yan_purchase_order orders
+
+            <set>
+            <if test="item.mergeId!=null and item.mergeId!=''">
+                orders.merge_id={item.mergeId}
+            </if>
+            </set>
+            where orders.id = #{item.id}
+        </foreach>
+    </update>
 </mapper>

+ 57 - 0
platform-dao/src/main/resources/mapper/merge/LongYanPurchaseOrderMergeMapper.xml

@@ -0,0 +1,57 @@
+<?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.platform.dao.mapper.merge.LongYanPurchaseOrderMergeMapper">
+    <sql id="Base_Column_List">
+                             menu.id,
+                                     menu.purchase_order_id,
+                                     menu.created_time,
+                                     menu.created_user_id,
+                                     menu.update_time,
+                                     menu.update_user_id
+                        </sql>
+    <sql id="Ref_Column_List">
+                                                                         menu.purchase_order_id,
+                                                                                                                                                                                                        </sql>
+    <sql id="List_Condition">
+                                    <if test="id != null and id != ''">
+                    and menu.id = #{id}
+                </if>
+                                                <if test="purchaseOrderId != null and purchaseOrderId != ''">
+                    and menu.purchase_order_id = #{purchaseOrderId}
+                </if>
+                                                <if test="createdTimeStart != null">
+                    and menu.created_time <![CDATA[>=]]>; #{createdTimeStart}
+                </if>
+                <if test="createdTimeEnd != null">
+                    and menu.created_time <![CDATA[<=]]> #{createdTimeEnd}
+                </if>
+                <if test="createdTime != null">
+                    and menu.created_time = #{createdTime}
+                </if>
+                                                <if test="createdUserId != null and createdUserId != ''">
+                    and menu.created_user_id = #{createdUserId}
+                </if>
+                                                <if test="updateTimeStart != null">
+                    and menu.update_time <![CDATA[>=]]>; #{updateTimeStart}
+                </if>
+                <if test="updateTimeEnd != null">
+                    and menu.update_time <![CDATA[<=]]> #{updateTimeEnd}
+                </if>
+                <if test="updateTime != null">
+                    and menu.update_time = #{updateTime}
+                </if>
+                                                <if test="updateUserId != null and updateUserId != ''">
+                    and menu.update_user_id = #{updateUserId}
+                </if>
+                            <if test="keyword != null and keyword != ''">
+            and menu.id like concat(concat('%',#{keyword}),'%')
+        </if>
+    </sql>
+    <select id="selectList" parameterType="com.platform.dao.dto.merge.LongYanPurchaseOrderMergeDTO" resultType="com.platform.dao.vo.query.merge.LongYanPurchaseOrderMergeVO">
+        select menu.*
+                                                                                                                                        from t_long_yan_purchase_order_merge as menu
+                                                                                                                                        <where>
+            <include refid="List_Condition" />
+        </where>
+    </select>
+</mapper>

+ 149 - 0
platform-rest/src/main/java/com/platform/rest/controller/merge/LongYanPurchaseOrderMergeController.java

@@ -0,0 +1,149 @@
+package com.platform.rest.controller.merge;
+
+import com.alibaba.fastjson.JSONArray;
+import com.google.gson.JsonArray;
+import com.platform.common.bean.DictVO;
+import com.platform.common.cache.DictCache;
+import com.platform.common.util.JsonUtils;
+import com.platform.common.util.R;
+import com.platform.dao.dto.merge.LongYanPurchaseOrderMergeDTO;
+import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseOrder;
+import com.platform.dao.entity.merge.LongYanPurchaseOrderMerge;
+import com.platform.service.merge.LongYanPurchaseOrderMergeService;
+import com.platform.dao.util.ExcelUtil;
+import com.platform.dao.vo.export.merge.ExportLongYanPurchaseOrderMergeVO;
+import com.platform.dao.vo.query.merge.LongYanPurchaseOrderMergeVO;
+import com.platform.common.util.BeanConverterUtil;
+import com.platform.common.validation.group.AddGroup;
+import com.platform.common.validation.group.UpdateGroup;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import lombok.AllArgsConstructor;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.rest.log.annotation.SysLog;
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @Description 龙岩采购合并表 控制器
+ * @Author pww
+ * @Date 2023-11-15 10:38:10
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/merge/merge")
+public class LongYanPurchaseOrderMergeController {
+
+  private final  LongYanPurchaseOrderMergeService longYanPurchaseOrderMergeService;
+
+  /**
+   * 通过id查询单条记录
+   *
+   * @param id 主键
+   * @return R
+   */
+  @GetMapping("/{id}")
+  public R<LongYanPurchaseOrderMerge> getById(@PathVariable("id") String id){
+      return new R<>(longYanPurchaseOrderMergeService.getModelById(id));
+  }
+
+  /**
+   * 新增记录
+   *
+   * @param
+   * @return R
+   */
+  @SysLog("新增龙岩采购合并表")
+  @PostMapping("/{title}")
+  @PreAuthorize("@pms.hasPermission('merge-merge-add')")
+  public R save(@PathVariable String title,@RequestBody String purchaseOrderStr) {
+      List<LongYanPurchaseOrder> longYanPurchaseOrders = JSONArray.parseArray(purchaseOrderStr,LongYanPurchaseOrder.class);
+      longYanPurchaseOrderMergeService.saveModelByList(title,longYanPurchaseOrders);
+      return new R();
+  }
+
+  /**
+   * 修改记录
+   *
+   * @param longYanPurchaseOrderMergeDTO 龙岩采购合并表DTO
+   * @return R
+   */
+  @SysLog("修改龙岩采购合并表")
+  @PutMapping("/{id}")
+  @PreAuthorize("@pms.hasPermission('merge-merge-edit')")
+  public R update(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody LongYanPurchaseOrderMergeDTO longYanPurchaseOrderMergeDTO) {
+      longYanPurchaseOrderMergeService.modModelByDTO(longYanPurchaseOrderMergeDTO);
+      return new R<>();
+  }
+
+
+
+  /**
+   * 通过id删除一条记录
+   *
+   * @param id 主键
+   * @return R
+   */
+  @SysLog("删除龙岩采购合并表")
+  @DeleteMapping("/{id}")
+  @PreAuthorize("@pms.hasPermission('merge-merge-del')")
+  public R removeById(@PathVariable String id){
+    longYanPurchaseOrderMergeService.deleteByPrimaryKey(id);
+    return new R<>();
+  }
+
+    /**
+     * 批量记录
+     *
+     * @param ids 主键
+     * @return R
+     */
+    @SysLog("批量删除龙岩采购合并表")
+    @DeleteMapping("")
+    @PreAuthorize("@pms.hasPermission('merge-merge-del')")
+    public R removeIds(@RequestBody List<String> ids){
+        longYanPurchaseOrderMergeService.batchDelete(ids);
+        return new R<>();
+    }
+
+  /**
+   * 获取分页
+   *
+   * @param pageNum 当前页码
+   * @param pageSize 每页条数
+   * @param longYanPurchaseOrderMergeDTO 龙岩采购合并表DTO
+   * @return R
+   */
+  @GetMapping("/page")
+  public R<AbstractPageResultBean<LongYanPurchaseOrderMergeVO>> query(LongYanPurchaseOrderMergeDTO longYanPurchaseOrderMergeDTO, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
+      return new R<>(longYanPurchaseOrderMergeService.selectPageList(longYanPurchaseOrderMergeDTO, pageNum, pageSize));
+  }
+
+  /**
+   * 获取列表
+   *
+   * @param longYanPurchaseOrderMergeDTO 龙岩采购合并表DTO
+   * @return R
+   */
+  @GetMapping("")
+  public R query(LongYanPurchaseOrderMergeDTO longYanPurchaseOrderMergeDTO) {
+      return new R<>(longYanPurchaseOrderMergeService.getModelListByDTO(longYanPurchaseOrderMergeDTO));
+  }
+
+  /**
+     * 龙岩采购合并表导出
+     *
+     * @param longYanPurchaseOrderMergeDTO 龙岩采购合并表DTO
+     * @return R
+     */
+  @GetMapping("/export")
+  @SysLog("龙岩采购合并表导出")
+  @PreAuthorize("@pms.hasPermission('merge-merge-export')")
+  public void export(HttpServletResponse response, LongYanPurchaseOrderMergeDTO longYanPurchaseOrderMergeDTO) {
+    List<LongYanPurchaseOrderMerge> list = longYanPurchaseOrderMergeService.getModelListByDTO(longYanPurchaseOrderMergeDTO);
+    ExcelUtil.exportResponseDict(response, ExportLongYanPurchaseOrderMergeVO.class, BeanConverterUtil.copyListProperties(list, ExportLongYanPurchaseOrderMergeVO.class), "龙岩采购合并表");
+  }
+
+}

+ 6 - 0
platform-rest/src/main/java/com/platform/rest/controller/yongyou/YongyouController.java

@@ -183,6 +183,12 @@ public class YongyouController {
         return new R(yongyouService.pushPurchaseOrder(id));
     }
 
+    @SysLog("向用友推送合并的采购单")
+    @GetMapping("/push/purchaseOrder/{mergeId}")
+    public R pushMergePurchaseOrder(@PathVariable String mergeId) {
+        return new R(yongyouService.pushMergePurchaseOrder(mergeId));
+    }
+
     @SysLog("请购单删除")
     @DeleteMapping("/delete/purcahseOrder/{id}")
     public R deletePurchaseOrder(@PathVariable String id) {

+ 1 - 0
platform-rest/src/main/resources/application-dev.yml

@@ -94,6 +94,7 @@ ignore:
     - /repair/application-forms/**
     - /sb/infos/**
     - /yongyou/put
+    - /merge/merge/**
 platform:
   slf4j:
     data: D://xajg

+ 2 - 0
platform-service/src/main/java/com/platform/service/longyanpurchaseorder/impl/LongYanPurchaseOrderServiceImpl.java

@@ -264,6 +264,7 @@ public class LongYanPurchaseOrderServiceImpl extends BaseServiceImpl<LongYanPurc
                 detailDTO.setProjectName(project.getParentName());
                 detailDTO.setProjectSecondNo(project.getNo());
                 detailDTO.setProjectSecondName(project.getName());
+                detailDTO.setCdefine30(model.getPositionNo());
 
 //                Double iorisum = (new Double(detailDTO.getFtaxprice())*(detailDTO.getNum().doubleValue()*(1+detailDTO.getIpertaxrate()*0.01)));
 //                BigDecimal   b   =   new   BigDecimal(iorisum);
@@ -277,6 +278,7 @@ public class LongYanPurchaseOrderServiceImpl extends BaseServiceImpl<LongYanPurc
                 detailDTO.setCreatedTime(LocalDateTime.now());
                 detailDTO.setCreatedUserId(userInfo.getUserId());
                 detailDTO.setCreatedUserName(userInfo.getUsername());
+                detailDTO.setCdefine30(model.getPositionNo());
 //                Double iorisum = (new Double(detailDTO.getFtaxprice())*(detailDTO.getNum().doubleValue()*(1+detailDTO.getIpertaxrate()*0.01)));
 //                BigDecimal   b   =   new   BigDecimal(iorisum);
 //                Double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();

+ 37 - 0
platform-service/src/main/java/com/platform/service/merge/LongYanPurchaseOrderMergeService.java

@@ -0,0 +1,37 @@
+package com.platform.service.merge;
+
+import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseOrder;
+import com.platform.dao.vo.query.merge.LongYanPurchaseOrderMergeVO;
+import com.platform.dao.dto.merge.LongYanPurchaseOrderMergeDTO;
+import com.platform.dao.entity.merge.LongYanPurchaseOrderMerge;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.service.base.IBaseService;
+import java.util.List;
+
+/**
+ * @Description 龙岩采购合并表 service
+ * @Author pww
+ * @Date 2023-11-15 10:38:10
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+public interface LongYanPurchaseOrderMergeService extends IBaseService<LongYanPurchaseOrderMerge, LongYanPurchaseOrderMergeDTO> {
+    void saveModelByList(String title,List<LongYanPurchaseOrder> longYanPurchaseOrders);
+
+   /**
+    * 批量删除
+    *
+    * @param ids :
+    * @return :
+    */
+    int batchDelete(List<String> ids);
+
+    /**
+     * 分页查询
+     * @param record
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    AbstractPageResultBean<LongYanPurchaseOrderMergeVO> selectPageList(LongYanPurchaseOrderMergeDTO record, int pageNum, int pageSize);
+
+                                                                            }

+ 138 - 0
platform-service/src/main/java/com/platform/service/merge/impl/LongYanPurchaseOrderMergeServiceImpl.java

@@ -0,0 +1,138 @@
+package com.platform.service.merge.impl;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.common.bean.DictVO;
+import com.platform.common.cache.DictCache;
+import com.platform.common.exception.BusinessException;
+import com.platform.dao.bean.MyPage;
+import com.github.pagehelper.PageHelper;
+import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseOrder;
+import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseOrderMapper;
+import com.platform.dao.vo.query.merge.LongYanPurchaseOrderMergeVO;
+import com.platform.dao.dto.merge.LongYanPurchaseOrderMergeDTO;
+import com.platform.dao.entity.merge.LongYanPurchaseOrderMerge;
+import com.platform.dao.mapper.merge.LongYanPurchaseOrderMergeMapper;
+import com.platform.service.merge.LongYanPurchaseOrderMergeService;
+import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
+import org.springframework.stereotype.Service;
+import com.platform.service.base.impl.BaseServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+import tk.mybatis.mapper.weekend.Weekend;
+import tk.mybatis.mapper.weekend.WeekendCriteria;
+import lombok.AllArgsConstructor;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @Description 龙岩采购合并表 service 实现类
+ * @Author pww
+ * @Date 2023-11-15 10:38:10
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@AllArgsConstructor
+@Service("longYanPurchaseOrderMergeService")
+public class LongYanPurchaseOrderMergeServiceImpl extends BaseServiceImpl<LongYanPurchaseOrderMergeMapper, LongYanPurchaseOrderMerge, LongYanPurchaseOrderMergeDTO> implements LongYanPurchaseOrderMergeService {
+    private LongYanPurchaseOrderMapper longYanPurchaseOrderMapper;
+    @Override
+    public void saveModelByList(String title,List<LongYanPurchaseOrder> longYanPurchaseOrders) {
+        List<DictVO> dictVOS = DictCache.getChildren("MERGE_PARAM_JUGMENT");
+        if (longYanPurchaseOrders==null||longYanPurchaseOrders.size()<2){
+            throw new BusinessException("请选择至少两个请购单进行合并!");
+        }
+        LongYanPurchaseOrder first = longYanPurchaseOrders.get(0);
+        //计划类型
+        if ("1".equals(dictVOS.get(0).getValue().toString())){
+            longYanPurchaseOrders.forEach(item->{
+                if(first.getType()!=(item.getType())){
+                    throw new BusinessException("您勾选的采购单存在计划类型不匹配,请重新选择!");
+                }
+            });
+        }
+        if ("1".equals(dictVOS.get(1).getValue().toString())){
+            longYanPurchaseOrders.forEach(item->{
+                if(!first.getCptcode().equals(item.getCptcode())){
+                    throw new BusinessException("您勾选的采购单存在采购类型不匹配,请重新选择!");
+                }
+            });
+        }
+        if ("1".equals(dictVOS.get(2).getValue().toString())){
+            longYanPurchaseOrders.forEach(item->{
+                if(first.getOldOrNew()!=item.getOldOrNew()){
+                    throw new BusinessException("您勾选的采购单存在采购厂区不匹配,请重新选择!");
+                }
+            });
+        }
+        if ("1".equals(dictVOS.get(3).getValue().toString())){
+            longYanPurchaseOrders.forEach(item->{
+                if(!first.getPlanGetDate().equals(item.getPlanGetDate())){
+                    throw new BusinessException("您勾选的采购单存在计划到货日期不匹配,请重新选择!");
+                }
+            });
+        }
+        if ("1".equals(dictVOS.get(4).getValue().toString())){
+            longYanPurchaseOrders.forEach(item->{
+                if(!first.getRemark().equals(item.getRemark())){
+                    throw new BusinessException("您勾选的采购单存在请购原因不匹配,请重新选择!");
+                }
+            });
+        }
+        if ("1".equals(dictVOS.get(5).getValue().toString())){
+            longYanPurchaseOrders.forEach(item->{
+                if(!first.getCbustype().equals(item.getCbustype())){
+                    throw new BusinessException("您勾选的采购单存在业务类型不匹配,请重新选择!");
+                }
+            });
+        }
+        if ("1".equals(dictVOS.get(6).getValue().toString())){
+            longYanPurchaseOrders.forEach(item->{
+                if(!first.getCdepcode().equals(item.getCdepcode())){
+                    throw new BusinessException("您勾选的采购单存在申请部门不匹配,请重新选择!");
+                }
+            });
+        }
+        if ("1".equals(dictVOS.get(7).getValue().toString())){
+            longYanPurchaseOrders.forEach(item->{
+                if(!first.getNeedDate().equals(item.getNeedDate())){
+                    throw new BusinessException("您勾选的采购单存在需求日期不匹配,请重新选择!");
+                }
+            });
+        }
+        if ("1".equals(dictVOS.get(8).getValue().toString())){
+            longYanPurchaseOrders.forEach(item->{
+                if(!first.getProjectId().equals(item.getProjectId())){
+                    throw new BusinessException("您勾选的采购单存在关联项目不匹配,请重新选择!");
+                }
+            });
+        }
+        LongYanPurchaseOrderMergeDTO longYanPurchaseOrderMergeDTO = new LongYanPurchaseOrderMergeDTO();
+        longYanPurchaseOrderMergeDTO.setTitle(title);
+        LongYanPurchaseOrderMerge longYanPurchaseOrderMerge = this.saveModelByDTO(longYanPurchaseOrderMergeDTO);
+        longYanPurchaseOrders.forEach(item->{
+            item.setMergeId(longYanPurchaseOrderMerge.getId());
+        });
+        longYanPurchaseOrderMapper.updateBatch(longYanPurchaseOrders);
+
+    }
+
+    @Override
+    public int batchDelete(List<String> ids) {
+        Weekend<LongYanPurchaseOrderMerge> weekend = new Weekend<>(LongYanPurchaseOrderMerge.class);
+        WeekendCriteria<LongYanPurchaseOrderMerge, Object> weekendCriteria = weekend.weekendCriteria();
+        weekendCriteria.andIn(LongYanPurchaseOrderMerge::getId, ids);
+        mapper.deleteByExample(weekend);
+        return 1;
+    }
+
+    @Override
+    public AbstractPageResultBean<LongYanPurchaseOrderMergeVO> selectPageList(LongYanPurchaseOrderMergeDTO record, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        return new MyPage(mapper.selectList(record));
+    }
+
+    @Override
+    public AbstractPageResultBean<LongYanPurchaseOrderMerge> selectPageInfo(LongYanPurchaseOrderMergeDTO record, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        return new MyPage(mapper.selectList(record));
+    }
+
+                                                                            }

+ 1 - 0
platform-service/src/main/java/com/platform/service/yongyou/YongyouService.java

@@ -22,6 +22,7 @@ import java.util.List;
  * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
  */
 public interface YongyouService {
+    String pushMergePurchaseOrder(String id);
     void purchaseOrderUpdate();
     AbstractPageResultBean<LongYanPurchaseDetailListVO> getLongYanPurchaseDetailListVOs(LongYanPurchaseOrderDTO detailDTO, Integer pageNum, Integer pageSize);
     List<PurchasePriceVO> getPurchasePrice(List<String> codes,Integer isNew);

+ 184 - 0
platform-service/src/main/java/com/platform/service/yongyou/impl/YongyouServiceImpl.java

@@ -19,6 +19,7 @@ import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
 import com.platform.dao.dto.store.SpareStoreDTO;
 import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseDetail;
 import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseOrder;
+import com.platform.dao.entity.merge.LongYanPurchaseOrderMerge;
 import com.platform.dao.entity.repair.RepairApplicationForm;
 import com.platform.dao.entity.sb.SbInfo;
 import com.platform.dao.entity.sb.SbModelSpareBom;
@@ -28,6 +29,7 @@ import com.platform.dao.entity.store.OutStoreForm;
 import com.platform.dao.enums.*;
 import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseDetailMapper;
 import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseOrderMapper;
+import com.platform.dao.mapper.merge.LongYanPurchaseOrderMergeMapper;
 import com.platform.dao.mapper.project.ProjectMapper;
 import com.platform.dao.mapper.repair.RepairApplicationFormMapper;
 import com.platform.dao.mapper.sb.SbInfoMapper;
@@ -89,6 +91,8 @@ public class YongyouServiceImpl implements YongyouService {
     private LongYanSpareAddMapper longYanSpareAddMapper;
     @Resource
     private ProjectMapper projectMapper;
+    @Resource
+    private LongYanPurchaseOrderMergeMapper longYanPurchaseOrderMergeMapper;
     private String token_key = "yongyou-token";
     private String Conn_key = "yongyou-Conn";
     private String cAcc_ID_key = "yongyou-cAcc_ID";
@@ -859,6 +863,8 @@ public class YongyouServiceImpl implements YongyouService {
         }
     }
 
+
+
     @Override
     public void purchaseOrderUpdate() {
         //查询当天修改的所有单子
@@ -964,6 +970,184 @@ public class YongyouServiceImpl implements YongyouService {
 
     }
 
+    @Override
+    public String pushMergePurchaseOrder(String id) {
+        LongYanPurchaseOrderMerge merge = longYanPurchaseOrderMergeMapper.selectByPrimaryKey(id);
+        if (merge==null){
+            throw new BusinessException("该合并单已不存在!");
+        }
+        LongYanPurchaseOrderDTO longYanPurchaseOrderDTO = new LongYanPurchaseOrderDTO();
+        longYanPurchaseOrderDTO.setMergeId(id);
+        List<LongYanPurchaseOrderVO> list = longYanPurchaseOrderMapper.selectList(longYanPurchaseOrderDTO);
+        if (list==null||list.size()==0){
+            throw new BusinessException("该合并单下无明细!");
+        }
+
+        PuAppMain puAppMain = new PuAppMain();
+        List<PuAppDetail> puAppDetails = new ArrayList<>();
+        for (LongYanPurchaseOrderVO vo:list){
+            if (vo.getOldOrNew()==null){
+                throw new BusinessException("采购单未选择新老厂!采购单id:"+vo.getId());
+            }
+            LongYanPurchaseDetailDTO longYanPurchaseDetailDTO = new LongYanPurchaseDetailDTO();
+            longYanPurchaseDetailDTO.setLongYangPurchaseOrderId(id);
+            List<LongYanPurchaseDetailVO> detailVOS = longYanPurchaseDetailMapper.selectList(longYanPurchaseDetailDTO);
+            if (vo.getSbId()!=null) {
+                addBom(vo,detailVOS);
+            }
+//        puAppMain.setCpersoncode(vo.getCreatedUserName());
+            if (puAppMain.getCdefine1()==null) {
+                puAppMain.setCbustype(vo.getCbustype());
+                puAppMain.setCdepcode(vo.getCdepcode());
+
+//        if (list.get(0).getOldOrNew()==1){
+//            puAppMain.setCdepcode(DictCache.getValueByCode("YONG_YOU_DEPT",list.get(0).getCdepcode()));
+//        }else if (list.get(0).getOldOrNew()==2){
+//            puAppMain.setCdepcode(DictCache.getValueByCode("YONG_YOU_DEPT_NEW",list.get(0).getCdepcode()));
+//        }
+
+
+//        puAppMain.setCcode(vo.getPurchaseNo());
+
+                puAppMain.setCpersoncode(vo.getCpersoncode());
+                puAppMain.setCdefine1(DictCache.getLabelByValue("LONG_YAN_PURCHASE_TYPE", vo.getType()));
+                // 获取项目信息
+                if (StringUtils.isNotBlank(vo.getProjectId())) {
+                    String fzr = projectMapper.selectByPrimaryKey(vo.getProjectId()).getFzr();
+                    if (!StringUtils.isBlank(fzr) && !"无".equals(fzr)) {
+                        puAppMain.setCdefine3(fzr);
+                    }
+                }
+                if (vo.getSbId() != null) {
+                    SbInfo sbInfo = sbInfoMapper.selectByPrimaryKey(vo.getSbId());
+                    puAppMain.setCdefine11(sbInfo.getPositionNo() + "-" + sbInfo.getName());
+                }
+                puAppMain.setCmemo(vo.getRemark());
+                puAppMain.setCmaker(vo.getCreatedUserName());
+                puAppMain.setDdate(DateUtils.dateToString(vo.getCreatedTime()));
+                puAppMain.setCptcode(vo.getCptcode());
+                puAppMain.setCdefine12(vo.getCdefine12());
+
+//        puAppMain.setCbmemo(vo.getCbmemo());
+                puAppMain.setCdefine6(vo.getPlanGetDate().toString());
+            }
+                String dept = null;
+                if (list.get(0).getOldOrNew()==2){
+                    dept = DictCache.getLabelByValue("YONG_YOU_DEPT",list.get(0).getCdepcode());
+                }else if (list.get(0).getOldOrNew()==1){
+                    dept = DictCache.getLabelByValue("YONG_YOU_DEPT_NEW",list.get(0).getCdepcode());
+                }
+            for (LongYanPurchaseDetailVO orderVO:detailVOS){
+                PuAppDetail detail = new PuAppDetail();
+                detail.setCdefine30(orderVO.getCdefine30());
+                detail.setCdefine22(orderVO.getCdefine22());
+                detail.setCdefine28(orderVO.getCdefine28());
+                detail.setCdefine29(dept);
+                detail.setCinvcode(orderVO.getNo());
+                detail.setFquantity(orderVO.getNum().intValue());
+                detail.setDrequirdate(vo.getNeedDate().toString());
+                detail.setDarrivedate(vo.getPlanGetDate().toString());
+                detail.setCitem_class(orderVO.getProjectNo());
+                detail.setCitemname(orderVO.getProjectName());
+                detail.setCitem_name(orderVO.getProjectSecondName());
+                detail.setCitemcode(orderVO.getProjectSecondNo());
+
+                detail.setFmoney(MathUtils.formatDouble1(orderVO.getFmoney(),2));//本币含税合计
+                detail.setFunitprice(MathUtils.formatDouble1(orderVO.getFunitprice(),4));//本币无税单价 = 本币不含税金额 /数量
+
+                Double iorisum = orderVO.getFmoney()/orderVO.getIexchrate();//原币价税合计111
+                Double ioritaxprice = (iorisum/(1+orderVO.getIpertaxrate()/100))*orderVO.getIpertaxrate()/100 ;//原币税额111
+                Double iorimoney = iorisum-ioritaxprice;//原币不含税金额 = 原币价税合计 - 原币税额111
+                Double ioricost = iorimoney/orderVO.getNum().doubleValue();//原币不含税单价 = 原币不含税金额 / 数量
+                Double ioritaxcost = iorisum/orderVO.getNum().doubleValue();//原币含税单价
+                Double ftaxprice = orderVO.getFmoney()/orderVO.getNum().doubleValue();//本币含税单价111111
+//            Double itaxprice = ftaxprice*orderVO.getNum().doubleValue()/(1+orderVO.getIpertaxrate());//本币税额
+                Double itaxprice = (orderVO.getFmoney()/(1+orderVO.getIpertaxrate()/100))*orderVO.getIpertaxrate()/100;//本币税额111
+
+                Double imoney = ftaxprice*orderVO.getNum().doubleValue()-itaxprice;///本币不含税金额 = 本币含税单价 * 数量 - 本币税额
+
+                detail.setIorisum(MathUtils.formatDouble1(iorisum,2));
+                detail.setIoritaxprice(MathUtils.formatDouble1(ioritaxprice,2));
+
+                detail.setIorimoney(MathUtils.formatDouble1(iorimoney,2));
+                detail.setIoricost(MathUtils.formatDouble1(ioricost,4));
+
+                detail.setIoritaxcost(MathUtils.formatDouble1(ioritaxcost,4));
+                detail.setFtaxprice(MathUtils.formatDouble1(ftaxprice,4));
+                detail.setItaxprice(MathUtils.formatDouble1(itaxprice,2));
+                detail.setImoney(MathUtils.formatDouble1(imoney,2));
+
+
+
+
+                detail.setCbmemo(orderVO.getCbmemo());
+//            detail.setFtaxprice(MathUtils.formatDouble1(orderVO.getIpertaxrate(),2));
+                detail.setIpertaxrate(MathUtils.formatDouble1(orderVO.getIpertaxrate(),2));
+//            detail.setIorisum(MathUtils.formatDouble1(orderVO.getIorisum(),2));
+
+
+//            detail.setCdefine12(orderVO.getCdefine12());
+                puAppDetails.add(detail);
+            }
+        }
+
+        PuAppVouch puAppVouch = new PuAppVouch();
+        puAppVouch.setPuAppMain(puAppMain);
+        puAppVouch.setPuAppDetail(puAppDetails);
+        PushPurchaseOrderRequest request = new PushPurchaseOrderRequest();
+        request.setPuAppVouch(puAppVouch);
+        request.setTradeID("");
+        // 正式环境代码开始
+        request.setToken(geToken(list.get(0).getOldOrNew()));
+        request.setCAcc_ID(getCAccId2(list.get(0).getOldOrNew()));
+        request.setConn(getConn2(list.get(0).getOldOrNew()));
+        // 正式环境代码结束
+        // 测试环境代码开始
+        /*request.setToken(geTokenTest());
+        request.setCAcc_ID(getCAccIdTest());
+        request.setConn(getConnTest());*/
+        // 测试环境代码结束
+        PushPurchaseOrderHandler handler = new PushPurchaseOrderHandler();
+        handler.setRequest(request);
+        String responseStr = handler.handler();
+        PushPurchaseOrderResponse response = JsonUtils.jsonToModel(responseStr,PushPurchaseOrderResponse.class);
+        LongYanPurchaseDetail detail = new LongYanPurchaseDetail();
+        LongYanPurchaseOrderMerge longYanPurchaseOrderMerge = new LongYanPurchaseOrderMerge();
+        longYanPurchaseOrderMerge.setId(id);
+        if (response.getResult()){
+            longYanPurchaseOrderMerge.setStatus(1);
+            longYanPurchaseOrderMerge.setYongyouId(response.getData());
+        }else {
+            longYanPurchaseOrderMerge.setStatus(2);
+        }
+        longYanPurchaseOrderMergeMapper.updateByPrimaryKey(longYanPurchaseOrderMerge);
+        for (LongYanPurchaseOrderVO vo:list){
+            LongYanPurchaseOrder order = new LongYanPurchaseOrder();
+            order.setId(vo.getId());
+            if (response.getResult()){
+                order.setStatus(3);
+                order.setYongYouId(response.getData());
+//            detail.setLongYangPurchaseOrderId(order.getId());
+                detail.setDetailStatus(9);
+            }else {
+                order.setStatus(0);
+                detail.setDetailStatus(10);
+            }
+            order.setErrorMessage(response.getMsg());
+            longYanPurchaseOrderMapper.updateByPrimaryKeySelective(order);
+            Weekend<LongYanPurchaseDetail> weekend = new Weekend<>(LongYanPurchaseDetail.class);
+            WeekendCriteria<LongYanPurchaseDetail,Object> weekendCriteria = weekend.weekendCriteria();
+            weekendCriteria.andEqualTo(LongYanPurchaseDetail::getLongYangPurchaseOrderId,order.getId());
+            longYanPurchaseDetailMapper.updateByExampleSelective(detail,weekend);
+            if (!response.getResult()){
+                throw new BusinessException(response.getMsg());
+            }
+        }
+
+        return response.getMsg();
+
+    }
+
 
     @Override
     public String pushPurchaseOrder(String id) {

+ 1 - 0
platform-service/src/main/java/handler/yongyou/request/PuAppDetail.java

@@ -8,6 +8,7 @@ import lombok.Data;
  */
 @Data
 public class PuAppDetail {
+    private String cdefine30;//设备位号
 
     private String cdefine22;//需求人