Przeglądaj źródła

Merge remote-tracking branch 'origin/demo_' into demo_

hfxc226 1 rok temu
rodzic
commit
70273db4a0
37 zmienionych plików z 705 dodań i 218 usunięć
  1. 11 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/sb/SbInfoDTO.java
  3. 11 0
      platform-dao/src/main/java/com/platform/dao/entity/longyanpurchaseorder/LongYanPurchaseDetail.java
  4. 83 0
      platform-dao/src/main/java/com/platform/dao/enums/LongYanPurchaseDetailStatusEnum.java
  5. 12 10
      platform-dao/src/main/java/com/platform/dao/enums/LongYanPurchaseOrderStatusEnum.java
  6. 2 0
      platform-dao/src/main/java/com/platform/dao/mapper/longyanpurchaseorder/LongYanPurchaseDetailMapper.java
  7. 3 0
      platform-dao/src/main/java/com/platform/dao/mapper/longyanpurchaseorder/LongYanPurchaseOrderMapper.java
  8. 7 0
      platform-dao/src/main/java/com/platform/dao/mapper/sb/SbPositionMapper.java
  9. 4 0
      platform-dao/src/main/java/com/platform/dao/vo/SysUserVO.java
  10. 10 0
      platform-dao/src/main/java/com/platform/dao/vo/query/longyanpurchaseorder/LongYanPurchaseDetailVO.java
  11. 4 0
      platform-dao/src/main/java/com/platform/dao/vo/sb/SbPositionVO.java
  12. 17 1
      platform-dao/src/main/resources/mapper/longyanpurchaseorder/LongYanPurchaseDetailMapper.xml
  13. 11 0
      platform-dao/src/main/resources/mapper/longyanpurchaseorder/LongYanPurchaseOrderMapper.xml
  14. 6 1
      platform-dao/src/main/resources/mapper/sb/SbInfoMapper.xml
  15. 9 0
      platform-dao/src/main/resources/mapper/sb/SbPositionMapper.xml
  16. 1 1
      platform-dao/src/main/resources/mapper/upms/SysUserMapper.xml
  17. 18 1
      platform-rest/src/main/java/com/platform/rest/controller/yongyou/YongyouController.java
  18. 10 0
      platform-service/src/main/java/com/platform/service/longyanpurchaseorder/impl/LongYanPurchaseOrderServiceImpl.java
  19. 42 40
      platform-service/src/main/java/com/platform/service/repair/strategy/impl/LongYanRepairStrategy.java
  20. 21 1
      platform-service/src/main/java/com/platform/service/sb/impl/SbPositionServiceImpl.java
  21. 1 1
      platform-service/src/main/java/com/platform/service/util/PageUtils.java
  22. 3 0
      platform-service/src/main/java/com/platform/service/yongyou/YongyouService.java
  23. 272 117
      platform-service/src/main/java/com/platform/service/yongyou/impl/YongyouServiceImpl.java
  24. 1 1
      platform-service/src/main/java/handler/yongyou/AddSpareHandler.java
  25. 2 2
      platform-service/src/main/java/handler/yongyou/BaseRequestHandler.java
  26. 3 1
      platform-service/src/main/java/handler/yongyou/DeletePurchaseOrderHandler.java
  27. 3 1
      platform-service/src/main/java/handler/yongyou/GetCurrentStockHandler.java
  28. 3 1
      platform-service/src/main/java/handler/yongyou/GetInventoryListHandler.java
  29. 1 1
      platform-service/src/main/java/handler/yongyou/GetPurchaseDetailListHandler.java
  30. 3 1
      platform-service/src/main/java/handler/yongyou/LoginHandler.java
  31. 3 1
      platform-service/src/main/java/handler/yongyou/OtherOutHandler.java
  32. 99 32
      platform-service/src/main/java/handler/yongyou/PurchaseOrderModNoticeHandler.java
  33. 2 1
      platform-service/src/main/java/handler/yongyou/PushPurchaseOrderHandler.java
  34. 13 0
      platform-service/src/main/java/handler/yongyou/request/ModRequest.java
  35. 8 0
      platform-service/src/main/java/handler/yongyou/request/PuAppDetail.java
  36. 3 1
      platform-service/src/main/java/handler/yongyou/request/PurchaseDetails.java
  37. 1 2
      platform-service/src/main/java/handler/yongyou/request/PurchaseOrderStatusModNoticeRequest.java

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

@@ -23,6 +23,17 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class LongYanPurchaseDetailDTO extends BaseDTO implements Serializable {
+    private String yongYouRemark;
+    private String projectNo; // 项目大类编码citem_class
+    private String projectName; // 项目大类名称citemcname
+    private String projectSecondNo; // 项目大类名称citemcname
+    private String projectSecondName; // 项目名称cname
+
+    private String yongYouId;
+    private Integer purchasedNum;//已采购数量
+
+    private Integer inStoreNum;//已入库数量
+
     private Integer oldOrNew;
     private Integer detailStatus;
     private String sbName;

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/dto/sb/SbInfoDTO.java

@@ -662,4 +662,6 @@ public class SbInfoDTO extends BaseDTO implements Serializable {
      * 设备类型
      */
     private List<String> typeList;
+
+    private Integer typeFlag; // 1 代表按照设备类别分组统计
 }

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

@@ -22,6 +22,17 @@ import java.math.BigDecimal;
 @Accessors(chain = true)
 @Table(name = "t_long_yan_purchase_detail")
 public class LongYanPurchaseDetail implements Serializable{
+    private String yongYouRemark;
+
+    private String projectNo; // 项目大类编码citem_class
+    private String projectName; // 项目大类名称citemcname
+    private String projectSecondNo; // 项目大类名称citemcname
+    private String projectSecondName; // 项目名称cname
+
+    private Integer purchasedNum;//已采购数量
+
+    private Integer inStoreNum;//已入库数量
+
     private Integer detailStatus;
     private String storeName;
     private String storePosition;

+ 83 - 0
platform-dao/src/main/java/com/platform/dao/enums/LongYanPurchaseDetailStatusEnum.java

@@ -0,0 +1,83 @@
+package com.platform.dao.enums;
+
+import com.google.common.collect.Lists;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description 设备状态
+ * @Author liuyu
+ * @Date 2020/05/05
+ * @Version Copyright (c) 2019,合肥乾元坤合科技有限公司 All rights reserved.
+ */
+@Getter
+@AllArgsConstructor
+public enum LongYanPurchaseDetailStatusEnum {
+
+    /**
+     * 已请购
+     */
+    applyed(1, "已请购"),
+    /**
+     * 已询价
+     */
+    asked_price(2, "已询价"),
+    /**
+     * 采购中
+     */
+    purchasing(3, "采购中"),
+    /**
+     * 已采购
+     */
+    purchased(4, "已采购"),
+    /**
+     * 入库中
+     */
+    in_storing(5, "入库中"),
+    /**
+     * 已入库
+     */
+    in_stored(6, "已入库"),
+
+    apply_purchasing(8, "请购中"),
+
+    pushed(9, "已推送"),
+
+    fail_push(10, "推送失败"),
+
+
+    close_apply_order(7, "请购关闭");
+
+    private final Integer value;
+    private final String name;
+
+    //讲枚举转换成list格式,这样前台遍历的时候比较容易,列如 下拉框 后台调用toList方法,你就可以得到code 和name了
+    public static List<Map<String, Object>> toList() {
+        List<Map<String, Object>> list = Lists.newArrayList();//Lists.newArrayList()其实和new ArrayList()几乎一模
+        //  一样, 唯一它帮你做的(其实是javac帮你做的), 就是自动推导(不是"倒")尖括号里的数据类型.
+        for (LongYanPurchaseDetailStatusEnum obj : LongYanPurchaseDetailStatusEnum.values()) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("value", obj.getValue());
+            map.put("name", obj.getName());
+            list.add(map);
+        }
+        return list;
+    }
+
+    //讲枚举转换成list格式,这样前台遍历的时候比较容易,列如 下拉框 后台调用toList方法,你就可以得到code 和name了
+    public static String getNameByValue(Integer value) {
+        String name = "";
+        for (LongYanPurchaseDetailStatusEnum obj : LongYanPurchaseDetailStatusEnum.values()) {
+            if(obj.getValue() == value){
+                name = obj.getName();
+                break;
+            }
+        }
+        return name;
+    }
+
+}

+ 12 - 10
platform-dao/src/main/java/com/platform/dao/enums/LongYanPurchaseOrderStatusEnum.java

@@ -31,21 +31,23 @@ public enum LongYanPurchaseOrderStatusEnum {
      */
     pushed(3, "已推送"),
     /**
-     * 已报废
+     * 锁定
      */
-    wait_check(4, "待审核"),
+    locked(4, "锁定"),
     /**
-     * 报废拒绝
+     * 开立
      */
-    checked(5, "已审核"),
+    stand(5, "开立"),
     /**
-     * 置换中
+     * 审核
      */
-    puchasing(6, "采购中"),
-    /**
-     * 已置换
-     */
-    puchased(7, "采购完成");
+    check(6, "审核"),
+
+    cancel_close(7, "取消关闭"),
+
+    normal_close(8, "正常关闭"),
+
+    unknowing_status(9, "未知状态");
 
 
     private final Integer value;

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/mapper/longyanpurchaseorder/LongYanPurchaseDetailMapper.java

@@ -26,4 +26,6 @@ public interface LongYanPurchaseDetailMapper extends MyMapper<LongYanPurchaseDet
      */
     List<LongYanPurchaseDetailVO> selectList(LongYanPurchaseDetailDTO dto);
 
+    void updateBatchPurchaseDetails(List<LongYanPurchaseDetailDTO> list);
+
 }

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

@@ -1,5 +1,6 @@
 package com.platform.dao.mapper.longyanpurchaseorder;
 
+import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseDetailDTO;
 import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseOrderDTO;
 import com.platform.dao.config.MyMapper;
 import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseOrder;
@@ -21,6 +22,8 @@ import java.util.List;
  */
 @Component
 public interface LongYanPurchaseOrderMapper extends MyMapper<LongYanPurchaseOrder> {
+    void updateBatchPurchaseOrder(List<LongYanPurchaseOrder> list);
+
     List<LongYanPurchaseOrderByConditionReportVO> getReportByCptcode(LongYanPurchaseOrderDTO dto);
     List<LongYanPurchaseOrderByConditionReportVO> getReportByCbustype(LongYanPurchaseOrderDTO dto);
     List<LongYanPurchaseOrderByConditionReportVO> getReportByOldOrNew(LongYanPurchaseOrderDTO dto);

+ 7 - 0
platform-dao/src/main/java/com/platform/dao/mapper/sb/SbPositionMapper.java

@@ -42,4 +42,11 @@ public interface SbPositionMapper extends MyMapper<SbPosition> {
     String selectNameById(String object);
 
     List<SbPositionVO> selectLongYanList(SbPositionDTO dto);
+
+    /**
+     * 查询车间数
+     * @param object :
+     * @return :
+     */
+    Integer countNum(String object);
 }

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/vo/SysUserVO.java

@@ -190,4 +190,8 @@ public class SysUserVO implements Serializable {
     private Boolean workFlag;
 
     private String email;
+
+    private String deptName;
+
+    private String roleName;
 }

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

@@ -22,6 +22,16 @@ import java.math.BigDecimal;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class LongYanPurchaseDetailVO extends BaseVO implements Serializable{
+    private String yongYouId;
+    private String yongYouRemark;
+    private String projectNo; // 项目大类编码citem_class
+    private String projectName; // 项目大类名称citemcname
+    private String projectSecondNo; // 项目大类名称citemcname
+    private String projectSecondName; // 项目名称cname
+
+    private Integer purchasedNum;//已采购数量
+
+    private Integer inStoreNum;//已入库数量
     private Integer detailStatus;
     private String sbInfo;
     private String storeName;

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/vo/sb/SbPositionVO.java

@@ -109,5 +109,9 @@ public class SbPositionVO extends BaseVO implements Serializable {
      */
     private String updateUserName;
 
+    private Integer workshopNum; // 车间数
 
+    private Integer sbTypeNum; // 设备类型数目
+
+    private Integer sbNum; // 设备数
 }

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

@@ -102,7 +102,7 @@ ORDER BY totalNum DESC
 
     <select id="getDetails" parameterType="com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseDetailDTO"
             resultType="com.platform.dao.vo.query.longyanpurchaseorder.LongYanPurchaseDetailVO">
-        SELECT menu.*,CONCAT(info.position_no,',',info.name) AS sbInfo
+        SELECT menu.*,CONCAT(info.position_no,'-',info.name) AS sbInfo,orders.yong_you_id as  yongYouId
         FROM t_long_yan_purchase_detail menu LEFT JOIN t_long_yan_purchase_order orders
         ON orders.id = menu.long_yang_purchase_order_id
         LEFT JOIN t_sb_info info ON info.id = orders.sb_id
@@ -116,4 +116,20 @@ ORDER BY totalNum DESC
             </if>
         </where>
     </select>
+    <update id="updateBatchPurchaseDetails" parameterType="java.util.List">
+        <foreach collection="list" item="item" index="index" open="" close="" separator=";">
+            update t_long_yan_purchase_detail detail left join t_long_yan_purchase_order orders
+            on detail.long_yang_purchase_order_id = orders.id
+            <set>  detail.`purchased_num` = #{item.purchasedNum},
+            detail.`in_store_num` = #{item.inStoreNum},
+            detail.detail_status = #{item.detailStatus}
+            <if test="item.yongYouRemark!=null">
+            ,
+            detail.yong_you_remark = #{item.yongYouRemark}
+            </if>
+        </set>
+            where orders.yong_you_id = #{item.yongYouId}
+            and detail.no = #{item.no}
+        </foreach>
+    </update>
 </mapper>

+ 11 - 0
platform-dao/src/main/resources/mapper/longyanpurchaseorder/LongYanPurchaseOrderMapper.xml

@@ -178,4 +178,15 @@
         group by
         cdepcode
     </select>
+
+    <update id="updateBatchPurchaseOrder" parameterType="java.util.List">
+        <foreach collection="list" item="item" index="index" open="" close="" separator=";">
+            update t_long_yan_purchase_order orders
+
+            <set>  orders.`status` = #{item.status}
+
+            </set>
+            where orders.yong_you_id = #{item.yongYouId}
+        </foreach>
+    </update>
 </mapper>

+ 6 - 1
platform-dao/src/main/resources/mapper/sb/SbInfoMapper.xml

@@ -886,7 +886,6 @@ sb.check_type
                 </foreach>
             </if>
         </where>
-
         GROUP BY type_id
     </select>
 
@@ -895,6 +894,9 @@ sb.check_type
     </update>
 
     <select id="countNum" parameterType="com.platform.dao.dto.sb.SbInfoDTO" resultType="java.lang.Integer">
+        <if test="typeFlag != null">
+            select count(1) from (
+        </if>
         select count(1) from t_sb_info
         <where>
             <if test="positionId != null and positionId != ''">
@@ -926,6 +928,9 @@ sb.check_type
                 </when>
             </choose>
         </where>
+        <if test="typeFlag != null">
+            group by type_id ) t
+        </if>
     </select>
 
     <select id="getsbNumsByType" parameterType="com.platform.dao.dto.sb.SbInfoDTO"

+ 9 - 0
platform-dao/src/main/resources/mapper/sb/SbPositionMapper.xml

@@ -37,6 +37,9 @@
         <if test="lightFlag != null">
             and position.light_flag = #{lightFlag}
         </if>
+        <if test="type != null">
+            and position.type = #{type}
+        </if>
         <if test="userName != null and userName != ''">
             and ( user.real_name like concat('%',#{userName},'%') or
             user.username like concat('%',#{userName},'%'))
@@ -74,4 +77,10 @@
     </where>
      order by sort asc
     </select>
+
+    <select id="countNum" parameterType="java.lang.Object" resultType="java.lang.Integer">
+            select count(1)
+        from t_sb_position
+        where parent_id = #{value}
+    </select>
 </mapper>

+ 1 - 1
platform-dao/src/main/resources/mapper/upms/SysUserMapper.xml

@@ -36,7 +36,7 @@
 
     <select id="selectVOByKeyword" resultType="com.platform.dao.vo.SysUserVO"
             parameterType="com.platform.dao.dto.upms.SysUserDTO">
-        select distinct u.* from t_sys_user u
+        select distinct u.*,dept.name as deptName,srole.role_name as roleName from t_sys_user u
         join t_sys_user_role role
         on u.user_id=role.user_id left join t_sys_role srole on role.role_id=srole.role_id
         left join t_sys_user_dept ud on ud.user_id = u.user_id

+ 18 - 1
platform-rest/src/main/java/com/platform/rest/controller/yongyou/YongyouController.java

@@ -93,12 +93,30 @@ public class YongyouController {
         return new R<>(yongyouService.selectPageList(spareStoreDTO, pageNum, pageSize));
     }
 
+    /**
+     * 获取测试请购物料数据
+     * @param spareStoreDTO 备件查询条件DTO
+     * @param pageNum       当前页码
+     * @param pageSize      每页条数
+     * @return R
+     */
+    @GetMapping("/spareStore/page/test")
+    public R<AbstractPageResultBean<SpareStoreVO>> querySpareStoreTest(SpareStoreDTO spareStoreDTO, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
+        return new R<>(yongyouService.selectPageListTest(spareStoreDTO, pageNum, pageSize));
+    }
     @GetMapping("/spareStore/page2")
     public R<AbstractPageResultBean<SpareStoreVO>> querySpareStore2(SpareStoreDTO spareStoreDTO, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
         return new R<>(yongyouService.selectPageList2(spareStoreDTO, pageNum, pageSize));
     }
 
 
+    /**
+     * 同步请购单状态
+     * @param detailDTO
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
     @GetMapping("/purchaseOrder/list")
     public R<AbstractPageResultBean<LongYanPurchaseDetailListVO>> getLongYanPurchaseDetailListVOs(LongYanPurchaseOrderDTO detailDTO, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
         return new R(yongyouService.getLongYanPurchaseDetailListVOs(detailDTO, pageNum, pageSize));
@@ -133,7 +151,6 @@ public class YongyouController {
     @SysLog("向用友推送采购单")
     @GetMapping("/push/purchaseOrder/{id}")
     public R pushPurchaseOrder(@PathVariable String id) {
-//        yongyouService.addOutForm(id, false);
         return new R(yongyouService.pushPurchaseOrder(id));
     }
 

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

@@ -21,6 +21,7 @@ import com.platform.dao.entity.sb.SbInfo;
 import com.platform.dao.entity.sb.SbModelSpareBom;
 import com.platform.dao.enums.LongYanPurchaseOrderStatusEnum;
 import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseDetailMapper;
+import com.platform.dao.mapper.project.ProjectMapper;
 import com.platform.dao.mapper.sb.SbInfoMapper;
 import com.platform.dao.mapper.sb.SbModelSpareBomMapper;
 import com.platform.dao.vo.query.longyanpurchaseorder.LongYanPurchaseDetailVO;
@@ -29,6 +30,7 @@ import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseOrderDTO;
 import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseOrder;
 import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseOrderMapper;
 import com.platform.dao.vo.query.preparation.PreparationVO;
+import com.platform.dao.vo.query.project.ProjectVO;
 import com.platform.dao.vo.report.AllPreparationReportVO;
 import com.platform.dao.vo.report.LongYanPurchaseOrderByConditionReportVO;
 import com.platform.dao.vo.report.LongYanPurchaseOrderByTimeExport;
@@ -66,6 +68,7 @@ public class LongYanPurchaseOrderServiceImpl extends BaseServiceImpl<LongYanPurc
     private LongYanPurchaseDetailMapper longYanPurchaseDetailMapper;
     private SbModelSpareBomMapper sbModelSpareBomMapper;
     private SbInfoMapper sbInfoMapper;
+    private ProjectMapper projectMapper;
 
     @Override
     public void deleteByPrimaryKey(String id) {
@@ -235,10 +238,12 @@ public class LongYanPurchaseOrderServiceImpl extends BaseServiceImpl<LongYanPurc
         List<LongYanPurchaseDetailDTO> detailDTOS = model.getDetailDTOS();
         model.setStatus(LongYanPurchaseOrderStatusEnum.caogao.getValue());
         BigDecimal countNum = mapper.getPurchaseOrderCount1(new LongYanPurchaseOrderDTO());
+        ProjectVO project = projectMapper.selectById(model.getProjectId());
         Integer count = 0;
         if (countNum != null) {
             count = countNum.intValue();
         }
+
         model.setPurchaseNo(IdGeneratorUtils.getPurchaseNo(count));
         UserInfo userInfo = SecurityUtils.getUserInfo();
         BigDecimal totalNum = new BigDecimal(0);
@@ -247,6 +252,11 @@ public class LongYanPurchaseOrderServiceImpl extends BaseServiceImpl<LongYanPurc
             detailDTO.setCreatedTime(LocalDateTime.now());
             detailDTO.setCreatedUserId(userInfo.getUserId());
             detailDTO.setCreatedUserName(userInfo.getUsername());
+
+            detailDTO.setProjectNo(project.getParentNo());
+            detailDTO.setProjectName(project.getParentName());
+            detailDTO.setProjectSecondNo(project.getNo());
+            detailDTO.setProjectSecondName(project.getName());
             totalNum = totalNum.add(detailDTO.getNum());
         }
         model.setTotalNum(totalNum);

+ 42 - 40
platform-service/src/main/java/com/platform/service/repair/strategy/impl/LongYanRepairStrategy.java

@@ -444,7 +444,7 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
             info.setActualUser(model.getActualUser());
             sbInfoService.updateStatus(info);
         }
-        form.setStatus(RepairApplicationFormStatusEnum.NOT_ALLOCATED.getValue());
+        form.setStatus(RepairApplicationFormStatusEnum.REPAIR_VERIFYING.getValue());
         form.setApplyTime(LocalDateTime.now());
         form.setCreatedTime(model.getApplyTime());
         form.setUpdateTime(model.getApplyTime());
@@ -819,48 +819,50 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
     public void handleCallRepair(RepairApplicationFormDTO model) {
         RepairApplicationForm queryForm = repairApplicationFormMapper.selectById(model.getId());
         if(queryForm == null){
-            throw new DeniedException("审核的报修单不存在");
-        }
-        RepairApplicationForm updForm = new RepairApplicationForm();
-        updForm.setId(model.getId());
-        if(model.getStatus() == RepairApplicationFormStatusEnum.NOT_ALLOCATED.getValue()){
-            // 通过报修
-            updForm.setStatus(RepairApplicationFormStatusEnum.NOT_ALLOCATED.getValue());
-        }else if(model.getStatus() == RepairApplicationFormStatusEnum.CALLER_REPAIR_CANCEL.getValue()){
-            updForm.setStatus(RepairApplicationFormStatusEnum.CALLER_REPAIR_CANCEL.getValue());
-        }else {
-            throw new DeniedException("提交状态值非法");
-        }
-        updForm.setVerifyRepairRemark(model.getVerifyRepairRemark());
-        // 给生产工程师和区域负责人发信息
-        List<SysUserVO> sysUserVOList = getRepairMangers(queryForm.getRepairDeptId(),null,SysRoleCodeEnum.REPAIR_MANAGE.name());
-        if(sysUserVOList == null || sysUserVOList.size() ==0){
-            throw new DeniedException("该维修部门,没有工程师,请确认!");
-        }
-        List<SysUserVO> mmScb = ListUtils.newArrayList();
-        sysUserVOList.forEach(item->{
-            mmScb.add(item);
-        });
-        sysUserVOList = getRepairMangers(null,null,SysRoleCodeEnum.MM.name());
-        if(sysUserVOList != null && sysUserVOList.size() > 0){
-            sysUserVOList.forEach(item->{
-                mmScb.add(item);
-            });
-        }
-        sysUserVOList = getRepairMangers(null,null,SysRoleCodeEnum.SCB.name());
-        if(sysUserVOList != null && sysUserVOList.size() > 0){
+            throw new DeniedException("审核的报修单不存");
+        }
+        if(queryForm.getStatus() == RepairApplicationFormStatusEnum.REPAIR_VERIFYING.getValue()){ // 非待审状态,不走
+            RepairApplicationForm updForm = new RepairApplicationForm();
+            updForm.setId(model.getId());
+            if(model.getStatus() == RepairApplicationFormStatusEnum.NOT_ALLOCATED.getValue()){
+                // 通过报修
+                updForm.setStatus(RepairApplicationFormStatusEnum.NOT_ALLOCATED.getValue());
+            }else if(model.getStatus() == RepairApplicationFormStatusEnum.CALLER_REPAIR_CANCEL.getValue()){
+                updForm.setStatus(RepairApplicationFormStatusEnum.CALLER_REPAIR_CANCEL.getValue());
+            }else {
+                throw new DeniedException("提交状态值非法");
+            }
+            updForm.setVerifyRepairRemark(model.getVerifyRepairRemark());
+            repairApplicationFormMapper.updateByPrimaryKeySelective(updForm);
+            // 给生产工程师和区域负责人发信息
+            List<SysUserVO> sysUserVOList = getRepairMangers(queryForm.getRepairDeptId(),null,SysRoleCodeEnum.REPAIR_MANAGE.name());
+            if(sysUserVOList == null || sysUserVOList.size() ==0){
+                throw new DeniedException("该维修部门,没有工程师,请确认!");
+            }
+            List<SysUserVO> mmScb = ListUtils.newArrayList();
             sysUserVOList.forEach(item->{
                 mmScb.add(item);
             });
-        }
-        repairApplicationFormMapper.updateByPrimaryKeySelective(updForm);
-        addRepairStatusRecord(updForm,"报修审核");
-        sendMessageToRepairManger(queryForm,mmScb,CommonConstants.CALL_REPAIR_NOTICE);
-        // 给值班人员发送消息
-        if(isSendMessage()){
-            String everyWhereUsers = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.REPAIR_TWENTY_FOUR_USER.name());
-            if(StringUtils.isNotBlank(everyWhereUsers)){
-                sendMessageToRepairManger(queryForm,getUserVOs(everyWhereUsers.trim()),CommonConstants.CALL_REPAIR_NOTICE);
+            sysUserVOList = getRepairMangers(null,null,SysRoleCodeEnum.MM.name());
+            if(sysUserVOList != null && sysUserVOList.size() > 0){
+                sysUserVOList.forEach(item->{
+                    mmScb.add(item);
+                });
+            }
+            sysUserVOList = getRepairMangers(null,null,SysRoleCodeEnum.SCB.name());
+            if(sysUserVOList != null && sysUserVOList.size() > 0){
+                sysUserVOList.forEach(item->{
+                    mmScb.add(item);
+                });
+            }
+            addRepairStatusRecord(updForm,"报修审核");
+            sendMessageToRepairManger(queryForm,mmScb,CommonConstants.CALL_REPAIR_NOTICE);
+            // 给值班人员发送消息
+            if(isSendMessage()){
+                String everyWhereUsers = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.REPAIR_TWENTY_FOUR_USER.name());
+                if(StringUtils.isNotBlank(everyWhereUsers)){
+                    sendMessageToRepairManger(queryForm,getUserVOs(everyWhereUsers.trim()),CommonConstants.CALL_REPAIR_NOTICE);
+                }
             }
         }
     }

+ 21 - 1
platform-service/src/main/java/com/platform/service/sb/impl/SbPositionServiceImpl.java

@@ -7,6 +7,7 @@ import com.platform.common.util.ListUtils;
 import com.platform.common.util.MapUtils;
 import com.platform.common.util.StringUtils;
 import com.platform.dao.bean.MyVOPage;
+import com.platform.dao.dto.sb.SbInfoDTO;
 import com.platform.dao.dto.sb.SbPositionDTO;
 import com.platform.dao.dto.sqarepartmanage.SparePartUsedDTO;
 import com.platform.dao.entity.part.PartInfo;
@@ -278,7 +279,26 @@ public class SbPositionServiceImpl extends BaseServiceImpl<SbPositionMapper, SbP
     @Override
     public MyVOPage<SbPositionVO> selectVOPage(SbPositionDTO model, int pageNum, int pageSize) {
         PageHelper.startPage(pageNum, pageSize);
-        return new MyVOPage<>(mapper.selectVOList(model));
+        MyVOPage<SbPositionVO> pageInfos = new MyVOPage<>(mapper.selectVOList(model));
+        if(model.getType() != null && pageInfos != null && pageInfos.getRows() != null && pageInfos.getRows().size() > 0 ){
+            for(SbPositionVO vo : pageInfos.getRows()){
+                switch (model.getType()){
+                    case 1 :
+                        // 厂区统计 车间数量
+                        vo.setWorkshopNum(mapper.countNum(vo.getId()));
+                        break;
+                    case 2:
+                        // 车间统计
+                        SbInfoDTO sbInfoDTO = new SbInfoDTO();
+                        sbInfoDTO.setPositionId(vo.getId());
+                        vo.setSbNum(sbInfoMapper.countNum(sbInfoDTO));
+                        sbInfoDTO.setTypeFlag(1);
+                        vo.setSbTypeNum(sbInfoMapper.countNum(sbInfoDTO));
+                        break;
+                }
+            }
+        }
+        return pageInfos;
     }
 
     @Override

+ 1 - 1
platform-service/src/main/java/com/platform/service/util/PageUtils.java

@@ -25,7 +25,7 @@ import java.util.*;
 @Slf4j
 @UtilityClass
 public class PageUtils {
-    private static AbstractPageResultBean<T> getPageInfo(Integer pageNum, Integer pageSize, List<T> list){
+    public static <T> AbstractPageResultBean<T> getPageInfo(Integer pageNum, Integer pageSize, List<T> list){
         AbstractPageResultBean<T> pageInfo = new MyPage(list);
         pageInfo.setPageNum(pageNum);
         pageInfo.setPageSize(pageSize);

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

@@ -10,6 +10,7 @@ import com.platform.dao.vo.query.sparepartmanage.SparePartInfoVO;
 import com.platform.dao.vo.query.store.SpareStoreVO;
 import handler.yongyou.response.LongYanPurchaseDetailListVO;
 import handler.yongyou.response.OtherOutAddResponse;
+import org.springframework.web.bind.annotation.RequestParam;
 
 /**
  * @Description 用友service
@@ -35,6 +36,8 @@ public interface YongyouService {
      */
     AbstractPageResultBean<SparePartInfoVO> selectPageList(SparePartInfoDTO record, int pageNum, int pageSize);
 
+    AbstractPageResultBean<SpareStoreVO> selectPageListTest(SpareStoreDTO spareStoreDTO, int pageNum, int pageSize);
+
     /**
      * 分页查询备件库存
      *

+ 272 - 117
platform-service/src/main/java/com/platform/service/yongyou/impl/YongyouServiceImpl.java

@@ -2,6 +2,7 @@ package com.platform.service.yongyou.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.Page;
+import com.google.gson.JsonObject;
 import com.platform.common.bean.AbstractPageResultBean;
 import com.platform.common.cache.DictCache;
 import com.platform.common.exception.BusinessException;
@@ -25,9 +26,7 @@ import com.platform.dao.entity.sb.SbModelSpareBom;
 import com.platform.dao.entity.spareAdd.LongYanSpareAdd;
 import com.platform.dao.entity.store.OutStoreDetail;
 import com.platform.dao.entity.store.OutStoreForm;
-import com.platform.dao.enums.LongYanSpareAddStatusEnum;
-import com.platform.dao.enums.OutStoreStatusEnum;
-import com.platform.dao.enums.YesNoEnum;
+import com.platform.dao.enums.*;
 import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseDetailMapper;
 import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseOrderMapper;
 import com.platform.dao.mapper.repair.RepairApplicationFormMapper;
@@ -44,6 +43,7 @@ import com.platform.dao.vo.sb.SbInfoVO;
 import com.platform.dao.vo.sb.SbModelSpareBomVO;
 import com.platform.service.store.OutStoreDetailService;
 import com.platform.service.store.OutStoreFormService;
+import com.platform.service.util.PageUtils;
 import com.platform.service.yongyou.YongyouService;
 import handler.yongyou.*;
 import handler.yongyou.request.*;
@@ -112,24 +112,22 @@ public class YongyouServiceImpl implements YongyouService {
     }
     private String geToken(Integer type) {
         String token = null;
-        // 判断环境
-        boolean isDev = BeanUtils.isDev();
-        if(!isDev){
-            if (type==1) { // 新厂
-                token = RedisUtils.getString(token_key1);
-            }else if (type==2){ // 老厂
-                token = RedisUtils.getString(token_key2);
-            }
-            if (StringUtils.isBlank(token)) {
-                return geTokenForce(type);
-            } else {
-                return token;
-            }
-        }else{
-            // 本地测试
-            token = RedisUtils.getString(token_key_dev);
-            token = StringUtils.isBlank(token) ? geTokenForce(type) : token;
+        if (type==1) { // 新厂
+            token = RedisUtils.getString(token_key1);
+        }else if (type==2){ // 老厂
+            token = RedisUtils.getString(token_key2);
         }
+        if (StringUtils.isBlank(token)) {
+            return geTokenForce(type);
+        } else {
+            return token;
+        }
+    }
+
+    private String geTokenTest() {
+        // 本地测试
+        String token = RedisUtils.getString(token_key_dev);
+        token = StringUtils.isBlank(token) ? geTokenForceTest() : token;
         return token;
     }
 
@@ -166,15 +164,10 @@ public class YongyouServiceImpl implements YongyouService {
         req.setCSrv("192.168.16.249");
         req.setPUserId("sb");
         req.setPPassword("321.jkl");
-        Boolean isDev = BeanUtils.isDev();
-        if(!isDev){
-            if (type == 1) { // 新厂
-                req.setPAccId("005");
-            }else{
-                req.setPAccId("004");
-            }
+        if (type == 1) { // 新厂
+            req.setPAccId("005");
         }else{
-            req.setPAccId("993");
+            req.setPAccId("004");
         }
         req.setPDate(DateUtils.dateToString(LocalDate.now(), DateUtils.PATTERN_YMD));
         req.setPSubId("DP");
@@ -186,55 +179,70 @@ public class YongyouServiceImpl implements YongyouService {
         }
         Login login = response.getData();
         String token = login.getToken();
-        if(!isDev){
-            if (type == 1){ // 新厂
-                RedisUtils.setString(token_key1, token, 1800);
-                RedisUtils.setString(Conn_key1, login.getConn(), 1800);
-                RedisUtils.setString(cAcc_ID_key1, login.getCAcc_ID(), 1800);
-            }else if (type == 2){
-                RedisUtils.setString(token_key2, token, 1800);
-                RedisUtils.setString(Conn_key2, login.getConn(), 1800);
-                RedisUtils.setString(cAcc_ID_key2, login.getCAcc_ID(), 1800);
-            }
-        }else{
-            RedisUtils.setString(token_key_dev, token, 1800);
-            RedisUtils.setString(Conn_key_dev, login.getConn(), 1800);
-            RedisUtils.setString(cAcc_ID_key_dev, login.getCAcc_ID(), 1800);
+        if (type == 1){ // 新厂
+            RedisUtils.setString(token_key1, token, 1800);
+            RedisUtils.setString(Conn_key1, login.getConn(), 1800);
+            RedisUtils.setString(cAcc_ID_key1, login.getCAcc_ID(), 1800);
+        }else if (type == 2){
+            RedisUtils.setString(token_key2, token, 1800);
+            RedisUtils.setString(Conn_key2, login.getConn(), 1800);
+            RedisUtils.setString(cAcc_ID_key2, login.getCAcc_ID(), 1800);
         }
         return token;
     }
 
+    private String geTokenForceTest() {
+        LoginHandler handler = new LoginHandler();
+        LoginRequest req = new LoginRequest();
+        req.setCSrv("192.168.16.249");
+        req.setPUserId("sb");
+        req.setPPassword("321.jkl");
+        req.setPAccId("993");
+        req.setPDate(DateUtils.dateToString(LocalDate.now(), DateUtils.PATTERN_YMD));
+        req.setPSubId("DP");
+        handler.setRequest(req);
+        String responseStr = handler.handler();
+        LoginResponse response = JSONObject.parseObject(responseStr, LoginResponse.class);
+        if (!response.getResult()) {
+            throw new BusinessException(response.getMsg() + "," + response.getData().getMsg());
+        }
+        Login login = response.getData();
+        String token = login.getToken();
+        RedisUtils.setString(token_key_dev, token, 1800);
+        RedisUtils.setString(Conn_key_dev, login.getConn(), 1800);
+        RedisUtils.setString(cAcc_ID_key_dev, login.getCAcc_ID(), 1800);
+        return token;
+    }
+
     private String getConn() {
         return RedisUtils.getString(Conn_key);
     }
     private String getConn2(Integer type) {
-        Boolean isDev = BeanUtils.isDev();
-        if(!isDev){
-            if (type == 1) { // 新厂
-                return RedisUtils.getString(Conn_key1);
-            }else if (type == 2){
-                return RedisUtils.getString(Conn_key2);
-            }
-        }else{
-            return RedisUtils.getString(Conn_key_dev);
+        if (type == 1) { // 新厂
+            return RedisUtils.getString(Conn_key1);
+        }else if (type == 2){
+            return RedisUtils.getString(Conn_key2);
         }
         return null;
     }
 
+    private String getConnTest() {
+        return RedisUtils.getString(Conn_key_dev);
+    }
+
     private String getCAccId2(Integer type) {
-        Boolean isDev = BeanUtils.isDev();
-        if(!isDev) {
-            if (type == 1) {
-                return RedisUtils.getString(cAcc_ID_key1);
-            } else if (type == 2) {
-                return RedisUtils.getString(cAcc_ID_key2);
-            }
-        }else{
-            return RedisUtils.getString(cAcc_ID_key_dev);
+        if (type == 1) {
+            return RedisUtils.getString(cAcc_ID_key1);
+        } else if (type == 2) {
+            return RedisUtils.getString(cAcc_ID_key2);
         }
         return null;
     }
 
+    private String getCAccIdTest() {
+        return RedisUtils.getString(cAcc_ID_key_dev);
+    }
+
     private String getCAccId() {
         return RedisUtils.getString(cAcc_ID_key);
     }
@@ -259,7 +267,6 @@ public class YongyouServiceImpl implements YongyouService {
         }else if (record.getTokenType()==2){
             req.setCAcc_ID("004");
         }
-//        req.setCAcc_ID(getCAccId());
         req.setPageNum(pageNum);
         req.setPageSize(pageSize);
         StringBuffer whereStr = new StringBuffer(" 1=1 ");
@@ -370,7 +377,6 @@ public class YongyouServiceImpl implements YongyouService {
         }else if (record.getTokenType()==2){
             req.setCAcc_ID("004");
         }
-//        req.setCAcc_ID(getCAccId());
         req.setPageNum(pageNum);
         req.setPageSize(pageSize);
         StringBuffer whereStr = new StringBuffer(" 1=1 ");
@@ -462,12 +468,14 @@ public class YongyouServiceImpl implements YongyouService {
             SbModelSpareBomDTO dto = new SbModelSpareBomDTO();
             dto.setSpareIds(spareIds);
             dto.setSbIds(sbIds);
+            if (spareIds!=null && spareIds.size()>0) {
 //                List<SbModelSpareBomVO> sbModelSpareBomVOS = sbModelSpareBomMapper.selectVOList(dto);
-            Weekend<SbModelSpareBom> weekend = new Weekend(SbModelSpareBom.class);
-            WeekendCriteria<SbModelSpareBom,Object> weekendCriteria = weekend.weekendCriteria();
-            weekendCriteria.andIn(SbModelSpareBom::getSpareId,spareIds);
-            weekendCriteria.andIn(SbModelSpareBom::getSbId,sbIds);
-            sbModelSpareBomMapper.deleteByExample(weekend);
+                Weekend<SbModelSpareBom> weekend = new Weekend(SbModelSpareBom.class);
+                WeekendCriteria<SbModelSpareBom, Object> weekendCriteria = weekend.weekendCriteria();
+                weekendCriteria.andIn(SbModelSpareBom::getSpareId, spareIds);
+                weekendCriteria.andIn(SbModelSpareBom::getSbId, sbIds);
+                sbModelSpareBomMapper.deleteByExample(weekend);
+            }
             List<SbModelSpareBom> boms = new ArrayList<>();
             for (String sbId:sbIds){
                 for (LongYanPurchaseDetailVO detailDTO:detailVOS){
@@ -495,9 +503,16 @@ public class YongyouServiceImpl implements YongyouService {
     @Override
     public AbstractPageResultBean<LongYanPurchaseDetailListVO> getLongYanPurchaseDetailListVOs(LongYanPurchaseOrderDTO detailDTO, Integer pageNum, Integer pageSize) {
         GetLongYanPurchaseDetalListRequest request = new GetLongYanPurchaseDetalListRequest();
-        request.setToken(geToken(detailDTO.getOldOrNew()));
+        // 正式环境代码开始
+       /* request.setToken(geToken(detailDTO.getOldOrNew()));
         request.setCAcc_ID(getCAccId2(detailDTO.getOldOrNew()));
-        request.setConn(getConn2(detailDTO.getOldOrNew()));
+        request.setConn(getConn2(detailDTO.getOldOrNew()));*/
+        // 正式环境代码结束
+        // 测试环境代码开始
+        request.setToken(geTokenTest());
+        request.setCAcc_ID(getCAccIdTest());
+        request.setConn(getConnTest());
+        // 测试环境代码结束
         StringBuffer strWhere = new StringBuffer("1=1 and ccode = ").append("'"+detailDTO.getYongYouId()+"'");
         request.setStrWhere(strWhere.toString());
         GetPurchaseDetailListHandler handler = new GetPurchaseDetailListHandler();
@@ -506,37 +521,77 @@ public class YongyouServiceImpl implements YongyouService {
         GetPurchaseDetailListResponse response = JsonUtils.jsonToModel(responseStr,GetPurchaseDetailListResponse.class);
         if (response.getResult()) {
             List<LongYanPurchaseDetailListVO> data = response.getData();
-            AbstractPageResultBean<LongYanPurchaseDetailListVO> voMyPage = getPageInfo(pageNum,pageSize,data);
+            if (data!=null&&data.size()>0){
+                String yongYouId = data.get(0).getCCode();
+                LongYanPurchaseOrder order = new LongYanPurchaseOrder();
+                order.setYongYouId(yongYouId);
+                LongYanPurchaseOrder udpOrder = longYanPurchaseOrderMapper.selectOne(order);
+//                udpOrder.setStatus(data.get(0).getIStatus());
+                addStatus(data, udpOrder);
+                longYanPurchaseOrderMapper.updateByPrimaryKeySelective(udpOrder);
+                List<LongYanPurchaseDetailDTO> list = new ArrayList<>();
+                for (LongYanPurchaseDetailListVO vo:data){
+                    LongYanPurchaseDetailDTO detail = new LongYanPurchaseDetailDTO();
+                    detail.setNo(vo.getCInvCode());
+                    detail.setYongYouId(vo.getCTrackNo());
+                    detail.setPurchasedNum(vo.getIPOSum());
+                    detail.setInStoreNum(vo.getIRDSum());
+                    addDetailStatus(data, detail);
+                    list.add(detail);
+                }
+                if (list.size()>0){
+                    longYanPurchaseDetailMapper.updateBatchPurchaseDetails(list);
+                }
+            }
+            AbstractPageResultBean<LongYanPurchaseDetailListVO> voMyPage = PageUtils.getPageInfo(pageNum,pageSize,data);
             return voMyPage;
         }
 
         return null;
     }
-    private static AbstractPageResultBean<LongYanPurchaseDetailListVO> getPageInfo(Integer pageNum, Integer pageSize, List<LongYanPurchaseDetailListVO> list){
-        AbstractPageResultBean<LongYanPurchaseDetailListVO> pageInfo = new MyPage(list);
-        pageInfo.setPageNum(pageNum);
-        pageInfo.setPageSize(pageSize);
-        List<LongYanPurchaseDetailListVO> dataList = new ArrayList<>();
-        for (int i = pageSize*(pageNum-1);i<pageSize*pageNum;i++){
-            if (i<list.size()) {
-                dataList.add(list.get(i));
-            }
+
+
+
+    private void addDetailStatus(List<LongYanPurchaseDetailListVO> data, LongYanPurchaseDetailDTO detail) {
+        if ("已请购".equals(data.get(0).getCAppState())){
+            detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.applyed.getValue());
+        }else if ("已询价".equals(data.get(0).getCAppState())){
+            detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.asked_price.getValue());
+        }else if ("采购中".equals(data.get(0).getCAppState())){
+            detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.purchasing.getValue());
+        }else if ("已采购".equals(data.get(0).getCAppState())){
+            detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.purchased.getValue());
+        }else if ("入库中".equals(data.get(0).getCAppState())){
+            detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.in_storing.getValue());
+        }else if ("已入库".equals(data.get(0).getCAppState())){
+            detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.in_stored.getValue());
+        }else if ("请购关闭".equals(data.get(0).getCAppState())){
+            detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.close_apply_order.getValue());
+        }else if ("请购中".equals(data.get(0).getCAppState())){
+            detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.apply_purchasing.getValue());
         }
-        pageInfo.setRows(dataList);
-        if (list!=null&&list.size()>0){
-            int pages = list.size()%pageSize==0?list.size()/pageSize:(list.size()/pageSize)+1;
-            pageInfo.setPages(pages);
-        }else {
-            pageInfo.setPages(0);
+    }
+
+    private void addStatus(List<LongYanPurchaseDetailListVO> data, LongYanPurchaseOrder udpOrder) {
+        if ("锁定".equals(data.get(0).getIStatus())){
+            udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.locked.getValue());
+        }else if ("开立".equals(data.get(0).getIStatus())){
+            udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.stand.getValue());
+        }else if ("审核".equals(data.get(0).getIStatus())){
+            udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.check.getValue());
+        }else if ("取消关闭".equals(data.get(0).getIStatus())){
+            udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.cancel_close.getValue());
+        }
+        else if ("正常关闭".equals(data.get(0).getIStatus())){
+            udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.normal_close.getValue());
+        }
+        else if ("未知状态".equals(data.get(0).getIStatus())){
+            udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.unknowing_status.getValue());
         }
-        pageInfo.setTotal((long)list.size());
-        return pageInfo;
     }
 
     @Override
     public String deletePurchaseOrder(String id) {
-
-
         LongYanPurchaseOrder order = new LongYanPurchaseOrder();
         order.setYongYouId(id);
         List<LongYanPurchaseOrder> list =  longYanPurchaseOrderMapper.select(order);
@@ -547,9 +602,16 @@ public class YongyouServiceImpl implements YongyouService {
         DeletePurchaseOrderRequest request = new DeletePurchaseOrderRequest();
         request.setCcode(list.get(0).getYongYouId());
         request.setTradeID("");
-        request.setToken(geToken(list.get(0).getOldOrNew()));
+        // 正式环境代码开始
+        /*request.setToken(geToken(list.get(0).getOldOrNew()));
         request.setCAcc_ID(getCAccId2(list.get(0).getOldOrNew()));
-        request.setConn(getConn2(list.get(0).getOldOrNew()));
+        request.setConn(getConn2(list.get(0).getOldOrNew()));*/
+        // 正式环境代码结束
+        // 测试环境代码开始
+        request.setToken(geTokenTest());
+        request.setCAcc_ID(getCAccIdTest());
+        request.setConn(getConnTest());
+        // 测试环境代码结束
         DeletePurchaseOrderHandler handler = new DeletePurchaseOrderHandler();
         handler.setRequest(request);
         String responseStr = handler.handler();
@@ -588,7 +650,8 @@ public class YongyouServiceImpl implements YongyouService {
         puAppMain.setCdepcode(vo.getCdepcode());
         puAppMain.setCcode(vo.getPurchaseNo());
         puAppMain.setCdefine1(DictCache.getLabelByValue("LONG_YAN_PURCHASE_TYPE",vo.getType()));
-        puAppMain.setCdefine2(vo.getSbName());
+        SbInfo sbInfo = sbInfoMapper.selectByPrimaryKey(vo.getSbId());
+        puAppMain.setCdefine2(sbInfo.getPositionNo()+"-"+sbInfo.getName());
         puAppMain.setCdefine11(vo.getRemark());
         puAppMain.setCmaker(vo.getCreatedUserName());
         puAppMain.setDdate(DateUtils.dateToString(vo.getCreatedTime()));
@@ -603,6 +666,10 @@ public class YongyouServiceImpl implements YongyouService {
 //            detail.setDarrivedate(DateUtils.dateToString(LocalDateTime.now()));
             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.setCexch_name("人名币");
 //            detail.setIexchrate("1");
 //            detail.setIvouchrowno("136345431");
@@ -614,24 +681,38 @@ public class YongyouServiceImpl implements YongyouService {
         PushPurchaseOrderRequest request = new PushPurchaseOrderRequest();
         request.setPuAppVouch(puAppVouch);
         request.setTradeID("");
-        request.setToken(geToken(vo.getOldOrNew()));
+        // 正式环境代码开始
+        /*request.setToken(geToken(vo.getOldOrNew()));
         request.setCAcc_ID(getCAccId2(vo.getOldOrNew()));
-        request.setConn(getConn2(vo.getOldOrNew()));
+        request.setConn(getConn2(vo.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);
         LongYanPurchaseOrder order = new LongYanPurchaseOrder();
         order.setId(id);
+        LongYanPurchaseDetail detail = new LongYanPurchaseDetail();
         if (response.getResult()){
             order.setStatus(3);
             order.setYongYouId(response.getData());
-            longYanPurchaseOrderMapper.updateByPrimaryKeySelective(order);
-            return response.getMsg();
+//            detail.setLongYangPurchaseOrderId(order.getId());
+            detail.setDetailStatus(9);
+        }else {
+            order.setStatus(8);
+            detail.setDetailStatus(10);
         }
-        order.setStatus(8);
         longYanPurchaseOrderMapper.updateByPrimaryKeySelective(order);
-        throw new BusinessException("采购单申请失败,请联系管理员!");
+        Weekend<LongYanPurchaseDetail> weekend = new Weekend<>(LongYanPurchaseDetail.class);
+        WeekendCriteria<LongYanPurchaseDetail,Object> weekendCriteria = weekend.weekendCriteria();
+        weekendCriteria.andEqualTo(LongYanPurchaseDetail::getLongYangPurchaseOrderId,order.getId());
+        longYanPurchaseDetailMapper.updateByExampleSelective(detail,weekend);
+        return response.getMsg();
     }
 
 
@@ -658,15 +739,16 @@ public class YongyouServiceImpl implements YongyouService {
         Inventory.setDModifyDate(DateUtils.dateToString(LocalDateTime.now()));
         request.setInventory(Inventory);
         request.setTradeID("");
-        request.setToken(geToken(longYanSpareAdd.getTokenType()));
+        // 正式环境代码开始
+        /*request.setToken(geToken(longYanSpareAdd.getTokenType()));
         request.setConn(getConn2(longYanSpareAdd.getTokenType()));
-        request.setCAcc_ID(getCAccId2(longYanSpareAdd.getTokenType()));
-        /*if (tokenType == 1){ // 新厂
-            request.setCAcc_ID(RedisUtils.get(cAcc_ID_key1));
-        }else if (tokenType==2){ // 老厂
-            request.setCAcc_ID(RedisUtils.get(cAcc_ID_key2));
-        }*/
-//            pakageAndInsertSpare(Inventory, userInfo,longYanSpareAdd);
+        request.setCAcc_ID(getCAccId2(longYanSpareAdd.getTokenType()));*/
+        // 正式环境代码结束
+        // 测试环境代码开始
+        request.setToken(geTokenTest());
+        request.setConn(getConnTest());
+        request.setCAcc_ID(getCAccIdTest());
+        // 测试环境代码结束
         AddSpareHandler handler = new AddSpareHandler();
         handler.setRequest(request);
         String responseStr = handler.handler();
@@ -690,6 +772,7 @@ public class YongyouServiceImpl implements YongyouService {
     @Override
     public String addSpare(InventoryTest inventoryTest, Integer tokenType) {
         LongYanSpareAdd longYanSpareAdd = new LongYanSpareAdd();
+        longYanSpareAdd.setTokenType(tokenType);
         try {
             Inventory Inventory = new Inventory();
             Inventory.setCInvCCode(inventoryTest.getCestInvCode());
@@ -697,8 +780,6 @@ public class YongyouServiceImpl implements YongyouService {
             Inventory.setCInvName(inventoryTest.getCestInvName());
             Inventory.setCInvStd(inventoryTest.getCestInvStd());
             Inventory.setCInvCCode(inventoryTest.getCestInvCode());
-
-//            Inventory.setCInvCode(IdGeneratorUtils.getObjectId());
             Inventory.setCGroupCode("1");
             Inventory.setCCAComUnitCode(inventoryTest.getCestComUnitCode());
             Inventory.setCPlanMethod(inventoryTest.getCestPlanMethod());
@@ -706,21 +787,22 @@ public class YongyouServiceImpl implements YongyouService {
             Inventory.setFConvertRate(1);
             Inventory.setIRequireTrackStyle(inventoryTest.getCestIrequireTrackStyle());
             AddSpareRequest request = new AddSpareRequest();
-
             UserInfo userInfo = SecurityUtils.getUserInfo();
             Inventory.setDInvCreateDatetime(DateUtils.dateToString(LocalDateTime.now()));
             Inventory.setCModifyPerson(userInfo.getRealName());
             Inventory.setDModifyDate(DateUtils.dateToString(LocalDateTime.now()));
             request.setInventory(Inventory);
             request.setTradeID("");
-            request.setToken(geToken(tokenType));
+            // 正式环境代码开始
+           /* request.setToken(geToken(tokenType));
             request.setConn(getConn2(tokenType));
-            request.setCAcc_ID(getCAccId2(tokenType));
-        /*if (tokenType == 1){ // 新厂
-            request.setCAcc_ID(RedisUtils.get(cAcc_ID_key1));
-        }else if (tokenType==2){ // 老厂
-            request.setCAcc_ID(RedisUtils.get(cAcc_ID_key2));
-        }*/
+            request.setCAcc_ID(getCAccId2(tokenType));*/
+            // 正式环境代码结束
+            // 测试环境代码开始
+            request.setToken(geTokenTest());
+            request.setConn(getConnTest());
+            request.setCAcc_ID(getCAccIdTest());
+            // 测试环境代码结束
             pakageAndInsertSpare(Inventory, userInfo,longYanSpareAdd);
             AddSpareHandler handler = new AddSpareHandler();
             handler.setRequest(request);
@@ -730,6 +812,10 @@ public class YongyouServiceImpl implements YongyouService {
                 longYanSpareAdd.setStatus(LongYanSpareAddStatusEnum.PUSHED.getValue());
                 longYanSpareAddMapper.updateByPrimaryKeySelective(longYanSpareAdd);
                 return response.getMsg();
+            }else{
+                longYanSpareAdd.setStatus(LongYanSpareAddStatusEnum.FAIL_PUSH.getValue());
+                longYanSpareAddMapper.updateByPrimaryKeySelective(longYanSpareAdd);
+                return response.getMsg();
             }
         }catch (Exception e){
             longYanSpareAdd.setStatus(LongYanSpareAddStatusEnum.FAIL_PUSH.getValue());
@@ -737,7 +823,6 @@ public class YongyouServiceImpl implements YongyouService {
             e.printStackTrace();
             throw new BusinessException("新增失败!");
         }
-        return null;
     }
 
     private void pakageAndInsertSpare(Inventory inventory, UserInfo userInfo,LongYanSpareAdd longYanSpareAdd) {
@@ -820,6 +905,76 @@ public class YongyouServiceImpl implements YongyouService {
         return myVOPage;
     }
 
+    @Override
+    public AbstractPageResultBean<SpareStoreVO> selectPageListTest(SpareStoreDTO record, int pageNum, int pageSize) {
+        // 已生成情况,直接推送
+        GetCurrentStockHandler handler = new GetCurrentStockHandler();
+        GetCurrentStockRequest req = new GetCurrentStockRequest();
+        req.setToken(geTokenTest());
+        req.setConn(getConnTest());
+        req.setCAcc_ID(getCAccIdTest());
+        req.setPageNum(pageNum);
+        req.setPageSize(pageSize);
+        StringBuffer whereStr = new StringBuffer(" 1=1 ");
+        // 仓库编码搜索
+        if (StringUtils.isNotBlank(record.getStoreNo())) {
+            whereStr.append(" and cWhCode like '%" + record.getStoreNo() + "%' ");
+        }
+        // 仓库名称搜索
+        if (StringUtils.isNotBlank(record.getStoreName())) {
+            whereStr.append(" and cWhName like '%" + record.getStoreName() + "%' ");
+        }
+        // 存货编码搜索
+        if (StringUtils.isNotBlank(record.getSpareNo())) {
+            whereStr.append(" and cInvCode like '%" + record.getSpareNo() + "%' ");
+        }
+        // 存货名称搜索
+        if (StringUtils.isNotBlank(record.getSpareName())) {
+            whereStr.append(" and cInvName like '%" + record.getSpareName() + "%' ");
+        }
+        // 规格型号搜索
+        if (StringUtils.isNotBlank(record.getGgxh())) {
+            whereStr.append(" and cInvStd like '%" + record.getGgxh() + "%' ");
+        }
+        req.setStrWhere(whereStr.toString());
+        handler.setRequest(req);
+        String responseStr = handler.handler();
+        GetCurrentStockResponse response = JSONObject.parseObject(responseStr, GetCurrentStockResponse.class);
+        if (!response.getResult()) {
+            throw new BusinessException(response.getMsg());
+        }
+        GetCurrentStockResponseData data = response.getData();
+        List<GetCurrentStock> stocks = data.getStock();
+        List<SpareStoreVO> partInfoVOS = new ArrayList<>();
+        for (GetCurrentStock stockResponse : stocks) {
+            SpareStoreVO partInfoVO = new SpareStoreVO();
+            partInfoVO.setId(stockResponse.getAutoId() + "");
+            partInfoVO.setNo(stockResponse.getCInvCode());
+            partInfoVO.setSpareId(stockResponse.getPartId() + "");
+            partInfoVO.setSpareName(stockResponse.getCInvName());
+            partInfoVO.setGgxh(stockResponse.getCInvStd());
+            partInfoVO.setNum(stockResponse.getIQuantity());
+            partInfoVO.setStoreName(stockResponse.getCWhName());
+            partInfoVO.setStoreId(stockResponse.getCWhCode());
+            partInfoVO.setUnit(stockResponse.getCComUnitName());
+            partInfoVO.setCBatch(stockResponse.getCBatch());
+            partInfoVO.setAutoId(stockResponse.getAutoId());
+            partInfoVO.setStorePosition(stockResponse.getCInvDefine1());
+            partInfoVOS.add(partInfoVO);
+        }
+
+        //PageHelper.startPage(pageNum, pageSize);
+        MyVOPage<SpareStoreVO> myVOPage = new MyVOPage<>();
+        myVOPage.setPageNum(pageNum);
+        myVOPage.setPageSize(pageSize);
+        Page page = new Page(pageNum, pageSize);
+        page.setTotal(data.getTotal());
+        myVOPage.setPages(data.getPages().intValue());
+        myVOPage.setTotal(page.getTotal());
+        myVOPage.setRows(partInfoVOS);
+        return myVOPage;
+    }
+
     /**
      * 提交出库单到用友
      *

+ 1 - 1
platform-service/src/main/java/handler/yongyou/AddSpareHandler.java

@@ -20,7 +20,7 @@ public class AddSpareHandler extends BaseRequestHandler{
 
 
     @Override
-    public R successHandler(FromYongYouBaseRequest req) {
+    public R successHandler(FromYongYouBaseRequest req,String reqStr) {
         return null;
     }
 

+ 2 - 2
platform-service/src/main/java/handler/yongyou/BaseRequestHandler.java

@@ -76,13 +76,13 @@ public abstract class BaseRequestHandler {
         //获取head
 
             // 具体处理
-            R resp = successHandler(req);
+            R resp = successHandler(req,reqStr);
             respData = (ToYongYouBaseResponse) resp.getData();
 
         return respData;
     }
 
-    public abstract R successHandler(FromYongYouBaseRequest req);
+    public abstract R successHandler(FromYongYouBaseRequest req,String reqStr);
 
 
     /**

+ 3 - 1
platform-service/src/main/java/handler/yongyou/DeletePurchaseOrderHandler.java

@@ -20,8 +20,10 @@ public class DeletePurchaseOrderHandler extends BaseRequestHandler {
     }
 
 
+
+
     @Override
-    public R successHandler(FromYongYouBaseRequest req) {
+    public R successHandler(FromYongYouBaseRequest req, String reqStr) {
         return null;
     }
 

+ 3 - 1
platform-service/src/main/java/handler/yongyou/GetCurrentStockHandler.java

@@ -20,8 +20,10 @@ public class GetCurrentStockHandler extends BaseRequestHandler{
     }
 
 
+
+
     @Override
-    public R successHandler(FromYongYouBaseRequest req) {
+    public R successHandler(FromYongYouBaseRequest req, String reqStr) {
         return null;
     }
 

+ 3 - 1
platform-service/src/main/java/handler/yongyou/GetInventoryListHandler.java

@@ -20,8 +20,10 @@ public class GetInventoryListHandler extends BaseRequestHandler{
     }
 
 
+
+
     @Override
-    public R successHandler(FromYongYouBaseRequest req) {
+    public R successHandler(FromYongYouBaseRequest req, String reqStr) {
         return null;
     }
 

+ 1 - 1
platform-service/src/main/java/handler/yongyou/GetPurchaseDetailListHandler.java

@@ -19,7 +19,7 @@ public class GetPurchaseDetailListHandler extends BaseRequestHandler {
 
 
     @Override
-    public R successHandler(FromYongYouBaseRequest req) {
+    public R successHandler(FromYongYouBaseRequest req, String reqStr) {
         return null;
     }
 

+ 3 - 1
platform-service/src/main/java/handler/yongyou/LoginHandler.java

@@ -20,8 +20,10 @@ public class LoginHandler extends BaseRequestHandler{
     }
 
 
+
+
     @Override
-    public R successHandler(FromYongYouBaseRequest req) {
+    public R successHandler(FromYongYouBaseRequest req, String reqStr) {
         return null;
     }
 

+ 3 - 1
platform-service/src/main/java/handler/yongyou/OtherOutHandler.java

@@ -26,8 +26,10 @@ public class OtherOutHandler extends BaseRequestHandler{
     }
 
 
+
+
     @Override
-    public R successHandler(FromYongYouBaseRequest req) {
+    public R successHandler(FromYongYouBaseRequest req, String reqStr) {
         return null;
     }
 

+ 99 - 32
platform-service/src/main/java/handler/yongyou/PurchaseOrderModNoticeHandler.java

@@ -1,17 +1,25 @@
 package handler.yongyou;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.google.gson.JsonArray;
 import com.platform.common.enums.DictTypeEnum;
+import com.platform.common.util.BeanConverterUtil;
 import com.platform.common.util.JsonUtils;
 import com.platform.common.util.R;
+import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseDetailDTO;
+import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseOrderDTO;
 import com.platform.dao.dto.upms.ThirdInfoLogDTO;
 import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseDetail;
 import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseOrder;
+import com.platform.dao.enums.LongYanPurchaseDetailStatusEnum;
+import com.platform.dao.enums.LongYanPurchaseOrderStatusEnum;
 import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseDetailMapper;
 import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseOrderMapper;
 import handler.yongyou.BaseRequestHandler;
 import handler.yongyou.request.*;
 import handler.yongyou.response.BaseResponse;
+import handler.yongyou.response.LongYanPurchaseDetailListVO;
 import handler.yongyou.response.ToYongYouBaseResponse;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
@@ -20,6 +28,7 @@ import tk.mybatis.mapper.weekend.WeekendCriteria;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -35,45 +44,103 @@ public class PurchaseOrderModNoticeHandler extends BaseRequestHandler {
         setServiceType(DictTypeEnum.THIRD_PARTY_YONGYOU_ADDSPARE.getType());
     }
 
-
     @Override
-    public R successHandler(FromYongYouBaseRequest req) {
-        PurchaseOrderStatusModNoticeRequest request = (PurchaseOrderStatusModNoticeRequest)req;
-        List<PurchaseDetails> purchaseDetails = request.getPurchaseDetails();
-        List<String> spareNos = purchaseDetails.stream().map(PurchaseDetails::getSpareNo).collect(Collectors.toList());
-        LongYanPurchaseOrder order = new LongYanPurchaseOrder();
-        order.setYongYouId(request.getYongYouId());
-        order = longYanPurchaseOrderMapper.selectOne(order);
-        LongYanPurchaseDetail detail = new LongYanPurchaseDetail();
-        detail.setLongYangPurchaseOrderId(order.getId());
-        Weekend<LongYanPurchaseDetail> weekend = new Weekend(LongYanPurchaseDetail.class);
-        WeekendCriteria<LongYanPurchaseDetail,Object> weekendCriteria = weekend.weekendCriteria();
-        weekendCriteria.andEqualTo(LongYanPurchaseDetail::getLongYangPurchaseOrderId,order.getId());
-        weekendCriteria.andIn(LongYanPurchaseDetail::getNo,spareNos);
-        List<LongYanPurchaseDetail> details = longYanPurchaseDetailMapper.selectByExample(weekend);
-        for (PurchaseDetails details1:purchaseDetails){
-            for (LongYanPurchaseDetail detail1: details){
-                if (detail1.getNo().equals(details1.getSpareNo())){
-                    detail1.setDetailStatus(details1.getStatus());
-                    detail1.setUpdateTime(LocalDateTime.now());
-                    longYanPurchaseDetailMapper.updateByPrimaryKeySelective(detail1);
-                    break;
+    public R successHandler(FromYongYouBaseRequest req,String reqStr) {
+        ToYongYouBaseResponse response = new ToYongYouBaseResponse();
+        R r = new R();
+        try {
+//        PurchaseOrderStatusModNoticeRequest request = (PurchaseOrderStatusModNoticeRequest)req;
+            PurchaseOrderStatusModNoticeRequest purchaseOrderStatusModNoticeRequest = JsonUtils.jsonToModel(reqStr,PurchaseOrderStatusModNoticeRequest.class);
+            List<ModRequest> requests = purchaseOrderStatusModNoticeRequest.getModRequests();
+            List<LongYanPurchaseDetailDTO> updateDetails = new ArrayList<>();
+            List<LongYanPurchaseOrder> updateOrders = new ArrayList<>();
+            for (ModRequest request : requests) {
+                List<PurchaseDetails> purchaseDetails = request.getPurchaseDetails();
+                List<String> spareNos = purchaseDetails.stream().map(PurchaseDetails::getSpareNo).collect(Collectors.toList());
+                LongYanPurchaseOrder order = new LongYanPurchaseOrder();
+                order.setYongYouId(request.getYongYouId());
+                order = longYanPurchaseOrderMapper.selectOne(order);
+                LongYanPurchaseDetail detail = new LongYanPurchaseDetail();
+                detail.setLongYangPurchaseOrderId(order.getId());
+
+                Weekend<LongYanPurchaseDetail> weekend = new Weekend(LongYanPurchaseDetail.class);
+                WeekendCriteria<LongYanPurchaseDetail, Object> weekendCriteria = weekend.weekendCriteria();
+                weekendCriteria.andEqualTo(LongYanPurchaseDetail::getLongYangPurchaseOrderId, order.getId());
+                weekendCriteria.andIn(LongYanPurchaseDetail::getNo, spareNos);
+                List<LongYanPurchaseDetail> details = longYanPurchaseDetailMapper.selectByExample(weekend);
+                List<LongYanPurchaseDetailDTO> dtos = BeanConverterUtil.copyListProperties(details, LongYanPurchaseDetailDTO.class);
+                for (PurchaseDetails details1 : purchaseDetails) {
+                    for (LongYanPurchaseDetailDTO detail1 : dtos) {
+                        if (detail1.getNo().equals(details1.getSpareNo())) {
+                            detail1.setYongYouId(request.getYongYouId());
+//                            detail1.setDetailStatus(details1.getStatus());
+                            addDetailStatus(details1,detail1);
+                            detail1.setPurchasedNum(details1.getPurchasedNum());
+                            detail1.setInStoreNum(details1.getInStoreNum());
+                            detail1.setNo(details1.getSpareNo());
+                            detail1.setYongYouRemark(details1.getRemark());
+                            updateDetails.add(detail1);
+                            break;
+                        }
+                    }
                 }
+
+                addStatus(request,order);
+                updateOrders.add(order);
             }
+            longYanPurchaseDetailMapper.updateBatchPurchaseDetails(updateDetails);
+            longYanPurchaseOrderMapper.updateBatchPurchaseOrder(updateOrders);
+            response.setResult(true);
+            response.setMsg("成功");
+            r.setData(response);
+        }catch (Exception e){
+            response.setResult(false);
+            response.setMsg("失败");
+            r.setData(response);
         }
-//        order.setStatus(request.getStatus());
-//        order.setRefuseRemark(request.getRemark());
-//        order.setUpdateTime(LocalDateTime.now());
-
-        longYanPurchaseOrderMapper.updateByPrimaryKeySelective(order);
-        ToYongYouBaseResponse response = new ToYongYouBaseResponse();
-        R r = new R();
-        response.setResult(true);
-        response.setMsg("成功");
-        r.setData(response);
         return r;
     }
 
+    private void addDetailStatus(PurchaseDetails data, LongYanPurchaseDetailDTO detail) {
+        if ("已请购".equals(data.getStatus())){
+            detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.applyed.getValue());
+        }else if ("已询价".equals(data.getStatus())){
+            detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.asked_price.getValue());
+        }else if ("采购中".equals(data.getStatus())){
+            detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.purchasing.getValue());
+        }else if ("已采购".equals(data.getStatus())){
+            detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.purchased.getValue());
+        }else if ("入库中".equals(data.getStatus())){
+            detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.in_storing.getValue());
+        }else if ("已入库".equals(data.getStatus())){
+            detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.in_stored.getValue());
+        }else if ("请购关闭".equals(data.getStatus())){
+            detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.close_apply_order.getValue());
+        }else if ("请购中".equals(data.getStatus())){
+            detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.apply_purchasing.getValue());
+        }
+    }
+
+    private void addStatus(ModRequest request, LongYanPurchaseOrder udpOrder) {
+        if ("锁定".equals(request.getOrderStatus())){
+            udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.locked.getValue());
+        }else if ("开立".equals(request.getOrderStatus())){
+            udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.stand.getValue());
+        }else if ("审核".equals(request.getOrderStatus())){
+            udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.check.getValue());
+        }else if ("取消关闭".equals(request.getOrderStatus())){
+            udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.cancel_close.getValue());
+        }
+        else if ("正常关闭".equals(request.getOrderStatus())){
+            udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.normal_close.getValue());
+        }
+        else if ("未知状态".equals(request.getOrderStatus())){
+            udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.unknowing_status.getValue());
+        }
+    }
+
+
+
     /**
      * 获取分页数据
      * @param req

+ 2 - 1
platform-service/src/main/java/handler/yongyou/PushPurchaseOrderHandler.java

@@ -20,8 +20,9 @@ public class PushPurchaseOrderHandler extends BaseRequestHandler{
 
 
 
+
     @Override
-    public R successHandler(FromYongYouBaseRequest req) {
+    public R successHandler(FromYongYouBaseRequest req, String reqStr) {
         return null;
     }
 

+ 13 - 0
platform-service/src/main/java/handler/yongyou/request/ModRequest.java

@@ -0,0 +1,13 @@
+package handler.yongyou.request;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ModRequest {
+    String yongYouId;
+    String orderStatus;
+    List<PurchaseDetails> purchaseDetails;
+
+}

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

@@ -22,4 +22,12 @@ public class PuAppDetail {
     private String iexchrate;//汇率
 
     private String ivouchrowno;//行号
+
+    private String citemname; //项目大类名称
+
+    private String citem_class; //项目大类编码
+
+    private String citem_name;//项目名称
+
+    private String citemcode;//项目编码
 }

+ 3 - 1
platform-service/src/main/java/handler/yongyou/request/PurchaseDetails.java

@@ -5,8 +5,10 @@ import lombok.Data;
 
 @Data
 public class PurchaseDetails {
-    Integer status;
+    String status;
     String spareNo;
     String remark;
+    Integer purchasedNum;
+    Integer inStoreNum;
 
 }

+ 1 - 2
platform-service/src/main/java/handler/yongyou/request/PurchaseOrderStatusModNoticeRequest.java

@@ -6,7 +6,6 @@ import java.util.List;
 
 @Data
 public class PurchaseOrderStatusModNoticeRequest extends FromYongYouBaseRequest {
-    private String yongYouId;
-    private List<PurchaseDetails> purchaseDetails;
+    private List<ModRequest> modRequests;
 
 }