|
@@ -59,10 +59,7 @@ import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -1057,6 +1054,7 @@ public class YongyouServiceImpl implements YongyouService {
|
|
|
AddSpareResponse response = JSONObject.parseObject(responseStr, AddSpareResponse.class);
|
|
|
if (response.getResult()) {
|
|
|
longYanSpareAdd.setStatus(LongYanSpareAddStatusEnum.PUSHED.getValue());
|
|
|
+ longYanSpareAdd.setNo(getNo(longYanSpareAdd.getTokenType(),longYanSpareAdd.getCategory()));
|
|
|
longYanSpareAddMapper.updateByPrimaryKeySelective(longYanSpareAdd);
|
|
|
return response.getMsg();
|
|
|
} else {
|
|
@@ -1070,9 +1068,70 @@ public class YongyouServiceImpl implements YongyouService {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ private String getNo(Integer tokenType,String type){
|
|
|
+ GetCurrentStockHandler handler = new GetCurrentStockHandler();
|
|
|
+ GetCurrentStockRequest req = new GetCurrentStockRequest();
|
|
|
+ req.setToken(geToken(tokenType));
|
|
|
+ req.setConn(getConn2(tokenType));
|
|
|
+ boolean isDev = BeanUtils.isDev();
|
|
|
+ if(!isDev){
|
|
|
+ if (tokenType==1){
|
|
|
+ req.setCAcc_ID("005");
|
|
|
+ }else if (tokenType==2){
|
|
|
+ req.setCAcc_ID("004");
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ req.setCAcc_ID("993");
|
|
|
+ }
|
|
|
+ req.setPageNum(1);
|
|
|
+ req.setPageSize(9999);
|
|
|
+ StringBuffer whereStr = new StringBuffer(" 1=1 ");
|
|
|
+ // 仓库编码搜索
|
|
|
+
|
|
|
+ // 存货编码搜索
|
|
|
+ if (StringUtils.isNotBlank(type)) {
|
|
|
+ whereStr.append(" and cInvCode like '" + type + "%' ");
|
|
|
+ }
|
|
|
+
|
|
|
+ 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();
|
|
|
+ if (stocks==null ||stocks.size()<=0){
|
|
|
+ return type+"0001";
|
|
|
+ }
|
|
|
+ stocks.sort(new Comparator<GetCurrentStock>() {
|
|
|
+ @Override
|
|
|
+ public int compare(GetCurrentStock o1, GetCurrentStock o2) {
|
|
|
+ return Long.parseLong(o1.getCInvCode())-Long.parseLong(o2.getCInvCode())>0L?1:-1;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ String lastNo = stocks.get(0).getCInvCode();
|
|
|
+ Integer upNo = Integer.parseInt(lastNo.substring(lastNo.length()-4))+1;
|
|
|
+ String newNo = lastNo.substring(0,lastNo.length()-4);
|
|
|
+ if (upNo<10){
|
|
|
+ newNo = newNo+"000"+upNo.toString();
|
|
|
+ }else if (upNo<100){
|
|
|
+ newNo = newNo+"00"+upNo.toString();
|
|
|
+ }else if (upNo<1000){
|
|
|
+ newNo = newNo+"0" +upNo.toString();
|
|
|
+ }else if (upNo<10000){
|
|
|
+ newNo = newNo+upNo.toString();
|
|
|
+ }else if (upNo>9999){
|
|
|
+ throw new BusinessException("库存溢出,请联系管理员!");
|
|
|
+ }
|
|
|
+ return newNo;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public String addSpare(InventoryTest inventoryTest, Integer tokenType) {
|
|
|
+
|
|
|
LongYanSpareAdd longYanSpareAdd = new LongYanSpareAdd();
|
|
|
longYanSpareAdd.setTokenType(tokenType);
|
|
|
try {
|
|
@@ -1093,7 +1152,6 @@ public class YongyouServiceImpl implements YongyouService {
|
|
|
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));
|
|
@@ -1106,6 +1164,7 @@ public class YongyouServiceImpl implements YongyouService {
|
|
|
request.setCAcc_ID(getCAccIdTest());*/
|
|
|
// 测试环境代码结束
|
|
|
pakageAndInsertSpare(Inventory, userInfo,longYanSpareAdd);
|
|
|
+ request.setInventory(Inventory);
|
|
|
AddSpareHandler handler = new AddSpareHandler();
|
|
|
handler.setRequest(request);
|
|
|
String responseStr = handler.handler();
|
|
@@ -1116,11 +1175,13 @@ public class YongyouServiceImpl implements YongyouService {
|
|
|
return response.getMsg();
|
|
|
}else{
|
|
|
longYanSpareAdd.setStatus(LongYanSpareAddStatusEnum.FAIL_PUSH.getValue());
|
|
|
+ longYanSpareAdd.setNo("");
|
|
|
longYanSpareAddMapper.updateByPrimaryKeySelective(longYanSpareAdd);
|
|
|
return response.getMsg();
|
|
|
}
|
|
|
}catch (Exception e){
|
|
|
longYanSpareAdd.setStatus(LongYanSpareAddStatusEnum.FAIL_PUSH.getValue());
|
|
|
+ longYanSpareAdd.setNo("");
|
|
|
longYanSpareAddMapper.updateByPrimaryKeySelective(longYanSpareAdd);
|
|
|
e.printStackTrace();
|
|
|
throw new BusinessException("新增失败!");
|
|
@@ -1145,6 +1206,8 @@ public class YongyouServiceImpl implements YongyouService {
|
|
|
longYanSpareAdd.setCaComUnitCode(inventory.getCCAComUnitCode());
|
|
|
longYanSpareAdd.setPlanMethod(inventory.getCPlanMethod());
|
|
|
longYanSpareAdd.setSrpolicy(inventory.getCSRPolicy());
|
|
|
+ longYanSpareAdd.setNo(getNo(longYanSpareAdd.getTokenType(),inventory.getCInvCCode()));
|
|
|
+ inventory.setCInvCode(longYanSpareAdd.getNo());
|
|
|
|
|
|
longYanSpareAddMapper.insert(longYanSpareAdd);
|
|
|
}
|