Commit d67f0cfd LN

列表增加状态和模糊查询

1 个父辈 03c2eac8
......@@ -53,6 +53,10 @@ public class LuxsanSpApi extends DefaultSmfApiListener {
// 备品仓退库查询接口的GET方法
public static List<GetReturnInventoryResult> getReturnInventory(GetReturnInventoryRequest request) {
if(Debug){
return new ArrayList<>();
}
String url = null;
try {
// 构造请求URL,附加查询参数
......@@ -143,6 +147,10 @@ msg="{\"msg\":\"操作成功\",\"code\":200,\"data\":[{\"searchValue\":null,\"cr
public static List<GetSpareNoResult> getSpareNo(GetSpareNoRequest request) {
if(Debug){
return new ArrayList<>();
}
String url = null;
try {
url = GetSpareNoUrl + getQueryStr(request);
......
......@@ -17,7 +17,7 @@ public class SpareNo extends BaseNo {
private String spareNo;
//0表示待入库
private String status;
// private String status;
//仓库描述
private String whDesc;
......
......@@ -9,7 +9,7 @@ import java.util.Date;
@Data
public class ListQueryCondition {
@QueryCondition(blurry = "orderNo,no")
@QueryCondition(blurry = "no")
private String blurry;
@QueryCondition(type = QueryCondition.Type.BETWEEN)
......
......@@ -55,7 +55,7 @@ public class SpBoxPutInController {
String currentRfid = station.getCurrentRfid();
if(ObjectUtil.isEmpty(currentRfid)){
if(LuxsanSpApi.Debug){
currentRfid="CS9999B";
currentRfid="CB0066A";
}
}
// log.info("getStationInfo工位上"+currentRfid);
......
......@@ -16,6 +16,7 @@ import com.neotel.smfcore.custom.luxsan_sp.service.manager.IReturnNoManager;
import com.neotel.smfcore.custom.luxsan_sp.util.ReturnNoCache;
import com.neotel.smfcore.custom.luxsan_sp.util.SpareNoCache;
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;
......@@ -27,9 +28,11 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@Slf4j
@Api(tags = "备件仓 退库单")
@RestController
@RequestMapping("/returnInventory")
public class SpReturnInventoryController {
......@@ -58,7 +61,7 @@ public class SpReturnInventoryController {
public ResultBean getAllReturnNo(String no) {
List<GetReturnInventoryResult> resultList = LuxsanSpApi.getReturnInventory(new GetReturnInventoryRequest(SpareNostatus.FUNCTION_DEPT, SpareNostatus.FORMAL_DEPT_ID));
List<ReturnInventoryNo> result = returnNoManager.findAll();
List<String> returnInventoryNos = result.stream().map(ReturnInventoryNo::getOrderNo).collect(Collectors.toList());
List<String> returnInventoryNos = result.stream().map(ReturnInventoryNo::getNo).collect(Collectors.toList());
for (GetReturnInventoryResult returnInventoryResult : resultList) {
if (returnInventoryNos.contains(returnInventoryResult.getOrderNo())) {
continue;
......@@ -70,7 +73,7 @@ public class SpReturnInventoryController {
returnNoManager.save(returnInventoryNo);
}
if (StringUtils.isNotBlank(no)) {
result = result.stream().filter(spareNo -> spareNo.getOrderNo().equals(no)).collect(Collectors.toList());
result = result.stream().filter(spareNo -> spareNo.getNo().equals(no)).collect(Collectors.toList());
}
return ResultBean.newOkResult(result);
}
......@@ -82,14 +85,15 @@ public class SpReturnInventoryController {
public PageData<ReturnInventoryNo> getList(ListQueryCondition criteria, Pageable pageable) {
returnNoCache.LoadFromAPI();
Query query = QueryHelp.getQuery(criteria);
Query query=new Query();
if (criteria.getStatus() != null) {
if (criteria.getStatus() == 1) {
//已关闭 状态=3 或者状态=2已确认
Criteria c = new Criteria();
c.orOperator(
Criteria.where("status").is("3"),
Criteria.where("status").is("2").and("isConfirmed").is(true)
Criteria.where("spareStatus").is(3),
// Criteria.where("spareStatus").is(2).and("isConfirmed").is(true)
Criteria.where("isConfirmed").is(true)
);
query.addCriteria(c);
} else if (criteria.getStatus() == 2) {
......@@ -97,13 +101,18 @@ public class SpReturnInventoryController {
Criteria c = new Criteria();
c.orOperator(
Criteria.where("status").is("0"),
Criteria.where("status").is("1"),
Criteria.where("status").is("2").and("isConfirmed").is(false)
Criteria.where("spareStatus").is(0),
Criteria.where("spareStatus").is(1),
Criteria.where("isConfirmed").is(false)
);
query.addCriteria(c);
}
}
if(ObjectUtil.isNotEmpty(criteria.getBlurry())){
Pattern pattern = Pattern.compile(QueryHelp.escapeExprSpecialWord(criteria.getBlurry()), Pattern.CASE_INSENSITIVE);
//criteria = criteria.and(attributeName).regex(pattern);
query.addCriteria(Criteria.where("no").regex(pattern));
}
PageData<ReturnInventoryNo> resultList = returnNoManager.findByPage(query, pageable);
return resultList;
}
......
......@@ -22,6 +22,7 @@ import com.neotel.smfcore.custom.luxsan_sp.service.manager.ISpareNoManager;
import com.neotel.smfcore.custom.luxsan_sp.util.ReturnNoCache;
import com.neotel.smfcore.custom.luxsan_sp.util.SpareNoCache;
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;
......@@ -34,9 +35,11 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@Slf4j
@Api(tags = "备件仓 入库单")
@RestController
@RequestMapping("/spareNo")
public class SpSpareNoController {
......@@ -101,29 +104,35 @@ public class SpSpareNoController {
public PageData<SpareNo> getList(ListQueryCondition criteria, Pageable pageable) {
spareNoCache.LoadFromAPI();
Query query = QueryHelp.getQuery(criteria);
// Query query = QueryHelp.getQuery(criteria);
Query query=new Query();
if (criteria.getStatus() != null) {
if (criteria.getStatus() == 1) {
//已关闭 状态=3 或者状态=2已确认
Criteria c = new Criteria();
c.orOperator(
Criteria.where("status").is("3"),
Criteria.where("status").is("2").and("isConfirmed").is(true)
Criteria.where("spareStatus").is(3),
// Criteria.where("spareStatus").is(2).and("isConfirmed").is(true)
Criteria.where("isConfirmed").is(true)
);
// query.addCriteria(Criteria.where("status").is("3").orOperator(Criteria.where("status").is("2").and("isConfirmed").is(true)));
query.addCriteria(c);
} else if (criteria.getStatus() == 2) {
//未关闭 状态=0,1,或者状态=2未确认
Criteria c = new Criteria();
c.orOperator(
Criteria.where("status").is("0"),
Criteria.where("status").is("1"),
Criteria.where("status").is("2").and("isConfirmed").is(false)
Criteria.where("spareStatus").is(0),
Criteria.where("spareStatus").is(1),
Criteria.where("isConfirmed").is(false)
);
query.addCriteria(c);
}
}
if(ObjectUtil.isNotEmpty(criteria.getBlurry())){
Pattern pattern = Pattern.compile(QueryHelp.escapeExprSpecialWord(criteria.getBlurry()), Pattern.CASE_INSENSITIVE);
//criteria = criteria.and(attributeName).regex(pattern);
query.addCriteria(Criteria.where("no").regex(pattern));
}
PageData<SpareNo> resultList = spareNoManager.findByPage(query, pageable);
return resultList;
}
......@@ -186,7 +195,7 @@ public class SpSpareNoController {
return ResultBean.newErrorResult(-1, "", "未找到对应的入库单信息");
}
if (!spareNo.getStatus().equals(SpareNostatus.CLOSE_STATUS + "")) {
if (!spareNo.getSpareStatus().equals(SpareNostatus.CLOSE_STATUS + "")) {
return ResultBean.newErrorResult(-1, "", spareNoStr + "入库单未结束,不能重发");
}
if(spareNo.isConfirmed()){
......
......@@ -10,6 +10,8 @@ import com.neotel.smfcore.core.barcode.utils.CodeResolve;
import com.neotel.smfcore.core.order.LiteOrderCache;
import com.neotel.smfcore.core.order.enums.LITEORDER_STATUS;
import com.neotel.smfcore.core.order.rest.bean.mapstruct.OrderMapperImpl;
import com.neotel.smfcore.core.order.rest.bean.query.OrderQueryCondition;
import com.neotel.smfcore.core.order.service.manager.ILiteOrderItemManager;
import com.neotel.smfcore.core.order.service.manager.ILiteOrderManager;
import com.neotel.smfcore.core.order.service.po.LiteOrder;
import com.neotel.smfcore.core.order.service.po.LiteOrderItem;
......@@ -25,6 +27,7 @@ import com.neotel.smfcore.custom.luxsan_sp.bean.query.ListQueryCondition;
import com.neotel.smfcore.custom.luxsan_sp.enums.SpareNostatus;
import com.neotel.smfcore.custom.luxsan_sp.util.OrderNoCache;
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;
......@@ -42,6 +45,7 @@ import java.util.function.Consumer;
import java.util.stream.Collectors;
@Slf4j
@Api(tags = "备件仓 出库单")
@RestController
@RequestMapping("/unclaimed")
public class SpUnclaimedController {
......@@ -64,6 +68,9 @@ public class SpUnclaimedController {
private ILiteOrderManager liteOrderManager;
@Autowired
private ILiteOrderItemManager liteOrderItemManager;
@Autowired
private TaskService taskService;
@Autowired
......@@ -160,34 +167,39 @@ public class SpUnclaimedController {
}
@ApiOperation("获取库单列表")
@ApiOperation("获取库单列表")
@RequestMapping("/getList")
@AnonymousAccess
public PageData<Unclaimed> getList(ListQueryCondition criteria, Pageable pageable) {
public PageData<Unclaimed> getList(OrderQueryCondition criteria, Pageable pageable) {
orderNoCache.LoadFromAPI();
Query query = QueryHelp.getQuery(criteria);
if (criteria.getStatus() != null) {
if (criteria.getStatus() == 1) {
//已关闭 状态=3 或者状态=2已确认
Criteria c = new Criteria();
c.orOperator(
Criteria.where("status").is("3"),
Criteria.where("status").is("2").and("isConfirmed").is(true)
);
// query.addCriteria(Criteria.where("status").is("3").orOperator(Criteria.where("status").is("2").and("isConfirmed").is(true)));
query.addCriteria(c);
query.addCriteria(Criteria.where("status").is(LITEORDER_STATUS.CLOSED));
} else if (criteria.getStatus() == 2) {
//未关闭 状态=0,1,或者状态=2未确认
Criteria c = new Criteria();
c.orOperator(
Criteria.where("status").is("0"),
Criteria.where("status").is("1"),
Criteria.where("status").is("2").and("isConfirmed").is(false)
);
query.addCriteria(c);
query.addCriteria(Criteria.where("status").ne(LITEORDER_STATUS.CLOSED));
}
// if (criteria.getStatus() == 1) {
// //已关闭 状态=3 或者状态=2已确认
// Criteria c = new Criteria();
// c.orOperator(
// Criteria.where("status").is("3"),
// Criteria.where("status").is("2").and("isConfirmed").is(true)
// );
//// query.addCriteria(Criteria.where("status").is("3").orOperator(Criteria.where("status").is("2").and("isConfirmed").is(true)));
// query.addCriteria(c);
// } else if (criteria.getStatus() == 2) {
// //未关闭 状态=0,1,或者状态=2未确认
//
// Criteria c = new Criteria();
// c.orOperator(
// Criteria.where("status").is("0"),
// Criteria.where("status").is("1"),
// Criteria.where("status").is("2").and("isConfirmed").is(false)
// );
// query.addCriteria(c);
// }
}
PageData<LiteOrder> resultList = liteOrderManager.findByPage(query, pageable);
PageData<Unclaimed> data = new PageData<Unclaimed>();
......@@ -208,6 +220,15 @@ public class SpUnclaimedController {
unclaimed.setOrderNo(liteOrder.getOrderNo());
unclaimed.setFunctionDept(liteOrder.getSource());
List<UnclaimedDetail> unclaimedDetails = new ArrayList<>();
if(liteOrder.getOrderItems()==null||liteOrder.getOrderItems().size()<=0){
List<LiteOrderItem> items=liteOrderItemManager.findOrderItems(liteOrder.getId());
//优先根据ID查, 考虑兼容性,如果根据ID没有查询到,使用orderNo再查询一次
if(items == null || items.isEmpty()){
Query q = Query.query(Criteria.where("orderNo").is(liteOrder.getOrderNo()));
items=liteOrderItemManager.findByQuery(q);
}
liteOrder.setOrderItems(items);
}
for (LiteOrderItem orderItem : liteOrder.getOrderItems()) {
UnclaimedDetail unclaimedDetail = new UnclaimedDetail();
unclaimedDetail.setPartno(orderItem.getPn());
......
......@@ -33,7 +33,7 @@ public class ReturnManagerImpl implements IReturnNoManager {
@Override
public ReturnInventoryNo get(String id) {
return null;
return returnDao.findOneById(id);
}
@Override
......@@ -43,16 +43,18 @@ public class ReturnManagerImpl implements IReturnNoManager {
@Override
public void delete(ReturnInventoryNo object) throws ValidateException {
returnDao.removeOneById(object.getId());
}
@Override
public PageData<ReturnInventoryNo> findByPage(Query query, Pageable pageable) {
return null;
int totalCount = returnDao.countByQuery(query);
List<ReturnInventoryNo> list = returnDao.findByQuery(query, pageable);
return new PageData<ReturnInventoryNo>(list,totalCount);
}
@Override
public List<ReturnInventoryNo> findByQuery(Query query) {
return Collections.emptyList();
return returnDao.findByQuery(query);
}
}
......@@ -24,7 +24,7 @@ public class SpareNoManagerImpl implements ISpareNoManager {
@Override
public SpareNo get(String id) {
return null;
return spareNoDao.findOneById(id);
}
@Override
......@@ -34,17 +34,19 @@ public class SpareNoManagerImpl implements ISpareNoManager {
@Override
public void delete(SpareNo object) throws ValidateException {
spareNoDao.removeOneById(object.getId());
}
@Override
public PageData<SpareNo> findByPage(Query query, Pageable pageable) {
return null;
int totalCount = spareNoDao.countByQuery(query);
List<SpareNo> list = spareNoDao.findByQuery(query, pageable);
return new PageData<SpareNo>(list,totalCount);
}
@Override
public List<SpareNo> findByQuery(Query query) {
return null;
return spareNoDao.findByQuery(query);
}
@Override
......
......@@ -28,7 +28,7 @@ public class ReturnNoCache {
IReturnNoManager returnNoManager = applicationContext.getBean(IReturnNoManager.class);
// 刷新缓存
returnNoManager.findAll().forEach(
returnNo -> cacheMap.put(returnNo.getOrderNo(), returnNo));
returnNo -> cacheMap.put(returnNo.getNo(), returnNo));
}
@Autowired
......@@ -65,13 +65,13 @@ public class ReturnNoCache {
ReturnInventoryNo newObj = getOrderNoResultToReturnInventoryNo(returnObj);
newObj= returnNoManager.save(newObj);
log.info("创建退库单:"+newObj.getOrderNo()+" ,"+newObj.getPartno());
log.info("创建退库单:"+newObj.getNo()+" ,"+newObj.getPartno());
addToMap(newObj);
}
}
}
public void addToMap(ReturnInventoryNo returnInventoryNo) {
cacheMap.put(returnInventoryNo.getOrderNo(), returnInventoryNo);
cacheMap.put(returnInventoryNo.getNo(), returnInventoryNo);
}
......@@ -80,7 +80,7 @@ public class ReturnNoCache {
if (returnInventoryNo == null) {
returnInventoryNo = returnNoManager.getByOrderNo(orderNo);
if (returnInventoryNo != null) {
cacheMap.put(returnInventoryNo.getOrderNo(), returnInventoryNo);
cacheMap.put(returnInventoryNo.getNo(), returnInventoryNo);
}
}
return returnInventoryNo;
......@@ -90,7 +90,7 @@ public class ReturnNoCache {
public String getExecutingOrderNoStr() {
for (ReturnInventoryNo returnInventoryNo : cacheMap.values()) {
if (ObjectUtil.isNotNull(returnInventoryNo) && returnInventoryNo.isExecuting()) {
return returnInventoryNo.getOrderNo();
return returnInventoryNo.getNo();
}
}
return null;
......@@ -111,6 +111,7 @@ public class ReturnNoCache {
ReturnInventoryNo returnInventoryNo = new ReturnInventoryNo();
BeanUtils.copyProperties(result, returnInventoryNo);
returnInventoryNo.setNo(result.getOrderNo());
returnInventoryNo.setOrderNo(result.getOrderNo());
returnInventoryNo.setSpareStatus(SpareNostatus.NEW_STATUS);
List<SpareNoDetail> detailList = new ArrayList<>();
SpareNoDetail detail = new SpareNoDetail();
......
......@@ -135,7 +135,7 @@ public class SpareNoCache {
spareNo.setCreateTime(result.getCreateTime());
spareNo.setSpareNo(result.getSpareNo());
spareNo.setWhCode(result.getWhCode());
spareNo.setStatus(result.getStatus());
spareNo.setSpareStatus(SpareNostatus.NEW_STATUS);
spareNo.setDeptId(result.getDeptId());
spareNo.setWhDesc(result.getWhDesc());
spareNo.setSpareStatus(SpareNostatus.NEW_STATUS);
......@@ -184,7 +184,7 @@ public class SpareNoCache {
return "已在执行中";
}
String result=ExecuteNo(returnNo.getOrderNo(), returnNo);
String result=ExecuteNo(returnNo.getNo(), returnNo);
if(ObjectUtil.isNotEmpty(result)){
return result;
......@@ -431,7 +431,8 @@ public class SpareNoCache {
if (baseNo.getClass().equals(SpareNo.class)) {
// dataLog.setSourceId(baseNo.getId());
// dataLog.setSourceName(spareNo.getSpareNo());
((SpareNo) baseNo).setStatus(SpareNostatus.CLOSE_STATUS + "");
((SpareNo) baseNo).setSpareStatus(SpareNostatus.CLOSE_STATUS );
((SpareNo) baseNo).setSpareStatus(SpareNostatus.CLOSE_STATUS );
((SpareNo) baseNo).setConfirmed(false);
log.info("入库单已完成,关闭入库单" + baseNo.getNo());
List<SpareInHourseDetail> details = new ArrayList<>();
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!