|
@@ -1,17 +1,22 @@
|
|
|
package com.platform.service.yongyou.impl;
|
|
|
|
|
|
+import cn.hutool.core.lang.Dict;
|
|
|
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.util.DateUtils;
|
|
|
-import com.platform.common.util.RedisUtils;
|
|
|
-import com.platform.common.util.StringUtils;
|
|
|
+import com.platform.common.model.UserInfo;
|
|
|
+import com.platform.common.util.*;
|
|
|
import com.platform.common.yongyou.request.*;
|
|
|
import com.platform.common.yongyou.response.*;
|
|
|
import com.platform.dao.bean.MyVOPage;
|
|
|
+import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseDetailDTO;
|
|
|
+import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseOrderDTO;
|
|
|
import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
|
|
|
import com.platform.dao.dto.store.SpareStoreDTO;
|
|
|
+import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseOrder;
|
|
|
import com.platform.dao.entity.repair.RepairApplicationForm;
|
|
|
import com.platform.dao.entity.sb.SbInfo;
|
|
|
import com.platform.dao.entity.sb.SbModelSpareBom;
|
|
@@ -19,9 +24,13 @@ import com.platform.dao.entity.store.OutStoreDetail;
|
|
|
import com.platform.dao.entity.store.OutStoreForm;
|
|
|
import com.platform.dao.enums.OutStoreStatusEnum;
|
|
|
import com.platform.dao.enums.YesNoEnum;
|
|
|
+import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseDetailMapper;
|
|
|
+import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseOrderMapper;
|
|
|
import com.platform.dao.mapper.repair.RepairApplicationFormMapper;
|
|
|
import com.platform.dao.mapper.sb.SbInfoMapper;
|
|
|
import com.platform.dao.mapper.sb.SbModelSpareBomMapper;
|
|
|
+import com.platform.dao.vo.query.longyanpurchaseorder.LongYanPurchaseDetailVO;
|
|
|
+import com.platform.dao.vo.query.longyanpurchaseorder.LongYanPurchaseOrderVO;
|
|
|
import com.platform.dao.vo.query.sparepartmanage.SparePartInfoVO;
|
|
|
import com.platform.dao.vo.query.store.OutStoreDetailVO;
|
|
|
import com.platform.dao.vo.query.store.OutStoreFormVO;
|
|
@@ -37,6 +46,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.time.LocalDate;
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -61,6 +71,10 @@ public class YongyouServiceImpl implements YongyouService {
|
|
|
private SbModelSpareBomMapper sbModelSpareBomMapper;
|
|
|
@Resource
|
|
|
private RepairApplicationFormMapper repairApplicationFormMapper;
|
|
|
+ @Resource
|
|
|
+ private LongYanPurchaseOrderMapper longYanPurchaseOrderMapper;
|
|
|
+ @Resource
|
|
|
+ private LongYanPurchaseDetailMapper longYanPurchaseDetailMapper;
|
|
|
private String token_key = "yongyou-token";
|
|
|
private String Conn_key = "yongyou-Conn";
|
|
|
private String cAcc_ID_key = "yongyou-cAcc_ID";
|
|
@@ -381,9 +395,78 @@ public class YongyouServiceImpl implements YongyouService {
|
|
|
return myVOPage;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public String pushPurchaseOrder(String id) {
|
|
|
+ LongYanPurchaseOrderDTO dto = new LongYanPurchaseOrderDTO();
|
|
|
+ dto.setId(id);
|
|
|
+ List<LongYanPurchaseOrderVO> list = longYanPurchaseOrderMapper.selectList(dto);
|
|
|
+ if (list==null||list.size()==0){
|
|
|
+ throw new BusinessException("该采购单已不存在!");
|
|
|
+ }
|
|
|
+ LongYanPurchaseOrderVO vo = list.get(0);
|
|
|
+ if (list.get(0).getOldOrNew()==null){
|
|
|
+ throw new BusinessException("该采购单未选择新老厂!");
|
|
|
+ }
|
|
|
+ LongYanPurchaseDetailDTO longYanPurchaseDetailDTO = new LongYanPurchaseDetailDTO();
|
|
|
+ longYanPurchaseDetailDTO.setLongYangPurchaseOrderId(id);
|
|
|
+ List<LongYanPurchaseDetailVO> detailVOS = longYanPurchaseDetailMapper.selectList(longYanPurchaseDetailDTO);
|
|
|
+ PuAppMain puAppMain = new PuAppMain();
|
|
|
+
|
|
|
+ puAppMain.setCbustype("普通采购");
|
|
|
+
|
|
|
+ puAppMain.setCcode(vo.getPurchaseNo());
|
|
|
+ puAppMain.setCdefine1(DictCache.getLabelByValue("LONG_YAN_PURCHASE_TYPE",vo.getType()));
|
|
|
+ puAppMain.setCdefine2(vo.getSbName());
|
|
|
+ puAppMain.setCdefine11(vo.getRemark());
|
|
|
+ puAppMain.setCmaker(vo.getCreatedUserName());
|
|
|
+ puAppMain.setDdate(DateUtils.dateToString(vo.getCreatedTime()));
|
|
|
+ puAppMain.setCptcode(DictCache.getLabelByValue("LONG_YAN_PURCHASE_TYPE",vo.getType()));
|
|
|
+ List<PuAppDetail> puAppDetails = new ArrayList<>();
|
|
|
+ for (LongYanPurchaseDetailVO orderVO:detailVOS){
|
|
|
+ PuAppDetail detail = new PuAppDetail();
|
|
|
+ detail.setCinvcode(orderVO.getNo());
|
|
|
+ detail.setIpertaxrate("税率");
|
|
|
+ detail.setFquantity(orderVO.getNum().intValue());
|
|
|
+ detail.setDrequirdate("需求日期");
|
|
|
+ detail.setDarrivedate("计划到货日期");
|
|
|
+ detail.setCexch_name("币种");
|
|
|
+ detail.setIexchrate("汇率");
|
|
|
+ detail.setIvouchrowno("行号");
|
|
|
+ puAppDetails.add(detail);
|
|
|
+ }
|
|
|
+ PuAppVouch puAppVouch = new PuAppVouch();
|
|
|
+ puAppVouch.setPuAppMain(puAppMain);
|
|
|
+ puAppVouch.setPuAppDetail(puAppDetails);
|
|
|
+ PushPurchaseOrderRequest request = new PushPurchaseOrderRequest();
|
|
|
+ request.setPuAppVouch(puAppVouch);
|
|
|
+ request.setTradeID("");
|
|
|
+ request.setToken(geToken(vo.getOldOrNew()));
|
|
|
+ request.setCAcc_ID(getCAccId2(vo.getOldOrNew()));
|
|
|
+ request.setConn(getConn2(vo.getOldOrNew()));
|
|
|
+ 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);
|
|
|
+ if (response.getErrcode()){
|
|
|
+ order.setStatus(3);
|
|
|
+ longYanPurchaseOrderMapper.updateByPrimaryKeySelective(order);
|
|
|
+ order.setYongYouId(response.getId());
|
|
|
+ return response.getErrmsg();
|
|
|
+ }
|
|
|
+ order.setStatus(8);
|
|
|
+ longYanPurchaseOrderMapper.updateByPrimaryKeySelective(order);
|
|
|
+ throw new BusinessException("采购单申请失败,请联系管理员!");
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public String addSpare(Inventory inventory,Integer tokenType) {
|
|
|
AddSpareRequest request = new AddSpareRequest();
|
|
|
+ UserInfo userInfo = SecurityUtils.getUserInfo();
|
|
|
+ inventory.setDInvCreateDatetime(DateUtils.dateToString(LocalDateTime.now()));
|
|
|
+ inventory.setCModifyPerson(userInfo.getUsername());
|
|
|
+ inventory.setDModifyDate(DateUtils.dateToString(LocalDateTime.now()));
|
|
|
request.setInventory(inventory);
|
|
|
request.setTradeID("");
|
|
|
request.setToken(geToken(tokenType));
|
|
@@ -397,7 +480,7 @@ public class YongyouServiceImpl implements YongyouService {
|
|
|
handler.setRequest(request);
|
|
|
String responseStr = handler.handler();
|
|
|
AddSpareResponse response = JSONObject.parseObject(responseStr, AddSpareResponse.class);
|
|
|
- if (response.isErrcode()){
|
|
|
+ if (response.getErrcode()){
|
|
|
return response.getErrmsg();
|
|
|
}else {
|
|
|
throw new BusinessException("新增失败!");
|