no message
parent
890f4c9c28
commit
b26a3482bf
|
|
@ -12,7 +12,7 @@ import java.net.URLConnection;
|
||||||
public class HttpPostUtil {
|
public class HttpPostUtil {
|
||||||
public static String sendPostReq(String api_url, String request) {
|
public static String sendPostReq(String api_url, String request) {
|
||||||
InputStream instr = null;
|
InputStream instr = null;
|
||||||
String str = "";
|
String str = null;
|
||||||
try {
|
try {
|
||||||
URL url = new URL(api_url);
|
URL url = new URL(api_url);
|
||||||
URLConnection urlCon = url.openConnection();
|
URLConnection urlCon = url.openConnection();
|
||||||
|
|
|
||||||
|
|
@ -116,4 +116,13 @@ public interface ItemService {
|
||||||
*/
|
*/
|
||||||
String impoertItem(MultipartFile multipartFile);
|
String impoertItem(MultipartFile multipartFile);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建物料
|
||||||
|
* @param itemCode 物料编码
|
||||||
|
* @param itemName 物料名称
|
||||||
|
* @param extendD1 单台用量
|
||||||
|
* @param goodType 物料类型
|
||||||
|
* @return Item
|
||||||
|
*/
|
||||||
|
Item createItem(String itemCode, String itemName,Double extendD1,String goodType);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ import com.youchain.basicdata.domain.Item;
|
||||||
import com.youchain.config.FileProperties;
|
import com.youchain.config.FileProperties;
|
||||||
import com.youchain.exception.BadRequestException;
|
import com.youchain.exception.BadRequestException;
|
||||||
import com.youchain.modules.system.domain.Dept;
|
import com.youchain.modules.system.domain.Dept;
|
||||||
|
import com.youchain.modules.system.repository.DeptRepository;
|
||||||
import com.youchain.utils.*;
|
import com.youchain.utils.*;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import com.youchain.basicdata.repository.ItemRepository;
|
import com.youchain.basicdata.repository.ItemRepository;
|
||||||
|
|
@ -53,6 +54,7 @@ public class ItemServiceImpl implements ItemService {
|
||||||
private final ItemRepository itemRepository;
|
private final ItemRepository itemRepository;
|
||||||
private final ItemMapper itemMapper;
|
private final ItemMapper itemMapper;
|
||||||
private final FileProperties properties;
|
private final FileProperties properties;
|
||||||
|
private final DeptRepository deptRepository;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> queryAll(ItemQueryCriteria criteria, Pageable pageable) {
|
public Map<String, Object> queryAll(ItemQueryCriteria criteria, Pageable pageable) {
|
||||||
|
|
@ -202,6 +204,21 @@ public class ItemServiceImpl implements ItemService {
|
||||||
return ("导入成功:" + " 新增(" + itemsToCreate.size() + ")修改(" + itemsToUpdate.size() + ")");
|
return ("导入成功:" + " 新增(" + itemsToCreate.size() + ")修改(" + itemsToUpdate.size() + ")");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Item createItem(String itemCode, String itemName, Double extendD1, String goodType) {
|
||||||
|
Item item = new Item();
|
||||||
|
item.setCode(itemCode);
|
||||||
|
item.setName(itemName);
|
||||||
|
item.setExtendD1(extendD1);
|
||||||
|
item.setGoodType(goodType);
|
||||||
|
item.setUnit("PCS");
|
||||||
|
item.setEnabled(true);
|
||||||
|
Dept dept = deptRepository.getById(7L);
|
||||||
|
item.setDept(dept);
|
||||||
|
itemRepository.save(item);
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
private Item updateItems(Item item, Dept dept, Map<String, Object> record) {
|
private Item updateItems(Item item, Dept dept, Map<String, Object> record) {
|
||||||
item.setDept(dept);
|
item.setDept(dept);
|
||||||
item.setName(Optional.ofNullable(record.get("名称")).map(Object::toString).map(String::trim).orElse(null));
|
item.setName(Optional.ofNullable(record.get("名称")).map(Object::toString).map(String::trim).orElse(null));
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,6 @@ public class PickController {
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/returnPick")
|
@PostMapping("/returnPick")
|
||||||
@Log("mes-工单回传")
|
|
||||||
@ApiOperation("mes-工单回传")
|
@ApiOperation("mes-工单回传")
|
||||||
@AnonymousAccess
|
@AnonymousAccess
|
||||||
public ResponseEntity<Object> returnPick(@Validated @RequestBody Long pickId) {
|
public ResponseEntity<Object> returnPick(@Validated @RequestBody Long pickId) {
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@
|
||||||
*/
|
*/
|
||||||
package com.youchain.businessdata.service;
|
package com.youchain.businessdata.service;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.youchain.RequestData.Yclbl;
|
import com.youchain.RequestData.Yclbl;
|
||||||
import com.youchain.basicdata.domain.Point;
|
import com.youchain.basicdata.domain.Point;
|
||||||
import com.youchain.businessdata.domain.Pick;
|
import com.youchain.businessdata.domain.Pick;
|
||||||
|
|
@ -94,12 +95,14 @@ public interface PickService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据出库单号查询出库单
|
* 根据出库单号查询出库单
|
||||||
|
*
|
||||||
* @param code 出库单号
|
* @param code 出库单号
|
||||||
*/
|
*/
|
||||||
Pick findByPickCode(String code);
|
Pick findByPickCode(String code);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据状态查询、是否叫料出库单
|
* 根据状态查询、是否叫料出库单
|
||||||
|
*
|
||||||
* @param statuses 状态集合
|
* @param statuses 状态集合
|
||||||
* @param isCall 是否叫料
|
* @param isCall 是否叫料
|
||||||
*/
|
*/
|
||||||
|
|
@ -107,6 +110,7 @@ public interface PickService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 刷新出库单拣货状态
|
* 刷新出库单拣货状态
|
||||||
|
*
|
||||||
* @param pick 出库单
|
* @param pick 出库单
|
||||||
*/
|
*/
|
||||||
void refreshPickStatus(Pick pick);
|
void refreshPickStatus(Pick pick);
|
||||||
|
|
@ -116,16 +120,18 @@ public interface PickService {
|
||||||
*
|
*
|
||||||
* @param pickDetail 工单明细
|
* @param pickDetail 工单明细
|
||||||
*/
|
*/
|
||||||
String returnPickJson(PickDetail pickDetail);
|
JSONObject returnPickJson(PickDetail pickDetail);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工单回传
|
* 工单回传
|
||||||
* @param pick 出库单
|
*
|
||||||
|
* @param pickId 出库单
|
||||||
*/
|
*/
|
||||||
void returnPick(Long pick);
|
void returnPick(Long pickId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 下发回传任务
|
* 下发回传任务
|
||||||
|
*
|
||||||
* @param url 地址
|
* @param url 地址
|
||||||
* @param pickDetail 参数
|
* @param pickDetail 参数
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -181,9 +181,8 @@ public interface TaskService {
|
||||||
/**
|
/**
|
||||||
* 定时任务轮询叫料反空车至备料缓存区
|
* 定时任务轮询叫料反空车至备料缓存区
|
||||||
*
|
*
|
||||||
* @param goodType 小件/大件
|
|
||||||
*/
|
*/
|
||||||
void callEmptyStock(String goodType);
|
void callEmptyStock(Point point);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 定时任务轮询出库单叫料
|
* 定时任务轮询出库单叫料
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,7 @@ public class KMReServiceImpl implements KMReService {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void sendAgvTaskToContainer(String url, String json) {
|
public void sendAgvTaskToContainer(String url, String json) {
|
||||||
Dict dict = dictRepository.findDictByDescription("OPEN");
|
Dict dict = dictRepository.findDictByName("OPEN");
|
||||||
if (dict != null) {
|
if (dict != null) {
|
||||||
String resultJson = HttpPostUtil.sendPostReq(url, json);
|
String resultJson = HttpPostUtil.sendPostReq(url, json);
|
||||||
if (StringUtils.isEmpty(resultJson)) {
|
if (StringUtils.isEmpty(resultJson)) {
|
||||||
|
|
@ -650,6 +650,7 @@ public class KMReServiceImpl implements KMReService {
|
||||||
}
|
}
|
||||||
|
|
||||||
//回传MES
|
//回传MES
|
||||||
|
pickService.returnPick(pick.getId());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import com.youchain.basicdata.domain.Item;
|
||||||
import com.youchain.basicdata.domain.Point;
|
import com.youchain.basicdata.domain.Point;
|
||||||
import com.youchain.basicdata.domain.Stock;
|
import com.youchain.basicdata.domain.Stock;
|
||||||
import com.youchain.basicdata.repository.ItemRepository;
|
import com.youchain.basicdata.repository.ItemRepository;
|
||||||
|
import com.youchain.basicdata.service.ItemService;
|
||||||
import com.youchain.basicdata.service.PointService;
|
import com.youchain.basicdata.service.PointService;
|
||||||
import com.youchain.basicdata.service.StockService;
|
import com.youchain.basicdata.service.StockService;
|
||||||
import com.youchain.businessdata.domain.AgvTask;
|
import com.youchain.businessdata.domain.AgvTask;
|
||||||
|
|
@ -43,6 +44,7 @@ public class MesServiceImpl implements MesService {
|
||||||
private final PickRepository pickRepository;
|
private final PickRepository pickRepository;
|
||||||
private final PickDetailRepository pickDetailRepository;
|
private final PickDetailRepository pickDetailRepository;
|
||||||
private final ItemRepository itemRepository;
|
private final ItemRepository itemRepository;
|
||||||
|
private final ItemService itemService;
|
||||||
private final StockService stockService;
|
private final StockService stockService;
|
||||||
private final PointService pointService;
|
private final PointService pointService;
|
||||||
private final TaskService taskService;
|
private final TaskService taskService;
|
||||||
|
|
@ -60,24 +62,24 @@ public class MesServiceImpl implements MesService {
|
||||||
//验证出库单是否存在
|
//验证出库单是否存在
|
||||||
checkIfGdExists(yclbl);
|
checkIfGdExists(yclbl);
|
||||||
|
|
||||||
//验证物料是否存在
|
|
||||||
Map<String, Item> itemMap = checkIfItemExists(yclbl);
|
|
||||||
|
|
||||||
List<Pick> createPicks = new ArrayList<>();
|
List<Pick> createPicks = new ArrayList<>();
|
||||||
List<PickDetail> createPickDetails = new ArrayList<>();
|
List<PickDetail> createPickDetails = new ArrayList<>();
|
||||||
AtomicInteger lineNo = new AtomicInteger(1);
|
|
||||||
|
|
||||||
String orderNo = yclbl.getOrderNo();
|
String orderNo = yclbl.getOrderNo();
|
||||||
String taskCode = yclbl.getTaskCode();
|
String taskCode = yclbl.getTaskCode();
|
||||||
|
|
||||||
//遍历成品集合
|
//遍历成品集合
|
||||||
yclbl.getBlzc().forEach(zcData -> {
|
yclbl.getBlzc().forEach(zcData -> {
|
||||||
Pick pick = createPick(orderNo, taskCode, lineNo.getAndIncrement(), zcData.getCompleteCode(), zcData.getStation(), BaseStatus.GD_TYPE_CT);
|
Pick pick = createPick(orderNo, taskCode, zcData.getLineNo(), zcData.getCompleteCode(), zcData.getStation(), BaseStatus.GD_TYPE_CT);
|
||||||
createPicks.add(pick);
|
createPicks.add(pick);
|
||||||
zcData.getBlzcmx().forEach(itemDate -> {
|
zcData.getBlzcmx().forEach(itemDate -> {
|
||||||
Item item = itemMap.get(itemDate.getItemCode());
|
Item item = itemRepository.findByCode(itemDate.getItemCode());
|
||||||
item.setGoodType(BaseStatus.GD_TYPE_CT);
|
if (item == null) {
|
||||||
|
item = itemService.createItem(itemDate.getItemCode(), itemDate.getItemName(), itemDate.getItemQty(), BizStatus.XJ);
|
||||||
|
} else {
|
||||||
|
item.setGoodType(BizStatus.XJ);
|
||||||
itemRepository.save(item);
|
itemRepository.save(item);
|
||||||
|
}
|
||||||
PickDetail pickDetail = createPickDetail(pick, item, BaseStatus.GD_TYPE_CT, itemDate.getItemQty(), zcData.getCompleteQty());
|
PickDetail pickDetail = createPickDetail(pick, item, BaseStatus.GD_TYPE_CT, itemDate.getItemQty(), zcData.getCompleteQty());
|
||||||
createPickDetails.add(pickDetail);
|
createPickDetails.add(pickDetail);
|
||||||
});
|
});
|
||||||
|
|
@ -85,11 +87,15 @@ public class MesServiceImpl implements MesService {
|
||||||
|
|
||||||
//遍历单品品集合
|
//遍历单品品集合
|
||||||
yclbl.getBlzcmx().forEach(itemDate -> {
|
yclbl.getBlzcmx().forEach(itemDate -> {
|
||||||
Pick pick = createPick(orderNo, taskCode, lineNo.getAndIncrement(), itemDate.getItemCode(), itemDate.getStation(), BaseStatus.GD_TYPE_DP);
|
Pick pick = createPick(orderNo, taskCode, itemDate.getLineNo(), itemDate.getItemCode(), itemDate.getStation(), BaseStatus.GD_TYPE_DP);
|
||||||
createPicks.add(pick);
|
createPicks.add(pick);
|
||||||
Item item = itemMap.get(itemDate.getItemCode());
|
Item item = itemRepository.findByCode(itemDate.getItemCode());
|
||||||
item.setGoodType(BaseStatus.GD_TYPE_DP);
|
if (item == null) {
|
||||||
|
item = itemService.createItem(itemDate.getItemCode(), itemDate.getItemName(), itemDate.getItemQty(), BizStatus.DJ);
|
||||||
|
} else {
|
||||||
|
item.setGoodType(BizStatus.DJ);
|
||||||
itemRepository.save(item);
|
itemRepository.save(item);
|
||||||
|
}
|
||||||
PickDetail pickDetail = createPickDetail(pick, item, BaseStatus.GD_TYPE_DP, itemDate.getItemQty(), null);
|
PickDetail pickDetail = createPickDetail(pick, item, BaseStatus.GD_TYPE_DP, itemDate.getItemQty(), null);
|
||||||
createPickDetails.add(pickDetail);
|
createPickDetails.add(pickDetail);
|
||||||
});
|
});
|
||||||
|
|
@ -128,7 +134,7 @@ public class MesServiceImpl implements MesService {
|
||||||
pick.setCallPoint(point);
|
pick.setCallPoint(point);
|
||||||
pickRepository.save(pick);
|
pickRepository.save(pick);
|
||||||
|
|
||||||
taskService.callEmptyStock(BaseStatus.GD_TYPE_DP);
|
taskService.callEmptyStock(point);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -154,7 +160,7 @@ public class MesServiceImpl implements MesService {
|
||||||
pick.setIsCall(true);
|
pick.setIsCall(true);
|
||||||
pick.setCallPoint(point);
|
pick.setCallPoint(point);
|
||||||
pickRepository.save(pick);
|
pickRepository.save(pick);
|
||||||
taskService.callEmptyStock(BaseStatus.GD_TYPE_CT);
|
taskService.callEmptyStock(point);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -206,32 +212,6 @@ public class MesServiceImpl implements MesService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 验证物料是否存在
|
|
||||||
*
|
|
||||||
* @param yclbl 备料参数
|
|
||||||
*/
|
|
||||||
private Map<String, Item> checkIfItemExists(Yclbl yclbl) {
|
|
||||||
// 获取所有成品和单品的itemCode
|
|
||||||
Set<String> itemCodes = yclbl.getBlzc().stream().flatMap(zcData -> zcData.getBlzcmx().stream()).map(ItemDate::getItemCode).collect(Collectors.toSet());
|
|
||||||
|
|
||||||
itemCodes.addAll(yclbl.getBlzcmx().stream().map(ItemDate::getItemCode).collect(Collectors.toSet()));
|
|
||||||
|
|
||||||
// 查找数据库中存在的items
|
|
||||||
List<Item> items = itemRepository.findByCodes(itemCodes, null);
|
|
||||||
Set<String> newItemCodes = items.stream().map(Item::getCode).collect(Collectors.toSet());
|
|
||||||
|
|
||||||
// 取itemCodes和newItemCodes的差集,说明有不存在的物料
|
|
||||||
Set<String> diffItemCodes = itemCodes.stream().filter(code -> !newItemCodes.contains(code)).collect(Collectors.toSet());
|
|
||||||
|
|
||||||
if (!diffItemCodes.isEmpty()) {
|
|
||||||
throw new IllegalArgumentException("WMS不存在的物料集合,请维护:" + diffItemCodes);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 构建itemCode到Item的映射
|
|
||||||
return items.stream().collect(Collectors.toMap(Item::getCode, item -> item));
|
|
||||||
}
|
|
||||||
|
|
||||||
public Pick createPick(String gdCode, String taskCode, int lineNo, String cpCodeOrpCode, String station, String orderType) {
|
public Pick createPick(String gdCode, String taskCode, int lineNo, String cpCodeOrpCode, String station, String orderType) {
|
||||||
Pick pick = new Pick();
|
Pick pick = new Pick();
|
||||||
pick.setTaskCode(taskCode);
|
pick.setTaskCode(taskCode);
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,7 @@ public class PickServiceImpl implements PickService {
|
||||||
private final PickDetailRepository pickDetailRepository;
|
private final PickDetailRepository pickDetailRepository;
|
||||||
private final PickMapper pickMapper;
|
private final PickMapper pickMapper;
|
||||||
private final PickDetailService pickDetailService;
|
private final PickDetailService pickDetailService;
|
||||||
|
private final LogService logService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -169,7 +170,7 @@ public class PickServiceImpl implements PickService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String returnPickJson(PickDetail pickDetail) {
|
public JSONObject returnPickJson(PickDetail pickDetail) {
|
||||||
JSONObject jsonObject = new JSONObject(new LinkedHashMap<>());
|
JSONObject jsonObject = new JSONObject(new LinkedHashMap<>());
|
||||||
//需求工位
|
//需求工位
|
||||||
jsonObject.put("OpName", pickDetail.getPick().getStation());
|
jsonObject.put("OpName", pickDetail.getPick().getStation());
|
||||||
|
|
@ -178,11 +179,10 @@ public class PickServiceImpl implements PickService {
|
||||||
//物料编码
|
//物料编码
|
||||||
jsonObject.put("MaterialCode", pickDetail.getItem().getCode());
|
jsonObject.put("MaterialCode", pickDetail.getItem().getCode());
|
||||||
//数量
|
//数量
|
||||||
jsonObject.put("number", pickDetail.getOrderQty());
|
jsonObject.put("number", pickDetail.getOrderQty() == null ? 0 : pickDetail.getOrderQty().intValue());
|
||||||
//taskId
|
//taskId
|
||||||
jsonObject.put("taskId", pickDetail.getPick().getTaskCode());
|
jsonObject.put("taskId", pickDetail.getPick().getTaskCode());
|
||||||
System.out.println("叫料回传JSON:" + jsonObject.toString());
|
return jsonObject;
|
||||||
return jsonObject.toString();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -211,40 +211,56 @@ public class PickServiceImpl implements PickService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendPick(String url, PickDetail pickDetail) {
|
public void sendPick(String url, PickDetail pickDetail) {
|
||||||
Dict dict = dictRepository.findDictByDescription("OPEN");
|
|
||||||
String message = null;
|
String message = null;
|
||||||
if (dict != null) {
|
String resultJson = null;
|
||||||
String resultJson = HttpPostUtil.sendPostReq(url, returnPickJson(pickDetail));
|
Dict dict = dictRepository.findDictByName("OPEN");
|
||||||
System.out.println("url:" + url);
|
if (dict == null) {
|
||||||
System.out.println("报文:" + returnPickJson(pickDetail));
|
pickDetail.setSourceId(1L);
|
||||||
System.out.println("返回信息:" + resultJson);
|
pickDetail.setSourceName("成功");
|
||||||
if (StringUtils.isEmpty(resultJson)) {
|
|
||||||
pickDetail.setSourceId(0L);
|
|
||||||
pickDetail.setSourceName("MES返回信息:接口调用失败");
|
|
||||||
pickDetailRepository.save(pickDetail);
|
pickDetailRepository.save(pickDetail);
|
||||||
|
//保存日志
|
||||||
|
logService.saveLogInfo(returnPickJson(pickDetail), pickDetail.getPick().getCode(), UrlApi.stock(), resultJson, "工单回传", 200, "info");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
resultJson = HttpPostUtil.sendPostReq(url, returnPickJson(pickDetail).toString());
|
||||||
|
if (StringUtils.isEmpty(resultJson)) {
|
||||||
|
message = "MES返回信息:接口调用失败";
|
||||||
|
handleFailure(pickDetail, returnPickJson(pickDetail), resultJson, message);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
JSONObject resultObject = JSON.parseObject(resultJson);
|
JSONObject resultObject = JSON.parseObject(resultJson);
|
||||||
if (resultObject == null) {
|
if (resultObject == null) {
|
||||||
pickDetail.setSourceId(0L);
|
message = "MES返回信息:接口数据返回为空";
|
||||||
pickDetail.setSourceName("MES返回信息:接口数据返回为空");
|
handleFailure(pickDetail, returnPickJson(pickDetail), resultJson, message);
|
||||||
pickDetailRepository.save(pickDetail);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String code = resultObject.getString("code");
|
String code = resultObject.getString("code");
|
||||||
message = resultObject.getString("message");
|
message = resultObject.getString("message");
|
||||||
if (!"0".equals(code)) {
|
if (!"200".equals(code)) {
|
||||||
|
handleFailure(pickDetail, returnPickJson(pickDetail), resultJson, message);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
pickDetail.setSourceId(1L);
|
||||||
|
pickDetail.setSourceName(resultJson);
|
||||||
|
pickDetailRepository.save(pickDetail);
|
||||||
|
//保存日志
|
||||||
|
logService.saveLogInfo(returnPickJson(pickDetail), pickDetail.getPick().getCode(), UrlApi.stock(), resultJson, "工单回传", 200, "info");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void handleFailure(PickDetail pickDetail, JSONObject requestJson, String resultJson, String message) {
|
||||||
pickDetail.setSourceId(0L);
|
pickDetail.setSourceId(0L);
|
||||||
pickDetail.setSourceName(message);
|
pickDetail.setSourceName(message);
|
||||||
pickDetailRepository.save(pickDetail);
|
pickDetailRepository.save(pickDetail);
|
||||||
return;
|
logService.saveLogInfo(requestJson,
|
||||||
}
|
pickDetail.getPick().getGdCode() + "-" + pickDetail.getItem().getCode(),
|
||||||
|
UrlApi.stock(),
|
||||||
}
|
resultJson,
|
||||||
|
"info",
|
||||||
pickDetail.setSourceId(1L);
|
200,
|
||||||
pickDetail.setSourceName(message == null ? "成功" : message);
|
"info");
|
||||||
pickDetailRepository.save(pickDetail);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -230,8 +230,6 @@ public class TaskServiceImpl implements TaskService {
|
||||||
task.setAgvTask(agvTask);
|
task.setAgvTask(agvTask);
|
||||||
task.setTaskStatus(agvTask.getStatus());
|
task.setTaskStatus(agvTask.getStatus());
|
||||||
taskRepository.save(task);
|
taskRepository.save(task);
|
||||||
/* //叫料区是否有空车,呼叫到备料缓存区
|
|
||||||
this.callEmptyStock(task.getPickDetail().getItem().getGoodType());*/
|
|
||||||
}
|
}
|
||||||
/*更新出库单状态*/
|
/*更新出库单状态*/
|
||||||
pick.setStatus(BizStatus.PICKUP);
|
pick.setStatus(BizStatus.PICKUP);
|
||||||
|
|
@ -241,18 +239,14 @@ public class TaskServiceImpl implements TaskService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void callEmptyStock(String goodType) {
|
public void callEmptyStock(Point point) {
|
||||||
String srcAreaCode = "小件".equals(goodType) ? AreaNameDic.XJJLQ : AreaNameDic.DJJLQ;
|
String dstAreaCode = AreaNameDic.XJJLQ.equals(point.getArea().getName()) ? AreaNameDic.XJFBCQ : AreaNameDic.DJFBCQ;
|
||||||
|
|
||||||
String dstAreaCode = "小件".equals(goodType) ? AreaNameDic.XJFBCQ : AreaNameDic.DJFBCQ;
|
//容器
|
||||||
|
Stock stock=stockService.findByPointCode(point.getCode());
|
||||||
List<Stock> emptyStock = stockService.findByFreeOrUsedStock(srcAreaCode, BaseStatus.FREE);
|
if (stock==null) {
|
||||||
if (emptyStock.isEmpty()) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//容器
|
|
||||||
Stock stock = emptyStock.get(0);
|
|
||||||
|
|
||||||
//起点
|
//起点
|
||||||
Point srcPoint = stock.getPoint();
|
Point srcPoint = stock.getPoint();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,4 @@ public interface DictRepository extends JpaRepository<Dict, Long>, JpaSpecificat
|
||||||
|
|
||||||
@Query(value = " select * from sys_dict b where b.name = :name ", nativeQuery = true)
|
@Query(value = " select * from sys_dict b where b.name = :name ", nativeQuery = true)
|
||||||
Dict findDictByName(String name);
|
Dict findDictByName(String name);
|
||||||
|
|
||||||
@Query(value = " from Dict where description = :description ")
|
|
||||||
Dict findDictByDescription(String description);
|
|
||||||
}
|
}
|
||||||
|
|
@ -246,7 +246,12 @@ public interface BizStatus {
|
||||||
/**
|
/**
|
||||||
* 物料类型,小件
|
* 物料类型,小件
|
||||||
*/
|
*/
|
||||||
String XJ = "XJ";
|
String XJ = "小件";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物料类型,大件
|
||||||
|
*/
|
||||||
|
String DJ = "大件";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 物料类型,门封
|
* 物料类型,门封
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,8 @@ public class StockTypeToAreaMap {
|
||||||
static {
|
static {
|
||||||
stockTypeToAreaMap = new HashMap<>();
|
stockTypeToAreaMap = new HashMap<>();
|
||||||
// 初始化Map
|
// 初始化Map
|
||||||
stockTypeToAreaMap.put("小件", AreaNameDic.XJQ);
|
stockTypeToAreaMap.put(BizStatus.XJ, AreaNameDic.XJQ);
|
||||||
stockTypeToAreaMap.put("大件", AreaNameDic.DJQ);
|
stockTypeToAreaMap.put(BizStatus.DJ, AreaNameDic.DJQ);
|
||||||
// 更多的初始化操作...
|
// 更多的初始化操作...
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
package com.youchain.utils;
|
package com.youchain.utils;
|
||||||
|
|
||||||
import com.youchain.modules.system.service.ApiDictService;
|
|
||||||
import com.youchain.modules.system.service.impl.ApiDictServiceImpl;
|
import com.youchain.modules.system.service.impl.ApiDictServiceImpl;
|
||||||
|
|
||||||
public class UrlApi {
|
public class UrlApi {
|
||||||
|
|
@ -14,8 +13,9 @@ public class UrlApi {
|
||||||
re = (String) redisUtils.get(key);
|
re = (String) redisUtils.get(key);
|
||||||
}
|
}
|
||||||
return re;
|
return re;
|
||||||
};
|
}
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
public static String submitMission() {
|
public static String submitMission() {
|
||||||
|
|
@ -37,9 +37,11 @@ public class UrlApi {
|
||||||
public static String containerQuery() {
|
public static String containerQuery() {
|
||||||
return (String) getByKey("containerQuery" + "_url");
|
return (String) getByKey("containerQuery" + "_url");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String querypoint() {
|
public static String querypoint() {
|
||||||
return (String) getByKey("querypoint" + "_url");
|
return (String) getByKey("querypoint" + "_url");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String QueryCount() {
|
public static String QueryCount() {
|
||||||
return (String) getByKey("QueryCount" + "_url");
|
return (String) getByKey("QueryCount" + "_url");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,8 @@ spring:
|
||||||
freemarker:
|
freemarker:
|
||||||
check-template-location: false
|
check-template-location: false
|
||||||
profiles:
|
profiles:
|
||||||
#active: prod
|
active: prod
|
||||||
active: dev
|
#active: dev
|
||||||
jackson:
|
jackson:
|
||||||
time-zone: GMT+8
|
time-zone: GMT+8
|
||||||
data:
|
data:
|
||||||
|
|
@ -36,11 +36,11 @@ spring:
|
||||||
redis:
|
redis:
|
||||||
#数据库索引
|
#数据库索引
|
||||||
database: ${REDIS_DB:2}
|
database: ${REDIS_DB:2}
|
||||||
#host: ${REDIS_HOST:192.168.100.102}
|
host: ${REDIS_HOST:192.168.100.102}
|
||||||
#password: ${REDIS_PWD:123456}
|
password: ${REDIS_PWD:123456}
|
||||||
|
|
||||||
host: ${REDIS_HOST:localhost}
|
#host: ${REDIS_HOST:localhost}
|
||||||
password: ${REDIS_PWD:}
|
#password: ${REDIS_PWD:}
|
||||||
port: ${REDIS_PORT:6379}
|
port: ${REDIS_PORT:6379}
|
||||||
#连接超时时间
|
#连接超时时间
|
||||||
timeout: 5000
|
timeout: 5000
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue