1 ano atrás
pai
commit
ecdca2add5
16 arquivos alterados com 226 adições e 15 exclusões
  1. 2 0
      platform-common/src/main/java/com/platform/common/enums/DictTypeEnum.java
  2. 2 0
      platform-dao/src/main/java/com/platform/dao/dto/longyanpurchaseorder/LongYanPurchaseDetailDTO.java
  3. 1 0
      platform-dao/src/main/java/com/platform/dao/entity/longyanpurchaseorder/LongYanPurchaseDetail.java
  4. 1 0
      platform-dao/src/main/java/com/platform/dao/vo/query/longyanpurchaseorder/LongYanPurchaseDetailVO.java
  5. 1 1
      platform-rest/src/main/java/com/platform/rest/RestApplication.java
  6. 9 1
      platform-rest/src/main/java/com/platform/rest/controller/yongyou/YongyouController.java
  7. 1 1
      platform-rest/src/main/resources/application-dev.yml
  8. 3 1
      platform-service/src/main/java/com/platform/service/yongyou/YongyouService.java
  9. 43 1
      platform-service/src/main/java/com/platform/service/yongyou/impl/YongyouServiceImpl.java
  10. 36 0
      platform-service/src/main/java/handler/yongyou/GetPurchaseDetailListHandler.java
  11. 32 8
      platform-service/src/main/java/handler/yongyou/PurchaseOrderModNoticeHandler.java
  12. 10 0
      platform-service/src/main/java/handler/yongyou/request/GetLongYanPurchaseDetalListRequest.java
  13. 12 0
      platform-service/src/main/java/handler/yongyou/request/PurchaseDetails.java
  14. 3 2
      platform-service/src/main/java/handler/yongyou/request/PurchaseOrderStatusModNoticeRequest.java
  15. 18 0
      platform-service/src/main/java/handler/yongyou/response/GetPurchaseDetailListResponse.java
  16. 52 0
      platform-service/src/main/java/handler/yongyou/response/LongYanPurchaseDetailListVO.java

+ 2 - 0
platform-common/src/main/java/com/platform/common/enums/DictTypeEnum.java

@@ -33,6 +33,8 @@ public enum DictTypeEnum {
     THIRD_PARTY_YONGYOU_ADDSPARE("ADDSPARE", "新增物料接口"),
     THIRD_PARTY_YONGYOU_PUSHPURCHASEORDER("PUSHPURCHASEORDER", "请购单"),
     THIRD_PARTY_YONGYOU_DELETEPURCHASEORDER("DELETEPURCHASEORDER", "删除请购单"),
+    THIRD_PARTY_YONGYOU_GETPURCHASEDETAILLIST("GETPURCHASEDETAILLIST", "请购单详情报表查询"),
+
 
     THIRD_PARTY_YONGYOU_OTHEROUT("OTHEROUT", "出库申请单"),
     REMOTE_MEASURE("REMOTE_MEASURE", "设备遥测"),

+ 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 Integer oldOrNew;
+    private Integer detailStatus;
     private String sbName;
     private String positionNo;
     private String storeName;

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

@@ -22,6 +22,7 @@ import java.math.BigDecimal;
 @Accessors(chain = true)
 @Table(name = "t_long_yan_purchase_detail")
 public class LongYanPurchaseDetail implements Serializable{
+    private Integer detailStatus;
     private String storeName;
     private String storePosition;
 

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

@@ -22,6 +22,7 @@ import java.math.BigDecimal;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class LongYanPurchaseDetailVO extends BaseVO implements Serializable{
+    private Integer detailStatus;
     private String sbInfo;
     private String storeName;
     private String storePosition;

+ 1 - 1
platform-rest/src/main/java/com/platform/rest/RestApplication.java

@@ -15,7 +15,7 @@ import java.util.TimeZone;
  * @Date 2019/7/22
  * @Version Copyright (c) 2019,北京乾元坤和科技有限公司 All rights reserved.
  */
-@SpringBootApplication(scanBasePackages = {"com.platform", "org.activiti"}, exclude = {
+@SpringBootApplication(scanBasePackages = {"com.platform", "org.activiti", "handler.yongyou"}, exclude = {
         DataSourceAutoConfiguration.class, PageHelperAutoConfiguration.class})
 @QmEnableResourceServer
 @EnableAsync

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

@@ -6,6 +6,7 @@ import com.platform.common.util.HttpUtil;
 import com.platform.common.util.JsonUtils;
 import com.platform.common.util.R;
 import com.platform.common.util.StringUtils;
+import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseOrderDTO;
 import com.platform.dao.dto.spareAdd.InventoryTest;
 import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
 import com.platform.dao.dto.store.SpareStoreDTO;
@@ -13,9 +14,10 @@ import com.platform.dao.vo.query.sparepartmanage.SparePartInfoVO;
 import com.platform.dao.vo.query.store.SpareStoreVO;
 import com.platform.rest.log.annotation.SysLog;
 import com.platform.service.yongyou.YongyouService;
-import com.platform.service.yongyou.PurchaseOrderModNoticeHandler;
+import handler.yongyou.PurchaseOrderModNoticeHandler;
 import handler.yongyou.request.FromYongYouBaseRequest;
 import handler.yongyou.request.PurchaseOrderStatusModNoticeRequest;
+import handler.yongyou.response.LongYanPurchaseDetailListVO;
 import handler.yongyou.response.ToYongYouBaseResponse;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -96,6 +98,12 @@ public class YongyouController {
         return new R<>(yongyouService.selectPageList2(spareStoreDTO, pageNum, pageSize));
     }
 
+
+    @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));
+    }
+
     /**
      * 发起用友出库单
      * 推送实际出库数量和状态

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

@@ -89,7 +89,7 @@ ignore:
     - /preparation/preparations/**
     - /longyanpurchaseorder/detail/**
     - /longyanpurchaseorder/order/**
-    - /yongyou/purchaseOrder/status/mod
+    - /yongyou/**
 platform:
   slf4j:
     data: D://xajg

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

@@ -2,12 +2,13 @@ package com.platform.service.yongyou;
 
 import com.alibaba.fastjson.JSONObject;
 import com.platform.common.bean.AbstractPageResultBean;
-import com.platform.dao.dto.spareAdd.Inventory;
+import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseOrderDTO;
 import com.platform.dao.dto.spareAdd.InventoryTest;
 import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
 import com.platform.dao.dto.store.SpareStoreDTO;
 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;
 
 /**
@@ -17,6 +18,7 @@ import handler.yongyou.response.OtherOutAddResponse;
  * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
  */
 public interface YongyouService {
+    AbstractPageResultBean<LongYanPurchaseDetailListVO> getLongYanPurchaseDetailListVOs(LongYanPurchaseOrderDTO detailDTO, Integer pageNum, Integer pageSize);
     String deletePurchaseOrder(String id);
 
     String pushSpare(String id);

+ 43 - 1
platform-service/src/main/java/com/platform/service/yongyou/impl/YongyouServiceImpl.java

@@ -2,12 +2,12 @@ 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;
 import com.platform.common.model.UserInfo;
 import com.platform.common.util.*;
+import com.platform.dao.bean.MyPage;
 import com.platform.dao.bean.MyVOPage;
 import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseDetailDTO;
 import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseOrderDTO;
@@ -49,6 +49,7 @@ import handler.yongyou.*;
 import handler.yongyou.request.*;
 import handler.yongyou.response.*;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import tk.mybatis.mapper.weekend.Weekend;
@@ -491,6 +492,47 @@ public class YongyouServiceImpl implements YongyouService {
         boms.add(sbModelSpareBom);
     }
 
+    @Override
+    public AbstractPageResultBean<LongYanPurchaseDetailListVO> getLongYanPurchaseDetailListVOs(LongYanPurchaseOrderDTO detailDTO, Integer pageNum, Integer pageSize) {
+        GetLongYanPurchaseDetalListRequest request = new GetLongYanPurchaseDetalListRequest();
+        request.setToken(geToken(detailDTO.getOldOrNew()));
+        request.setCAcc_ID(getCAccId2(detailDTO.getOldOrNew()));
+        request.setConn(getConn2(detailDTO.getOldOrNew()));
+        StringBuffer strWhere = new StringBuffer("1=1 and ccode = ").append("'"+detailDTO.getYongYouId()+"'");
+        request.setStrWhere(strWhere.toString());
+        GetPurchaseDetailListHandler handler = new GetPurchaseDetailListHandler();
+        handler.setRequest(request);
+        String responseStr = handler.handler();
+        GetPurchaseDetailListResponse response = JsonUtils.jsonToModel(responseStr,GetPurchaseDetailListResponse.class);
+        if (response.getResult()) {
+            List<LongYanPurchaseDetailListVO> data = response.getData();
+            AbstractPageResultBean<LongYanPurchaseDetailListVO> voMyPage = 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));
+            }
+        }
+        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);
+        }
+        pageInfo.setTotal((long)list.size());
+        return pageInfo;
+    }
+
     @Override
     public String deletePurchaseOrder(String id) {
 

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

@@ -0,0 +1,36 @@
+package handler.yongyou;
+
+import com.platform.common.enums.DictTypeEnum;
+import com.platform.common.util.R;
+import handler.yongyou.request.AddSpareRequest;
+import handler.yongyou.request.BaseRequest;
+import handler.yongyou.request.FromYongYouBaseRequest;
+import handler.yongyou.response.BaseResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+public class GetPurchaseDetailListHandler extends BaseRequestHandler {
+
+    public GetPurchaseDetailListHandler(){
+        setServiceType(DictTypeEnum.THIRD_PARTY_YONGYOU_GETPURCHASEDETAILLIST.getType());
+    }
+
+
+    @Override
+    public R successHandler(FromYongYouBaseRequest req) {
+        return null;
+    }
+
+    /**
+     * 获取分页数据
+     * @param req
+     * @param resp
+     */
+    @Override
+    public void successResponse(BaseRequest req, BaseResponse resp) {
+        AddSpareRequest request = (AddSpareRequest)req;
+//        AddSpareResponse response = (AddSpareResponse)resp;
+    }
+}

+ 32 - 8
platform-service/src/main/java/com/platform/service/yongyou/PurchaseOrderModNoticeHandler.java → platform-service/src/main/java/handler/yongyou/PurchaseOrderModNoticeHandler.java

@@ -1,30 +1,35 @@
-package com.platform.service.yongyou;
+package handler.yongyou;
 
 import com.alibaba.fastjson.JSONObject;
 import com.platform.common.enums.DictTypeEnum;
 import com.platform.common.util.JsonUtils;
 import com.platform.common.util.R;
 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.mapper.longyanpurchaseorder.LongYanPurchaseDetailMapper;
 import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseOrderMapper;
 import handler.yongyou.BaseRequestHandler;
-import handler.yongyou.request.AddSpareRequest;
-import handler.yongyou.request.BaseRequest;
-import handler.yongyou.request.FromYongYouBaseRequest;
-import handler.yongyou.request.PurchaseOrderStatusModNoticeRequest;
+import handler.yongyou.request.*;
 import handler.yongyou.response.BaseResponse;
 import handler.yongyou.response.ToYongYouBaseResponse;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
+import tk.mybatis.mapper.weekend.Weekend;
+import tk.mybatis.mapper.weekend.WeekendCriteria;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
+import java.util.List;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Component
 public class PurchaseOrderModNoticeHandler extends BaseRequestHandler {
     @Resource
     private LongYanPurchaseOrderMapper longYanPurchaseOrderMapper;
+    @Resource
+    private LongYanPurchaseDetailMapper longYanPurchaseDetailMapper;
 
     public PurchaseOrderModNoticeHandler(){
         setServiceType(DictTypeEnum.THIRD_PARTY_YONGYOU_ADDSPARE.getType());
@@ -34,12 +39,31 @@ public class PurchaseOrderModNoticeHandler extends BaseRequestHandler {
     @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);
-        order.setStatus(request.getStatus());
-        order.setRefuseRemark(request.getRemark());
-        order.setUpdateTime(LocalDateTime.now());
+        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;
+                }
+            }
+        }
+//        order.setStatus(request.getStatus());
+//        order.setRefuseRemark(request.getRemark());
+//        order.setUpdateTime(LocalDateTime.now());
 
         longYanPurchaseOrderMapper.updateByPrimaryKeySelective(order);
         ToYongYouBaseResponse response = new ToYongYouBaseResponse();

+ 10 - 0
platform-service/src/main/java/handler/yongyou/request/GetLongYanPurchaseDetalListRequest.java

@@ -0,0 +1,10 @@
+package handler.yongyou.request;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Data;
+
+@Data
+public class GetLongYanPurchaseDetalListRequest extends BaseRequest {
+    private String strWhere;
+
+}

+ 12 - 0
platform-service/src/main/java/handler/yongyou/request/PurchaseDetails.java

@@ -0,0 +1,12 @@
+package handler.yongyou.request;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Data;
+
+@Data
+public class PurchaseDetails {
+    Integer status;
+    String spareNo;
+    String remark;
+
+}

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

@@ -2,10 +2,11 @@ package handler.yongyou.request;
 
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class PurchaseOrderStatusModNoticeRequest extends FromYongYouBaseRequest {
     private String yongYouId;
-    private Integer status;
-    private String remark;
+    private List<PurchaseDetails> purchaseDetails;
 
 }

+ 18 - 0
platform-service/src/main/java/handler/yongyou/response/GetPurchaseDetailListResponse.java

@@ -0,0 +1,18 @@
+package handler.yongyou.response;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 现存量查询响应
+ */
+@Data
+public class GetPurchaseDetailListResponse {
+    Boolean result;
+    String msg;
+    List<LongYanPurchaseDetailListVO> data;
+
+
+
+}

+ 52 - 0
platform-service/src/main/java/handler/yongyou/response/LongYanPurchaseDetailListVO.java

@@ -0,0 +1,52 @@
+package handler.yongyou.response;
+
+import com.platform.common.bean.BaseVO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @Description 龙岩采购明细表VO结果类
+ * @Author lsq
+ * @Date 2023-07-11 16:58:52
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+public class LongYanPurchaseDetailListVO implements Serializable{
+    String iTracksID;//请购单子表id
+    String cTrackNo;//请购单号
+    String iTrackRowNo;//请购单行号
+
+    String cBusType;//业务类型
+    String cCode;//请购单号
+    String ID;//请购单主表id
+    String AutoID;//请购单子表id
+
+    String dPODate;//请购日期
+    String cAuditDate;//请购单审核日期
+    String cVenCode;//供应商编码
+    String cVenName;//供应商名称
+    String cInvCode;//存货编码
+    String cInvName; //存货名称
+    String cInvCCode;//存货分类编码
+    String cInvCName;//存货分类名称
+    String cInvStd;//规格型号
+    String cComUnitCode;//主计量单位编码
+    String cComUnitName;//主计量单位
+    Integer iQuantity;//请购数量
+    Integer iPOSum;//已采购数量
+    Integer iNotDoQty;//未采购数量
+    Integer iRDSum;//入库数量
+    String cAppState;//请购状态
+    String dRequirDate;//需求日期
+    String dArriveDate;//建议订货日期、计划到货日期
+    String iStatus;//单据审核状态
+
+
+
+}