抄码存入详情

This commit is contained in:
zhou-hongcheng
2026-04-15 16:08:55 +08:00
parent 662123cdb6
commit 0fac5143a7
3 changed files with 53 additions and 3 deletions
@@ -2,6 +2,7 @@ package com.mhd.wms.domain.copyCodeReference.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mhd.common.core.web.domain.BaseEntity;
@@ -10,6 +11,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Map;
@Data
@@ -84,4 +86,13 @@ public class CopyCodeReference extends BaseEntity {
@ApiModelProperty("货主名称")
private String shipperName;
@ApiModelProperty("货主ID")
private Long shipperId;
/**
* 请求参数(非数据库字段)
*/
@TableField(exist = false)
private Map<String, Object> params;
}
@@ -758,6 +758,7 @@ public class MaterialInventoryImpl extends ServiceImpl<MaterialInventoryMapper,
materialInventory.setCreateTime(new Date());
materialInventory.setBarCode(materialInventoryParamDO.getBarCode());
materialInventoryMapper.insert(materialInventory);
materialInventoryParamDO.setMaterialInventoryId(materialInventory.getMaterialInventoryId());
} else {
MaterialInventory materialInventoryPO = materialInventoryMapper.selectById(materialInventoryId);
if (materialInventoryPO != null) {
@@ -4,12 +4,14 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.mhd.common.core.constant.SnowFlakeConstants;
import com.mhd.common.core.domain.po.UserPo;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.core.utils.OrderSequence;
import com.mhd.common.core.utils.StringUtils;
import com.mhd.common.core.utils.bean.BeanUtils;
@@ -21,6 +23,8 @@ import com.mhd.system.api.domain.ContainerFeignPO;
import com.mhd.system.api.model.LoginUser;
import com.mhd.wms.domain.containerUsageRecord.repository.facade.IContainerUsageRecordService;
import com.mhd.wms.domain.containerUsageRecord.repository.todo.ContainerUsageRecordDO;
import com.mhd.wms.domain.copyCodeReference.entity.CopyCodeReference;
import com.mhd.wms.domain.copyCodeReference.repository.facade.ICopyCodeReferenceService;
import com.mhd.wms.domain.deliveTask.repository.facade.IDeliveTaskService;
import com.mhd.wms.domain.deliveTask.repository.todo.DeliveTaskDO;
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
@@ -128,6 +132,8 @@ public class StockShelfOrderDomainService {
private InventoryAdjustmentRecordMapper inventoryAdjustmentRecordMapper;
@Autowired
private MaterialBaseInfoMapper materialBaseInfoMapper;
@Autowired
private ICopyCodeReferenceService copyCodeReferenceService;
/**
* 分页查询上架单列表
@@ -804,12 +810,15 @@ public class StockShelfOrderDomainService {
inventoryParamDO.setCreateBy(loginUser.getUserid());
inventoryParamDO.setCreateByName(loginUser.getUsername());
inventoryParamDO.setCreateTime(new Date());
//materialInventoryMapper.insert(materialInventory);
// materialInventoryMapper.insert(materialInventory);
inventoryParamDO.setType("1");
//库存调整记录
//materialInventoryService.kctzjl(inventoryParamDO,"入库", loginUser);
materialInventoryService.xgkc(inventoryParamDO);
materialInventoryService.kctzjl(inventoryParamDO,"入库", loginUser);
//抄码商品对照数据插入
copyCodeProductComparison(materialBaseInfo,shelfMaterialDetail,inventoryParamDO);
} else if (materialInventoryPOS.size() == 1) {
MaterialInventoryParamDO inventoryParamDO = new MaterialInventoryParamDO();
@@ -860,13 +869,42 @@ public class StockShelfOrderDomainService {
inventoryParamDO.setLotNumber(shelfMaterialDetail.getLotNumber());
inventoryParamDO.setQuantity(shelfMaterialDetail.getShelvesQuantity());
inventoryParamDO.setType("1");
materialInventoryService.xgkc(inventoryParamDO);
//库存调整记录
materialInventoryService.kctzjl(inventoryParamDO, "入库", loginUser);
materialInventoryService.xgkc(inventoryParamDO);
//抄码商品对照数据插入
copyCodeProductComparison(materialBaseInfo,shelfMaterialDetail,inventoryParamDO);
}
}
}
private void copyCodeProductComparison(MaterialBaseInfo materialBaseInfo, ShelfMaterialDetail shelfMaterialDetail, MaterialInventoryParamDO materialInventoryId) {
JSONObject jsonObject = JSONObject.parseObject(shelfMaterialDetail.getCopyDetails());
ArrayList<CopyCodeReference> copyCodeReferences = new ArrayList<>();
for (String key : jsonObject.keySet()) {
CopyCodeReference copyCodeReference = new CopyCodeReference();
BeanUtils.copyProperties(materialBaseInfo, copyCodeReference);
BeanUtils.copyProperties(shelfMaterialDetail, copyCodeReference, IgnoreNullUtil.getNullPropertyNames(shelfMaterialDetail));
copyCodeReference.setBoxPalletNo(shelfMaterialDetail.getPalletNumber());
copyCodeReference.setBatchNumber(shelfMaterialDetail.getCopyBatch());
copyCodeReference.setSerialNumber(Integer.parseInt(key));
Integer value = jsonObject.getInteger(key);
copyCodeReference.setNetWeight(new BigDecimal(value));
copyCodeReference.setMaterialStatusName("可用");
copyCodeReference.setMaterialStatusCode("1");
copyCodeReference.setMaterialDetailId(shelfMaterialDetail.getMaterialDetailId());
copyCodeReference.setMaterialInventoryId(materialInventoryId.getMaterialInventoryId());
copyCodeReference.setInOrderNumber(materialInventoryId.getInOrderNumber());
copyCodeReference.setInventoryQuantity(new BigDecimal(shelfMaterialDetail.getCopyQuantity()));
copyCodeReference.setNetWeight(shelfMaterialDetail.getTotalNetWeight());
copyCodeReference.setGrossWeight(shelfMaterialDetail.getTotalGrossWeight());
copyCodeReference.setShipperName(materialBaseInfo.getShipperName());
copyCodeReference.setShipperId(materialBaseInfo.getShipperId());
copyCodeReferences.add(copyCodeReference);
}
copyCodeReferenceService.saveBatch(copyCodeReferences);
}
private MaterialInventory getParam(ShelfMaterialDetail shelfMaterialDetail, List<String> fieldNames,Long shipperId,String inOrderNumber){
MaterialInventory param = new MaterialInventory();
param.setShipperId(shipperId);