Browse Source

修改三方商场查询,pc盘点数据查询

training
caoyizhong 11 months ago
parent
commit
346464f3d1
  1. 20
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/QuestContrastVO.java
  2. 11
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataTripartiteMallController.java
  3. 16
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml
  4. 163
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java

20
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/QuestContrastVO.java

@ -2,6 +2,8 @@ package com.logpm.warehouse.vo;
import lombok.Data;
import java.util.Date;
/**
* 对比数据实体
*/
@ -16,6 +18,10 @@ public class QuestContrastVO {
* 品牌名称
*/
private String brandName;
/**
* 入库批次号
*/
private String incomingBatch;
/**
* 商场 名称
*/
@ -35,11 +41,11 @@ public class QuestContrastVO {
/**
* 总件数
*/
private String totalNumber;
private Integer totalNumber;
/**
* 在库数据
*/
private String handQuantity;
private Integer handQuantity;
/**
* 所在托盘
*/
@ -55,15 +61,15 @@ public class QuestContrastVO {
/**
* 盘点时间
*/
private String updateTime;
private Date updateTime;
/**
* 盘点数据
*/
private String questNum;
private Integer questNum;
/**
* 差异数
*/
private String differenceNum;
private Integer differenceNum;
/**
* 托盘码
*/
@ -82,6 +88,10 @@ public class QuestContrastVO {
* 货物状态
*/
private String questStatusName;
/**
* 货物状态
*/
private String questStatus;

11
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataTripartiteMallController.java

@ -18,6 +18,7 @@ package com.logpm.basicdata.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.basicdata.entity.BasicdataTripartiteMallEntity;
import com.logpm.basicdata.excel.BasicdataTripartiteMallExcel;
@ -75,7 +76,15 @@ public class BasicdataTripartiteMallController extends BladeController {
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "传入basicdataTripartiteMall")
public R<IPage<BasicdataTripartiteMallEntity>> list(@ApiIgnore @RequestParam Map<String, Object> basicdataTripartiteMall, Query query) {
IPage<BasicdataTripartiteMallEntity> pages = basicdataTripartiteMallService.page(Condition.getPage(query), Condition.getQueryWrapper(basicdataTripartiteMall, BasicdataTripartiteMallEntity.class));
Object o = basicdataTripartiteMall.get("clientId");
if(ObjectUtils.isNotNull(o)){
basicdataTripartiteMall.remove("clientId");
}
QueryWrapper<BasicdataTripartiteMallEntity> queryWrapper = Condition.getQueryWrapper(basicdataTripartiteMall, BasicdataTripartiteMallEntity.class);
if(ObjectUtils.isNotNull(o)){
queryWrapper.eq("client_id",o);
}
IPage<BasicdataTripartiteMallEntity> pages = basicdataTripartiteMallService.page(Condition.getPage(query),queryWrapper);
return R.data(pages);
}

16
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml

@ -212,11 +212,12 @@
</where>
</select>
<select id="selectContrastDataInfo" resultType="com.logpm.warehouse.vo.QuestContrastVO" >
select DISTINCT ldpl.order_code orderCode,GROUP_CONCAT(DISTINCT ldpl.brand_name) brandName,GROUP_CONCAT(DISTINCT ldsa.mall_name) mallName
,GROUP_CONCAT(DISTINCT ldsa.customer_name) customerName, p.quest_status questStatus
,GROUP_CONCAT(DISTINCT ldpl.third_product) thirdProduct,GROUP_CONCAT(DISTINCT ldpl.material_name) materialName,ldsa.total_number totalNumber
,ldsa.hand_quantity handQuantity ,p.tray_code trayCode,p.tray_id trayId,p.position_code positionCode,
p.allocation_id allocationId,p.update_user updateUser,p.update_time updateTime,p.grounding_position_code groundingPositionCode
select DISTINCT ldsa.order_code,GROUP_CONCAT(DISTINCT ldpl.brand_name) brandName,GROUP_CONCAT(DISTINCT ldsa.mall_name) mallName,GROUP_CONCAT(DISTINCT ldsa.customer_name) customerName
,GROUP_CONCAT(DISTINCT ldpl.third_product) thirdProduct,GROUP_CONCAT(DISTINCT ldpl.material_name) materialName,GROUP_CONCAT(DISTINCT p.tray_code) trayCode,
GROUP_CONCAT(DISTINCT p.tray_id) trayId ,GROUP_CONCAT(DISTINCT p.position_code) positionCode,SUM(p.stock_num) handQuantity
,ldsa.total_number totalNumber,GROUP_CONCAT(DISTINCT p.allocation_id) allocationId,GROUP_CONCAT(DISTINCT p.update_user) updateUser
,GROUP_CONCAT(DISTINCT p.grounding_position_code) groundingPositionCode,GROUP_CONCAT(DISTINCT p.quest_status) questStatus,
GROUP_CONCAT(DISTINCT p.update_time) updateTime
from ${questNum} p
LEFT JOIN logpm_distribution_parcel_list ldpl on p.order_package_id = ldpl.id
LEFT JOIN logpm_distribution_stock_article ldsa on ldsa.id = ldpl.stock_article_id
@ -224,10 +225,9 @@
<where>
p.order_package_id is not null
<if test="param.questId != null and param.questId != ''">and p.quest_id = #{param.questId}</if>
<if test="param.questTarget != null and param.questTarget != ''">and p.quest_target = #{param.questTarget}</if>
</where>
GROUP BY ldpl.order_code,ldsa.total_number,ldsa.hand_quantity,p.tray_code,p.tray_id,p.position_code,p.allocation_id,p.update_user,
p.update_time,p.grounding_position_code ,p.quest_status
GROUP BY ldsa.order_code,ldsa.total_number
</select>
<select id="selectTaskTrayInfo" resultType="com.logpm.warehouse.entity.QuestDetailEntity">

163
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java

@ -56,6 +56,8 @@ import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.system.cache.UserCache;
import org.springblade.system.entity.User;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -867,13 +869,170 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ
*/
@Override
public List<QuestContrastVO> getContrastInfo(QuestDetailDTO questDetailDTO, IPage<Object> page) {
List<QuestContrastVO> voList = new ArrayList<>();
//查询的有数据的信息
// questDetailDTO.setQuestTarget(1);
List<QuestContrastVO> list = baseMapper.selectContrastDataInfo(questDetailDTO.getQuestNum(),questDetailDTO);
list.stream().forEach(i ->{
String[] split = i.getQuestStatus().split(",");
//盘点状态;0 待盘点 1. 已盘 2未盘点 3已排除
Integer yiPan = 0;
for (String s : split) {
switch (s){
case "1":
yiPan += 1;
i.setQuestStatusName("部分盘点");
break;
}
}
if(ObjectUtils.isNotNull(i.getUpdateUser())){
StringBuffer buffer = new StringBuffer();
String[] split1 = i.getUpdateUser().split(",");
for (String s : split1) {
User user = UserCache.getUser(Long.valueOf(s));
buffer.append(user.getAccount());
}
i.setUpdateUser(buffer.toString());
}
i.setQuestNum(yiPan);
int i1 = i.getHandQuantity() - yiPan;
i.setDifferenceNum(i1);
if(ObjectUtils.isNull(i.getGroundingPositionCode())){
i.setGroundingPositionCode("无更新");
}
});
//查询零担
QuestDetailEntity questContrastVO = new QuestDetailEntity();
questContrastVO.setQuestId(questDetailDTO.getQuestId());
questContrastVO.setQuestTarget(2);
List<QuestDetailEntity> list1 = baseMapper.selectQuestDetailList(questDetailDTO.getQuestNum(), questContrastVO);
if(ObjectUtils.isNotNull(list1)){
list1.stream().collect(Collectors.groupingBy(QuestDetailEntity::getOrderId)).forEach((k,v) ->{
//查询订单信息
DistributionStockArticleEntity entityByStockArticle = distributionStockArticleClient.findEntityByStockArticleId(k);
if(ObjectUtils.isNull(entityByStockArticle)){
log.info("没有订单数据!!");
return;
}
//已盘数量
AtomicReference<Integer> yi = new AtomicReference<>(0);
StringBuffer buffer = new StringBuffer();
QuestContrastVO q = new QuestContrastVO();
q.setQuestNum(yi.get()); //盘点数
q.setTotalNumber(entityByStockArticle.getTotalNumber());
q.setHandQuantity(entityByStockArticle.getHandQuantity());
q.setBrandName(entityByStockArticle.getBrand());
q.setMallName(entityByStockArticle.getMallName());
q.setCustomerName(entityByStockArticle.getCustomerName());
q.setMaterialName(entityByStockArticle.getDescriptionGoods());
v.stream().forEach( i ->{
switch (i.getQuestStatus()){
case 1:
yi.updateAndGet(v1 -> v1 + 1);
q.setQuestStatusName("部分盘点");
User user = UserCache.getUser(i.getUpdateUser());
q.setUpdateUser(user.getAccount());
q.setUpdateTime(i.getUpdateTime());
break;
}
q.setOrderCode(i.getOrderCode());
if(ObjectUtils.isNull(i.getGroundingPositionCode())){
q.setGroundingPositionCode("无更新");
}
//库位
if(ObjectUtils.isNull(buffer) && ObjectUtils.isNotNull( i.getPositionCode())){
buffer.append(i.getPositionCode());
}else if(ObjectUtils.isNotNull(buffer) && ObjectUtils.isNotNull( i.getPositionCode()) && !buffer.toString().contains(i.getPositionCode())){
buffer.append(",").append(i.getPositionCode());
}
//托盘
if(ObjectUtils.isNotNull(i.getTrayCode())){
if(ObjectUtils.isNull(q.getTrayCode()) ){
q.setTrayCode(i.getPositionCode());
}else if(ObjectUtils.isNotNull(q.getTrayCode()) && !q.getTrayCode().contains(i.getTrayCode())){
q.setTrayCode(q.getTrayCode()+","+i.getPositionCode());
}
}
//更新的货位
if(ObjectUtils.isNotNull(i.getGroundingPositionCode())){
if(ObjectUtils.isNull(q.getGroundingPositionCode())){
q.setGroundingPositionCode(i.getGroundingPositionCode());
}else if(ObjectUtils.isNotNull(q.getGroundingPositionCode()) && !q.getGroundingPositionCode().contains(i.getGroundingPositionCode())){
q.setGroundingPositionCode(q.getGroundingPositionCode()+","+i.getGroundingPositionCode());
}
}
});
q.setDifferenceNum(entityByStockArticle.getHandQuantity() - yi.get());
q.setPositionCode(buffer.toString());
voList.add(q);
});
}
//查询库存品
questContrastVO.setQuestTarget(3);
List<QuestDetailEntity> list2 = baseMapper.selectQuestDetailList(questDetailDTO.getQuestNum(), questContrastVO);
if(ObjectUtils.isNotNull(list2)){
list2.stream().collect(Collectors.groupingBy(QuestDetailEntity::getStockId)).forEach( (k,v) ->{
DistributionStockListEntity stockListBy = distributionStockListClient.getStockListById(k);
if(ObjectUtils.isNull(stockListBy)){
return;
}
QuestContrastVO q = new QuestContrastVO();
q.setOrderCode(stockListBy.getOrderCode());
q.setIncomingBatch(stockListBy.getIncomingBatch());
q.setTotalNumber(stockListBy.getQuantityStock());
q.setHandQuantity(stockListBy.getQuantityStock());
q.setBrandName(stockListBy.getBrandName());
q.setMaterialName(stockListBy.getDescriptionGoods());
StringBuffer buffer = new StringBuffer();
//已盘数量
AtomicReference<Integer> yi = new AtomicReference<>(0);
v.stream().forEach( i ->{
switch (i.getQuestStatus()){
case 1:
yi.updateAndGet(v1 -> v1 + 1);
q.setQuestStatusName("部分盘点");
User user = UserCache.getUser(i.getUpdateUser());
q.setUpdateUser(user.getAccount());
q.setUpdateTime(i.getUpdateTime());
break;
}
//库位
if(ObjectUtils.isNull(buffer) && ObjectUtils.isNotNull( i.getPositionCode())){
buffer.append(i.getPositionCode());
}else if(ObjectUtils.isNotNull(buffer) && ObjectUtils.isNotNull( i.getPositionCode()) && !buffer.toString().contains(i.getPositionCode())){
buffer.append(",").append(i.getPositionCode());
}
//托盘
if(ObjectUtils.isNotNull(i.getTrayCode())){
if(ObjectUtils.isNull(q.getTrayCode()) ){
q.setTrayCode(i.getPositionCode());
}else if(ObjectUtils.isNotNull(q.getTrayCode()) && !q.getTrayCode().contains(i.getTrayCode())){
q.setTrayCode(q.getTrayCode()+","+i.getPositionCode());
}
}
//更新的货位
if(ObjectUtils.isNotNull(i.getGroundingPositionCode())){
if(ObjectUtils.isNull(q.getGroundingPositionCode())){
q.setGroundingPositionCode(i.getGroundingPositionCode());
}else if(ObjectUtils.isNotNull(q.getGroundingPositionCode()) && !q.getGroundingPositionCode().contains(i.getGroundingPositionCode())){
q.setGroundingPositionCode(q.getGroundingPositionCode()+","+i.getGroundingPositionCode());
}
}
});
q.setDifferenceNum(stockListBy.getQuantityStock() - yi.get());
q.setPositionCode(buffer.toString());
voList.add(q);
});
}
voList.addAll(list);
return null;
return voList;
}
/**

Loading…
Cancel
Save