Merge branch 'dev' into dev_jinji
This commit is contained in:
@@ -18,7 +18,7 @@ import java.util.Set;
|
|||||||
/**
|
/**
|
||||||
* bms财务结算系统feign调用接口
|
* bms财务结算系统feign调用接口
|
||||||
*/
|
*/
|
||||||
@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.33.0.109:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class)
|
@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class)
|
||||||
public interface BmsServiceFeign {
|
public interface BmsServiceFeign {
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.33.0.99:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class)
|
@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE,url = "http://10.102.192.4:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class)
|
||||||
public interface OmsServiceFeign {
|
public interface OmsServiceFeign {
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.33.0.129:8014",configuration = FeignAutoConfiguration.class)
|
@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class)
|
||||||
public interface WlhyServiceFeign {
|
public interface WlhyServiceFeign {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import java.util.Map;
|
|||||||
* @description: TODO
|
* @description: TODO
|
||||||
* @date 2024/5/10 8:58
|
* @date 2024/5/10 8:58
|
||||||
**/
|
**/
|
||||||
@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.33.0.109:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class)
|
@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class)
|
||||||
public interface WmsServiceFeign {
|
public interface WmsServiceFeign {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration;
|
|||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.33.0.99:8018", configuration = FeignAutoConfiguration.class)
|
@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class)
|
||||||
public interface YmsServiceFeign {
|
public interface YmsServiceFeign {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -116,6 +116,12 @@ public class WarehouseFeignPO extends BaseVOEntity{
|
|||||||
@Excel(name = "是否作废: 1-否 2-是")
|
@Excel(name = "是否作废: 1-否 2-是")
|
||||||
private Integer nullify;
|
private Integer nullify;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务模式")
|
||||||
|
@Excel(name = "任务模式")
|
||||||
|
private String taskMode;
|
||||||
|
|
||||||
|
@ApiModelProperty("作业模式")
|
||||||
|
@Excel(name = "作业模式")
|
||||||
|
private String workMode;
|
||||||
|
|
||||||
}
|
}
|
||||||
+3
-1
@@ -165,6 +165,8 @@ public class StorageLocation extends BaseVOEntity{
|
|||||||
@ApiModelProperty("是否作废: 1-否 2-是")
|
@ApiModelProperty("是否作废: 1-否 2-是")
|
||||||
@Excel(name = "是否作废: 1-否 2-是")
|
@Excel(name = "是否作废: 1-否 2-是")
|
||||||
private Integer nullify;
|
private Integer nullify;
|
||||||
|
@ApiModelProperty("库位条码")
|
||||||
|
@Excel(name = "库位条码")
|
||||||
|
private String locationBarCode;
|
||||||
|
|
||||||
}
|
}
|
||||||
+3
-1
@@ -165,6 +165,8 @@ public class StorageLocationPO extends BaseVOEntity{
|
|||||||
@Excel(name = "是否作废: 1-否 2-是")
|
@Excel(name = "是否作废: 1-否 2-是")
|
||||||
private Integer nullify;
|
private Integer nullify;
|
||||||
|
|
||||||
|
@ApiModelProperty("库位条码")
|
||||||
|
@Excel(name = "库位条码")
|
||||||
|
private String locationBarCode;
|
||||||
|
|
||||||
}
|
}
|
||||||
+4
@@ -204,4 +204,8 @@ public class StorageLocationDO extends BaseVOEntity{
|
|||||||
@ApiModelProperty("坐标-层 终止")
|
@ApiModelProperty("坐标-层 终止")
|
||||||
@Excel(name = "坐标-层 终止")
|
@Excel(name = "坐标-层 终止")
|
||||||
private String coordinateLayerEnd;
|
private String coordinateLayerEnd;
|
||||||
|
|
||||||
|
@ApiModelProperty("库位条码")
|
||||||
|
@Excel(name = "库位条码")
|
||||||
|
private String locationBarCode;
|
||||||
}
|
}
|
||||||
+7
@@ -122,5 +122,12 @@ public class Warehouse extends BaseVOEntity{
|
|||||||
@Excel(name = "是否启用: 1-否 2-是")
|
@Excel(name = "是否启用: 1-否 2-是")
|
||||||
private Integer isEnable;
|
private Integer isEnable;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务模式")
|
||||||
|
@Excel(name = "任务模式")
|
||||||
|
private String taskMode;
|
||||||
|
|
||||||
|
@ApiModelProperty("作业模式")
|
||||||
|
@Excel(name = "作业模式")
|
||||||
|
private String workMode;
|
||||||
|
|
||||||
}
|
}
|
||||||
+6
@@ -124,5 +124,11 @@ public class WarehousePO extends BaseVOEntity{
|
|||||||
private Integer isEnable;
|
private Integer isEnable;
|
||||||
@ApiModelProperty("库区集合")
|
@ApiModelProperty("库区集合")
|
||||||
private List<StorageSectionPO> storageSectionList;
|
private List<StorageSectionPO> storageSectionList;
|
||||||
|
@ApiModelProperty("任务模式")
|
||||||
|
@Excel(name = "任务模式")
|
||||||
|
private String taskMode;
|
||||||
|
|
||||||
|
@ApiModelProperty("作业模式")
|
||||||
|
@Excel(name = "作业模式")
|
||||||
|
private String workMode;
|
||||||
}
|
}
|
||||||
+8
@@ -131,4 +131,12 @@ public class WarehouseDO extends BaseVOEntity{
|
|||||||
private String orgIds;
|
private String orgIds;
|
||||||
@ApiModelProperty("组织id 集合")
|
@ApiModelProperty("组织id 集合")
|
||||||
private List<Long> orgIdList;
|
private List<Long> orgIdList;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务模式")
|
||||||
|
@Excel(name = "任务模式")
|
||||||
|
private String taskMode;
|
||||||
|
|
||||||
|
@ApiModelProperty("作业模式")
|
||||||
|
@Excel(name = "作业模式")
|
||||||
|
private String workMode;
|
||||||
}
|
}
|
||||||
+4
@@ -212,6 +212,10 @@ public class StorageLocationDTO extends BaseVOEntity{
|
|||||||
@Excel(name = "坐标-层 终止")
|
@Excel(name = "坐标-层 终止")
|
||||||
private String coordinateLayerEnd;
|
private String coordinateLayerEnd;
|
||||||
|
|
||||||
|
@ApiModelProperty("库位条码")
|
||||||
|
@Excel(name = "库位条码")
|
||||||
|
private String locationBarCode;
|
||||||
|
|
||||||
public interface Edit {}
|
public interface Edit {}
|
||||||
|
|
||||||
public interface BatchInsert {}
|
public interface BatchInsert {}
|
||||||
|
|||||||
+8
@@ -136,4 +136,12 @@ public class WarehouseDTO extends BaseVOEntity{
|
|||||||
private String orgIds;
|
private String orgIds;
|
||||||
@ApiModelProperty("组织id 集合")
|
@ApiModelProperty("组织id 集合")
|
||||||
private List<Long> orgIdList;
|
private List<Long> orgIdList;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务模式")
|
||||||
|
@Excel(name = "任务模式")
|
||||||
|
private String taskMode;
|
||||||
|
|
||||||
|
@ApiModelProperty("作业模式")
|
||||||
|
@Excel(name = "作业模式")
|
||||||
|
private String workMode;
|
||||||
}
|
}
|
||||||
+2
-1
@@ -47,6 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<result property="updateBy" column="update_by" />
|
<result property="updateBy" column="update_by" />
|
||||||
<result property="updateByName" column="update_by_name" />
|
<result property="updateByName" column="update_by_name" />
|
||||||
<result property="delFlag" column="del_flag" />
|
<result property="delFlag" column="del_flag" />
|
||||||
|
<result property="locationBarCode" column="LOCATION_BAR_CODE" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
@@ -58,7 +59,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
a.storage_location_classify, a.storage_location_classify_name, a.storage_location_type, a.storage_location_type_name,
|
a.storage_location_classify, a.storage_location_classify_name, a.storage_location_type, a.storage_location_type_name,
|
||||||
a.mixing_strategy, a.mixing_strategy_name, a.storage_location_group_id, a.storage_location_group_code, a.storage_location_group_name,
|
a.mixing_strategy, a.mixing_strategy_name, a.storage_location_group_id, a.storage_location_group_code, a.storage_location_group_name,
|
||||||
a.weight_limit, a.volume_limit, a.location_size, a.location_length, a.location_width, a.location_height,
|
a.weight_limit, a.volume_limit, a.location_size, a.location_length, a.location_width, a.location_height,
|
||||||
a.coordinate, a.coordinate_area, a.coordinate_column, a.coordinate_row, a.coordinate_layer, a.remark,
|
a.coordinate, a.coordinate_area, a.coordinate_column, a.coordinate_row, a.coordinate_layer, a.remark, a.LOCATION_BAR_CODE,
|
||||||
a.opening_up, a.nullify, a.status, a.create_time, a.create_by, a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag
|
a.opening_up, a.nullify, a.status, a.create_time, a.create_by, a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag
|
||||||
from storage_location a
|
from storage_location a
|
||||||
LEFT JOIN warehouse w ON a.warehouse_id = w.warehouse_id AND w.del_flag = 1
|
LEFT JOIN warehouse w ON a.warehouse_id = w.warehouse_id AND w.del_flag = 1
|
||||||
|
|||||||
+8
-1
@@ -37,11 +37,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<result property="updateByName" column="update_by_name" />
|
<result property="updateByName" column="update_by_name" />
|
||||||
<result property="delFlag" column="del_flag" />
|
<result property="delFlag" column="del_flag" />
|
||||||
<result property="isEnable" column="IS_ENABLE" />
|
<result property="isEnable" column="IS_ENABLE" />
|
||||||
|
<result property="workMode" column="WORK_MODE" />
|
||||||
|
<result property="taskMode" column="TASK_MODE" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
<sql id="selectWarehousePo">
|
<sql id="selectWarehousePo">
|
||||||
select warehouse_id, organization_id, organization_name, top_organization_id, warehouse_code, warehouse_name, warehouse_type, warehouse_type_name, warehouse_structure, warehouse_nature, warm_layer_code, warm_layer_name, director_name, director_phone, region_code, region_name, detail_address, longitude, latitude, building_region, usage_region, remark, opening_up, nullify, create_time, create_by, create_by_name, update_time, update_by, update_by_name, del_flag, IS_ENABLE from warehouse
|
select warehouse_id, organization_id, organization_name, top_organization_id, warehouse_code, warehouse_name,
|
||||||
|
warehouse_type, warehouse_type_name, warehouse_structure, warehouse_nature, warm_layer_code, warm_layer_name,
|
||||||
|
director_name, director_phone, region_code, region_name, detail_address, longitude, latitude, building_region,
|
||||||
|
usage_region, remark, opening_up, nullify, create_time, create_by, create_by_name, update_time, update_by,
|
||||||
|
update_by_name, del_flag, IS_ENABLE ,WORK_MODE,TASK_MODE
|
||||||
|
from warehouse
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="selectWarehousePo1">
|
<sql id="selectWarehousePo1">
|
||||||
|
|||||||
+14
-1
@@ -29,6 +29,7 @@ import com.mhd.oms.domain.executionStockInOrder.repository.po.ExecutionStockInOr
|
|||||||
import com.mhd.oms.domain.executionStockInOrder.repository.todo.ExecutionStockInOrderDO;
|
import com.mhd.oms.domain.executionStockInOrder.repository.todo.ExecutionStockInOrderDO;
|
||||||
import com.mhd.oms.domain.executionStockOutOrder.entity.ExecutionStockOutOrder;
|
import com.mhd.oms.domain.executionStockOutOrder.entity.ExecutionStockOutOrder;
|
||||||
import com.mhd.oms.domain.executionStockOutOrder.repository.facade.IExecutionStockOutOrderService;
|
import com.mhd.oms.domain.executionStockOutOrder.repository.facade.IExecutionStockOutOrderService;
|
||||||
|
import com.mhd.oms.domain.reservationStockInOrder.repository.mapper.ReservationStockInOrderMapper;
|
||||||
import com.mhd.system.api.SystemServiceFeign;
|
import com.mhd.system.api.SystemServiceFeign;
|
||||||
import com.mhd.system.api.WmsServiceFeign;
|
import com.mhd.system.api.WmsServiceFeign;
|
||||||
import com.mhd.system.api.domain.*;
|
import com.mhd.system.api.domain.*;
|
||||||
@@ -39,6 +40,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -85,7 +87,8 @@ public class ExecutionStockInOrderDomainService {
|
|||||||
// private IReceiptMaterialDetailService receiptMaterialDetailService;
|
// private IReceiptMaterialDetailService receiptMaterialDetailService;
|
||||||
// @Autowired
|
// @Autowired
|
||||||
// private IShelfMaterialDetailService shelfMaterialDetailService;
|
// private IShelfMaterialDetailService shelfMaterialDetailService;
|
||||||
|
@Resource
|
||||||
|
private ReservationStockInOrderMapper stockInOrderMapper;
|
||||||
/**
|
/**
|
||||||
* 分页查询入库单列表
|
* 分页查询入库单列表
|
||||||
*/
|
*/
|
||||||
@@ -497,6 +500,13 @@ public class ExecutionStockInOrderDomainService {
|
|||||||
StockInOrder stockInOrder = new StockInOrder();
|
StockInOrder stockInOrder = new StockInOrder();
|
||||||
BeanUtils.copyProperties(byId, stockInOrder,"inOrderId");
|
BeanUtils.copyProperties(byId, stockInOrder,"inOrderId");
|
||||||
stockInOrder.setOmsStockInOrderId(String.valueOf(byId.getInOrderId()));
|
stockInOrder.setOmsStockInOrderId(String.valueOf(byId.getInOrderId()));
|
||||||
|
Long warehouseId = stockInOrder.getWarehouseId();
|
||||||
|
Long topOrgId = stockInOrderMapper.getTopOrgId(warehouseId);
|
||||||
|
Long orgId = stockInOrderMapper.getOrgId(warehouseId);
|
||||||
|
String orgName = stockInOrderMapper.getOrgName(warehouseId);
|
||||||
|
stockInOrder.setOrganizationId(orgId);
|
||||||
|
stockInOrder.setOrganizationName(orgName);
|
||||||
|
stockInOrder.setTopOrganizationId(topOrgId);
|
||||||
wmsServiceFeign.omsInOrderAdd(stockInOrder);
|
wmsServiceFeign.omsInOrderAdd(stockInOrder);
|
||||||
String inOrderNumber = stockInOrder.getInOrderNumber();
|
String inOrderNumber = stockInOrder.getInOrderNumber();
|
||||||
List<ExecutionInMaterialDetail> materialDetailList = materialDetailService.list(new QueryWrapper<ExecutionInMaterialDetail>().lambda().eq(ExecutionInMaterialDetail::getInOrderNumber, inOrderNumber));
|
List<ExecutionInMaterialDetail> materialDetailList = materialDetailService.list(new QueryWrapper<ExecutionInMaterialDetail>().lambda().eq(ExecutionInMaterialDetail::getInOrderNumber, inOrderNumber));
|
||||||
@@ -505,6 +515,9 @@ public class ExecutionStockInOrderDomainService {
|
|||||||
InMaterialDetail inMaterialDetail = new InMaterialDetail();
|
InMaterialDetail inMaterialDetail = new InMaterialDetail();
|
||||||
BeanUtils.copyProperties(reservationInMaterialDetail, inMaterialDetail,"materialDetailId");
|
BeanUtils.copyProperties(reservationInMaterialDetail, inMaterialDetail,"materialDetailId");
|
||||||
inMaterialDetail.setOmsInMaterialDetail(String.valueOf(reservationInMaterialDetail.getMaterialDetailId()));
|
inMaterialDetail.setOmsInMaterialDetail(String.valueOf(reservationInMaterialDetail.getMaterialDetailId()));
|
||||||
|
inMaterialDetail.setOrganizationId(orgId);
|
||||||
|
inMaterialDetail.setOrganizationName(orgName);
|
||||||
|
inMaterialDetail.setTopOrganizationId(topOrgId);
|
||||||
inMaterialDetailList.add(inMaterialDetail);
|
inMaterialDetailList.add(inMaterialDetail);
|
||||||
}
|
}
|
||||||
wmsServiceFeign.omsInOrderAddDetail(inMaterialDetailList);
|
wmsServiceFeign.omsInOrderAddDetail(inMaterialDetailList);
|
||||||
|
|||||||
+13
-1
@@ -37,6 +37,7 @@ import com.mhd.oms.domain.reservationInventoryAdjustmentRecord.entity.Reservatio
|
|||||||
import com.mhd.oms.domain.reservationInventoryAdjustmentRecord.repository.mapper.ReservationInventoryAdjustmentRecordMapper;
|
import com.mhd.oms.domain.reservationInventoryAdjustmentRecord.repository.mapper.ReservationInventoryAdjustmentRecordMapper;
|
||||||
import com.mhd.oms.domain.reservationMaterialInventory.entity.ReservationMaterialInventory;
|
import com.mhd.oms.domain.reservationMaterialInventory.entity.ReservationMaterialInventory;
|
||||||
import com.mhd.oms.domain.reservationMaterialInventory.repository.mapper.ReservationMaterialInventoryMapper;
|
import com.mhd.oms.domain.reservationMaterialInventory.repository.mapper.ReservationMaterialInventoryMapper;
|
||||||
|
import com.mhd.oms.domain.reservationStockInOrder.repository.mapper.ReservationStockInOrderMapper;
|
||||||
import com.mhd.system.api.SystemServiceFeign;
|
import com.mhd.system.api.SystemServiceFeign;
|
||||||
import com.mhd.system.api.WmsServiceFeign;
|
import com.mhd.system.api.WmsServiceFeign;
|
||||||
import com.mhd.system.api.domain.*;
|
import com.mhd.system.api.domain.*;
|
||||||
@@ -93,7 +94,8 @@ public class ExecutionStockOutOrderDomainService {
|
|||||||
private ReservationInventoryAdjustmentRecordMapper inventoryAdjustmentRecordMapper;
|
private ReservationInventoryAdjustmentRecordMapper inventoryAdjustmentRecordMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ReservationMaterialInventoryMapper reservationMaterialInventoryMapper;
|
private ReservationMaterialInventoryMapper reservationMaterialInventoryMapper;
|
||||||
|
@Autowired
|
||||||
|
private ReservationStockInOrderMapper stockInOrderMapper;
|
||||||
/**
|
/**
|
||||||
* 分页查询出库单列表
|
* 分页查询出库单列表
|
||||||
*/
|
*/
|
||||||
@@ -396,6 +398,13 @@ public class ExecutionStockOutOrderDomainService {
|
|||||||
ExecutionStockOutOrder byId = stockOutOrderService.getById(inOrderId);
|
ExecutionStockOutOrder byId = stockOutOrderService.getById(inOrderId);
|
||||||
StockOutOrder stockOutOrder = new StockOutOrder();
|
StockOutOrder stockOutOrder = new StockOutOrder();
|
||||||
BeanUtils.copyProperties(byId, stockOutOrder,"outOrderId");
|
BeanUtils.copyProperties(byId, stockOutOrder,"outOrderId");
|
||||||
|
Long warehouseId = stockOutOrder.getWarehouseId();
|
||||||
|
Long topOrgId = stockInOrderMapper.getTopOrgId(warehouseId);
|
||||||
|
Long orgId = stockInOrderMapper.getOrgId(warehouseId);
|
||||||
|
String orgName = stockInOrderMapper.getOrgName(warehouseId);
|
||||||
|
stockOutOrder.setOrganizationId(orgId);
|
||||||
|
stockOutOrder.setOrganizationName(orgName);
|
||||||
|
stockOutOrder.setTopOrganizationId(topOrgId);
|
||||||
wmsServiceFeign.omsOutOrderAdd(stockOutOrder);
|
wmsServiceFeign.omsOutOrderAdd(stockOutOrder);
|
||||||
|
|
||||||
List<ReservationDeliveryDetailsLink> list = deliveryDetailsLinkService.list(new QueryWrapper<ReservationDeliveryDetailsLink>().lambda().eq(ReservationDeliveryDetailsLink::getOrderNumber, byId.getOutOrderNumber()));
|
List<ReservationDeliveryDetailsLink> list = deliveryDetailsLinkService.list(new QueryWrapper<ReservationDeliveryDetailsLink>().lambda().eq(ReservationDeliveryDetailsLink::getOrderNumber, byId.getOutOrderNumber()));
|
||||||
@@ -415,6 +424,9 @@ public class ExecutionStockOutOrderDomainService {
|
|||||||
for (ExecutionOutMaterialDetail reservationOutMaterialDetail : materialDetailList) {
|
for (ExecutionOutMaterialDetail reservationOutMaterialDetail : materialDetailList) {
|
||||||
OutMaterialDetail outMaterialDetail = new OutMaterialDetail();
|
OutMaterialDetail outMaterialDetail = new OutMaterialDetail();
|
||||||
BeanUtils.copyProperties(reservationOutMaterialDetail, outMaterialDetail,"materialDetailId");
|
BeanUtils.copyProperties(reservationOutMaterialDetail, outMaterialDetail,"materialDetailId");
|
||||||
|
outMaterialDetail.setOrganizationId(orgId);
|
||||||
|
outMaterialDetail.setOrganizationName(orgName);
|
||||||
|
outMaterialDetail.setTopOrganizationId(topOrgId);
|
||||||
outMaterialDetailList.add(outMaterialDetail);
|
outMaterialDetailList.add(outMaterialDetail);
|
||||||
}
|
}
|
||||||
wmsServiceFeign.omsOutOrderAddDetail(outMaterialDetailList);
|
wmsServiceFeign.omsOutOrderAddDetail(outMaterialDetailList);
|
||||||
|
|||||||
+7
-7
@@ -685,9 +685,9 @@ public class ReservationStockInOrderDomainService {
|
|||||||
reservationStockInOrder.setBusinessType("pu_tong_ru_ku");
|
reservationStockInOrder.setBusinessType("pu_tong_ru_ku");
|
||||||
reservationStockInOrder.setReservationOrderSource("客户预约");
|
reservationStockInOrder.setReservationOrderSource("客户预约");
|
||||||
reservationStockInOrder.setWarehouseId(warehouseId);
|
reservationStockInOrder.setWarehouseId(warehouseId);
|
||||||
reservationStockInOrder.setOrganizationId(orgId);
|
// reservationStockInOrder.setOrganizationId(orgId);
|
||||||
reservationStockInOrder.setOrganizationName(orgName);
|
// reservationStockInOrder.setOrganizationName(orgName);
|
||||||
reservationStockInOrder.setTopOrganizationId(topOrgId);
|
// reservationStockInOrder.setTopOrganizationId(topOrgId);
|
||||||
reservationStockInOrder.setWarehouseCode(warehouseCode);
|
reservationStockInOrder.setWarehouseCode(warehouseCode);
|
||||||
reservationStockInOrder.setWarehouseName(warehouseName);
|
reservationStockInOrder.setWarehouseName(warehouseName);
|
||||||
reservationStockInOrder.setBusinessInOrderNumber(inOrderNumber);
|
reservationStockInOrder.setBusinessInOrderNumber(inOrderNumber);
|
||||||
@@ -703,9 +703,9 @@ public class ReservationStockInOrderDomainService {
|
|||||||
ExecutionInMaterialDetail reservationInMaterialDetail = new ExecutionInMaterialDetail();
|
ExecutionInMaterialDetail reservationInMaterialDetail = new ExecutionInMaterialDetail();
|
||||||
BeanUtils.copyProperties(reserveInMaterialDetail, reservationInMaterialDetail,"materialDetailId");
|
BeanUtils.copyProperties(reserveInMaterialDetail, reservationInMaterialDetail,"materialDetailId");
|
||||||
reservationInMaterialDetail.setQuantity(reserveInMaterialDetail.getQuantity());
|
reservationInMaterialDetail.setQuantity(reserveInMaterialDetail.getQuantity());
|
||||||
reservationInMaterialDetail.setOrganizationId(orgId);
|
// reservationInMaterialDetail.setOrganizationId(orgId);
|
||||||
reservationInMaterialDetail.setOrganizationName(orgName);
|
// reservationInMaterialDetail.setOrganizationName(orgName);
|
||||||
reservationInMaterialDetail.setTopOrganizationId(topOrgId);
|
// reservationInMaterialDetail.setTopOrganizationId(topOrgId);
|
||||||
reservationInMaterialDetail.setWarehouseCode(warehouseCode);
|
reservationInMaterialDetail.setWarehouseCode(warehouseCode);
|
||||||
reservationInMaterialDetail.setWarehouseName(warehouseName);
|
reservationInMaterialDetail.setWarehouseName(warehouseName);
|
||||||
reservationInMaterialDetail.setInOrderNumber(reservationStockInOrder.getInOrderNumber());
|
reservationInMaterialDetail.setInOrderNumber(reservationStockInOrder.getInOrderNumber());
|
||||||
@@ -718,13 +718,13 @@ public class ReservationStockInOrderDomainService {
|
|||||||
BigDecimal quantity = details.stream().map(ReservationInMaterialDetail::getQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
BigDecimal quantity = details.stream().map(ReservationInMaterialDetail::getQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
reservationStockInOrder.setQuantity(quantity);
|
reservationStockInOrder.setQuantity(quantity);
|
||||||
executionStockInOrderService.save(reservationStockInOrder);
|
executionStockInOrderService.save(reservationStockInOrder);
|
||||||
|
executionInMaterialDetailService.saveBatch(inMaterialDetailList);
|
||||||
ExecutionStockInOrderDO param = new ExecutionStockInOrderDO();
|
ExecutionStockInOrderDO param = new ExecutionStockInOrderDO();
|
||||||
Long inOrderId1 = reservationStockInOrder.getInOrderId();
|
Long inOrderId1 = reservationStockInOrder.getInOrderId();
|
||||||
List<Long> inOrderIdList1 = new ArrayList<>();
|
List<Long> inOrderIdList1 = new ArrayList<>();
|
||||||
inOrderIdList1.add(inOrderId1);
|
inOrderIdList1.add(inOrderId1);
|
||||||
param.setInOrderIds(inOrderIdList1);
|
param.setInOrderIds(inOrderIdList1);
|
||||||
stockInOrderApplicationService.issueOrder(param);
|
stockInOrderApplicationService.issueOrder(param);
|
||||||
executionInMaterialDetailService.saveBatch(inMaterialDetailList);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,15 +18,15 @@ spring:
|
|||||||
discovery:
|
discovery:
|
||||||
# server-addr: 127.0.0.1:8848
|
# server-addr: 127.0.0.1:8848
|
||||||
# 线上测试环境配置 容器名+端口号
|
# 线上测试环境配置 容器名+端口号
|
||||||
server-addr: 10.33.0.129:6010
|
# server-addr: 10.33.0.129:6010
|
||||||
# server-addr: 10.102.192.30:6848
|
server-addr: 10.102.192.30:6848
|
||||||
username: nacos
|
username: nacos
|
||||||
password: manhuoda@2023
|
password: manhuoda@2023
|
||||||
config:
|
config:
|
||||||
# server-addr: 127.0.0.1:8848
|
# server-addr: 127.0.0.1:8848
|
||||||
# 线上测试环境配置 容器名+端口号
|
# 线上测试环境配置 容器名+端口号
|
||||||
server-addr: 10.33.0.129:6010
|
# server-addr: 10.33.0.129:6010
|
||||||
# server-addr: 10.102.192.30:6848
|
server-addr: 10.102.192.30:6848
|
||||||
username: nacos
|
username: nacos
|
||||||
password: manhuoda@2023
|
password: manhuoda@2023
|
||||||
#线上正式环境
|
#线上正式环境
|
||||||
|
|||||||
+189
-17
@@ -27,6 +27,10 @@ import com.mhd.system.api.domain.WarehouseFeignPO;
|
|||||||
import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO;
|
import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO;
|
||||||
import com.mhd.system.api.domain.cache.SystemServiceCacheUtil;
|
import com.mhd.system.api.domain.cache.SystemServiceCacheUtil;
|
||||||
import com.mhd.system.api.model.LoginUser;
|
import com.mhd.system.api.model.LoginUser;
|
||||||
|
import com.mhd.wms.application.service.stockReceiptOrder.StockReceiptOrderApplicationService;
|
||||||
|
import com.mhd.wms.application.service.stockShelfOrder.StockShelfOrderApplicationService;
|
||||||
|
import com.mhd.wms.domain.deliveTask.entity.DeliveTask;
|
||||||
|
import com.mhd.wms.domain.deliveTask.repository.facade.IDeliveTaskService;
|
||||||
import com.mhd.wms.domain.handoverTaskOrder.entity.HandoverTaskOrder;
|
import com.mhd.wms.domain.handoverTaskOrder.entity.HandoverTaskOrder;
|
||||||
import com.mhd.wms.domain.handoverTaskOrder.repository.facade.IHandoverTaskOrderService;
|
import com.mhd.wms.domain.handoverTaskOrder.repository.facade.IHandoverTaskOrderService;
|
||||||
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
||||||
@@ -45,12 +49,18 @@ import com.mhd.wms.domain.receiptOrderAccount.repository.facade.IReceiptOrderAcc
|
|||||||
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
||||||
import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
|
import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
|
||||||
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
||||||
|
import com.mhd.wms.domain.stockInOrder.repository.mapper.StockInOrderMapper;
|
||||||
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
|
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
|
||||||
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
||||||
import com.mhd.wms.domain.stockInOrder.repository.vo.GwInDetail;
|
import com.mhd.wms.domain.stockInOrder.repository.vo.GwInDetail;
|
||||||
import com.mhd.wms.domain.stockInOrder.repository.vo.GwStockInOrder;
|
import com.mhd.wms.domain.stockInOrder.repository.vo.GwStockInOrder;
|
||||||
import com.mhd.wms.domain.stockInOrder.service.StockInOrderDomainService;
|
import com.mhd.wms.domain.stockInOrder.service.StockInOrderDomainService;
|
||||||
import com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper;
|
import com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper;
|
||||||
|
import com.mhd.wms.domain.stockReceiptOrder.service.StockReceiptOrderDomainService;
|
||||||
|
import com.mhd.wms.domain.stockShelfOrder.entity.StockShelfOrder;
|
||||||
|
import com.mhd.wms.domain.stockShelfOrder.repository.facade.IStockShelfOrderService;
|
||||||
|
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
|
||||||
|
import com.mhd.wms.domain.stockShelfOrder.service.StockShelfOrderDomainService;
|
||||||
import com.mhd.wms.interfaces.dto.stockInOrder.StockInOrderDTO;
|
import com.mhd.wms.interfaces.dto.stockInOrder.StockInOrderDTO;
|
||||||
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
||||||
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
|
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
|
||||||
@@ -70,6 +80,7 @@ import org.apache.poi.ss.usermodel.*;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@@ -92,6 +103,10 @@ import java.util.stream.Collectors;
|
|||||||
public class StockInOrderApplicationService {
|
public class StockInOrderApplicationService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private StockInOrderDomainService stockInOrderDomainService;
|
private StockInOrderDomainService stockInOrderDomainService;
|
||||||
|
@Autowired
|
||||||
|
private StockReceiptOrderDomainService stockReceiptOrderDomainService;
|
||||||
|
@Autowired
|
||||||
|
private StockShelfOrderDomainService stockShelfOrderDomainService;
|
||||||
@Resource
|
@Resource
|
||||||
private UserServiceFeign userServiceFeign;
|
private UserServiceFeign userServiceFeign;
|
||||||
@Resource
|
@Resource
|
||||||
@@ -109,6 +124,8 @@ public class StockInOrderApplicationService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IStockReceiptOrderService stockReceiptOrderService;
|
private IStockReceiptOrderService stockReceiptOrderService;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private IStockShelfOrderService stockShelfOrderService;
|
||||||
|
@Autowired
|
||||||
private IReceiptMaterialDetailService receiptMaterialDetailService;
|
private IReceiptMaterialDetailService receiptMaterialDetailService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IStockOutOrderService stockOutOrderService;
|
private IStockOutOrderService stockOutOrderService;
|
||||||
@@ -119,7 +136,15 @@ public class StockInOrderApplicationService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private StockOutOrderMapper stockOutOrderMapper;
|
private StockOutOrderMapper stockOutOrderMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private StockInOrderMapper stockInOrderMapper;
|
||||||
|
@Autowired
|
||||||
private PickingMaterialDetailMapper pickingMaterialDetailMapper;
|
private PickingMaterialDetailMapper pickingMaterialDetailMapper;
|
||||||
|
@Autowired
|
||||||
|
private StockReceiptOrderApplicationService stockReceiptOrderApplicationService;
|
||||||
|
@Autowired
|
||||||
|
private IDeliveTaskService deliveTaskService;
|
||||||
|
@Autowired
|
||||||
|
private StockShelfOrderApplicationService stockShelfOrderApplicationService;
|
||||||
private static final String PUSH_API_URL = "http://10.102.192.15/nagu-erp-api/transfer/pushData";
|
private static final String PUSH_API_URL = "http://10.102.192.15/nagu-erp-api/transfer/pushData";
|
||||||
private static final String API_NAME = "save_order_i";
|
private static final String API_NAME = "save_order_i";
|
||||||
private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
|
private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
|
||||||
@@ -541,31 +566,171 @@ public class StockInOrderApplicationService {
|
|||||||
*/
|
*/
|
||||||
public Boolean auditState(StockInOrderDO stockInOrderDO){
|
public Boolean auditState(StockInOrderDO stockInOrderDO){
|
||||||
Boolean b = stockInOrderDomainService.auditState(stockInOrderDO);
|
Boolean b = stockInOrderDomainService.auditState(stockInOrderDO);
|
||||||
// List<Long> inOrderIds = stockInOrderDO.getInOrderIds();
|
|
||||||
// if (inOrderIds != null && !inOrderIds.isEmpty()) {
|
|
||||||
// StockInOrder stockInOrder = stockInOrderService.getById(inOrderIds.get(0));
|
|
||||||
// Integer needCustomsDeclaration = stockInOrder.getNeedCustomsDeclaration();
|
|
||||||
// Integer auditStatus = stockInOrder.getAuditStatus();
|
|
||||||
// try {
|
|
||||||
// if (needCustomsDeclaration != null && needCustomsDeclaration == 1 && auditStatus != null && auditStatus == 3) {
|
|
||||||
// Long inOrderId = stockInOrder.getInOrderId();
|
|
||||||
// List<Long> idList = new ArrayList<>();
|
|
||||||
// idList.add(inOrderId);
|
|
||||||
// //batchPush(idList);
|
|
||||||
// }
|
|
||||||
// } catch (Exception e) {
|
|
||||||
// throw new ServiceException("推送关务系统失败!");
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Boolean receiptEasyMode(StockInOrderDO stockInOrderDO){
|
||||||
|
Boolean b = stockInOrderDomainService.receiptEasyMode(stockInOrderDO);
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean updateQuantity( BigDecimal quantity, Long materialDetailId,BigDecimal area,
|
||||||
|
BigDecimal volume,BigDecimal weight){
|
||||||
|
Boolean result = false;
|
||||||
|
InMaterialDetail inMaterialDetail = inMaterialDetailService.getById(materialDetailId);
|
||||||
|
if (inMaterialDetail != null) {
|
||||||
|
inMaterialDetail.setQuantity(quantity);
|
||||||
|
inMaterialDetail.setTotalArea(area);
|
||||||
|
inMaterialDetail.setTotalVolume(volume);
|
||||||
|
inMaterialDetail.setTotalNetWeight(weight);
|
||||||
|
inMaterialDetail.setTotalGrossWeight(weight);
|
||||||
|
boolean b = inMaterialDetailService.updateById(inMaterialDetail);
|
||||||
|
Long uniqueId = inMaterialDetail.getUniqueId();
|
||||||
|
ReceiptMaterialDetail one = receiptMaterialDetailService.getOne(new LambdaQueryWrapper<ReceiptMaterialDetail>()
|
||||||
|
.eq(ReceiptMaterialDetail::getInUniqueId, uniqueId)
|
||||||
|
.eq(ReceiptMaterialDetail::getDelFlag, 1));
|
||||||
|
one.setQuantity(quantity);
|
||||||
|
one.setTotalArea(area);
|
||||||
|
one.setTotalVolume(volume);
|
||||||
|
one.setTotalNetWeight(weight);
|
||||||
|
one.setTotalGrossWeight(weight);
|
||||||
|
boolean b1 = receiptMaterialDetailService.updateById(one);
|
||||||
|
result = b && b1;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean shelfEasyMode(StockInOrderDO stockInOrderDO){
|
||||||
|
Boolean b = stockInOrderDomainService.shelfEasyMode(stockInOrderDO);
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean checkUploadEasyMode(StockInOrderDO stockInOrderDO){
|
||||||
|
String inOrderNumber = stockInOrderDO.getInOrderNumber();
|
||||||
|
StockReceiptOrder stockReceiptOrder = stockReceiptOrderService.getOne(new LambdaQueryWrapper<StockReceiptOrder>()
|
||||||
|
.eq(StockReceiptOrder::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(StockReceiptOrder::getDelFlag, 1), false);
|
||||||
|
stockReceiptOrder.setStatus(3);
|
||||||
|
boolean b = stockReceiptOrderService.updateById(stockReceiptOrder);
|
||||||
|
StockShelfOrder stockShelfOrder = stockShelfOrderService.getOne(new LambdaQueryWrapper<StockShelfOrder>()
|
||||||
|
.eq(StockShelfOrder::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(StockShelfOrder::getDelFlag, 1), false);
|
||||||
|
|
||||||
|
//上架任务下发
|
||||||
|
StockShelfOrderDO stockShelfOrderDO = new StockShelfOrderDO();
|
||||||
|
|
||||||
|
|
||||||
|
//完成上架
|
||||||
|
Boolean b1 = stockShelfOrderDomainService.completeUpShelf(stockShelfOrder.getShelfOrderId());
|
||||||
|
|
||||||
|
String inOrderId = stockInOrderDO.getInOrderNumber();
|
||||||
|
StockInOrder stockInOrder = stockInOrderService.getOne(new LambdaQueryWrapper<StockInOrder>()
|
||||||
|
.eq(StockInOrder::getInOrderNumber, inOrderId)
|
||||||
|
.eq(StockInOrder::getDelFlag,1) ,false);
|
||||||
|
if (stockInOrder != null) {
|
||||||
|
DeliveTask deliveTask = deliveTaskService.getOne(new LambdaQueryWrapper<DeliveTask>()
|
||||||
|
.eq(DeliveTask::getTrackingNumber, stockShelfOrder.getShelfOrderNumber())
|
||||||
|
.eq(DeliveTask::getDelFlag, 1));
|
||||||
|
if (deliveTask != null) {
|
||||||
|
deliveTask.setOperatorsBy(stockInOrder.getWorkUserId());
|
||||||
|
deliveTask.setOperatorsName(stockInOrder.getWorkUserName());
|
||||||
|
deliveTask.setTaskStatus(2);
|
||||||
|
deliveTaskService.updateById(deliveTask);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return b && b1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void omsOrderAdd(StockInOrder stockInOrder){
|
public void omsOrderAdd(StockInOrder stockInOrder){
|
||||||
|
// 设置任务下发用户ID
|
||||||
|
String userId = stockInOrderMapper.queryWarehouseUserId(stockInOrder.getOrganizationId(), stockInOrder.getWarehouseId(), stockInOrder.getTopOrganizationId());
|
||||||
|
stockInOrder.setTaskIssueUserId(userId);
|
||||||
stockInOrderDomainService.omsOrderAdd(stockInOrder);
|
stockInOrderDomainService.omsOrderAdd(stockInOrder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void acceptTask(StockInOrder stockInOrder){
|
||||||
|
Long workUserId = stockInOrder.getWorkUserId();
|
||||||
|
String workUserName = stockInOrder.getWorkUserName();
|
||||||
|
if (workUserId == null || workUserName == null) {
|
||||||
|
throw new ServiceException("作业人员id或名称为空!");
|
||||||
|
}
|
||||||
|
|
||||||
|
//pda任务中心下发
|
||||||
|
StockReceiptOrderDO stockReceiptOrderDO = new StockReceiptOrderDO();
|
||||||
|
stockReceiptOrderDO.setOperatorsBy(workUserId);
|
||||||
|
stockReceiptOrderDO.setOperatorsName(workUserName);
|
||||||
|
Long inOrderId = stockInOrder.getInOrderId();
|
||||||
|
StockInOrder stock = stockInOrderService.getById(inOrderId);
|
||||||
|
String inOrderNumber = stock.getInOrderNumber();
|
||||||
|
StockReceiptOrder stockReceiptOrder = stockReceiptOrderService.getOne(new LambdaQueryWrapper<StockReceiptOrder>()
|
||||||
|
.eq(StockReceiptOrder::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(StockReceiptOrder::getDelFlag, 1), false);
|
||||||
|
if (stockReceiptOrder == null) {
|
||||||
|
throw new ServiceException("收货单不存在!");
|
||||||
|
}
|
||||||
|
List<Long> ids = new ArrayList<>();
|
||||||
|
ids.add(stockReceiptOrder.getReceiptOrderId());
|
||||||
|
stockReceiptOrderDO.setReceiptOrderIds(ids);
|
||||||
|
// stockReceiptOrderApplicationService.taskDistribution(stockReceiptOrderDO);
|
||||||
|
DeliveTask deliveTask = deliveTaskService.getOne(new LambdaQueryWrapper<DeliveTask>()
|
||||||
|
.eq(DeliveTask::getTrackingNumber, stockReceiptOrder.getReceiptOrderNumber())
|
||||||
|
.eq(DeliveTask::getDelFlag, 1));
|
||||||
|
if (deliveTask != null) {
|
||||||
|
deliveTask.setOperatorsBy(workUserId);
|
||||||
|
deliveTask.setOperatorsName(workUserName);
|
||||||
|
deliveTask.setTaskStatus(2);
|
||||||
|
deliveTaskService.updateById(deliveTask);
|
||||||
|
}
|
||||||
|
|
||||||
|
stockInOrderService.update(null, new LambdaUpdateWrapper<StockInOrder>()
|
||||||
|
.set(StockInOrder::getWorkUserId, workUserId)
|
||||||
|
.set(StockInOrder::getWorkUserName, workUserName)
|
||||||
|
.set(StockInOrder::getWorkTaskReceiveStatus, "1")
|
||||||
|
.eq(StockInOrder::getInOrderId, stockInOrder.getInOrderId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removeTask(StockInOrderDO stockInOrder){
|
||||||
|
Long inOrderId = stockInOrder.getInOrderId();
|
||||||
|
String removeUserId = stockInOrder.getRemoveUserId();
|
||||||
|
if (removeUserId == null) {
|
||||||
|
throw new ServiceException("移除任务用户ID为空!");
|
||||||
|
}
|
||||||
|
if (inOrderId == null) {
|
||||||
|
throw new ServiceException("入库单不存在!");
|
||||||
|
}
|
||||||
|
StockInOrder stock = stockInOrderService.getById(inOrderId);
|
||||||
|
if (stock == null) {
|
||||||
|
throw new ServiceException("入库单不存在!");
|
||||||
|
}
|
||||||
|
String taskIssueUserId = stock.getTaskIssueUserId();
|
||||||
|
if (taskIssueUserId == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String[] split = taskIssueUserId.split(",");
|
||||||
|
List<String> taskIds = Arrays.asList(split);
|
||||||
|
if (taskIds != null && taskIds.size() > 0) {
|
||||||
|
// 删除匹配元素
|
||||||
|
//taskIds.removeIf(str -> removeUserId.equals(str));
|
||||||
|
taskIds = taskIds.stream()
|
||||||
|
.filter(str -> !Objects.equals(removeUserId, str))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if (taskIds != null && taskIds.size() > 0) {
|
||||||
|
String newTaskIssueUserId = String.join(",", taskIds);
|
||||||
|
stock.setTaskIssueUserId(newTaskIssueUserId);
|
||||||
|
stockInOrderService.updateById(stock);
|
||||||
|
} else {
|
||||||
|
stockInOrderService.update(null ,new LambdaUpdateWrapper<StockInOrder>()
|
||||||
|
.set(StockInOrder::getTaskIssueUserId, null)
|
||||||
|
.eq(StockInOrder::getInOrderId, stockInOrder.getInOrderId()));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw new ServiceException("当前订单没有任务人员!");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void omsOrderAddDetail(List<InMaterialDetail> inMaterialDetails){
|
public void omsOrderAddDetail(List<InMaterialDetail> inMaterialDetails){
|
||||||
stockInOrderDomainService.omsOrderAddDetail(inMaterialDetails);
|
stockInOrderDomainService.omsOrderAddDetail(inMaterialDetails);
|
||||||
}
|
}
|
||||||
@@ -1796,6 +1961,9 @@ public class StockInOrderApplicationService {
|
|||||||
// 设置数据字典键值
|
// 设置数据字典键值
|
||||||
setDataDict(order);
|
setDataDict(order);
|
||||||
|
|
||||||
|
// 设置任务下发用户ID
|
||||||
|
String userId = stockInOrderMapper.queryWarehouseUserId(order.getOrganizationId(), order.getWarehouseId(), order.getTopOrganizationId());
|
||||||
|
order.setTaskIssueUserId(userId);
|
||||||
orderList.add(order);
|
orderList.add(order);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1915,6 +2083,10 @@ public class StockInOrderApplicationService {
|
|||||||
if (stockInOrderDO.getWarehouseId() == null) {
|
if (stockInOrderDO.getWarehouseId() == null) {
|
||||||
throw new ServiceException("仓库ID不能为空");
|
throw new ServiceException("仓库ID不能为空");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//任务下发用户ID
|
||||||
|
String userIds = stockInOrderMapper.queryWarehouseUserId(stockInOrderDO.getOrganizationId(), stockInOrderDO.getWarehouseId(), stockInOrderDO.getTopOrganizationId());
|
||||||
|
stockInOrderDO.setTaskIssueUserId(userIds);
|
||||||
AjaxResult ajaxResult = systemServiceFeign.getWarehouseInfoByWarehouseId(stockInOrderDO.getWarehouseId());
|
AjaxResult ajaxResult = systemServiceFeign.getWarehouseInfoByWarehouseId(stockInOrderDO.getWarehouseId());
|
||||||
if (ajaxResult == null) {
|
if (ajaxResult == null) {
|
||||||
throw new ServiceException("获取仓库信息失败:返回结果为空,仓库ID:" + stockInOrderDO.getWarehouseId());
|
throw new ServiceException("获取仓库信息失败:返回结果为空,仓库ID:" + stockInOrderDO.getWarehouseId());
|
||||||
|
|||||||
+117
-1
@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSON;
|
|||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.mhd.common.core.constant.SecurityConstants;
|
import com.mhd.common.core.constant.SecurityConstants;
|
||||||
import com.mhd.common.core.constant.SnowFlakeConstants;
|
import com.mhd.common.core.constant.SnowFlakeConstants;
|
||||||
import com.mhd.common.core.domain.entity.R;
|
import com.mhd.common.core.domain.entity.R;
|
||||||
@@ -26,6 +27,8 @@ import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO;
|
|||||||
import com.mhd.system.api.domain.cache.SystemServiceCacheUtil;
|
import com.mhd.system.api.domain.cache.SystemServiceCacheUtil;
|
||||||
import com.mhd.system.api.model.LoginUser;
|
import com.mhd.system.api.model.LoginUser;
|
||||||
import com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO;
|
import com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO;
|
||||||
|
import com.mhd.wms.domain.deliveTask.entity.DeliveTask;
|
||||||
|
import com.mhd.wms.domain.deliveTask.repository.facade.IDeliveTaskService;
|
||||||
import com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink;
|
import com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink;
|
||||||
import com.mhd.wms.domain.deliveryDetailsLink.repository.facade.IDeliveryDetailsLinkService;
|
import com.mhd.wms.domain.deliveryDetailsLink.repository.facade.IDeliveryDetailsLinkService;
|
||||||
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
||||||
@@ -47,9 +50,13 @@ import com.mhd.wms.domain.pickingMaterialDetail.repository.facade.IPickingMateri
|
|||||||
import com.mhd.wms.domain.pickingMaterialDetail.repository.mapper.PickingMaterialDetailMapper;
|
import com.mhd.wms.domain.pickingMaterialDetail.repository.mapper.PickingMaterialDetailMapper;
|
||||||
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingAggByOutOrderRow;
|
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingAggByOutOrderRow;
|
||||||
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO;
|
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO;
|
||||||
|
import com.mhd.wms.domain.pickingOrder.entity.PickingOrder;
|
||||||
|
import com.mhd.wms.domain.pickingOrder.repository.facade.IPickingOrderService;
|
||||||
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
||||||
import com.mhd.wms.domain.receiptOrderAccount.entity.ReceiptOrderAccount;
|
import com.mhd.wms.domain.receiptOrderAccount.entity.ReceiptOrderAccount;
|
||||||
import com.mhd.wms.domain.receiptOrderAccount.repository.facade.IReceiptOrderAccountService;
|
import com.mhd.wms.domain.receiptOrderAccount.repository.facade.IReceiptOrderAccountService;
|
||||||
|
import com.mhd.wms.domain.stockInOrder.repository.mapper.StockInOrderMapper;
|
||||||
|
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
||||||
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
||||||
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
|
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
|
||||||
import com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper;
|
import com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper;
|
||||||
@@ -109,6 +116,8 @@ public class StockOutOrderApplicationService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IPickingMaterialDetailService pickingMaterialDetailService;
|
private IPickingMaterialDetailService pickingMaterialDetailService;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private IPickingOrderService pickingOrderService;
|
||||||
|
@Autowired
|
||||||
private IReceiptOrderAccountService receiptOrderAccountService;
|
private IReceiptOrderAccountService receiptOrderAccountService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IDeliveryDetailsLinkService deliveryDetailsLinkService;
|
private IDeliveryDetailsLinkService deliveryDetailsLinkService;
|
||||||
@@ -117,7 +126,11 @@ public class StockOutOrderApplicationService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private StockOutOrderMapper stockOutOrderMapper;
|
private StockOutOrderMapper stockOutOrderMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private StockInOrderMapper stockInOrderMapper;
|
||||||
|
@Autowired
|
||||||
private PickingMaterialDetailMapper pickingMaterialDetailMapper;
|
private PickingMaterialDetailMapper pickingMaterialDetailMapper;
|
||||||
|
@Autowired
|
||||||
|
private IDeliveTaskService deliveTaskService;
|
||||||
private static final String PUSH_API_URL = "http://10.102.192.15/nagu-erp-api/transfer/pushData";
|
private static final String PUSH_API_URL = "http://10.102.192.15/nagu-erp-api/transfer/pushData";
|
||||||
private static final String API_NAME = "save_order_e";
|
private static final String API_NAME = "save_order_e";
|
||||||
private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
|
private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
|
||||||
@@ -294,14 +307,20 @@ public class StockOutOrderApplicationService {
|
|||||||
*/
|
*/
|
||||||
public Boolean insert(StockOutOrderDO stockOutOrderDO) {
|
public Boolean insert(StockOutOrderDO stockOutOrderDO) {
|
||||||
//设置仓库
|
//设置仓库
|
||||||
//setWarehouseInfo(stockOutOrderDO);
|
setWarehouseInfo(stockOutOrderDO);
|
||||||
//设置货主信息
|
//设置货主信息
|
||||||
shipperParam(stockOutOrderDO);
|
shipperParam(stockOutOrderDO);
|
||||||
//设置客户信息
|
//设置客户信息
|
||||||
customerParam(stockOutOrderDO);
|
customerParam(stockOutOrderDO);
|
||||||
|
if (stockOutOrderDO.getOrderTypeCode() == null) {
|
||||||
stockOutOrderDO.setOrderTypeCode("pu_tong_chu_ku");
|
stockOutOrderDO.setOrderTypeCode("pu_tong_chu_ku");
|
||||||
|
}
|
||||||
|
if (stockOutOrderDO.getBusinessType() == null) {
|
||||||
stockOutOrderDO.setBusinessType("pu_tong_chu_ku");
|
stockOutOrderDO.setBusinessType("pu_tong_chu_ku");
|
||||||
|
}
|
||||||
|
if (stockOutOrderDO.getOrderTypeName() == null) {
|
||||||
stockOutOrderDO.setOrderTypeName("普通出库");
|
stockOutOrderDO.setOrderTypeName("普通出库");
|
||||||
|
}
|
||||||
//设置数据字典键值
|
//设置数据字典键值
|
||||||
//setDataDict(stockOutOrderDO);
|
//setDataDict(stockOutOrderDO);
|
||||||
return stockOutOrderDomainService.insert(stockOutOrderDO);
|
return stockOutOrderDomainService.insert(stockOutOrderDO);
|
||||||
@@ -311,6 +330,8 @@ public class StockOutOrderApplicationService {
|
|||||||
* 修改出库单
|
* 修改出库单
|
||||||
*/
|
*/
|
||||||
public Boolean update(StockOutOrderDO stockOutOrderDO) {
|
public Boolean update(StockOutOrderDO stockOutOrderDO) {
|
||||||
|
//设置仓库
|
||||||
|
setWarehouseInfo(stockOutOrderDO);
|
||||||
return stockOutOrderDomainService.update(stockOutOrderDO);
|
return stockOutOrderDomainService.update(stockOutOrderDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1128,6 +1149,28 @@ public class StockOutOrderApplicationService {
|
|||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Boolean adjustPicking(StockOutOrderDO stockOutOrderDO){
|
||||||
|
Boolean b = stockOutOrderDomainService.adjustPicking(stockOutOrderDO);
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean checkUpload(StockOutOrderDO stockOutOrderDO){
|
||||||
|
//pda复核下发
|
||||||
|
// String outOrderNumber = stockOutOrderDO.getOutOrderNumber();
|
||||||
|
// StockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper<StockOutOrder>().lambda()
|
||||||
|
// .eq(StockOutOrder::getOutOrderNumber, outOrderNumber)
|
||||||
|
// .eq(StockOutOrder::getDelFlag, 1), false);
|
||||||
|
// stockOutOrderDO.setCheckOperatorsBy(stockOutOrder.getWorkUserId());
|
||||||
|
// List<Long> outOrderIds = new ArrayList<>();
|
||||||
|
// outOrderIds.add(stockOutOrder.getOutOrderId());
|
||||||
|
// stockOutOrderDO.setOutOrderIds(outOrderIds);
|
||||||
|
// checkTaskDistribution(stockOutOrderDO);
|
||||||
|
|
||||||
|
Boolean b = stockOutOrderDomainService.checkUpload(stockOutOrderDO);
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
public Boolean genPickingOrderByOms(StockOutOrderDO stockOutOrderDO){
|
public Boolean genPickingOrderByOms(StockOutOrderDO stockOutOrderDO){
|
||||||
Boolean b = stockOutOrderDomainService.genPickingOrderByOms(stockOutOrderDO);
|
Boolean b = stockOutOrderDomainService.genPickingOrderByOms(stockOutOrderDO);
|
||||||
// List<Long> outOrderIds = stockOutOrderDO.getOutOrderIds();
|
// List<Long> outOrderIds = stockOutOrderDO.getOutOrderIds();
|
||||||
@@ -1354,6 +1397,9 @@ public class StockOutOrderApplicationService {
|
|||||||
if (stockOutOrderDO.getWarehouseId() == null) {
|
if (stockOutOrderDO.getWarehouseId() == null) {
|
||||||
throw new ServiceException("仓库ID不能为空");
|
throw new ServiceException("仓库ID不能为空");
|
||||||
}
|
}
|
||||||
|
// 获取任务下发用户ID
|
||||||
|
String userId = stockInOrderMapper.queryWarehouseUserId(stockOutOrderDO.getOrganizationId(), stockOutOrderDO.getWarehouseId(), stockOutOrderDO.getTopOrganizationId());
|
||||||
|
stockOutOrderDO.setTaskIssueUserId(userId);
|
||||||
AjaxResult ajaxResult = systemServiceFeign.getWarehouseInfoByWarehouseId(stockOutOrderDO.getWarehouseId());
|
AjaxResult ajaxResult = systemServiceFeign.getWarehouseInfoByWarehouseId(stockOutOrderDO.getWarehouseId());
|
||||||
if(!"200".equals(String.valueOf(ajaxResult.get("code")))){
|
if(!"200".equals(String.valueOf(ajaxResult.get("code")))){
|
||||||
throw new ServiceException("获取仓库信息失败");
|
throw new ServiceException("获取仓库信息失败");
|
||||||
@@ -1603,6 +1649,76 @@ public class StockOutOrderApplicationService {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public void acceptTask(StockOutOrder stockOutOrder){
|
||||||
|
Long workUserId = stockOutOrder.getWorkUserId();
|
||||||
|
String workUserName = stockOutOrder.getWorkUserName();
|
||||||
|
if (workUserId == null || workUserName == null) {
|
||||||
|
throw new ServiceException("作业人员id或名称为空!");
|
||||||
|
}
|
||||||
|
PickingOrder pickingOrder = pickingOrderService.getOne(new LambdaQueryWrapper<PickingOrder>()
|
||||||
|
.eq(PickingOrder::getOrderNumber, stockOutOrder.getOutOrderNumber())
|
||||||
|
.eq(PickingOrder::getDelFlag, 1),false);
|
||||||
|
if (pickingOrder != null) {
|
||||||
|
DeliveTask deliveTask = deliveTaskService.getOne(new LambdaQueryWrapper<DeliveTask>()
|
||||||
|
.eq(DeliveTask::getTrackingNumber, pickingOrder.getPickingOrderNumber())
|
||||||
|
.eq(DeliveTask::getDelFlag, 1));
|
||||||
|
if (deliveTask != null) {
|
||||||
|
deliveTask.setOperatorsBy(workUserId);
|
||||||
|
deliveTask.setOperatorsName(workUserName);
|
||||||
|
deliveTask.setTaskStatus(2);
|
||||||
|
deliveTaskService.updateById(deliveTask);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stockOutOrderService.update(null, new LambdaUpdateWrapper<StockOutOrder>()
|
||||||
|
.set(StockOutOrder::getWorkUserId, workUserId)
|
||||||
|
.set(StockOutOrder::getWorkUserName, workUserName)
|
||||||
|
.set(StockOutOrder::getWorkTaskReceiveStatus, "1")
|
||||||
|
.eq(StockOutOrder::getOutOrderId, stockOutOrder.getOutOrderId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removeTask(StockOutOrderDO stockOutOrder){
|
||||||
|
Long outOrderId = stockOutOrder.getOutOrderId();
|
||||||
|
String removeUserId = stockOutOrder.getRemoveUserId();
|
||||||
|
if (removeUserId == null) {
|
||||||
|
throw new ServiceException("移除任务用户ID为空!");
|
||||||
|
}
|
||||||
|
if (outOrderId == null) {
|
||||||
|
throw new ServiceException("出库单不存在!");
|
||||||
|
}
|
||||||
|
StockOutOrder stock = stockOutOrderService.getById(outOrderId);
|
||||||
|
if (stock == null) {
|
||||||
|
throw new ServiceException("入库单不存在!");
|
||||||
|
}
|
||||||
|
String taskIssueUserId = stock.getTaskIssueUserId();
|
||||||
|
if (taskIssueUserId == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String[] split = taskIssueUserId.split(",");
|
||||||
|
List<String> taskIds = Arrays.asList(split);
|
||||||
|
if (taskIds != null && taskIds.size() > 0) {
|
||||||
|
// 删除匹配元素
|
||||||
|
//taskIds.removeIf(str -> removeUserId.equals(str));
|
||||||
|
taskIds = taskIds.stream()
|
||||||
|
.filter(str -> !Objects.equals(removeUserId, str))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if (taskIds != null && taskIds.size() > 0) {
|
||||||
|
String newTaskIssueUserId = String.join(",", taskIds);
|
||||||
|
stock.setTaskIssueUserId(newTaskIssueUserId);
|
||||||
|
stockOutOrderService.updateById(stock);
|
||||||
|
} else {
|
||||||
|
stockOutOrderService.update(null ,new LambdaUpdateWrapper<StockOutOrder>()
|
||||||
|
.set(StockOutOrder::getTaskIssueUserId, null)
|
||||||
|
.eq(StockOutOrder::getOutOrderId, stockOutOrder.getOutOrderId()));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw new ServiceException("当前订单不存在任务人员!");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void omsOrderAdd(StockOutOrder stockOutOrder){
|
public void omsOrderAdd(StockOutOrder stockOutOrder){
|
||||||
stockOutOrderDomainService.omsOrderAdd(stockOutOrder);
|
stockOutOrderDomainService.omsOrderAdd(stockOutOrder);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -414,4 +414,8 @@ public class InMaterialDetail extends BaseVOEntity {
|
|||||||
private BigDecimal erpPriceGw;
|
private BigDecimal erpPriceGw;
|
||||||
//申报总价
|
//申报总价
|
||||||
private BigDecimal amountGw;
|
private BigDecimal amountGw;
|
||||||
|
|
||||||
|
//仓码简易模式收货上架
|
||||||
|
private BigDecimal collectQuantity;
|
||||||
|
private String shelfJson;
|
||||||
}
|
}
|
||||||
+4
@@ -439,4 +439,8 @@ public class InMaterialDetailPO extends StockInOrderBasePO {
|
|||||||
//申报总价
|
//申报总价
|
||||||
private BigDecimal amountGw;
|
private BigDecimal amountGw;
|
||||||
private String khdm;
|
private String khdm;
|
||||||
|
|
||||||
|
//仓码简易模式收货上架
|
||||||
|
private BigDecimal collectQuantity;
|
||||||
|
private String shelfJson;
|
||||||
}
|
}
|
||||||
+4
@@ -404,4 +404,8 @@ public class InMaterialDetailDO extends StockInOrderBaseDO {
|
|||||||
private BigDecimal erpPriceGw;
|
private BigDecimal erpPriceGw;
|
||||||
//申报总价
|
//申报总价
|
||||||
private BigDecimal amountGw;
|
private BigDecimal amountGw;
|
||||||
|
|
||||||
|
//仓码简易模式收货上架
|
||||||
|
private BigDecimal collectQuantity;
|
||||||
|
private String shelfJson;
|
||||||
}
|
}
|
||||||
+13
@@ -528,4 +528,17 @@ public class OutMaterialDetail extends BaseVOEntity {
|
|||||||
private String bondInvtNoGw;
|
private String bondInvtNoGw;
|
||||||
private String whNoGw;
|
private String whNoGw;
|
||||||
private String seatNoGw;
|
private String seatNoGw;
|
||||||
|
|
||||||
|
//仓码简易模式
|
||||||
|
@ApiModelProperty("出库重量")
|
||||||
|
@Excel(name = "出库重量")
|
||||||
|
private BigDecimal outWeight;
|
||||||
|
|
||||||
|
@ApiModelProperty("出库体积")
|
||||||
|
@Excel(name = "出库体积")
|
||||||
|
private BigDecimal outVolume;
|
||||||
|
|
||||||
|
@ApiModelProperty("出库数量")
|
||||||
|
@Excel(name = "出库数量")
|
||||||
|
private BigDecimal outQuantity;
|
||||||
}
|
}
|
||||||
+12
@@ -568,4 +568,16 @@ public class OutMaterialDetailPO extends StockOutOrderBaseDO {
|
|||||||
private String whNoGw;
|
private String whNoGw;
|
||||||
private String seatNoGw;
|
private String seatNoGw;
|
||||||
private String khdm;
|
private String khdm;
|
||||||
|
//仓码简易模式
|
||||||
|
@ApiModelProperty("出库重量")
|
||||||
|
@Excel(name = "出库重量")
|
||||||
|
private BigDecimal outWeight;
|
||||||
|
|
||||||
|
@ApiModelProperty("出库体积")
|
||||||
|
@Excel(name = "出库体积")
|
||||||
|
private BigDecimal outVolume;
|
||||||
|
|
||||||
|
@ApiModelProperty("出库数量")
|
||||||
|
@Excel(name = "出库数量")
|
||||||
|
private BigDecimal outQuantity;
|
||||||
}
|
}
|
||||||
+12
@@ -520,4 +520,16 @@ public class OutMaterialDetailDO extends BaseVOEntity {
|
|||||||
private String bondInvtNoGw;
|
private String bondInvtNoGw;
|
||||||
private String whNoGw;
|
private String whNoGw;
|
||||||
private String seatNoGw;
|
private String seatNoGw;
|
||||||
|
//仓码简易模式
|
||||||
|
@ApiModelProperty("出库重量")
|
||||||
|
@Excel(name = "出库重量")
|
||||||
|
private BigDecimal outWeight;
|
||||||
|
|
||||||
|
@ApiModelProperty("出库体积")
|
||||||
|
@Excel(name = "出库体积")
|
||||||
|
private BigDecimal outVolume;
|
||||||
|
|
||||||
|
@ApiModelProperty("出库数量")
|
||||||
|
@Excel(name = "出库数量")
|
||||||
|
private BigDecimal outQuantity;
|
||||||
}
|
}
|
||||||
@@ -382,4 +382,14 @@ public class StockInOrder extends BaseVOEntity {
|
|||||||
|
|
||||||
@ApiModelProperty("推送人姓名")
|
@ApiModelProperty("推送人姓名")
|
||||||
private String pushByName;
|
private String pushByName;
|
||||||
|
|
||||||
|
@ApiModelProperty("作业人用户ID")
|
||||||
|
private Long workUserId;
|
||||||
|
@ApiModelProperty("作业人用户")
|
||||||
|
private String workUserName;
|
||||||
|
@ApiModelProperty("作业任务接收状态")
|
||||||
|
private String workTaskReceiveStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务下发用户ID")
|
||||||
|
private String taskIssueUserId;
|
||||||
}
|
}
|
||||||
+2
@@ -30,4 +30,6 @@ public interface StockInOrderMapper extends BaseMapper<StockInOrder>
|
|||||||
List<InMaterialDetailPO> queryNoticePrintDetail(StockInOrderDO stockInOrderDO);
|
List<InMaterialDetailPO> queryNoticePrintDetail(StockInOrderDO stockInOrderDO);
|
||||||
|
|
||||||
StockInOrderPO selectByInOrderNumber(@Param("inOrderNumber") String inOrderNumber);
|
StockInOrderPO selectByInOrderNumber(@Param("inOrderNumber") String inOrderNumber);
|
||||||
|
|
||||||
|
String queryWarehouseUserId(@Param("organizationId") Long organizationId, @Param("warehouseId") Long warehouseId, @Param("topOrganizationId") Long topOrganizationId);
|
||||||
}
|
}
|
||||||
+9
@@ -444,4 +444,13 @@ public class StockInOrderPO extends BaseVOEntity {
|
|||||||
private String pushByName;
|
private String pushByName;
|
||||||
private String khdm;
|
private String khdm;
|
||||||
|
|
||||||
|
@ApiModelProperty("作业人用户ID")
|
||||||
|
private Long workUserId;
|
||||||
|
@ApiModelProperty("作业人用户")
|
||||||
|
private String workUserName;
|
||||||
|
@ApiModelProperty("作业任务接收状态")
|
||||||
|
private String workTaskReceiveStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务下发用户ID")
|
||||||
|
private String taskIssueUserId;
|
||||||
}
|
}
|
||||||
+20
@@ -428,4 +428,24 @@ public class StockInOrderDO extends BaseVOEntity {
|
|||||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private Date createTimeTo;
|
private Date createTimeTo;
|
||||||
|
|
||||||
|
//仓码pda查询参数
|
||||||
|
@ApiModelProperty("pda查询用户ID")
|
||||||
|
private Long queryUserId;
|
||||||
|
@ApiModelProperty("状态列表")
|
||||||
|
private List<Integer> statusList;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty("作业人用户ID")
|
||||||
|
private Long workUserId;
|
||||||
|
@ApiModelProperty("作业人用户")
|
||||||
|
private String workUserName;
|
||||||
|
@ApiModelProperty("作业任务接收状态")
|
||||||
|
private String workTaskReceiveStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务下发用户ID")
|
||||||
|
private String taskIssueUserId;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务移除用户ID")
|
||||||
|
private String removeUserId;
|
||||||
}
|
}
|
||||||
+311
-2
@@ -1,14 +1,19 @@
|
|||||||
package com.mhd.wms.domain.stockInOrder.service;
|
package com.mhd.wms.domain.stockInOrder.service;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.TypeReference;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
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.exception.ServiceException;
|
import com.mhd.common.core.exception.ServiceException;
|
||||||
import com.mhd.common.core.utils.IgnoreNullUtil;
|
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;
|
||||||
|
import com.mhd.common.core.utils.uuid.IdGenerator;
|
||||||
import com.mhd.common.core.web.domain.AjaxResult;
|
import com.mhd.common.core.web.domain.AjaxResult;
|
||||||
import com.mhd.common.security.utils.SecurityUtils;
|
import com.mhd.common.security.utils.SecurityUtils;
|
||||||
import com.mhd.system.api.SystemServiceFeign;
|
import com.mhd.system.api.SystemServiceFeign;
|
||||||
@@ -27,9 +32,11 @@ import com.mhd.wms.domain.materialWarehouseControl.repository.facade.IMaterialWa
|
|||||||
import com.mhd.wms.domain.materialWarehouseControl.repository.po.MaterialWarehouseControlPO;
|
import com.mhd.wms.domain.materialWarehouseControl.repository.po.MaterialWarehouseControlPO;
|
||||||
import com.mhd.wms.domain.qualityInspection.repository.facade.IQualityInspectionService;
|
import com.mhd.wms.domain.qualityInspection.repository.facade.IQualityInspectionService;
|
||||||
import com.mhd.wms.domain.qualityInspection.repository.todo.QualityInspectionDO;
|
import com.mhd.wms.domain.qualityInspection.repository.todo.QualityInspectionDO;
|
||||||
|
import com.mhd.wms.domain.receiptMaterialDetail.entity.ReceiptMaterialDetail;
|
||||||
import com.mhd.wms.domain.receiptMaterialDetail.repository.facade.IReceiptMaterialDetailService;
|
import com.mhd.wms.domain.receiptMaterialDetail.repository.facade.IReceiptMaterialDetailService;
|
||||||
import com.mhd.wms.domain.receiptMaterialDetail.repository.po.ReceiptMaterialDetailPO;
|
import com.mhd.wms.domain.receiptMaterialDetail.repository.po.ReceiptMaterialDetailPO;
|
||||||
import com.mhd.wms.domain.receiptMaterialDetail.repository.todo.ReceiptMaterialDetailDO;
|
import com.mhd.wms.domain.receiptMaterialDetail.repository.todo.ReceiptMaterialDetailDO;
|
||||||
|
import com.mhd.wms.domain.shelfMaterialDetail.entity.ShelfMaterialDetail;
|
||||||
import com.mhd.wms.domain.shelfMaterialDetail.repository.facade.IShelfMaterialDetailService;
|
import com.mhd.wms.domain.shelfMaterialDetail.repository.facade.IShelfMaterialDetailService;
|
||||||
import com.mhd.wms.domain.shelfMaterialDetail.repository.po.ShelfMaterialDetailPO;
|
import com.mhd.wms.domain.shelfMaterialDetail.repository.po.ShelfMaterialDetailPO;
|
||||||
import com.mhd.wms.domain.shelfMaterialDetail.repository.todo.ShelfMaterialDetailDO;
|
import com.mhd.wms.domain.shelfMaterialDetail.repository.todo.ShelfMaterialDetailDO;
|
||||||
@@ -37,9 +44,13 @@ import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
|||||||
import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
|
import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
|
||||||
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
|
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
|
||||||
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
||||||
|
import com.mhd.wms.domain.stockReceiptOrder.entity.StockReceiptOrder;
|
||||||
|
import com.mhd.wms.domain.stockReceiptOrder.repository.facade.IStockReceiptOrderService;
|
||||||
import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderPO;
|
import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderPO;
|
||||||
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.StockReceiptOrderDO;
|
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.StockReceiptOrderDO;
|
||||||
import com.mhd.wms.domain.stockReceiptOrder.service.StockReceiptOrderDomainService;
|
import com.mhd.wms.domain.stockReceiptOrder.service.StockReceiptOrderDomainService;
|
||||||
|
import com.mhd.wms.domain.stockShelfOrder.entity.StockShelfOrder;
|
||||||
|
import com.mhd.wms.domain.stockShelfOrder.repository.facade.IStockShelfOrderService;
|
||||||
import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO;
|
import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO;
|
||||||
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
|
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
|
||||||
import com.mhd.wms.domain.stockShelfOrder.service.StockShelfOrderDomainService;
|
import com.mhd.wms.domain.stockShelfOrder.service.StockShelfOrderDomainService;
|
||||||
@@ -50,8 +61,11 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -81,12 +95,18 @@ public class StockInOrderDomainService {
|
|||||||
private IMaterialGoodsRuleService materialGoodsRuleService;
|
private IMaterialGoodsRuleService materialGoodsRuleService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IMaterialWarehouseControlService materialWarehouseControlService;
|
private IMaterialWarehouseControlService materialWarehouseControlService;
|
||||||
@Autowired
|
@Resource
|
||||||
private SystemServiceFeign systemServiceFeign;
|
private SystemServiceFeign systemServiceFeign;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IReceiptMaterialDetailService receiptMaterialDetailService;
|
private IReceiptMaterialDetailService receiptMaterialDetailService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IShelfMaterialDetailService shelfMaterialDetailService;
|
private IShelfMaterialDetailService shelfMaterialDetailService;
|
||||||
|
@Autowired
|
||||||
|
private IStockReceiptOrderService stockReceiptOrderService;
|
||||||
|
@Autowired
|
||||||
|
private IStockShelfOrderService stockShelfOrderService;
|
||||||
|
@Autowired
|
||||||
|
private IdGenerator idGenerator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询入库单列表
|
* 分页查询入库单列表
|
||||||
@@ -107,7 +127,7 @@ public class StockInOrderDomainService {
|
|||||||
// //设置物料信息
|
// //设置物料信息
|
||||||
// setMaterialDetailInfo(stockInOrderDO);
|
// setMaterialDetailInfo(stockInOrderDO);
|
||||||
// //统计总物料种数
|
// //统计总物料种数
|
||||||
// stockInOrderDO.setMaterialQuantity(stockInOrderDO.getMaterialDetailList().size());
|
stockInOrderDO.setMaterialQuantity(stockInOrderDO.getMaterialDetailList().size());
|
||||||
// //统计总计划数
|
// //统计总计划数
|
||||||
// BigDecimal quantity = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
// BigDecimal quantity = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
// stockInOrderDO.setQuantity(quantity);
|
// stockInOrderDO.setQuantity(quantity);
|
||||||
@@ -483,6 +503,295 @@ public class StockInOrderDomainService {
|
|||||||
.in(StockInOrder::getInOrderId, stockInOrderDO.getInOrderIds()));
|
.in(StockInOrder::getInOrderId, stockInOrderDO.getInOrderIds()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean receiptEasyMode(StockInOrderDO stockInOrderDO) {
|
||||||
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
|
|
||||||
|
String userRealName = loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
|
||||||
|
? loginUser.getUserPo().getUserName()
|
||||||
|
: (loginUser.getRealname() != null ? loginUser.getRealname() : loginUser.getUsername());
|
||||||
|
String inOrderNumber = stockInOrderDO.getInOrderNumber();
|
||||||
|
// 查询当天创建的入库单数量,用于生成batchNo
|
||||||
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
String todayStr = dateFormat.format(new Date());
|
||||||
|
String todayStart = todayStr + " 00:00:00";
|
||||||
|
String todayEnd = todayStr + " 23:59:59";
|
||||||
|
SimpleDateFormat fullDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
|
||||||
|
Date todayStartDate = null;
|
||||||
|
try {
|
||||||
|
todayStartDate = fullDateFormat.parse(todayStart);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
Date todayEndDate = null;
|
||||||
|
try {
|
||||||
|
todayEndDate = fullDateFormat.parse(todayEnd);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
long todayStockInOrderCount = stockInOrderService.count(new LambdaQueryWrapper<StockInOrder>()
|
||||||
|
.ge(StockInOrder::getCreateTime, todayStartDate)
|
||||||
|
.le(StockInOrder::getCreateTime, todayEndDate)
|
||||||
|
.eq(StockInOrder::getDelFlag, 1));
|
||||||
|
String batchNo = "PC"+inOrderNumber+"-"+todayStockInOrderCount;
|
||||||
|
List<InMaterialDetailDO> materialDetailList = stockInOrderDO.getMaterialDetailList();
|
||||||
|
List<InMaterialDetailDO> receiptMaterialDetailList = materialDetailList.stream()
|
||||||
|
.filter(m -> m.getCollectQuantity() != null && m.getCollectQuantity().compareTo(BigDecimal.ZERO) != 0)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if (receiptMaterialDetailList!=null && receiptMaterialDetailList.size()>0) {
|
||||||
|
for (InMaterialDetailDO inMaterialDetailDO : receiptMaterialDetailList) {
|
||||||
|
BigDecimal collectQuantity = inMaterialDetailDO.getCollectQuantity();
|
||||||
|
Long materialBaseInfoId = inMaterialDetailDO.getMaterialBaseInfoId();
|
||||||
|
Long uniqueId = inMaterialDetailDO.getUniqueId();
|
||||||
|
|
||||||
|
InMaterialDetail materialDetail = materialDetailService.getById(inMaterialDetailDO.getMaterialDetailId());
|
||||||
|
materialDetail.setCollectQuantity(collectQuantity);
|
||||||
|
materialDetailService.updateById(materialDetail);
|
||||||
|
|
||||||
|
ReceiptMaterialDetail receiptMaterialDetail = receiptMaterialDetailService.getOne(new QueryWrapper<ReceiptMaterialDetail>().lambda()
|
||||||
|
.eq(ReceiptMaterialDetail::getMaterialBaseInfoId, materialBaseInfoId)
|
||||||
|
.eq(ReceiptMaterialDetail::getInUniqueId, uniqueId)
|
||||||
|
.eq(ReceiptMaterialDetail::getDelFlag, 1), false);
|
||||||
|
BigDecimal alreadyReceiptQuantity = receiptMaterialDetail.getAlreadyReceiptQuantity();
|
||||||
|
if (alreadyReceiptQuantity != null && alreadyReceiptQuantity.compareTo(collectQuantity) == 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
receiptMaterialDetail.setReceiptQuantity(collectQuantity);
|
||||||
|
receiptMaterialDetail.setAlreadyReceiptQuantity(collectQuantity);
|
||||||
|
|
||||||
|
receiptMaterialDetail.setBatchNo(batchNo);
|
||||||
|
BigDecimal quantity = receiptMaterialDetail.getQuantity();
|
||||||
|
if (quantity != null && quantity.compareTo(BigDecimal.ZERO) == 0) {
|
||||||
|
receiptMaterialDetail.setReceiptStatus(3);
|
||||||
|
}
|
||||||
|
receiptMaterialDetailService.updateById(receiptMaterialDetail);
|
||||||
|
|
||||||
|
StockReceiptOrder stockReceiptOrder = stockReceiptOrderService.getOne(new QueryWrapper<StockReceiptOrder>().lambda()
|
||||||
|
.eq(StockReceiptOrder::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(StockReceiptOrder::getDelFlag, 1), false);
|
||||||
|
if (stockReceiptOrder != null) {
|
||||||
|
stockReceiptOrder.setStatus(2);
|
||||||
|
stockReceiptOrder.setReceiptQuantity(stockReceiptOrder.getReceiptQuantity().add(collectQuantity));
|
||||||
|
stockReceiptOrder.setBatchNo(batchNo);
|
||||||
|
stockReceiptOrderService.updateById(stockReceiptOrder);
|
||||||
|
}
|
||||||
|
|
||||||
|
StockInOrder stockInOrder = stockInOrderService.getOne(new QueryWrapper<StockInOrder>().lambda()
|
||||||
|
.eq(StockInOrder::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(StockInOrder::getDelFlag, 1), false);
|
||||||
|
if (stockInOrder != null) {
|
||||||
|
stockInOrder.setStatus(3);
|
||||||
|
stockInOrderService.updateById(stockInOrder);
|
||||||
|
}
|
||||||
|
List<StockShelfOrder> list = stockShelfOrderService.list(new QueryWrapper<StockShelfOrder>().lambda()
|
||||||
|
.eq(StockShelfOrder::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(StockShelfOrder::getDelFlag, 1));
|
||||||
|
StockShelfOrder stockShelfOrder = new StockShelfOrder();
|
||||||
|
if (list!=null && list.size()>0) {
|
||||||
|
stockShelfOrder = list.get(0);
|
||||||
|
} else {
|
||||||
|
BeanUtils.copyProperties(stockReceiptOrder, stockShelfOrder);
|
||||||
|
stockShelfOrder.setShelfOrderNumber(OrderSequence.getOrderCode("SJ"));
|
||||||
|
stockShelfOrder.setBatchNo(batchNo);
|
||||||
|
stockShelfOrderService.save(stockShelfOrder);
|
||||||
|
}
|
||||||
|
log.info("生成上架单成功,上架单编号:{}", stockShelfOrder.getShelfOrderNumber());
|
||||||
|
ShelfMaterialDetail shelfMaterialDetail = new ShelfMaterialDetail();
|
||||||
|
ShelfMaterialDetail one = shelfMaterialDetailService.getOne(new QueryWrapper<ShelfMaterialDetail>().lambda()
|
||||||
|
.eq(ShelfMaterialDetail::getMaterialBaseInfoId, materialBaseInfoId)
|
||||||
|
.eq(ShelfMaterialDetail::getInUniqueId, uniqueId)
|
||||||
|
.eq(ShelfMaterialDetail::getLevel, 1)
|
||||||
|
.eq(ShelfMaterialDetail::getDelFlag, 1), false);
|
||||||
|
if (one != null) {
|
||||||
|
one.setQuantity(collectQuantity);
|
||||||
|
one.setBatchNo(batchNo);
|
||||||
|
// one.setLotNumber(receiptMaterialDetail.getLotNo());
|
||||||
|
shelfMaterialDetailService.updateById(one);
|
||||||
|
} else {
|
||||||
|
BeanUtils.copyProperties(inMaterialDetailDO, shelfMaterialDetail);
|
||||||
|
shelfMaterialDetail.setShelfOrderNumber(stockShelfOrder.getShelfOrderNumber());
|
||||||
|
shelfMaterialDetail.setQuantity(collectQuantity);
|
||||||
|
shelfMaterialDetail.setInUniqueId(uniqueId);
|
||||||
|
shelfMaterialDetail.setReceiptUniqueId(receiptMaterialDetail.getUniqueId());
|
||||||
|
shelfMaterialDetail.setBatchNo(batchNo);
|
||||||
|
shelfMaterialDetail.setLotNumber(receiptMaterialDetail.getLotNo());
|
||||||
|
shelfMaterialDetailService.save(shelfMaterialDetail);
|
||||||
|
}
|
||||||
|
|
||||||
|
log.info("生成上架单成功,上架单编号:{},上架单明细编号:{}", stockShelfOrder.getShelfOrderNumber(), shelfMaterialDetail.getShelfOrderNumber());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean shelfEasyMode(StockInOrderDO stockInOrderDO) {
|
||||||
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
|
|
||||||
|
String userRealName = loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
|
||||||
|
? loginUser.getUserPo().getUserName()
|
||||||
|
: (loginUser.getRealname() != null ? loginUser.getRealname() : loginUser.getUsername());
|
||||||
|
String inOrderNumber = stockInOrderDO.getInOrderNumber();
|
||||||
|
List<InMaterialDetailDO> materialDetailList = stockInOrderDO.getMaterialDetailList();
|
||||||
|
List<InMaterialDetailDO> receiptMaterialDetailList = materialDetailList.stream()
|
||||||
|
.filter(m -> StringUtils.isNotBlank(m.getShelfJson()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if (receiptMaterialDetailList!=null && receiptMaterialDetailList.size()>0) {
|
||||||
|
for (InMaterialDetailDO inMaterialDetailDO : receiptMaterialDetailList) {
|
||||||
|
Long materialDetailId1 = inMaterialDetailDO.getMaterialDetailId();
|
||||||
|
Long materialBaseInfoId = inMaterialDetailDO.getMaterialBaseInfoId();
|
||||||
|
Long uniqueId = inMaterialDetailDO.getUniqueId();
|
||||||
|
String shelfJson = inMaterialDetailDO.getShelfJson();
|
||||||
|
List<Map<String, Object>> shelfList = JSON.parseObject(shelfJson, new TypeReference<List<Map<String, Object>>>(){});
|
||||||
|
StockInOrder stockInOrder = stockInOrderService.getOne(new QueryWrapper<StockInOrder>().lambda()
|
||||||
|
.eq(StockInOrder::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(StockInOrder::getDelFlag, 1), false);
|
||||||
|
if (stockInOrder != null) {
|
||||||
|
stockInOrder.setStatus(4);
|
||||||
|
stockInOrderService.updateById(stockInOrder);
|
||||||
|
}
|
||||||
|
int index=0;
|
||||||
|
for (Map<String, Object> stringObjectMap : shelfList) {
|
||||||
|
Object shelvesQuantityObj = stringObjectMap.get("shelvesQuantity");
|
||||||
|
BigDecimal shelvesQuantity = shelvesQuantityObj != null ? new BigDecimal(String.valueOf(shelvesQuantityObj)) : null;
|
||||||
|
String shelfOrderNumber = (String) stringObjectMap.get("shelfOrderNumber");
|
||||||
|
String warehouseCode = (String) stringObjectMap.get("warehouseCode");
|
||||||
|
String warehouseName = (String) stringObjectMap.get("warehouseName");
|
||||||
|
String storageCode = (String) stringObjectMap.get("storageCode");
|
||||||
|
String storageName = (String) stringObjectMap.get("storageName");
|
||||||
|
String storageLocationCode = (String) stringObjectMap.get("storageLocationCode");
|
||||||
|
String storageLocationName = (String) stringObjectMap.get("storageLocationName");
|
||||||
|
Object warehouseIdObj = stringObjectMap.get("warehouseId");
|
||||||
|
Long warehouseId = warehouseIdObj != null ? Long.valueOf(String.valueOf(warehouseIdObj)) : null;
|
||||||
|
Object storageSectionIdObj = stringObjectMap.get("storageSectionId");
|
||||||
|
Long storageSectionId = storageSectionIdObj != null ? Long.valueOf(String.valueOf(storageSectionIdObj)) : null;
|
||||||
|
Object storageLocationIdObj = stringObjectMap.get("storageLocationId");
|
||||||
|
Long storageLocationId = storageLocationIdObj != null ? Long.valueOf(String.valueOf(storageLocationIdObj)) : null;
|
||||||
|
// Integer level = (Integer) stringObjectMap.get("level");
|
||||||
|
|
||||||
|
// 如果 materialDetailId 不为空,则更新上架单明细
|
||||||
|
// if (stringObjectMap.containsKey("materialDetailId")) {
|
||||||
|
// Long materialDetailId = (Long) stringObjectMap.get("materialDetailId");
|
||||||
|
// ShelfMaterialDetail detail = shelfMaterialDetailService.getById(materialDetailId);
|
||||||
|
// detail.setShelvesQuantity(shelvesQuantity);
|
||||||
|
// detail.setAlreadyShelvesQuantity(shelvesQuantity);
|
||||||
|
// detail.setWarehouseId(warehouseId);
|
||||||
|
// detail.setStorageSectionId(storageSectionId);
|
||||||
|
// detail.setStorageLocationId(storageLocationId);
|
||||||
|
// detail.setWarehouseCode(warehouseCode);
|
||||||
|
// detail.setWarehouseName(warehouseName);
|
||||||
|
// detail.setStorageCode(storageCode);
|
||||||
|
// detail.setStorageName(storageName);
|
||||||
|
// detail.setStorageLocationCode(storageLocationCode);
|
||||||
|
// detail.setStorageLocationName(storageLocationName);
|
||||||
|
// shelfMaterialDetailService.updateById(detail);
|
||||||
|
// continue;
|
||||||
|
// }
|
||||||
|
|
||||||
|
StockReceiptOrder stockReceiptOrder = stockReceiptOrderService.getOne(new LambdaUpdateWrapper<StockReceiptOrder>()
|
||||||
|
.eq(StockReceiptOrder::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(StockReceiptOrder::getDelFlag, 1), false);
|
||||||
|
|
||||||
|
// 如果 materialDetailId 为空,则创建上架单明细
|
||||||
|
List<StockShelfOrder> list = stockShelfOrderService.list(new QueryWrapper<StockShelfOrder>().lambda()
|
||||||
|
.eq(StockShelfOrder::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(StockShelfOrder::getDelFlag, 1));
|
||||||
|
StockShelfOrder stockShelfOrder = new StockShelfOrder();
|
||||||
|
if (list!=null && list.size()>0) {
|
||||||
|
stockShelfOrder = list.get(0);
|
||||||
|
stockShelfOrder.setStatus(2);
|
||||||
|
stockShelfOrderService.updateById(stockShelfOrder);
|
||||||
|
} else {
|
||||||
|
throw new RuntimeException("未找到上架单!");
|
||||||
|
}
|
||||||
|
ShelfMaterialDetail one = shelfMaterialDetailService.getOne(new QueryWrapper<ShelfMaterialDetail>().lambda()
|
||||||
|
.eq(ShelfMaterialDetail::getMaterialBaseInfoId, materialBaseInfoId)
|
||||||
|
.eq(ShelfMaterialDetail::getInUniqueId, uniqueId)
|
||||||
|
.eq(ShelfMaterialDetail::getDelFlag, 1), false);
|
||||||
|
shelfMaterialDetailService.remove(new QueryWrapper<ShelfMaterialDetail>().lambda()
|
||||||
|
.eq(ShelfMaterialDetail::getLevel, 2)
|
||||||
|
.ne(ShelfMaterialDetail::getParentUniqueId, 0l)
|
||||||
|
.eq(ShelfMaterialDetail::getDelFlag, 1));
|
||||||
|
if (one != null) {
|
||||||
|
if (index == 0) {
|
||||||
|
one.setShelvesQuantity(shelvesQuantity);
|
||||||
|
one.setAlreadyShelvesQuantity(shelvesQuantity);
|
||||||
|
one.setWarehouseId(warehouseId);
|
||||||
|
one.setStorageSectionId(storageSectionId);
|
||||||
|
one.setStorageLocationId(storageLocationId);
|
||||||
|
one.setShelfOrderNumber(stockShelfOrder.getShelfOrderNumber());
|
||||||
|
one.setWarehouseCode(warehouseCode);
|
||||||
|
one.setWarehouseName(warehouseName);
|
||||||
|
one.setStorageCode(storageCode);
|
||||||
|
one.setStorageName(storageName);
|
||||||
|
one.setStorageLocationCode(storageLocationCode);
|
||||||
|
one.setStorageLocationName(storageLocationName);
|
||||||
|
one.setLevel(1);
|
||||||
|
one.setParentUniqueId(0l);
|
||||||
|
one.setShelvesStatus(3);
|
||||||
|
shelfMaterialDetailService.updateById(one);
|
||||||
|
stringObjectMap.put("materialDetailId", one.getMaterialDetailId());
|
||||||
|
stringObjectMap.put("level",1);
|
||||||
|
} else {
|
||||||
|
ShelfMaterialDetail shelfMaterialDetail = new ShelfMaterialDetail();
|
||||||
|
BeanUtils.copyProperties(one, shelfMaterialDetail);
|
||||||
|
shelfMaterialDetail.setQuantity(BigDecimal.ZERO);
|
||||||
|
shelfMaterialDetail.setShelvesQuantity(shelvesQuantity);
|
||||||
|
shelfMaterialDetail.setAlreadyShelvesQuantity(shelvesQuantity);
|
||||||
|
shelfMaterialDetail.setShelfOrderNumber(stockShelfOrder.getShelfOrderNumber());
|
||||||
|
shelfMaterialDetail.setWarehouseCode(warehouseCode);
|
||||||
|
shelfMaterialDetail.setWarehouseName(warehouseName);
|
||||||
|
shelfMaterialDetail.setStorageCode(storageCode);
|
||||||
|
shelfMaterialDetail.setStorageName(storageName);
|
||||||
|
shelfMaterialDetail.setStorageLocationCode(storageLocationCode);
|
||||||
|
shelfMaterialDetail.setStorageLocationName(storageLocationName);
|
||||||
|
shelfMaterialDetail.setStorageSectionId(storageSectionId);
|
||||||
|
shelfMaterialDetail.setStorageLocationId(storageLocationId);
|
||||||
|
shelfMaterialDetail.setLevel(2);
|
||||||
|
shelfMaterialDetail.setParentUniqueId(one.getUniqueId());
|
||||||
|
shelfMaterialDetail.setUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId));
|
||||||
|
shelfMaterialDetail.setInUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId));
|
||||||
|
shelfMaterialDetail.setReceiptUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId));
|
||||||
|
shelfMaterialDetail.setShelvesStatus(3);
|
||||||
|
shelfMaterialDetail.setLotNumber(one.getLotNumber());
|
||||||
|
if (stockReceiptOrder!= null) {
|
||||||
|
shelfMaterialDetail.setBatchNo(stockReceiptOrder.getBatchNo());
|
||||||
|
}
|
||||||
|
shelfMaterialDetailService.save(shelfMaterialDetail);
|
||||||
|
stringObjectMap.put("materialDetailId", shelfMaterialDetail.getMaterialDetailId());
|
||||||
|
stringObjectMap.put("level",2 );
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw new RuntimeException("未找到上架单明细!");
|
||||||
|
}
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
InMaterialDetail inMaterialDetail = materialDetailService.getById(materialDetailId1);
|
||||||
|
inMaterialDetail.setShelfJson(JSON.toJSONString(shelfList));
|
||||||
|
materialDetailService.updateById(inMaterialDetail);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
StockShelfOrder stockShelfOrder = stockShelfOrderService.getOne(new QueryWrapper<StockShelfOrder>().lambda()
|
||||||
|
.eq(StockShelfOrder::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(StockShelfOrder::getDelFlag, 1), false);
|
||||||
|
if (stockShelfOrder != null) {
|
||||||
|
String shelfOrderNumber = stockShelfOrder.getShelfOrderNumber();
|
||||||
|
List<ShelfMaterialDetail> list = shelfMaterialDetailService.list(new LambdaQueryWrapper<ShelfMaterialDetail>()
|
||||||
|
.eq(ShelfMaterialDetail::getShelfOrderNumber, shelfOrderNumber)
|
||||||
|
.eq(ShelfMaterialDetail::getDelFlag, 1));
|
||||||
|
if (list!=null&&list.size() > 0) {
|
||||||
|
BigDecimal quantity = BigDecimal.ZERO;
|
||||||
|
for (ShelfMaterialDetail shelfMaterialDetail : list) {
|
||||||
|
quantity = quantity.add(shelfMaterialDetail.getAlreadyShelvesQuantity());
|
||||||
|
}
|
||||||
|
stockShelfOrder.setShelvesQuantity(quantity);
|
||||||
|
stockShelfOrderService.updateById(stockShelfOrder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 取消入库单
|
* @description 取消入库单
|
||||||
|
|||||||
@@ -424,4 +424,14 @@ public class StockOutOrder extends BaseVOEntity {
|
|||||||
|
|
||||||
@ApiModelProperty("推送人姓名")
|
@ApiModelProperty("推送人姓名")
|
||||||
private String pushByName;
|
private String pushByName;
|
||||||
|
|
||||||
|
@ApiModelProperty("作业人用户ID")
|
||||||
|
private Long workUserId;
|
||||||
|
@ApiModelProperty("作业人用户")
|
||||||
|
private String workUserName;
|
||||||
|
@ApiModelProperty("作业任务接收状态")
|
||||||
|
private String workTaskReceiveStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务下发用户ID")
|
||||||
|
private String taskIssueUserId;
|
||||||
}
|
}
|
||||||
+7
@@ -25,6 +25,7 @@ import com.mhd.wms.domain.materialBaseInfo.repository.mapper.MaterialBaseInfoMap
|
|||||||
import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO;
|
import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO;
|
||||||
import com.mhd.wms.domain.materialBaseInfo.repository.todo.MaterialBaseInfoDO;
|
import com.mhd.wms.domain.materialBaseInfo.repository.todo.MaterialBaseInfoDO;
|
||||||
import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO;
|
import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO;
|
||||||
|
import com.mhd.wms.domain.stockInOrder.repository.mapper.StockInOrderMapper;
|
||||||
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
||||||
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
|
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
|
||||||
import com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper;
|
import com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper;
|
||||||
@@ -61,6 +62,8 @@ public class ExcelParseService {
|
|||||||
private StockOutOrderDomainService stockOutOrderDomainService;
|
private StockOutOrderDomainService stockOutOrderDomainService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private StockOutOrderMapper stockOutOrderMapper;
|
private StockOutOrderMapper stockOutOrderMapper;
|
||||||
|
@Autowired
|
||||||
|
private StockInOrderMapper stockInOrderMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private UserServiceFeign userServiceFeign;
|
private UserServiceFeign userServiceFeign;
|
||||||
/**
|
/**
|
||||||
@@ -114,6 +117,7 @@ public class ExcelParseService {
|
|||||||
stockOutOrder.setWarehouseName(warehouseName);
|
stockOutOrder.setWarehouseName(warehouseName);
|
||||||
stockOutOrder.setWarehouseCode(warehouseCode);
|
stockOutOrder.setWarehouseCode(warehouseCode);
|
||||||
stockOutOrder.setWarehouseId(warehouseId);
|
stockOutOrder.setWarehouseId(warehouseId);
|
||||||
|
|
||||||
stockOutOrder.setSalesmanId(String.valueOf(loginUser.getUserPo().getUserId()));
|
stockOutOrder.setSalesmanId(String.valueOf(loginUser.getUserPo().getUserId()));
|
||||||
stockOutOrder.setSalesmanName(loginUser.getUserPo().getUserName());
|
stockOutOrder.setSalesmanName(loginUser.getUserPo().getUserName());
|
||||||
String settlementCurrency = stockOutOrderMapper.getSettlementCurrency(shipperId);
|
String settlementCurrency = stockOutOrderMapper.getSettlementCurrency(shipperId);
|
||||||
@@ -124,6 +128,9 @@ public class ExcelParseService {
|
|||||||
stockOutOrder.setOrganizationId(loginUser.getUserPo().getOrganizationId());
|
stockOutOrder.setOrganizationId(loginUser.getUserPo().getOrganizationId());
|
||||||
stockOutOrder.setOrganizationName(loginUser.getUserPo().getOrganizationName());
|
stockOutOrder.setOrganizationName(loginUser.getUserPo().getOrganizationName());
|
||||||
}
|
}
|
||||||
|
// 获取任务下发用户ID
|
||||||
|
String userId = stockInOrderMapper.queryWarehouseUserId(stockOutOrder.getOrganizationId(), stockOutOrder.getWarehouseId(), stockOutOrder.getTopOrganizationId());
|
||||||
|
stockOutOrder.setTaskIssueUserId(userId);
|
||||||
initParam(stockOutOrder);
|
initParam(stockOutOrder);
|
||||||
// 导入出库单时,如果出库单类型为空,默认设置为普通出库
|
// 导入出库单时,如果出库单类型为空,默认设置为普通出库
|
||||||
if (StringUtils.isBlank(stockOutOrder.getOrderTypeCode())) {
|
if (StringUtils.isBlank(stockOutOrder.getOrderTypeCode())) {
|
||||||
|
|||||||
+9
@@ -451,4 +451,13 @@ public class StockOutOrderPO extends BaseVOEntity {
|
|||||||
@ApiModelProperty("推送人姓名")
|
@ApiModelProperty("推送人姓名")
|
||||||
private String pushByName;
|
private String pushByName;
|
||||||
private String khdm;
|
private String khdm;
|
||||||
|
@ApiModelProperty("作业人用户ID")
|
||||||
|
private Long workUserId;
|
||||||
|
@ApiModelProperty("作业人用户")
|
||||||
|
private String workUserName;
|
||||||
|
@ApiModelProperty("作业任务接收状态")
|
||||||
|
private String workTaskReceiveStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务下发用户ID")
|
||||||
|
private String taskIssueUserId;
|
||||||
}
|
}
|
||||||
+21
@@ -492,4 +492,25 @@ public class StockOutOrderDO extends BaseVOEntity {
|
|||||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private Date createTimeTo;
|
private Date createTimeTo;
|
||||||
|
|
||||||
|
@ApiModelProperty("作业人用户ID")
|
||||||
|
private Long workUserId;
|
||||||
|
|
||||||
|
@ApiModelProperty("作业人用户")
|
||||||
|
private String workUserName;
|
||||||
|
|
||||||
|
@ApiModelProperty("作业任务接收状态")
|
||||||
|
private String workTaskReceiveStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务下发用户ID")
|
||||||
|
private String taskIssueUserId;
|
||||||
|
|
||||||
|
//仓码pda查询参数
|
||||||
|
@ApiModelProperty("pda查询用户ID")
|
||||||
|
private Long queryUserId;
|
||||||
|
@ApiModelProperty("状态列表")
|
||||||
|
private List<Integer> statusList;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务移除用户ID")
|
||||||
|
private String removeUserId;
|
||||||
}
|
}
|
||||||
+235
-4
@@ -19,12 +19,19 @@ import com.mhd.system.api.domain.BatchDetailFeignPO;
|
|||||||
import com.mhd.system.api.domain.DeliveryDetailsLink;
|
import com.mhd.system.api.domain.DeliveryDetailsLink;
|
||||||
import com.mhd.system.api.domain.PackDetailFeignPO;
|
import com.mhd.system.api.domain.PackDetailFeignPO;
|
||||||
import com.mhd.system.api.model.LoginUser;
|
import com.mhd.system.api.model.LoginUser;
|
||||||
|
import com.mhd.wms.application.service.handoverTaskOrder.HandoverTaskOrderApplicationService;
|
||||||
|
import com.mhd.wms.application.service.pickingOrder.PickingOrderApplicationService;
|
||||||
|
import com.mhd.wms.application.service.reviewOrder.ReviewOrderApplicationService;
|
||||||
|
import com.mhd.wms.application.service.stockOutOrder.StockOutOrderApplicationService;
|
||||||
import com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO;
|
import com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO;
|
||||||
|
import com.mhd.wms.domain.deliveTask.entity.DeliveTask;
|
||||||
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.deliveryDetailsLink.repository.facade.IDeliveryDetailsLinkService;
|
import com.mhd.wms.domain.deliveryDetailsLink.repository.facade.IDeliveryDetailsLinkService;
|
||||||
|
import com.mhd.wms.domain.handoverTaskOrder.entity.HandoverTaskOrder;
|
||||||
import com.mhd.wms.domain.handoverTaskOrder.repository.facade.IHandoverTaskOrderService;
|
import com.mhd.wms.domain.handoverTaskOrder.repository.facade.IHandoverTaskOrderService;
|
||||||
import com.mhd.wms.domain.handoverTaskOrder.repository.todo.HandoverTaskOrderDO;
|
import com.mhd.wms.domain.handoverTaskOrder.repository.todo.HandoverTaskOrderDO;
|
||||||
|
import com.mhd.wms.domain.handoverTaskOrder.service.HandoverTaskOrderDomainService;
|
||||||
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
||||||
import com.mhd.wms.domain.inMaterialDetail.repository.todo.InMaterialDetailDO;
|
import com.mhd.wms.domain.inMaterialDetail.repository.todo.InMaterialDetailDO;
|
||||||
import com.mhd.wms.domain.inventoryAdjustmentRecord.entity.InventoryAdjustmentRecord;
|
import com.mhd.wms.domain.inventoryAdjustmentRecord.entity.InventoryAdjustmentRecord;
|
||||||
@@ -68,8 +75,15 @@ import com.mhd.wms.domain.pickingOrder.service.PickingOrderDomainService;
|
|||||||
import com.mhd.wms.domain.pushSyncBms.PushSyncBmsDomainService;
|
import com.mhd.wms.domain.pushSyncBms.PushSyncBmsDomainService;
|
||||||
import com.mhd.wms.domain.replenishmentNotice.repository.todo.ReplenishmentNoticeDO;
|
import com.mhd.wms.domain.replenishmentNotice.repository.todo.ReplenishmentNoticeDO;
|
||||||
import com.mhd.wms.domain.replenishmentNotice.service.ReplenishmentNoticeDomainService;
|
import com.mhd.wms.domain.replenishmentNotice.service.ReplenishmentNoticeDomainService;
|
||||||
|
import com.mhd.wms.domain.reviewOrder.entity.ReviewMaterialDetail;
|
||||||
|
import com.mhd.wms.domain.reviewOrder.entity.ReviewOrder;
|
||||||
|
import com.mhd.wms.domain.reviewOrder.repository.mapper.ReviewMaterialDetailMapper;
|
||||||
|
import com.mhd.wms.domain.reviewOrder.repository.mapper.ReviewOrderMapper;
|
||||||
|
import com.mhd.wms.domain.reviewOrder.repository.po.ReviewMaterialDetailPO;
|
||||||
|
import com.mhd.wms.domain.reviewOrder.repository.todo.ReviewOrderDO;
|
||||||
import com.mhd.wms.domain.statementStatistics.po.ImmediateInventoryPO;
|
import com.mhd.wms.domain.statementStatistics.po.ImmediateInventoryPO;
|
||||||
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
||||||
|
import com.mhd.wms.domain.stockInOrder.repository.mapper.StockInOrderMapper;
|
||||||
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
||||||
import com.mhd.wms.domain.stockInOrder.service.StockInOrderDomainService;
|
import com.mhd.wms.domain.stockInOrder.service.StockInOrderDomainService;
|
||||||
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
||||||
@@ -112,6 +126,8 @@ public class StockOutOrderDomainService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IHandoverTaskOrderService handoverTaskOrderService;
|
private IHandoverTaskOrderService handoverTaskOrderService;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private HandoverTaskOrderDomainService handoverTaskOrderDomainService;
|
||||||
|
@Autowired
|
||||||
private IOutOrderAbnormalService outOrderAbnormalService;
|
private IOutOrderAbnormalService outOrderAbnormalService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private PickingOrderDomainService pickingOrderDomainService;
|
private PickingOrderDomainService pickingOrderDomainService;
|
||||||
@@ -149,6 +165,19 @@ public class StockOutOrderDomainService {
|
|||||||
private IPickingMaterialDetailService pickingMaterialDetailService;
|
private IPickingMaterialDetailService pickingMaterialDetailService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IPickingOrderService pickingOrderService;
|
private IPickingOrderService pickingOrderService;
|
||||||
|
@Autowired
|
||||||
|
private StockInOrderMapper stockInOrderMapper;
|
||||||
|
@Autowired
|
||||||
|
private PickingOrderApplicationService pickingOrderApplicationService;
|
||||||
|
@Autowired
|
||||||
|
private HandoverTaskOrderApplicationService handoverTaskOrderApplicationService;
|
||||||
|
@Autowired
|
||||||
|
private ReviewOrderApplicationService reviewOrderApplicationService;
|
||||||
|
@Autowired
|
||||||
|
private ReviewOrderMapper reviewOrderMapper;
|
||||||
|
@Autowired
|
||||||
|
private ReviewMaterialDetailMapper reviewMaterialDetailMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询出库单列表
|
* 分页查询出库单列表
|
||||||
*/
|
*/
|
||||||
@@ -166,7 +195,7 @@ public class StockOutOrderDomainService {
|
|||||||
//设置物料信息
|
//设置物料信息
|
||||||
//setMaterialDetailInfo(stockOutOrderDO);
|
//setMaterialDetailInfo(stockOutOrderDO);
|
||||||
//统计种类
|
//统计种类
|
||||||
//stockOutOrderDO.setMaterialQuantity(stockOutOrderDO.getMaterialDetailList().size());
|
stockOutOrderDO.setMaterialQuantity(stockOutOrderDO.getMaterialDetailList().size());
|
||||||
//统计总数量
|
//统计总数量
|
||||||
BigDecimal quantity = stockOutOrderDO.getMaterialDetailList().stream().map(OutMaterialDetailDO::getOutboundQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
BigDecimal quantity = stockOutOrderDO.getMaterialDetailList().stream().map(OutMaterialDetailDO::getOutboundQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
stockOutOrderDO.setQuantity(quantity);
|
stockOutOrderDO.setQuantity(quantity);
|
||||||
@@ -864,6 +893,205 @@ public class StockOutOrderDomainService {
|
|||||||
return inserted;
|
return inserted;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean adjustPicking(StockOutOrderDO stockOutOrderDO){
|
||||||
|
String outOrderNumber = stockOutOrderDO.getOutOrderNumber();
|
||||||
|
StockOutOrder stockOutOrder = stockOutOrderService.getOne(new LambdaQueryWrapper<StockOutOrder>()
|
||||||
|
.eq(StockOutOrder::getOutOrderNumber, outOrderNumber)
|
||||||
|
.eq(StockOutOrder::getDelFlag, 1), false);
|
||||||
|
stockOutOrder.setStatus(6);
|
||||||
|
stockOutOrder.setUpdateTime(new Date());
|
||||||
|
stockOutOrderService.updateById(stockOutOrder);
|
||||||
|
PickingOrder pickingOrder = pickingOrderService.getOne(new QueryWrapper<PickingOrder>().lambda()
|
||||||
|
.eq(PickingOrder::getOrderNumber, outOrderNumber)
|
||||||
|
.eq(PickingOrder::getDelFlag, 1), false);
|
||||||
|
if (pickingOrder == null) {
|
||||||
|
throw new RuntimeException("拣货单不存在!");
|
||||||
|
}
|
||||||
|
pickingOrder.setStatus(2);
|
||||||
|
pickingOrderService.updateById(pickingOrder);
|
||||||
|
|
||||||
|
//拣货任务下发
|
||||||
|
PickingOrderDO pickingOrderDO = new PickingOrderDO();
|
||||||
|
pickingOrderDO.setOperatorsBy(stockOutOrder.getWorkUserId());
|
||||||
|
List<Long> ids = new ArrayList<>();
|
||||||
|
ids.add(pickingOrder.getPickingOrderId());
|
||||||
|
pickingOrderDO.setPickingOrderIdList(ids);
|
||||||
|
// pickingOrderApplicationService.allDistribution(pickingOrderDO);
|
||||||
|
|
||||||
|
List<OutMaterialDetailDO> materialDetailList = stockOutOrderDO.getMaterialDetailList();
|
||||||
|
if (CollectionUtils.isEmpty(materialDetailList)) {
|
||||||
|
throw new RuntimeException("出库单明细不存在!");
|
||||||
|
}
|
||||||
|
List<OutMaterialDetailDO> pickingMaterialDetailList = materialDetailList.stream()
|
||||||
|
.filter(m -> m.getOutWeight() != null || m.getOutVolume() != null || m.getOutQuantity() != null)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if (pickingMaterialDetailList != null && pickingMaterialDetailList.size() > 0) {
|
||||||
|
for (OutMaterialDetailDO outMaterialDetailDO : pickingMaterialDetailList) {
|
||||||
|
Long uniqueId = outMaterialDetailDO.getUniqueId();
|
||||||
|
BigDecimal outWeight = outMaterialDetailDO.getOutWeight();
|
||||||
|
BigDecimal outVolume = outMaterialDetailDO.getOutVolume();
|
||||||
|
BigDecimal outQuantity = outMaterialDetailDO.getOutQuantity();
|
||||||
|
PickingMaterialDetail pickingMaterialDetail = pickingMaterialDetailService.getOne(new QueryWrapper<PickingMaterialDetail>().lambda()
|
||||||
|
.eq(PickingMaterialDetail::getOutUniqueId, uniqueId)
|
||||||
|
.eq(PickingMaterialDetail::getDelFlag, 1), false);
|
||||||
|
if (pickingMaterialDetail != null) {
|
||||||
|
pickingMaterialDetail.setWeightLimit(outWeight);
|
||||||
|
pickingMaterialDetail.setTotalNetWeight(outWeight);
|
||||||
|
pickingMaterialDetail.setTotalGrossWeight(outVolume);
|
||||||
|
pickingMaterialDetail.setVolumeLimit(outVolume);
|
||||||
|
pickingMaterialDetail.setTotalVolume(outVolume);
|
||||||
|
pickingMaterialDetail.setPickingQuantity(outQuantity == null || outQuantity.compareTo(BigDecimal.ZERO) == 0 ? outMaterialDetailDO.getOutQuantity() : outQuantity);
|
||||||
|
pickingMaterialDetail.setAlreadyPickingQuantity(outQuantity == null || outQuantity.compareTo(BigDecimal.ZERO) == 0 ? outMaterialDetailDO.getOutQuantity() : outQuantity);
|
||||||
|
pickingMaterialDetailService.updateById(pickingMaterialDetail);
|
||||||
|
OutMaterialDetail outMaterialDetail = outMaterialDetailService.getOne(new LambdaQueryWrapper<OutMaterialDetail>()
|
||||||
|
.eq(OutMaterialDetail::getUniqueId, uniqueId)
|
||||||
|
.eq(OutMaterialDetail::getDelFlag, 1), false);
|
||||||
|
if (outMaterialDetail != null) {
|
||||||
|
outMaterialDetail.setOutWeight(outWeight);
|
||||||
|
outMaterialDetail.setOutVolume(outVolume);
|
||||||
|
outMaterialDetail.setOutQuantity(outQuantity == null || outQuantity.compareTo(BigDecimal.ZERO) == 0 ? outMaterialDetailDO.getOutQuantity() : outQuantity);
|
||||||
|
outMaterialDetailService.updateById(outMaterialDetail);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Boolean.TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean checkUpload(StockOutOrderDO stockOutOrderDO){
|
||||||
|
String outOrderNumber = stockOutOrderDO.getOutOrderNumber();
|
||||||
|
StockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper<StockOutOrder>().lambda()
|
||||||
|
.eq(StockOutOrder::getOutOrderNumber, outOrderNumber)
|
||||||
|
.eq(StockOutOrder::getDelFlag, 1), false);
|
||||||
|
if (stockOutOrder == null) {
|
||||||
|
throw new RuntimeException("出库单不存在!");
|
||||||
|
}
|
||||||
|
PickingOrder pickingOrder = pickingOrderService.getOne(new QueryWrapper<PickingOrder>().lambda()
|
||||||
|
.eq(PickingOrder::getOrderNumber, outOrderNumber)
|
||||||
|
.eq(PickingOrder::getDelFlag, 1), false);
|
||||||
|
if (pickingOrder == null) {
|
||||||
|
throw new RuntimeException("拣货单不存在!");
|
||||||
|
}
|
||||||
|
PickingOrderDO pickingOrderDO = new PickingOrderDO();
|
||||||
|
pickingOrderDO.setType(1);
|
||||||
|
pickingOrderDO.setPickingOrderId(pickingOrder.getPickingOrderId());
|
||||||
|
pickingOrderDomainService.completePicking(pickingOrderDO);
|
||||||
|
DeliveTask pickdeliveTask = deliveTaskService.getOne(new LambdaQueryWrapper<DeliveTask>()
|
||||||
|
.eq(DeliveTask::getTrackingNumber, pickingOrder.getPickingOrderNumber())
|
||||||
|
.eq(DeliveTask::getDelFlag, 1));
|
||||||
|
if (pickdeliveTask != null) {
|
||||||
|
pickdeliveTask.setOperatorsBy(stockOutOrder.getWorkUserId());
|
||||||
|
pickdeliveTask.setOperatorsName(stockOutOrder.getWorkUserName());
|
||||||
|
pickdeliveTask.setTaskStatus(2);
|
||||||
|
deliveTaskService.updateById(pickdeliveTask);
|
||||||
|
}
|
||||||
|
|
||||||
|
//复核
|
||||||
|
// ReviewOrderDO reviewOrderDO = new ReviewOrderDO();
|
||||||
|
// List<OutMaterialDetailDO> materialDetailList = stockOutOrderDO.getMaterialDetailList();
|
||||||
|
// if (materialDetailList != null && materialDetailList.size() > 0) {
|
||||||
|
// for (OutMaterialDetailDO outMaterialDetailDO : materialDetailList) {
|
||||||
|
// Long uniqueId = outMaterialDetailDO.getUniqueId();
|
||||||
|
// PickingMaterialDetail pickingMaterialDetail = pickingMaterialDetailService.getOne(new QueryWrapper<PickingMaterialDetail>().lambda()
|
||||||
|
// .eq(PickingMaterialDetail::getOutUniqueId, uniqueId)
|
||||||
|
// .eq(PickingMaterialDetail::getDelFlag, 1), false);
|
||||||
|
// if (pickingMaterialDetail != null) {
|
||||||
|
// outMaterialDetailDO.setActualQuantity(pickingMaterialDetail.getPickingQuantity());
|
||||||
|
// outMaterialDetailDO.setCheckArea(pickingMaterialDetail.getTotalArea());
|
||||||
|
// outMaterialDetailDO.setCheckVolume(pickingMaterialDetail.getTotalVolume());
|
||||||
|
// outMaterialDetailDO.setCheckNetWeight(pickingMaterialDetail.getTotalNetWeight());
|
||||||
|
// outMaterialDetailDO.setCheckGrossWeight(pickingMaterialDetail.getTotalGrossWeight());
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// stockOutOrderDO.setMaterialDetailList(materialDetailList);
|
||||||
|
// batchCheck(stockOutOrderDO);
|
||||||
|
// checkConfirm(stockOutOrderDO);
|
||||||
|
ReviewOrderDO cmd1 = new ReviewOrderDO();
|
||||||
|
List<ReviewOrder> reviewOrders = reviewOrderMapper.selectList(new QueryWrapper<ReviewOrder>().lambda()
|
||||||
|
.eq(ReviewOrder::getOutOrderId, stockOutOrderDO.getOutOrderId())
|
||||||
|
.eq(ReviewOrder::getDelFlag, 1));
|
||||||
|
if (reviewOrders != null && reviewOrders.size() > 0) {
|
||||||
|
ReviewOrder reviewOrder = reviewOrders.get(0);
|
||||||
|
BeanUtils.copyProperties(reviewOrder,cmd1);
|
||||||
|
List<ReviewMaterialDetailPO> details = new ArrayList<>();
|
||||||
|
List<OutMaterialDetailDO> materialDetailList = stockOutOrderDO.getMaterialDetailList();
|
||||||
|
// 将每个明细的children提取出来,与父级合并为一个扁平list
|
||||||
|
List<OutMaterialDetailDO> flatMaterialDetailList = new ArrayList<>();
|
||||||
|
for (OutMaterialDetailDO detail : materialDetailList) {
|
||||||
|
flatMaterialDetailList.add(detail);
|
||||||
|
if (!CollectionUtils.isEmpty(detail.getChildren())) {
|
||||||
|
flatMaterialDetailList.addAll(detail.getChildren());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
materialDetailList = flatMaterialDetailList;
|
||||||
|
|
||||||
|
for (OutMaterialDetailDO outMaterialDetailDO : materialDetailList) {
|
||||||
|
ReviewMaterialDetailPO detailPO = new ReviewMaterialDetailPO();
|
||||||
|
Long materialDetailId = outMaterialDetailDO.getMaterialDetailId();
|
||||||
|
ReviewMaterialDetail reviewMaterialDetailPO = reviewMaterialDetailMapper.selectOne(new QueryWrapper<ReviewMaterialDetail>().lambda()
|
||||||
|
.eq(ReviewMaterialDetail::getMaterialDetailId, materialDetailId)
|
||||||
|
.eq(ReviewMaterialDetail::getDelFlag, 1));
|
||||||
|
// reviewMaterialDetailPO.setReviewedQty(BigDecimal.ZERO);
|
||||||
|
reviewMaterialDetailPO.setReviewQtyEa(reviewMaterialDetailPO.getMaterialPlanQty());
|
||||||
|
reviewMaterialDetailPO.setVolumeCbm(outMaterialDetailDO.getOutVolume());
|
||||||
|
reviewMaterialDetailPO.setNetWeightKg(outMaterialDetailDO.getOutWeight());
|
||||||
|
reviewMaterialDetailPO.setGrossWeightKg(outMaterialDetailDO.getOutVolume());
|
||||||
|
BeanUtils.copyProperties(reviewMaterialDetailPO, detailPO);
|
||||||
|
details.add(detailPO);
|
||||||
|
}
|
||||||
|
cmd1.setDetails(details);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
reviewOrderApplicationService.batchCheck(cmd1);
|
||||||
|
ReviewOrderDO cmd2 = new ReviewOrderDO();
|
||||||
|
cmd2.setReviewOrderId(cmd1.getReviewOrderId());
|
||||||
|
reviewOrderApplicationService.checkConfirm(cmd2);
|
||||||
|
DeliveTask reviewdeliveTask = deliveTaskService.getOne(new LambdaQueryWrapper<DeliveTask>()
|
||||||
|
.eq(DeliveTask::getTrackingNumber, cmd1.getReviewOrderNumber())
|
||||||
|
.eq(DeliveTask::getDelFlag, 1));
|
||||||
|
if (reviewdeliveTask != null) {
|
||||||
|
reviewdeliveTask.setOperatorsBy(stockOutOrder.getWorkUserId());
|
||||||
|
reviewdeliveTask.setOperatorsName(stockOutOrder.getWorkUserName());
|
||||||
|
reviewdeliveTask.setTaskStatus(2);
|
||||||
|
deliveTaskService.updateById(reviewdeliveTask);
|
||||||
|
}
|
||||||
|
//交接
|
||||||
|
|
||||||
|
|
||||||
|
HandoverTaskOrder handoverTaskOrder = handoverTaskOrderService.getOne(new LambdaQueryWrapper<HandoverTaskOrder>()
|
||||||
|
.eq(HandoverTaskOrder::getOrderNumber, outOrderNumber)
|
||||||
|
.eq(HandoverTaskOrder::getDelFlag, 1));
|
||||||
|
if (handoverTaskOrder != null) {
|
||||||
|
//交接pda下发
|
||||||
|
HandoverTaskOrderDO handoverTaskOrderDO1 = new HandoverTaskOrderDO();
|
||||||
|
handoverTaskOrderDO1.setOperatorsBy(stockOutOrder.getWorkUserId());
|
||||||
|
List<Long> ids = new ArrayList<>();
|
||||||
|
ids.add(handoverTaskOrder.getHandoverTaskOrderId());
|
||||||
|
handoverTaskOrderDO1.setHandoverTaskOrderIds(ids);
|
||||||
|
DeliveTask deliveTask = deliveTaskService.getOne(new LambdaQueryWrapper<DeliveTask>()
|
||||||
|
.eq(DeliveTask::getTrackingNumber, handoverTaskOrder.getTaskNumber())
|
||||||
|
.eq(DeliveTask::getDelFlag, 1));
|
||||||
|
if (deliveTask != null) {
|
||||||
|
deliveTask.setOperatorsBy(stockOutOrder.getWorkUserId());
|
||||||
|
deliveTask.setOperatorsName(stockOutOrder.getWorkUserName());
|
||||||
|
deliveTask.setTaskStatus(2);
|
||||||
|
deliveTaskService.updateById(deliveTask);
|
||||||
|
}
|
||||||
|
// handoverTaskOrderApplicationService.taskDistribution(handoverTaskOrderDO1);
|
||||||
|
//完成交接
|
||||||
|
HandoverTaskOrderDO handoverTaskOrderDO = new HandoverTaskOrderDO();
|
||||||
|
List<Long> handoverTaskOrderId = new ArrayList<>();
|
||||||
|
handoverTaskOrderId.add(handoverTaskOrder.getHandoverTaskOrderId());
|
||||||
|
handoverTaskOrderDO.setHandoverTaskOrderIds(handoverTaskOrderId);
|
||||||
|
handoverTaskOrderDomainService.completeHandover(handoverTaskOrderDO);
|
||||||
|
}
|
||||||
|
return Boolean.TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean genPickingOrderByOms(StockOutOrderDO stockOutOrderDO){
|
public Boolean genPickingOrderByOms(StockOutOrderDO stockOutOrderDO){
|
||||||
List<StockOutOrder> stockOutOrderList = stockOutOrderService.list(new QueryWrapper<StockOutOrder>().lambda()
|
List<StockOutOrder> stockOutOrderList = stockOutOrderService.list(new QueryWrapper<StockOutOrder>().lambda()
|
||||||
@@ -1569,9 +1797,9 @@ public class StockOutOrderDomainService {
|
|||||||
if (stockOutOrderDb.getStatus() > 8){
|
if (stockOutOrderDb.getStatus() > 8){
|
||||||
throw new ServiceException("出库单【" + stockOutOrderDb.getOutOrderNumber() + "】已出库,请重新选择");
|
throw new ServiceException("出库单【" + stockOutOrderDb.getOutOrderNumber() + "】已出库,请重新选择");
|
||||||
}
|
}
|
||||||
if (stockOutOrderDb.getUpdateTime().compareTo(stockOutOrderDO.getUpdateTime()) != 0){
|
// if (stockOutOrderDb.getUpdateTime().compareTo(stockOutOrderDO.getUpdateTime()) != 0){
|
||||||
throw new ServiceException("出库单【" + stockOutOrderDb.getOutOrderNumber() + "】数据已被更新,请刷新后重新进行收货");
|
// throw new ServiceException("出库单【" + stockOutOrderDb.getOutOrderNumber() + "】数据已被更新,请刷新后重新进行收货");
|
||||||
}
|
// }
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
stockOutOrderService.update(null, new UpdateWrapper<StockOutOrder>().lambda()
|
stockOutOrderService.update(null, new UpdateWrapper<StockOutOrder>().lambda()
|
||||||
.set(StockOutOrder::getCheckStatus, 2)
|
.set(StockOutOrder::getCheckStatus, 2)
|
||||||
@@ -1986,6 +2214,9 @@ public class StockOutOrderDomainService {
|
|||||||
private static final String OMS_AUTO_AUDIT_REMARK = "OMS下发自动审核";
|
private static final String OMS_AUTO_AUDIT_REMARK = "OMS下发自动审核";
|
||||||
|
|
||||||
public void omsOrderAdd(StockOutOrder stockOutOrder) {
|
public void omsOrderAdd(StockOutOrder stockOutOrder) {
|
||||||
|
// 任务下发用户id
|
||||||
|
String userId = stockInOrderMapper.queryWarehouseUserId(stockOutOrder.getOrganizationId(), stockOutOrder.getWarehouseId(), stockOutOrder.getTopOrganizationId());
|
||||||
|
stockOutOrder.setTaskIssueUserId(userId);
|
||||||
stockOutOrderService.save(stockOutOrder);
|
stockOutOrderService.save(stockOutOrder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
@@ -401,4 +401,8 @@ public class InMaterialDetailDTO extends BaseVOEntity {
|
|||||||
private BigDecimal erpPriceGw;
|
private BigDecimal erpPriceGw;
|
||||||
//申报总价
|
//申报总价
|
||||||
private BigDecimal amountGw;
|
private BigDecimal amountGw;
|
||||||
|
|
||||||
|
//仓码简易模式收货上架
|
||||||
|
private BigDecimal collectQuantity;
|
||||||
|
private String shelfJson;
|
||||||
}
|
}
|
||||||
+12
@@ -506,4 +506,16 @@ public class OutMaterialDetailDTO extends BaseVOEntity {
|
|||||||
private String bondInvtNoGw;
|
private String bondInvtNoGw;
|
||||||
private String whNoGw;
|
private String whNoGw;
|
||||||
private String seatNoGw;
|
private String seatNoGw;
|
||||||
|
//仓码简易模式
|
||||||
|
@ApiModelProperty("出库重量")
|
||||||
|
@Excel(name = "出库重量")
|
||||||
|
private BigDecimal outWeight;
|
||||||
|
|
||||||
|
@ApiModelProperty("出库体积")
|
||||||
|
@Excel(name = "出库体积")
|
||||||
|
private BigDecimal outVolume;
|
||||||
|
|
||||||
|
@ApiModelProperty("出库数量")
|
||||||
|
@Excel(name = "出库数量")
|
||||||
|
private BigDecimal outQuantity;
|
||||||
}
|
}
|
||||||
@@ -426,4 +426,23 @@ public class StockInOrderDTO extends StockInOrderBaseDTO {
|
|||||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private Date createTimeTo;
|
private Date createTimeTo;
|
||||||
|
|
||||||
|
//仓码pda查询参数
|
||||||
|
@ApiModelProperty("pda查询用户ID")
|
||||||
|
private Long queryUserId;
|
||||||
|
@ApiModelProperty("状态列表")
|
||||||
|
private List<Integer> statusList;
|
||||||
|
|
||||||
|
@ApiModelProperty("作业人用户ID")
|
||||||
|
private Long workUserId;
|
||||||
|
@ApiModelProperty("作业人用户")
|
||||||
|
private String workUserName;
|
||||||
|
@ApiModelProperty("作业任务接收状态")
|
||||||
|
private String workTaskReceiveStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务下发用户ID")
|
||||||
|
private String taskIssueUserId;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务移除用户ID")
|
||||||
|
private String removeUserId;
|
||||||
}
|
}
|
||||||
@@ -484,4 +484,22 @@ public class StockOutOrderDTO extends StockOutOrderBaseDTO {
|
|||||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private Date createTimeTo;
|
private Date createTimeTo;
|
||||||
|
@ApiModelProperty("作业人用户ID")
|
||||||
|
private Long workUserId;
|
||||||
|
@ApiModelProperty("作业人用户")
|
||||||
|
private String workUserName;
|
||||||
|
@ApiModelProperty("作业任务接收状态")
|
||||||
|
private String workTaskReceiveStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务下发用户ID")
|
||||||
|
private String taskIssueUserId;
|
||||||
|
|
||||||
|
//仓码pda查询参数
|
||||||
|
@ApiModelProperty("pda查询用户ID")
|
||||||
|
private Long queryUserId;
|
||||||
|
@ApiModelProperty("状态列表")
|
||||||
|
private List<Integer> statusList;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务移除用户ID")
|
||||||
|
private String removeUserId;
|
||||||
}
|
}
|
||||||
+87
@@ -1,6 +1,7 @@
|
|||||||
package com.mhd.wms.interfaces.facadeApi.stockInOrder;
|
package com.mhd.wms.interfaces.facadeApi.stockInOrder;
|
||||||
|
|
||||||
import com.mhd.common.core.web.controller.BaseController;
|
import com.mhd.common.core.web.controller.BaseController;
|
||||||
|
import com.mhd.common.core.utils.bean.BeanUtils;
|
||||||
import com.mhd.common.core.web.domain.AjaxResult;
|
import com.mhd.common.core.web.domain.AjaxResult;
|
||||||
import com.mhd.common.core.web.page.TableDataInfo;
|
import com.mhd.common.core.web.page.TableDataInfo;
|
||||||
import com.mhd.common.core.exception.ServiceException;
|
import com.mhd.common.core.exception.ServiceException;
|
||||||
@@ -8,12 +9,15 @@ import com.mhd.common.core.utils.StringUtils;
|
|||||||
import com.mhd.wms.application.service.stockInOrder.StockInOrderApplicationService;
|
import com.mhd.wms.application.service.stockInOrder.StockInOrderApplicationService;
|
||||||
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
||||||
import com.mhd.wms.domain.inMaterialDetail.repository.po.InMaterialDetailPO;
|
import com.mhd.wms.domain.inMaterialDetail.repository.po.InMaterialDetailPO;
|
||||||
|
import com.mhd.wms.domain.inMaterialDetail.repository.todo.InMaterialDetailDO;
|
||||||
|
import com.mhd.wms.domain.inMaterialDetail.repository.todo.InMaterialDetailDO;
|
||||||
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
||||||
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
|
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
|
||||||
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
||||||
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
|
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
|
||||||
import com.mhd.wms.interfaces.assember.stockInOrder.StockInOrderAssembler;
|
import com.mhd.wms.interfaces.assember.stockInOrder.StockInOrderAssembler;
|
||||||
import com.mhd.wms.interfaces.assember.stockOutOrder.StockOutOrderAssembler;
|
import com.mhd.wms.interfaces.assember.stockOutOrder.StockOutOrderAssembler;
|
||||||
|
import com.mhd.wms.interfaces.dto.inMaterialDetail.InMaterialDetailDTO;
|
||||||
import com.mhd.wms.interfaces.dto.stockInOrder.StockInOrderDTO;
|
import com.mhd.wms.interfaces.dto.stockInOrder.StockInOrderDTO;
|
||||||
import com.mhd.wms.interfaces.dto.stockOutOrder.StockOutOrderDTO;
|
import com.mhd.wms.interfaces.dto.stockOutOrder.StockOutOrderDTO;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
@@ -22,6 +26,8 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -172,6 +178,87 @@ public class StockInOrderApi extends BaseController {
|
|||||||
stockInOrderApplicationService.omsOrderAdd(stockInOrder);
|
stockInOrderApplicationService.omsOrderAdd(stockInOrder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* oms下发单保存
|
||||||
|
*/
|
||||||
|
@ApiOperation("pda接收任务")
|
||||||
|
@PostMapping(value = "/acceptTask")
|
||||||
|
public AjaxResult acceptTask(@RequestBody StockInOrder stockInOrder) {
|
||||||
|
stockInOrderApplicationService.acceptTask(stockInOrder);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* oms下发单保存
|
||||||
|
*/
|
||||||
|
@ApiOperation("pda取消接收任务")
|
||||||
|
@PostMapping(value = "/removeTask")
|
||||||
|
public AjaxResult removeTask(@RequestBody StockInOrderDO stockInOrderDO) {
|
||||||
|
stockInOrderApplicationService.removeTask(stockInOrderDO);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核入库单
|
||||||
|
*/
|
||||||
|
@ApiOperation("pda简易模式收货")
|
||||||
|
@PostMapping(value = "/receiptEasyMode")
|
||||||
|
public AjaxResult receiptEasyMode(@RequestBody StockInOrderDTO stockInOrderDTO) {
|
||||||
|
StockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
|
||||||
|
List<InMaterialDetailDTO> materialDetailList = stockInOrderDTO.getMaterialDetailList();
|
||||||
|
if (materialDetailList != null && !materialDetailList.isEmpty()) {
|
||||||
|
List<InMaterialDetailDO> inMaterialDetailDOList = new ArrayList<>();
|
||||||
|
for (InMaterialDetailDTO dto : materialDetailList) {
|
||||||
|
InMaterialDetailDO detailDO = new InMaterialDetailDO();
|
||||||
|
BeanUtils.copyProperties(dto, detailDO);
|
||||||
|
inMaterialDetailDOList.add(detailDO);
|
||||||
|
}
|
||||||
|
stockInOrderDO.setMaterialDetailList(inMaterialDetailDOList);
|
||||||
|
}
|
||||||
|
|
||||||
|
return AjaxResult.success(stockInOrderApplicationService.receiptEasyMode(stockInOrderDO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("pda简易模式修改计划数量")
|
||||||
|
@GetMapping(value = "/updateQuantity")
|
||||||
|
public AjaxResult updateQuantity(@RequestParam BigDecimal quantity,
|
||||||
|
@RequestParam Long materialDetailId,
|
||||||
|
@RequestParam BigDecimal area,
|
||||||
|
@RequestParam BigDecimal volume
|
||||||
|
,@RequestParam BigDecimal weight) {
|
||||||
|
return AjaxResult.success(stockInOrderApplicationService.updateQuantity(quantity, materialDetailId, area, volume, weight));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核入库单
|
||||||
|
*/
|
||||||
|
@ApiOperation("pda简易模式上架")
|
||||||
|
@PostMapping(value = "/shelfEasyMode")
|
||||||
|
public AjaxResult shelfEasyMode(@RequestBody StockInOrderDTO stockInOrderDTO) {
|
||||||
|
StockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
|
||||||
|
List<InMaterialDetailDTO> materialDetailList = stockInOrderDTO.getMaterialDetailList();
|
||||||
|
if (materialDetailList != null && !materialDetailList.isEmpty()) {
|
||||||
|
List<InMaterialDetailDO> inMaterialDetailDOList = new ArrayList<>();
|
||||||
|
for (InMaterialDetailDTO dto : materialDetailList) {
|
||||||
|
InMaterialDetailDO detailDO = new InMaterialDetailDO();
|
||||||
|
BeanUtils.copyProperties(dto, detailDO);
|
||||||
|
inMaterialDetailDOList.add(detailDO);
|
||||||
|
}
|
||||||
|
stockInOrderDO.setMaterialDetailList(inMaterialDetailDOList);
|
||||||
|
}
|
||||||
|
return AjaxResult.success(stockInOrderApplicationService.shelfEasyMode(stockInOrderDO));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核入库单
|
||||||
|
*/
|
||||||
|
@ApiOperation("pda简易模式核对上传")
|
||||||
|
@PostMapping(value = "/checkUploadEasyMode")
|
||||||
|
public AjaxResult checkUploadEasyMode(@RequestBody StockInOrderDTO stockInOrderDTO) {
|
||||||
|
StockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
|
||||||
|
return AjaxResult.success(stockInOrderApplicationService.checkUploadEasyMode(stockInOrderDO));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* oms下发单明细保存
|
* oms下发单明细保存
|
||||||
*/
|
*/
|
||||||
|
|||||||
+44
@@ -18,6 +18,7 @@ import com.mhd.wms.domain.outMaterialDetail.entity.OutMaterialDetail;
|
|||||||
import com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialDetailPO;
|
import com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialDetailPO;
|
||||||
import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO;
|
import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO;
|
||||||
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
||||||
|
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
||||||
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
||||||
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
|
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
|
||||||
import com.mhd.wms.domain.stockOutOrder.repository.listener.ExcelParseService;
|
import com.mhd.wms.domain.stockOutOrder.repository.listener.ExcelParseService;
|
||||||
@@ -346,6 +347,29 @@ public class StockOutOrderApi extends BaseController {
|
|||||||
return toAjax(stockOutOrderApplicationService.genPickingOrder(stockOutOrderDO));
|
return toAjax(stockOutOrderApplicationService.genPickingOrder(stockOutOrderDO));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成拣货单
|
||||||
|
*/
|
||||||
|
@ApiOperation("简易模式拣货")
|
||||||
|
@PostMapping("/adjustPicking")
|
||||||
|
public AjaxResult adjustPicking(@RequestBody StockOutOrderDTO stockOutOrderDTO) {
|
||||||
|
StockOutOrderDO stockOutOrderDO = JSONUtil.toBean(JSONUtil.toJsonStr(stockOutOrderDTO), StockOutOrderDO.class);
|
||||||
|
return toAjax(stockOutOrderApplicationService.adjustPicking(stockOutOrderDO));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成拣货单
|
||||||
|
*/
|
||||||
|
@ApiOperation("简易核对上传")
|
||||||
|
@PostMapping("/checkUpload")
|
||||||
|
public AjaxResult checkUpload(@RequestBody StockOutOrderDTO stockOutOrderDTO) {
|
||||||
|
StockOutOrderDO stockOutOrderDO = JSONUtil.toBean(JSONUtil.toJsonStr(stockOutOrderDTO), StockOutOrderDO.class);
|
||||||
|
return toAjax(stockOutOrderApplicationService.checkUpload(stockOutOrderDO));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成拣货单
|
* 生成拣货单
|
||||||
*/
|
*/
|
||||||
@@ -464,6 +488,26 @@ public class StockOutOrderApi extends BaseController {
|
|||||||
stockOutOrderApplicationService.omsOrderAdd(stockOutOrder);
|
stockOutOrderApplicationService.omsOrderAdd(stockOutOrder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* oms下发单保存
|
||||||
|
*/
|
||||||
|
@ApiOperation("pda接收任务")
|
||||||
|
@PostMapping(value = "/acceptTask")
|
||||||
|
public AjaxResult acceptTask(@RequestBody StockOutOrder stockOutOrder) {
|
||||||
|
stockOutOrderApplicationService.acceptTask(stockOutOrder);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* oms下发单保存
|
||||||
|
*/
|
||||||
|
@ApiOperation("pda取消接收任务")
|
||||||
|
@PostMapping(value = "/removeTask")
|
||||||
|
public AjaxResult removeTask(@RequestBody StockOutOrderDO stockOutOrderDO) {
|
||||||
|
stockOutOrderApplicationService.removeTask(stockOutOrderDO);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* oms下发单明细保存
|
* oms下发单明细保存
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -14,18 +14,18 @@ spring:
|
|||||||
nacos:
|
nacos:
|
||||||
discovery:
|
discovery:
|
||||||
# server-addr: 127.0.0.1:8848
|
# server-addr: 127.0.0.1:8848
|
||||||
server-addr: 10.33.0.129:6010
|
# server-addr: 10.33.0.129:6010
|
||||||
# 线上测试环境配置 容器名+端口号
|
# 线上测试环境配置 容器名+端口号
|
||||||
# server-addr: 10.102.192.31:6848
|
server-addr: 10.102.192.30:6848
|
||||||
username: nacos
|
username: nacos
|
||||||
password: manhuoda@2023
|
password: manhuoda@2023
|
||||||
#线上正式环境
|
#线上正式环境
|
||||||
# server-addr: 10.102.192.105:6848
|
# server-addr: 10.102.192.105:6848
|
||||||
config:
|
config:
|
||||||
# server-addr: 127.0.0.1:8848
|
# server-addr: 127.0.0.1:8848
|
||||||
server-addr: 10.33.0.129:6010
|
# server-addr: 10.33.0.129:6010
|
||||||
# 线上测试环境配置 容器名+端口号
|
# 线上测试环境配置 容器名+端口号
|
||||||
# server-addr: 10.102.192.31:6848
|
server-addr: 10.102.192.30:6848
|
||||||
username: nacos
|
username: nacos
|
||||||
password: manhuoda@2023
|
password: manhuoda@2023
|
||||||
#线上正式环境
|
#线上正式环境
|
||||||
|
|||||||
@@ -104,6 +104,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<result property="erpPriceGw" column="erp_price_gw" />
|
<result property="erpPriceGw" column="erp_price_gw" />
|
||||||
<result property="amountGw" column="amount_gw" />
|
<result property="amountGw" column="amount_gw" />
|
||||||
<result property="inOrderNumberGw" column="in_order_number_gw" />
|
<result property="inOrderNumberGw" column="in_order_number_gw" />
|
||||||
|
<result property="inLineNumGw" column="in_line_num_gw" />
|
||||||
|
<result property="outWeight" column="OUT_WEIGHT" />
|
||||||
|
<result property="outVolume" column="OUT_VOLUME" />
|
||||||
|
<result property="outQuantity" column="OUT_QUANTITY" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
@@ -117,6 +121,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
a.lot_no ,
|
a.lot_no ,
|
||||||
a.stock_quantity ,
|
a.stock_quantity ,
|
||||||
a.stock_unit ,a.in_order_number ,
|
a.stock_unit ,a.in_order_number ,
|
||||||
|
a.OUT_WEIGHT,a.OUT_VOLUME,a.OUT_QUANTITY,
|
||||||
a.material_detail_id, a.organization_id, a.organization_name, a.top_organization_id, a.unique_id, a.out_order_number, a.material_base_info_id, a.line_number, a.material_code, a.material_name, a.bar_code, a.weight_limit, a.volume_limit,
|
a.material_detail_id, a.organization_id, a.organization_name, a.top_organization_id, a.unique_id, a.out_order_number, a.material_base_info_id, a.line_number, a.material_code, a.material_name, a.bar_code, a.weight_limit, a.volume_limit,
|
||||||
a.quantity, a.already_allocation_quantity, a.allocation_quantity, a.picking_quantity, a.check_quantity, ROUND(GREATEST(0, IFNULL(a.quantity, 0) - IFNULL(a.check_quantity, 0), IFNULL(a.picking_quantity, 0) - IFNULL(a.check_quantity, 0)), 2) AS wait_check_quantity,
|
a.quantity, a.already_allocation_quantity, a.allocation_quantity, a.picking_quantity, a.check_quantity, ROUND(GREATEST(0, IFNULL(a.quantity, 0) - IFNULL(a.check_quantity, 0), IFNULL(a.picking_quantity, 0) - IFNULL(a.check_quantity, 0)), 2) AS wait_check_quantity,
|
||||||
a.pack_id, a.pack_code, a.pack_name, a.pack_detail_id, a.unit_code, a.unit_name, a.material_warehouse_control_id, a.serial_number_manage,
|
a.pack_id, a.pack_code, a.pack_name, a.pack_detail_id, a.unit_code, a.unit_name, a.material_warehouse_control_id, a.serial_number_manage,
|
||||||
|
|||||||
@@ -96,6 +96,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<result property="erpCurrGw" column="erp_curr_gw" />
|
<result property="erpCurrGw" column="erp_curr_gw" />
|
||||||
<result property="erpPriceGw" column="erp_price_gw" />
|
<result property="erpPriceGw" column="erp_price_gw" />
|
||||||
<result property="amountGw" column="amount_gw" />
|
<result property="amountGw" column="amount_gw" />
|
||||||
|
<result property="shelfJson" column="shelf_json" />
|
||||||
|
<result property="collectQuantity" column="collect_quantity" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
@@ -109,7 +111,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
a.lot_no ,
|
a.lot_no ,
|
||||||
a.material_detail_id, a.organization_id, a.organization_name, a.top_organization_id, a.unique_id, a.in_order_number, a.material_base_info_id,
|
a.material_detail_id, a.organization_id, a.organization_name, a.top_organization_id, a.unique_id, a.in_order_number, a.material_base_info_id,
|
||||||
a.material_code, a.material_name, a.bar_code, a.quantity, a.receipt_quantity, a.shelves_quantity,
|
a.material_code, a.material_name, a.bar_code, a.quantity, a.receipt_quantity, a.shelves_quantity,
|
||||||
a.receipt_status, a.shelves_status, a.pack_id, a.pack_code, a.pack_name,
|
a.receipt_status, a.shelves_status, a.pack_id, a.pack_code, a.pack_name,a.SHELF_JSON,a.COLLECT_QUANTITY,
|
||||||
CASE
|
CASE
|
||||||
WHEN a.pack_detail_id IS NULL OR TRIM(a.pack_detail_id) = '' THEN NULL
|
WHEN a.pack_detail_id IS NULL OR TRIM(a.pack_detail_id) = '' THEN NULL
|
||||||
ELSE CAST(a.pack_detail_id AS BIGINT)
|
ELSE CAST(a.pack_detail_id AS BIGINT)
|
||||||
|
|||||||
@@ -154,6 +154,9 @@
|
|||||||
<if test="shipperName != null and shipperName != ''">
|
<if test="shipperName != null and shipperName != ''">
|
||||||
and a.shipper_name like concat('%', #{shipperName}, '%')
|
and a.shipper_name like concat('%', #{shipperName}, '%')
|
||||||
</if>
|
</if>
|
||||||
|
<if test="shipperId != null and shipperId != ''">
|
||||||
|
and a.shipper_id like concat('%', #{shipperId}, '%')
|
||||||
|
</if>
|
||||||
<if test="createTimeStart != null and createTimeStart != ''">
|
<if test="createTimeStart != null and createTimeStart != ''">
|
||||||
and date_format(a.create_time, '%Y-%m-%d') >= #{createTimeStart}
|
and date_format(a.create_time, '%Y-%m-%d') >= #{createTimeStart}
|
||||||
</if>
|
</if>
|
||||||
|
|||||||
@@ -101,6 +101,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<result property="pushByName" column="PUSH_BY_NAME" />
|
<result property="pushByName" column="PUSH_BY_NAME" />
|
||||||
<result property="pushStatus" column="PUSH_STATUS" />
|
<result property="pushStatus" column="PUSH_STATUS" />
|
||||||
<result property="pushTime" column="PUSH_TIME" />
|
<result property="pushTime" column="PUSH_TIME" />
|
||||||
|
<result property="workUserId" column="WORK_USER_ID" />
|
||||||
|
<result property="workUserName" column="WORK_USER_NAME" />
|
||||||
|
<result property="workTaskReceiveStatus" column="WORK_TASK_RECEIVE_STATUS" />
|
||||||
|
<result property="taskIssueUserId" column="TASK_ISSUE_USER_ID" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectStockInOrderPo">
|
<sql id="selectStockInOrderPo">
|
||||||
@@ -134,7 +138,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
a."TO", a.CONTACT_PERSON, a.VEHICLE_INFO, a.CONSIGNMENT_NO, a.TEL, a.DRIVER_SIGNATURE, a.FAX, a.DECLARATION_AREA, a.MANUFACTURER,
|
a."TO", a.CONTACT_PERSON, a.VEHICLE_INFO, a.CONSIGNMENT_NO, a.TEL, a.DRIVER_SIGNATURE, a.FAX, a.DECLARATION_AREA, a.MANUFACTURER,
|
||||||
a.CUSTOMS_BROKER_INFO, a.DELIVERY_ADDRESS, a.ENTRY_EXIT_CUSTOMS, a.ORIGIN_DESTINATION_COUNTRY, a.CARRIER, a.CONTAINER_NO,
|
a.CUSTOMS_BROKER_INFO, a.DELIVERY_ADDRESS, a.ENTRY_EXIT_CUSTOMS, a.ORIGIN_DESTINATION_COUNTRY, a.CARRIER, a.CONTAINER_NO,
|
||||||
a.TRANSPORT_METHOD, a.SUPERVISION_METHOD, a.CUSTOMS_INSPECTION, a.NEED_CUSTOMS_DECLARATION, a.NEED_TRANSPORT,
|
a.TRANSPORT_METHOD, a.SUPERVISION_METHOD, a.CUSTOMS_INSPECTION, a.NEED_CUSTOMS_DECLARATION, a.NEED_TRANSPORT,
|
||||||
a.WAREHOUSE_DATE, a.COMPLETION_TIME, a.ORDER_DATE,a.stock_in_order,a.business_order_no
|
a.WAREHOUSE_DATE, a.COMPLETION_TIME, a.ORDER_DATE,a.stock_in_order,a.business_order_no,a.WORK_USER_ID,a.WORK_TASK_RECEIVE_STATUS,a.TASK_ISSUE_USER_ID,a.WORK_USER_NAME
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="joinStockInOrderPo">
|
<sql id="joinStockInOrderPo">
|
||||||
@@ -342,6 +346,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
|
<if test="statusList != null and statusList.size > 0 ">
|
||||||
|
and a.status in
|
||||||
|
<foreach collection="statusList" item="item" index="index" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="queryUserId != null">
|
||||||
|
and a.TASK_ISSUE_USER_ID like concat('%', #{queryUserId}, '%')
|
||||||
|
</if>
|
||||||
<!-- 报关相关字段查询条件 -->
|
<!-- 报关相关字段查询条件 -->
|
||||||
<if test="to != null and to != ''">
|
<if test="to != null and to != ''">
|
||||||
and a."TO" like concat('%', #{to}, '%')
|
and a."TO" like concat('%', #{to}, '%')
|
||||||
@@ -575,4 +589,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
AND in_order_number = #{inOrderNumber}
|
AND in_order_number = #{inOrderNumber}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="queryWarehouseUserId" resultType="java.lang.String">
|
||||||
|
SELECT WM_CONCAT(CORRELATION_ID) AS userIds
|
||||||
|
FROM NGWL_TEST_SYSTEM.ASSOCIATION_WAREHOUSE
|
||||||
|
WHERE warehouse_id = #{warehouseId} AND del_flag = 1 AND organization_id = #{organizationId} AND top_organization_id = #{topOrganizationId}
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -100,6 +100,10 @@
|
|||||||
<result property="pushByName" column="PUSH_BY_NAME" />
|
<result property="pushByName" column="PUSH_BY_NAME" />
|
||||||
<result property="pushStatus" column="PUSH_STATUS" />
|
<result property="pushStatus" column="PUSH_STATUS" />
|
||||||
<result property="pushTime" column="PUSH_TIME" />
|
<result property="pushTime" column="PUSH_TIME" />
|
||||||
|
<result property="workUserId" column="WORK_USER_ID" />
|
||||||
|
<result property="workUserName" column="WORK_USER_NAME" />
|
||||||
|
<result property="workTaskReceiveStatus" column="WORK_TASK_RECEIVE_STATUS" />
|
||||||
|
<result property="taskIssueUserId" column="TASK_ISSUE_USER_ID" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
@@ -120,7 +124,7 @@
|
|||||||
a.CUSTOMS_DECLARER_INFO,a.DELIVERY_ADDR,a.ENTRY_EXIT_CUSTOMS,a.DEPARTURE_ARRIVAL_COUNTRY,a.CARRIER,a.CONTAINER_NO,a.CONTAINER_NO_NAME,a.OUTBOUND_DATE,
|
a.CUSTOMS_DECLARER_INFO,a.DELIVERY_ADDR,a.ENTRY_EXIT_CUSTOMS,a.DEPARTURE_ARRIVAL_COUNTRY,a.CARRIER,a.CONTAINER_NO,a.CONTAINER_NO_NAME,a.OUTBOUND_DATE,
|
||||||
a.COMPLETE_TIME,a.ORDER_DATE,a.TRANSPORT_MODE_CODE,a.TRANSPORT_MODE_NAME,a.SUPERVISION_MODE_CODE,a.SUPERVISION_MODE_NAME,
|
a.COMPLETE_TIME,a.ORDER_DATE,a.TRANSPORT_MODE_CODE,a.TRANSPORT_MODE_NAME,a.SUPERVISION_MODE_CODE,a.SUPERVISION_MODE_NAME,
|
||||||
a.CUSTOMS_INSPECTION_FLAG,a.NEED_DECLARE_FLAG,a.NEED_TRANSPORT_FLAG,a.picture_app,a.billing_json,a.SETTLEMENT_CURRENCY,
|
a.CUSTOMS_INSPECTION_FLAG,a.NEED_DECLARE_FLAG,a.NEED_TRANSPORT_FLAG,a.picture_app,a.billing_json,a.SETTLEMENT_CURRENCY,
|
||||||
a.SALESMAN_ID,a.SALESMAN_NAME,a.business_order_no,a.RETURN_QUANTITY
|
a.SALESMAN_ID,a.SALESMAN_NAME,a.business_order_no,a.RETURN_QUANTITY,a.WORK_USER_ID,a.WORK_TASK_RECEIVE_STATUS,a.TASK_ISSUE_USER_ID,a.WORK_USER_NAME
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
|
||||||
@@ -170,6 +174,15 @@
|
|||||||
</otherwise>
|
</otherwise>
|
||||||
</choose>
|
</choose>
|
||||||
</if>
|
</if>
|
||||||
|
<if test="statusList != null and statusList.size > 0 ">
|
||||||
|
and a.status in
|
||||||
|
<foreach collection="statusList" item="item" index="index" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="queryUserId != null">
|
||||||
|
and a.TASK_ISSUE_USER_ID like concat('%', #{queryUserId}, '%')
|
||||||
|
</if>
|
||||||
<!-- 出库状态: 1-已创建 2-已审核 3-部分分配 4-已分配 5-拣货中 6-波次中 7-拣货完成 8-复核中 9-已出库 10-已取消 11-已关闭 -->
|
<!-- 出库状态: 1-已创建 2-已审核 3-部分分配 4-已分配 5-拣货中 6-波次中 7-拣货完成 8-复核中 9-已出库 10-已取消 11-已关闭 -->
|
||||||
<if test="gtStatus != null ">
|
<if test="gtStatus != null ">
|
||||||
and a.status > #{gtStatus}
|
and a.status > #{gtStatus}
|
||||||
|
|||||||
Reference in New Issue
Block a user