1 rok pred
rodič
commit
625e427517

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

@@ -23,6 +23,16 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class LongYanPurchaseDetailDTO extends BaseDTO implements Serializable {
+    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;

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

@@ -22,6 +22,15 @@ import java.math.BigDecimal;
 @Accessors(chain = true)
 @Table(name = "t_long_yan_purchase_detail")
 public class LongYanPurchaseDetail implements Serializable{
+    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;

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

@@ -0,0 +1,76 @@
+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, "入库中"),
+    /**
+     * 已入库
+     */
+    check(6, "已入库"),
+
+    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;
+    }
+
+}

+ 9 - 19
platform-dao/src/main/java/com/platform/dao/enums/LongYanPurchaseOrderStatusEnum.java

@@ -31,33 +31,23 @@ public enum LongYanPurchaseOrderStatusEnum {
      */
     pushed(3, "已推送"),
     /**
-     * 已报废
+     * 锁定
      */
-    wait_check(4, "待审核"),
+    locked(4, "锁定"),
     /**
-     * 报废拒绝
+     * 开立
      */
-    checked(5, "已审核"),
+    stand(5, "开立"),
     /**
-     * 置换中
+     * 审核
      */
-    puchasing(6, "采购中"),
+    check(6, "审核"),
 
-    fail_push(0, "推送失败"),
+    cancel_close(7, "取消关闭"),
 
-    discard(9, "已废弃"),
+    normal_close(8, "正常关闭"),
 
-    not_in_store(10, "未入库"),
-
-    part_in_store(11, "部分入库"),
-
-    all_in_store(12, "部分入库"),
-
-
-    /**
-     * 已置换
-     */
-    puchased(7, "采购完成");
+    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);
+
 }

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

@@ -22,6 +22,14 @@ import java.math.BigDecimal;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class LongYanPurchaseDetailVO extends BaseVO implements Serializable{
+    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;

+ 10 - 0
platform-dao/src/main/resources/mapper/longyanpurchaseorder/LongYanPurchaseDetailMapper.xml

@@ -116,4 +116,14 @@ 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}
+        </set>
+            where orders.yong_you_id = #{item.yongYouId}
+        </foreach>
+    </update>
 </mapper>

+ 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 - 1
platform-service/src/main/java/com/platform/service/yongyou/impl/YongyouServiceImpl.java

@@ -25,6 +25,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.LongYanPurchaseOrderStatusEnum;
 import com.platform.dao.enums.LongYanSpareAddStatusEnum;
 import com.platform.dao.enums.OutStoreStatusEnum;
 import com.platform.dao.enums.YesNoEnum;
@@ -506,6 +507,41 @@ public class YongyouServiceImpl implements YongyouService {
         GetPurchaseDetailListResponse response = JsonUtils.jsonToModel(responseStr,GetPurchaseDetailListResponse.class);
         if (response.getResult()) {
             List<LongYanPurchaseDetailListVO> data = response.getData();
+            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());
+                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());
+                }
+                longYanPurchaseOrderMapper.updateByPrimaryKeySelective(udpOrder);
+                List<LongYanPurchaseDetailDTO> list = new ArrayList<>();
+                for (LongYanPurchaseDetailListVO vo:data){
+                    LongYanPurchaseDetailDTO detail = new LongYanPurchaseDetailDTO();
+                    detail.setNo(vo.getCInvCCode());
+                    detail.setYongYouId(vo.getCTrackNo());
+                    detail.setPurchasedNum(vo.getIPOSum());
+                    detail.setInStoreNum(vo.getIRDSum());
+                    list.add(detail);
+                }
+                if (list.size()>0){
+                    longYanPurchaseDetailMapper.updateBatchPurchaseDetails(list);
+                }
+            }
             AbstractPageResultBean<LongYanPurchaseDetailListVO> voMyPage = getPageInfo(pageNum,pageSize,data);
             return voMyPage;
         }
@@ -588,7 +624,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 +640,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");

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

@@ -66,13 +66,13 @@ public class PurchaseOrderModNoticeHandler extends BaseRequestHandler {
                 }
             }
         }
-        if (count==0){
-            order.setStatus(LongYanPurchaseOrderStatusEnum.not_in_store.getValue());
-        }else if (count>0&&count<purchaseDetails.size()){
-            order.setStatus(LongYanPurchaseOrderStatusEnum.part_in_store.getValue());
-        }else {
-            order.setStatus(LongYanPurchaseOrderStatusEnum.all_in_store.getValue());
-        }
+//        if (count==0){
+//            order.setStatus(LongYanPurchaseOrderStatusEnum.not_in_store.getValue());
+//        }else if (count>0&&count<purchaseDetails.size()){
+//            order.setStatus(LongYanPurchaseOrderStatusEnum.part_in_store.getValue());
+//        }else {
+//            order.setStatus(LongYanPurchaseOrderStatusEnum.all_in_store.getValue());
+//        }
 //        order.setStatus(request.getStatus());
 //        order.setRefuseRemark(request.getRemark());
 //        order.setUpdateTime(LocalDateTime.now());

+ 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;//项目编码
 }