Commit c4315609 LN

1.库存报表需要显示格口号,品名,库别。2.出库单不显示问题修改

1 个父辈 a396b924
...@@ -76,8 +76,14 @@ public class LiteOrderManagerImpl implements ILiteOrderManager { ...@@ -76,8 +76,14 @@ public class LiteOrderManagerImpl implements ILiteOrderManager {
} }
@Override @Override
public LiteOrder createWithItems(LiteOrder liteOrder) throws ValidateException { public LiteOrder createWithItems(LiteOrder liteOrder) throws ValidateException {
liteOrder.setId(liteOrderDao.findOne(Query.query(Criteria.where("orderNo") //查找工单是否已存在
.is(liteOrder.getOrderNo()))).getId()); LiteOrder old=liteOrderDao.findOne(Query.query(Criteria.where("orderNo")
.is(liteOrder.getOrderNo())));
if(old!=null){
liteOrder.setId(old.getId());
}
// liteOrder.setId(liteOrderDao.findOne(Query.query(Criteria.where("orderNo")
// .is(liteOrder.getOrderNo()))).getId());
liteOrder = save(liteOrder); liteOrder = save(liteOrder);
List<LiteOrderItem> items = Lists.newArrayList(); List<LiteOrderItem> items = Lists.newArrayList();
for (LiteOrderItem liteOrderItem : liteOrder.getOrderItems()) { for (LiteOrderItem liteOrderItem : liteOrder.getOrderItems()) {
......
...@@ -202,38 +202,38 @@ public class ReportController { ...@@ -202,38 +202,38 @@ public class ReportController {
@Autowired @Autowired
private InventoryItemMapper inventoryItemMapper; private InventoryItemMapper inventoryItemMapper;
private List<InventoryItemDto> getInventory(InventoryQueryCriteria criteria, Pageable pageable){ private List<InventoryItemDto> getInventory(InventoryQueryCriteria criteria, Pageable pageable) {
Map<String, InventoryItem> inventoryItemMap = dataCache.getAllInventory(criteria.getStorageIdList(),criteria.getBlurry()); Map<String, InventoryItem> inventoryItemMap = dataCache.getAllInventory(criteria.getStorageIdList(), criteria.getBlurry());
List<InventoryItem> list = Lists.newArrayList(inventoryItemMap.values()); List<InventoryItem> list = Lists.newArrayList(inventoryItemMap.values());
List<InventoryItemDto> dtoList = inventoryItemMapper.toDto(list); List<InventoryItemDto> dtoList = inventoryItemMapper.toDto(list);
List<InventoryItemDto> resultList = new ArrayList<>(); List<InventoryItemDto> resultList = new ArrayList<>();
//过滤掉没有库存的 //过滤掉没有库存的
for (InventoryItemDto inventoryItemDto : dtoList) { for (InventoryItemDto inventoryItemDto : dtoList) {
if(inventoryItemDto.getStockReel() > 0){ if (inventoryItemDto.getStockReel() > 0) {
resultList.add(inventoryItemDto); resultList.add(inventoryItemDto);
} }
} }
try {
Comparator<InventoryItemDto> comparator = Comparator.comparing(InventoryItemDto::getPartNumber); Comparator<InventoryItemDto> comparator = Comparator.comparing(InventoryItemDto::getPartNumber);
Sort.Order lockReelOrder = pageable.getSort().getOrderFor("lockReel"); Sort.Order lockReelOrder = pageable.getSort().getOrderFor("lockReel");
if(lockReelOrder != null){ if (lockReelOrder != null) {
comparator = Comparator.comparing(InventoryItemDto::getStockReel,Comparator.nullsFirst(Integer::compareTo)); comparator = Comparator.comparing(InventoryItemDto::getStockReel, Comparator.nullsFirst(Integer::compareTo));
if(lockReelOrder.isDescending()){ if (lockReelOrder.isDescending()) {
comparator = comparator.reversed(); comparator = comparator.reversed();
} }
} }
Sort.Order stockCountOrder = pageable.getSort().getOrderFor("stockCount"); Sort.Order stockCountOrder = pageable.getSort().getOrderFor("stockCount");
if(stockCountOrder != null){ if (stockCountOrder != null) {
comparator = Comparator.comparing(InventoryItemDto::getStockCount,Comparator.nullsFirst(Integer::compareTo)); comparator = Comparator.comparing(InventoryItemDto::getStockCount, Comparator.nullsFirst(Integer::compareTo));
if(stockCountOrder.isDescending()){ if (stockCountOrder.isDescending()) {
comparator = comparator.reversed(); comparator = comparator.reversed();
} }
} }
Sort.Order partNumberOrder = pageable.getSort().getOrderFor("partNumber"); Sort.Order partNumberOrder = pageable.getSort().getOrderFor("partNumber");
if(partNumberOrder != null){ if (partNumberOrder != null) {
comparator = Comparator.comparing(InventoryItemDto::getPartNumber,Comparator.nullsFirst(String::compareTo)); comparator = Comparator.comparing(item -> item.getPartNumber() != null ? item.getPartNumber() : "", Comparator.nullsFirst(String::compareTo));
if(partNumberOrder.isDescending()){ if (partNumberOrder.isDescending()) {
comparator = comparator.reversed(); comparator = comparator.reversed();
} }
} }
...@@ -243,6 +243,11 @@ public class ReportController { ...@@ -243,6 +243,11 @@ public class ReportController {
// for (InventoryItemDto dto : resultList) { // for (InventoryItemDto dto : resultList) {
// System.out.println(dto.getPartNumber() + "---" + dto.getStockCount() + " --- " + dto.getStockReel()); // System.out.println(dto.getPartNumber() + "---" + dto.getStockCount() + " --- " + dto.getStockReel());
// } // }
} catch (Exception ex) {
log.info("pn库存排序出错:" + ex.toString());
}
return resultList; return resultList;
} }
......
...@@ -54,6 +54,12 @@ public class InventoryItem { ...@@ -54,6 +54,12 @@ public class InventoryItem {
*/ */
private String storageName ; private String storageName ;
private String wareHouseCode;
private String posName;
private String gekouName;
private String partname;
/** /**
* 绑定数量 * 绑定数量
*/ */
......
...@@ -39,9 +39,12 @@ public class InventoryItemDto implements Serializable { ...@@ -39,9 +39,12 @@ public class InventoryItemDto implements Serializable {
@ApiModelProperty("库别") @ApiModelProperty("库别")
private String wareHouseCode; private String wareHouseCode="";
@ApiModelProperty("品名") @ApiModelProperty("品名")
private String partname; private String partname="";
@ApiModelProperty("格口号")
private String gekouName="";
} }
...@@ -995,8 +995,20 @@ public class StoragePosManagerImpl implements IStoragePosManager { ...@@ -995,8 +995,20 @@ public class StoragePosManagerImpl implements IStoragePosManager {
Aggregation agg = Aggregation.newAggregation( Aggregation agg = Aggregation.newAggregation(
Aggregation.match(c), Aggregation.match(c),
Aggregation.unwind("barcode.subCodeList"), Aggregation.unwind("barcode.subCodeList"),
Aggregation.group("barcode.subCodeList.partNumber").sum("barcode.subCodeList.amount").as("stockCount").count().as("stockReel"), Aggregation.group("barcode.subCodeList.partNumber")
Aggregation.project("stockCount", "stockReel").and("partNumber").previousOperation() .first("barcode.subCodeList.partNumber").as("partNumber")
.first("barcode.barcode").as("boxName")
.first("barcode.subCodeList.barcode").as("gekouName")
.first("barcode.subCodeList.pn").as("partname")
.first("wareHouseCode").as("wareHouseCode")
.sum("barcode.subCodeList.amount").as("stockCount").count().as("stockReel"),
Aggregation.project("stockCount", "stockReel")
.and("partNumber").as("partNumber")
.and("boxName").as("boxName")
.and("partname").as("partname")
.and("gekouName").as("gekouName")
.and("wareHouseCode").as("wareHouseCode")
); );
AggregationResults<InventoryItem> results = storagePosDao.getMongoTemplate().aggregate(agg, StoragePos.class, InventoryItem.class); AggregationResults<InventoryItem> results = storagePosDao.getMongoTemplate().aggregate(agg, StoragePos.class, InventoryItem.class);
return results.getMappedResults(); return results.getMappedResults();
......
...@@ -27,6 +27,8 @@ import java.util.Map; ...@@ -27,6 +27,8 @@ import java.util.Map;
@Component @Component
public class LuxsanSpApi extends DefaultSmfApiListener { public class LuxsanSpApi extends DefaultSmfApiListener {
public static boolean Debug=false;
public static String GetSpareNoUrl; public static String GetSpareNoUrl;
public static String SpareInHourseUrl; public static String SpareInHourseUrl;
private static String GetUnclaimedUrl; private static String GetUnclaimedUrl;
...@@ -86,6 +88,17 @@ public class LuxsanSpApi extends DefaultSmfApiListener { ...@@ -86,6 +88,17 @@ public class LuxsanSpApi extends DefaultSmfApiListener {
} }
public static List<GetUnclaimedResult> getUnclaimedDetails(GetUnclaimedRequest request) { public static List<GetUnclaimedResult> getUnclaimedDetails(GetUnclaimedRequest request) {
if(Debug) {
String msg = "{\"msg\":\"操作成功\",\"code\":200,\"data\":[{\"searchValue\":null,\"createBy\":null,\"createTime\":\"2024-08-02 08:40:43\",\"updateBy\":null,\"updateTime\":\"2024-08-02 08:41:26\",\"remark\":null,\"params\":{},\"id\":null,\"flag\":null,\"status\":\"1\",\"orderNo\":\"SA2024080200223\",\"applicantNo\":null,\"applicantName\":null,\"applicantTime\":null,\"project\":null,\"process\":null,\"functionDept\":\"MLB MFG\",\"section\":null,\"line\":null,\"floor\":null,\"delFlag\":null,\"whCode\":null,\"whCodes\":null,\"provideNo\":null,\"receiveNo\":null,\"estimatedTime\":null,\"deptId\":220,\"spareApplyDetail\":[{\"searchValue\":null,\"createBy\":null,\"createTime\":null,\"updateBy\":null,\"updateTime\":null,\"remark\":null,\"params\":{},\"id\":null,\"orderNo\":\"SA2024080200223\",\"deptId\":220,\"partNo\":\"1950130060061A\",\"partName\":\"DEK300mm阶梯刮刀片刀刃0.15刀身0.3|DEK\",\"groupCode\":null,\"applyQty\":5,\"giveOutQty\":null,\"expectQty\":5,\"delFlag\":null,\"spareApplyDetail\":null}]}]}\n";
LuxsanSpApiResult lizhenApiResult = JSONObject.parseObject(msg, LuxsanSpApiResult.class);
List<GetUnclaimedResult> testO = JSONObject.parseArray(lizhenApiResult.getData(), GetUnclaimedResult.class);
if (testO != null && !testO.isEmpty()) {
return testO;
} else {
return new ArrayList<>();
}
}
String url = null; String url = null;
try { try {
url = GetUnclaimedUrl + getQueryStr(request); url = GetUnclaimedUrl + getQueryStr(request);
......
...@@ -222,7 +222,7 @@ public class SpareNoCache { ...@@ -222,7 +222,7 @@ public class SpareNoCache {
String pn = detail.getPartno(); String pn = detail.getPartno();
Barcode newPn = new Barcode(); Barcode newPn = new Barcode();
newPn.setPn(pn); newPn.setPn(detail.getPartname());
newPn.setPartNumber(pn); newPn.setPartNumber(pn);
newPn.setAmount(0); newPn.setAmount(0);
newPn.setInitialAmount(0); newPn.setInitialAmount(0);
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!