Commit ea73bc4e zshaohui

1.odn自动抛送功能开发

1 个父辈 9863503e
正在显示 20 个修改的文件 包含 644 行增加1 行删除
...@@ -259,6 +259,8 @@ public class DataInitManager { ...@@ -259,6 +259,8 @@ public class DataInitManager {
addNewFunctionMenu(12, wip, "pickBox", "出货计算", "pickBox", "SemiFinishProducts/pickBox/index", "pickBox", functionMenuMap); addNewFunctionMenu(12, wip, "pickBox", "出货计算", "pickBox", "SemiFinishProducts/pickBox/index", "pickBox", functionMenuMap);
addNewFunctionMenu(13, wip, "checkCarton", "核验绑定信息", "checkCarton", "checkCarton/index", "checkCarton", functionMenuMap); addNewFunctionMenu(13, wip, "checkCarton", "核验绑定信息", "checkCarton", "checkCarton/index", "checkCarton", functionMenuMap);
addNewFunctionMenu(14, wip, "shipPnMaint", "出货料号维护", "shipPnMaint", "neolight/shipPnMaint/index", "shipPnMaint", functionMenuMap);
addNewFunctionMenu(15, wip, "autoDelivery", "库存信息抛送", "autoDelivery", "neolight/autoDelivery/index", "autoDelivery", functionMenuMap);
//MSD管理:MSD库存.MSD追溯性.MSD设置 //MSD管理:MSD库存.MSD追溯性.MSD设置
Menu msd = Menu.CreatePMenu("MSD管理", 2, "msd", 2, "MSD",null); Menu msd = Menu.CreatePMenu("MSD管理", 2, "msd", 2, "MSD",null);
......
...@@ -195,4 +195,9 @@ public class Constants { ...@@ -195,4 +195,9 @@ public class Constants {
* 工单剩余数量 * 工单剩余数量
*/ */
public static final String CACHE_ordrRemainingQty = "ordrRemainingQty"; public static final String CACHE_ordrRemainingQty = "ordrRemainingQty";
/**
* 自动推送库存
*/
public static final String CACHE_AutoDispatchInventory = "CACHE_AutoDispatchInventory";
} }
...@@ -386,6 +386,11 @@ public class Barcode extends BasePo implements Serializable { ...@@ -386,6 +386,11 @@ public class Barcode extends BasePo implements Serializable {
//标签码 //标签码
private String labelId = ""; private String labelId = "";
private String currentRequestId;
private String bindOdn;
private Map<String,Integer> heightMap = new HashMap<>(); private Map<String,Integer> heightMap = new HashMap<>();
public void updateHeightMap(String key,Integer value){ public void updateHeightMap(String key,Integer value){
......
...@@ -1216,6 +1216,20 @@ public class LuxsanApi extends DefaultSmfApiListener { ...@@ -1216,6 +1216,20 @@ public class LuxsanApi extends DefaultSmfApiListener {
return result; return result;
} }
public static AutoStoResult autoSto(AutoStoRequest request) {
try {
log.info("autoSto接口请求参数为:" + JSONObject.toJSONString(request));
String resultStr = HttpHelper.postJson(autoStoUrl, request);
log.info("autoSto接口返回结果为:" + resultStr);
AutoStoResult result = JSONObject.parseObject(resultStr, AutoStoResult.class);
return result;
} catch (ApiException e) {
log.info("queryBin请求失败:" + e.getMessage());
throw new ValidateException("smfcore.api.error", "接口请求失败[{0}]", new String[]{e.getMessage()});
}
}
@Override @Override
public void inTaskStatusChange(String inNotifyUrl, DataLog task) { public void inTaskStatusChange(String inNotifyUrl, DataLog task) {
if (task.isFinished()){ if (task.isFinished()){
...@@ -1570,4 +1584,12 @@ public class LuxsanApi extends DefaultSmfApiListener { ...@@ -1570,4 +1584,12 @@ public class LuxsanApi extends DefaultSmfApiListener {
public void setTicketGbPostUrl(String url) { public void setTicketGbPostUrl(String url) {
LuxsanApi.ticketGbPostUrl = url; LuxsanApi.ticketGbPostUrl = url;
} }
public static String autoStoUrl;
@Value("${api.autoSto}")
public void setAutoStoUrl(String url) {
LuxsanApi.autoStoUrl = url;
}
} }
package com.neotel.smfcore.custom.luxsan.api.bean.request;
import lombok.Data;
@Data
public class AutoStoRequest {
private String plant_code;
private String warehouse_code;
private String material_code;
private int qty;
private String key_id;
}
package com.neotel.smfcore.custom.luxsan.api.bean.result;
import lombok.Data;
@Data
public class AutoStoResult {
private String MSGTY;
private String MSGTX;
private String DETAIL;
private String DATA;
}
package com.neotel.smfcore.custom.luxsan.factory_c.wipstor.bean;
import com.neotel.smfcore.common.base.BasePo;
import lombok.Data;
@Data
public class PnPriorityMt extends BasePo {
private String partNumber;
private int priority;
//private int inventoryNum;
}
package com.neotel.smfcore.custom.luxsan.factory_c.wipstor.bean.dto;
import lombok.Data;
@Data
public class AutoDispatchDto {
private String posId;
private String barcode;
private String palletId;
private String requestId;
private String odn;
private String partNumber;
private String warehouseCode;
private String posName;
}
package com.neotel.smfcore.custom.luxsan.factory_c.wipstor.bean.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class PnPriorityMtDto implements Serializable {
private String id;
private Date createDate;
private Date updateDate;
private String partNumber;
private int priority;
//private int inventoryNum;
}
package com.neotel.smfcore.custom.luxsan.factory_c.wipstor.bean.mapstruct;
import com.neotel.smfcore.common.base.BaseMapper;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.bean.PnPriorityMt;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.bean.dto.PnPriorityMtDto;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
@Mapper(componentModel = "spring" ,unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface PnPriorityMtMapper extends BaseMapper<PnPriorityMtDto, PnPriorityMt> {
}
package com.neotel.smfcore.custom.luxsan.factory_c.wipstor.controller;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.utils.Constants;
import com.neotel.smfcore.common.utils.DateUtil;
import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
import com.neotel.smfcore.core.storage.service.po.StoragePos;
import com.neotel.smfcore.custom.luxsan.api.LuxsanApi;
import com.neotel.smfcore.custom.luxsan.api.bean.request.AutoStoRequest;
import com.neotel.smfcore.custom.luxsan.api.bean.result.AutoStoResult;
import com.neotel.smfcore.custom.luxsan.factory_c.common.util.CommonUtil;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Api(tags = "自动抛送功能实现")
@Slf4j
@RestController
@RequestMapping("/autoDispatchInventory")
public class AutoDispatchInfoController {
@Autowired
private IStoragePosManager storagePosManager;
@Autowired
private IBarcodeManager barcodeManager;
@ApiOperation("手动解除绑定信息")
@RequestMapping("/removeBindOdn")
@AnonymousAccess
public ResultBean removeBindOdn(@RequestBody List<String> posIdList) {
for (String posId : posIdList) {
StoragePos pos = storagePosManager.get(posId);
if (pos != null) {
Barcode barcode = pos.getBarcode();
if (barcode != null){
barcode.setCurrentRequestId("");
barcode.setOdn("");
barcodeManager.save(barcode);
pos.setBarcode(barcode);
storagePosManager.save(pos);
}
}
}
return ResultBean.newOkResult("");
}
@ApiOperation("手动抛送信息")
@RequestMapping("/manualSend")
@AnonymousAccess
public ResultBean manualSend(@RequestBody List<String> posIdList) {
Map<String, AutoStoRequest> requestMap = new HashMap<>();
//开始构建抛送信息
List<StoragePos> storagePosList = storagePosManager.findByQuery(new Query(Criteria.where("id").in(posIdList)));
for (StoragePos pos : storagePosList) {
Barcode barcode = pos.getBarcode();
if (barcode != null) {
String currentRequestId = barcode.getCurrentRequestId();
if (StringUtils.isNotEmpty(currentRequestId)) {
continue;
}
String partNumber = barcode.getPartNumber();
String warehouseCode = barcode.getWarehouseCode();
String key = partNumber + "_" + warehouseCode;
AutoStoRequest autoStoRequest = requestMap.get(key);
if (autoStoRequest == null) {
autoStoRequest = new AutoStoRequest();
autoStoRequest.setKey_id(DateUtil.toDateString(System.currentTimeMillis(), "yyyyMMddHHmmssSSS"));
}
autoStoRequest.setMaterial_code(partNumber);
autoStoRequest.setPlant_code(CommonUtil.plantCode);
autoStoRequest.setQty(autoStoRequest.getQty() + barcode.getAmount());
autoStoRequest.setWarehouse_code(warehouseCode);
requestMap.put(key, autoStoRequest);
//同时更新barcode信息
barcode.setCurrentRequestId(autoStoRequest.getKey_id());
barcodeManager.save(barcode);
pos.setBarcode(barcode);
storagePosManager.save(pos);
}
}
if (requestMap != null && !requestMap.isEmpty()) {
for (AutoStoRequest request : requestMap.values()) {
AutoStoResult autoStoResult = LuxsanApi.autoSto(request);
String msgty = autoStoResult.getMSGTY();
String key_id = request.getKey_id();
if ("E".equals(msgty)) {
log.info( key_id + "推送失败:" + autoStoResult.getMSGTX());
//同时去掉请求id
for (StoragePos pos : storagePosList) {
Barcode barcode = pos.getBarcode();
if (barcode != null) {
if (key_id.equals(barcode.getCurrentRequestId())) {
barcode.setCurrentRequestId("");
barcode.setOdn("");
barcode.setMemo(autoStoResult.getMSGTX());
barcodeManager.save(barcode);
pos.setBarcode(barcode);
storagePosManager.save(pos);
}
}
}
} else {
//推送成功,同时更新odn信息
String data = autoStoResult.getDATA();
for (StoragePos pos : storagePosList) {
Barcode barcode = pos.getBarcode();
if (barcode != null) {
if (key_id.equals(barcode.getCurrentRequestId())) {
barcode.setOdn(data);
barcodeManager.save(barcode);
pos.setBarcode(barcode);
storagePosManager.save(pos);
}
}
}
}
}
}
return ResultBean.newOkResult("");
}
}
package com.neotel.smfcore.custom.luxsan.factory_c.wipstor.controller;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.utils.Constants;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
import com.neotel.smfcore.core.storage.service.po.StoragePos;
import com.neotel.smfcore.custom.luxsan.api.LuxsanApi;
import com.neotel.smfcore.custom.luxsan.api.bean.request.FetchHoldInfoRequest;
import com.neotel.smfcore.custom.luxsan.api.bean.result.FetchHoldInfoResult;
import com.neotel.smfcore.custom.luxsan.factory_c.common.util.CommonUtil;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.bean.dto.AutoDispatchDto;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Api(tags = "自动抛送库存信息")
@Slf4j
@RestController
@RequestMapping("/autoDispatchInventory")
public class AutoDispatchInventoryController {
@Autowired
private DataCache dataCache;
@Autowired
private IStoragePosManager storagePosManager;
@ApiOperation("获取自动抛送设置")
@RequestMapping("/getDispathSetting")
@AnonymousAccess
public ResultBean getDispathSetting() {
Boolean dispath = dataCache.getCache(Constants.CACHE_AutoDispatchInventory);
if (dispath == null){
dispath = true;
}
return ResultBean.newOkResult(dispath);
}
@ApiOperation("打开/关闭 自动抛送")
@RequestMapping("/openOrClosdDispath")
@AnonymousAccess
public ResultBean openOrClosdDispath(Boolean dispath) {
if (dispath == null) {
dispath = true;
}
dataCache.updateCache(Constants.CACHE_AutoDispatchInventory, dispath);
return ResultBean.newOkResult("");
}
@ApiOperation("获取库存信息")
@RequestMapping("/getAllInventory")
@AnonymousAccess
public ResultBean getAllInventory() {
List<AutoDispatchDto> autoDispatchDtoList = new ArrayList<>();
//获取所有的库存信息
Query q = new Query();
Criteria c = Criteria.where("barcode").exists(true)
.and("enabled").is(true);
q.addCriteria(c).fields().include("id","posName","barcode.barcode", "barcode.palletId", "barcode.partNumber", "barcode.warehouseCode", "barcode.requestId", "barcode.odn");
//查询所有的,把hold的排除
Map<String, FetchHoldInfoRequest> fetchHoldInfoRequestMap = new HashMap<>();
List<StoragePos> storagePosList = storagePosManager.findByQuery(q);
if (storagePosList != null && !storagePosList.isEmpty()) {
for (StoragePos pos : storagePosList) {
Barcode barcode = pos.getBarcode();
if (barcode != null) {
String partNumber = barcode.getPartNumber();
String warehouseCode = barcode.getWarehouseCode();
String key = partNumber + "_" + warehouseCode;
FetchHoldInfoRequest fetchHoldInfoRequest = fetchHoldInfoRequestMap.get(key);
if (fetchHoldInfoRequest == null) {
fetchHoldInfoRequest = new FetchHoldInfoRequest(CommonUtil.plantCode, warehouseCode, partNumber);
fetchHoldInfoRequestMap.put(key, fetchHoldInfoRequest);
}
}
}
}
//查询所有的hold信息
List<String> holdIdList = new ArrayList<>();
if (fetchHoldInfoRequestMap != null && !fetchHoldInfoRequestMap.isEmpty()) {
for (FetchHoldInfoRequest request : fetchHoldInfoRequestMap.values()) {
List<FetchHoldInfoResult> fetchHoldInfoResultList = LuxsanApi.fetchHoldInfo(request);
//List<FetchHoldInfoResult> fetchHoldInfoResultList = new ArrayList<>();
if (fetchHoldInfoResultList != null && !fetchHoldInfoResultList.isEmpty()) {
List<String> palletIdList = fetchHoldInfoResultList.stream().map(FetchHoldInfoResult::getPALLET_ID).collect(Collectors.toList());
holdIdList.addAll(palletIdList);
}
}
}
//返回对应的库位信息
if (storagePosList != null && !storagePosList.isEmpty()) {
for (StoragePos pos : storagePosList) {
Barcode barcode = pos.getBarcode();
if (barcode != null) {
String barcodeStr = barcode.getBarcode();
String palletId = barcode.getPalletId();
if (holdIdList.contains(barcodeStr) || holdIdList.contains(palletId)){
continue;
}
AutoDispatchDto dto = new AutoDispatchDto();
dto.setPosId(pos.getId());
dto.setBarcode(barcodeStr);
dto.setPalletId(palletId);
dto.setRequestId(barcode.getCurrentRequestId());
dto.setOdn(barcode.getBindOdn());
dto.setPartNumber(barcode.getPartNumber());
dto.setWarehouseCode(barcode.getWarehouseCode());
dto.setPosName(pos.getPosName());
autoDispatchDtoList.add(dto);
}
}
}
return ResultBean.newOkResult(autoDispatchDtoList);
}
}
package com.neotel.smfcore.custom.luxsan.factory_c.wipstor.controller;
import com.neotel.smfcore.common.base.IExcelDownLoad;
import com.neotel.smfcore.common.bean.PageData;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.utils.FileUtil;
import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.bean.PnPriorityMt;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.bean.dto.PnPriorityMtDto;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.bean.mapstruct.PnPriorityMtMapper;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.service.manager.IPnPriorityMtManager;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* partNumber优先级维护
*/
@Slf4j
@RestController
@RequestMapping("/PnPriorityMt")
public class PnPriorityMtController {
@Autowired
private IPnPriorityMtManager pnPriorityMtManager;
@Autowired
private PnPriorityMtMapper pnPriorityMtMapper;
@ApiOperation("获取列表")
@RequestMapping("/getPnPriorityList")
@AnonymousAccess
public PageData getPnPriorityList(String partNumber, Pageable pageable) {
Query query = new Query();
if (StringUtils.isNotEmpty(partNumber)) {
query.addCriteria(Criteria.where("partNumber").is(partNumber));
}
query.with(Sort.by(Sort.Direction.DESC,"priority"));
PageData<PnPriorityMt> pageData = pnPriorityMtManager.findByPage(query, pageable);
List<PnPriorityMt> content = pageData.getContent();
List<PnPriorityMtDto> list = pnPriorityMtMapper.toDto(content);
return new PageData(list, pageData.getTotalElements());
}
@ApiOperation("保存或者修改")
@RequestMapping("/saveOrUpdate")
@AnonymousAccess
public ResultBean saveOrUpdate(@RequestBody PnPriorityMt pnPriorityMt) {
pnPriorityMtManager.save(pnPriorityMt);
return ResultBean.newOkResult("");
}
@ApiOperation("删除")
@RequestMapping("/delete")
@AnonymousAccess
public ResultBean delete(@RequestBody List<String> idList) {
if (idList == null){
return ResultBean.newErrorResult(-1,"","id不能为空");
}
for (String id : idList) {
pnPriorityMtManager.deleteById(id);
}
return ResultBean.newOkResult("");
}
@ApiOperation("导出列表")
@RequestMapping("/getPnPriorityList/download")
@AnonymousAccess
public void downloadPnPriorityList(String partNumber, Pageable pageable, HttpServletResponse response) throws IOException {
Query query = new Query();
if (StringUtils.isNotEmpty(partNumber)) {
query.addCriteria(Criteria.where("partNumber").is(partNumber));
}
FileUtil.downloadExcel(query, pageable, response, new IExcelDownLoad() {
@Override
public List<List<String>> getHeader() {
List<List<String>> headerList = new ArrayList<>();
headerList.add(Arrays.asList("id"));
headerList.add(Arrays.asList("料号"));
headerList.add(Arrays.asList("优先级"));
headerList.add(Arrays.asList("创建时间"));
headerList.add(Arrays.asList("修改时间"));
return headerList;
}
@Override
public List<List<Object>> getPageData(Query query, Pageable pageable) {
List<PnPriorityMt> list = pnPriorityMtManager.findByQuery(query,pageable);
List<List<Object>> dataList = new ArrayList<>();
for (PnPriorityMt pnPriorityMt : list) {
List<Object> data = new ArrayList<>();
data.add(pnPriorityMt.getId());
data.add(pnPriorityMt.getPartNumber());
data.add(pnPriorityMt.getPriority());
data.add(pnPriorityMt.getCreateDate());
data.add(pnPriorityMt.getUpdateDate());
dataList.add(data);
}
return dataList;
}
});
}
}
package com.neotel.smfcore.custom.luxsan.factory_c.wipstor.controller;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@RequestMapping("/unfinishedOdn")
@RestController
public class UnfinishedOdnController {
@ApiOperation("未完成的odn列表")
@RequestMapping("/getList")
@AnonymousAccess
public ResultBean getList() {
//TODO 从接口获取
List<String> odnList = new ArrayList<>();
odnList.add("123");
odnList.add("456");
odnList.add("789");
return ResultBean.newOkResult(odnList);
}
}
package com.neotel.smfcore.custom.luxsan.factory_c.wipstor.service.dao;
import com.neotel.smfcore.common.base.IBaseDao;
public interface IPnPriorityMtDao extends IBaseDao {
}
package com.neotel.smfcore.custom.luxsan.factory_c.wipstor.service.dao.impl;
import com.neotel.smfcore.common.base.AbstractBaseDao;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.bean.PnPriorityMt;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.service.dao.IPnPriorityMtDao;
import org.springframework.stereotype.Service;
@Service
public class PnPriorityMtDaoImpl extends AbstractBaseDao implements IPnPriorityMtDao {
@Override
public Class getEntityClass() {
return PnPriorityMt.class;
}
}
package com.neotel.smfcore.custom.luxsan.factory_c.wipstor.service.manager;
import com.neotel.smfcore.common.base.IBaseManager;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.bean.PnPriorityMt;
import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.core.query.Query;
import java.util.List;
public interface IPnPriorityMtManager extends IBaseManager<PnPriorityMt> {
void deleteById(String id);
List<PnPriorityMt> findByQuery(Query query, Pageable pageable);
}
package com.neotel.smfcore.custom.luxsan.factory_c.wipstor.service.manager.impl;
import com.neotel.smfcore.common.base.AbstractBaseDao;
import com.neotel.smfcore.common.bean.PageData;
import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.bean.PnPriorityMt;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.service.dao.IPnPriorityMtDao;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.service.manager.IPnPriorityMtManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class PnPriorityMtManagerImpl implements IPnPriorityMtManager {
@Autowired
private IPnPriorityMtDao pnPriorityMtDao;
@Override
public PnPriorityMt get(String id) {
return null;
}
@Override
public PnPriorityMt save(PnPriorityMt object) throws ValidateException {
return pnPriorityMtDao.save(object);
}
@Override
public void delete(PnPriorityMt object) throws ValidateException {
}
@Override
public PageData<PnPriorityMt> findByPage(Query query, Pageable pageable) {
int count = pnPriorityMtDao.countByQuery(query);
List list = pnPriorityMtDao.findByQuery(query, pageable);
return new PageData<>(list,count);
}
@Override
public List<PnPriorityMt> findByQuery(Query query) {
return null;
}
@Override
public void deleteById(String id) {
pnPriorityMtDao.removeOneById(id);
}
@Override
public List<PnPriorityMt> findByQuery(Query query, Pageable pageable) {
return pnPriorityMtDao.findByQuery(query,pageable);
}
}
...@@ -187,3 +187,6 @@ api: ...@@ -187,3 +187,6 @@ api:
#半成品仓单据转库过账 #半成品仓单据转库过账
ticketGbPost: http://10.68.30.22:8082/api/mlb/TicketGbPost ticketGbPost: http://10.68.30.22:8082/api/mlb/TicketGbPost
#自动抛送信息,生成odn
autoSto: http://10.68.30.22:8082/api/mlb/AutoSto
...@@ -186,4 +186,8 @@ api: ...@@ -186,4 +186,8 @@ api:
ticketGbPick: http://10.42.220.171:8082/api/mlb/TicketGbPick ticketGbPick: http://10.42.220.171:8082/api/mlb/TicketGbPick
#半成品仓单据转库过账 #半成品仓单据转库过账
ticketGbPost: http://10.42.220.171:8082/api/mlb/TicketGbPost
\ No newline at end of file \ No newline at end of file
ticketGbPost: http://10.42.220.171:8082/api/mlb/TicketGbPost
#自动抛送信息,生成odn
autoSto: http://10.42.220.171:8082/api/mlb/AutoSto
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!