抄码存入详情

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.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.mhd.common.core.web.domain.BaseEntity; import com.mhd.common.core.web.domain.BaseEntity;
@@ -10,6 +11,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Map;
@Data @Data
@@ -84,4 +86,13 @@ public class CopyCodeReference extends BaseEntity {
@ApiModelProperty("货主名称") @ApiModelProperty("货主名称")
private String shipperName; 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.setCreateTime(new Date());
materialInventory.setBarCode(materialInventoryParamDO.getBarCode()); materialInventory.setBarCode(materialInventoryParamDO.getBarCode());
materialInventoryMapper.insert(materialInventory); materialInventoryMapper.insert(materialInventory);
materialInventoryParamDO.setMaterialInventoryId(materialInventory.getMaterialInventoryId());
} else { } else {
MaterialInventory materialInventoryPO = materialInventoryMapper.selectById(materialInventoryId); MaterialInventory materialInventoryPO = materialInventoryMapper.selectById(materialInventoryId);
if (materialInventoryPO != null) { if (materialInventoryPO != null) {
@@ -4,12 +4,14 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.mhd.common.core.constant.SnowFlakeConstants; import com.mhd.common.core.constant.SnowFlakeConstants;
import com.mhd.common.core.domain.po.UserPo; import com.mhd.common.core.domain.po.UserPo;
import com.mhd.common.core.exception.ServiceException; 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.OrderSequence;
import com.mhd.common.core.utils.StringUtils; import com.mhd.common.core.utils.StringUtils;
import com.mhd.common.core.utils.bean.BeanUtils; 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.system.api.model.LoginUser;
import com.mhd.wms.domain.containerUsageRecord.repository.facade.IContainerUsageRecordService; import com.mhd.wms.domain.containerUsageRecord.repository.facade.IContainerUsageRecordService;
import com.mhd.wms.domain.containerUsageRecord.repository.todo.ContainerUsageRecordDO; 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.facade.IDeliveTaskService;
import com.mhd.wms.domain.deliveTask.repository.todo.DeliveTaskDO; import com.mhd.wms.domain.deliveTask.repository.todo.DeliveTaskDO;
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail; import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
@@ -128,6 +132,8 @@ public class StockShelfOrderDomainService {
private InventoryAdjustmentRecordMapper inventoryAdjustmentRecordMapper; private InventoryAdjustmentRecordMapper inventoryAdjustmentRecordMapper;
@Autowired @Autowired
private MaterialBaseInfoMapper materialBaseInfoMapper; private MaterialBaseInfoMapper materialBaseInfoMapper;
@Autowired
private ICopyCodeReferenceService copyCodeReferenceService;
/** /**
* 分页查询上架单列表 * 分页查询上架单列表
@@ -804,12 +810,15 @@ public class StockShelfOrderDomainService {
inventoryParamDO.setCreateBy(loginUser.getUserid()); inventoryParamDO.setCreateBy(loginUser.getUserid());
inventoryParamDO.setCreateByName(loginUser.getUsername()); inventoryParamDO.setCreateByName(loginUser.getUsername());
inventoryParamDO.setCreateTime(new Date()); inventoryParamDO.setCreateTime(new Date());
//materialInventoryMapper.insert(materialInventory); // materialInventoryMapper.insert(materialInventory);
inventoryParamDO.setType("1");
//库存调整记录 //库存调整记录
//materialInventoryService.kctzjl(inventoryParamDO,"入库", loginUser);
materialInventoryService.xgkc(inventoryParamDO); materialInventoryService.xgkc(inventoryParamDO);
materialInventoryService.kctzjl(inventoryParamDO,"入库", loginUser);
//抄码商品对照数据插入
copyCodeProductComparison(materialBaseInfo,shelfMaterialDetail,inventoryParamDO);
} else if (materialInventoryPOS.size() == 1) { } else if (materialInventoryPOS.size() == 1) {
MaterialInventoryParamDO inventoryParamDO = new MaterialInventoryParamDO(); MaterialInventoryParamDO inventoryParamDO = new MaterialInventoryParamDO();
@@ -860,13 +869,42 @@ public class StockShelfOrderDomainService {
inventoryParamDO.setLotNumber(shelfMaterialDetail.getLotNumber()); inventoryParamDO.setLotNumber(shelfMaterialDetail.getLotNumber());
inventoryParamDO.setQuantity(shelfMaterialDetail.getShelvesQuantity()); inventoryParamDO.setQuantity(shelfMaterialDetail.getShelvesQuantity());
inventoryParamDO.setType("1"); inventoryParamDO.setType("1");
materialInventoryService.xgkc(inventoryParamDO);
//库存调整记录 //库存调整记录
materialInventoryService.kctzjl(inventoryParamDO, "入库", loginUser); 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){ private MaterialInventory getParam(ShelfMaterialDetail shelfMaterialDetail, List<String> fieldNames,Long shipperId,String inOrderNumber){
MaterialInventory param = new MaterialInventory(); MaterialInventory param = new MaterialInventory();
param.setShipperId(shipperId); param.setShipperId(shipperId);