Merge branch 'dev' into dev_jinji
This commit is contained in:
@@ -18,7 +18,7 @@ import java.util.Set;
|
||||
/**
|
||||
* 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 {
|
||||
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
import java.util.List;
|
||||
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 {
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
import java.util.List;
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
||||
@@ -21,7 +21,7 @@ import java.util.Map;
|
||||
* @description: TODO
|
||||
* @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 {
|
||||
|
||||
/**
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
||||
+7
-1
@@ -116,6 +116,12 @@ public class WarehouseFeignPO extends BaseVOEntity{
|
||||
@Excel(name = "是否作废: 1-否 2-是")
|
||||
private Integer nullify;
|
||||
|
||||
@ApiModelProperty("任务模式")
|
||||
@Excel(name = "任务模式")
|
||||
private String taskMode;
|
||||
|
||||
@ApiModelProperty("作业模式")
|
||||
@Excel(name = "作业模式")
|
||||
private String workMode;
|
||||
|
||||
}
|
||||
}
|
||||
+4
-2
@@ -165,6 +165,8 @@ public class StorageLocation extends BaseVOEntity{
|
||||
@ApiModelProperty("是否作废: 1-否 2-是")
|
||||
@Excel(name = "是否作废: 1-否 2-是")
|
||||
private Integer nullify;
|
||||
@ApiModelProperty("库位条码")
|
||||
@Excel(name = "库位条码")
|
||||
private String locationBarCode;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
+4
-2
@@ -165,6 +165,8 @@ public class StorageLocationPO extends BaseVOEntity{
|
||||
@Excel(name = "是否作废: 1-否 2-是")
|
||||
private Integer nullify;
|
||||
|
||||
@ApiModelProperty("库位条码")
|
||||
@Excel(name = "库位条码")
|
||||
private String locationBarCode;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
+5
-1
@@ -204,4 +204,8 @@ public class StorageLocationDO extends BaseVOEntity{
|
||||
@ApiModelProperty("坐标-层 终止")
|
||||
@Excel(name = "坐标-层 终止")
|
||||
private String coordinateLayerEnd;
|
||||
}
|
||||
|
||||
@ApiModelProperty("库位条码")
|
||||
@Excel(name = "库位条码")
|
||||
private String locationBarCode;
|
||||
}
|
||||
+7
@@ -122,5 +122,12 @@ public class Warehouse extends BaseVOEntity{
|
||||
@Excel(name = "是否启用: 1-否 2-是")
|
||||
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;
|
||||
@ApiModelProperty("库区集合")
|
||||
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;
|
||||
@ApiModelProperty("组织id 集合")
|
||||
private List<Long> orgIdList;
|
||||
|
||||
@ApiModelProperty("任务模式")
|
||||
@Excel(name = "任务模式")
|
||||
private String taskMode;
|
||||
|
||||
@ApiModelProperty("作业模式")
|
||||
@Excel(name = "作业模式")
|
||||
private String workMode;
|
||||
}
|
||||
+5
-1
@@ -212,7 +212,11 @@ public class StorageLocationDTO extends BaseVOEntity{
|
||||
@Excel(name = "坐标-层 终止")
|
||||
private String coordinateLayerEnd;
|
||||
|
||||
@ApiModelProperty("库位条码")
|
||||
@Excel(name = "库位条码")
|
||||
private String locationBarCode;
|
||||
|
||||
public interface Edit {}
|
||||
|
||||
public interface BatchInsert {}
|
||||
}
|
||||
}
|
||||
+8
@@ -136,4 +136,12 @@ public class WarehouseDTO extends BaseVOEntity{
|
||||
private String orgIds;
|
||||
@ApiModelProperty("组织id 集合")
|
||||
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="updateByName" column="update_by_name" />
|
||||
<result property="delFlag" column="del_flag" />
|
||||
<result property="locationBarCode" column="LOCATION_BAR_CODE" />
|
||||
</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.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.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
|
||||
from storage_location a
|
||||
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="delFlag" column="del_flag" />
|
||||
<result property="isEnable" column="IS_ENABLE" />
|
||||
<result property="workMode" column="WORK_MODE" />
|
||||
<result property="taskMode" column="TASK_MODE" />
|
||||
</resultMap>
|
||||
|
||||
|
||||
<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 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.executionStockOutOrder.entity.ExecutionStockOutOrder;
|
||||
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.WmsServiceFeign;
|
||||
import com.mhd.system.api.domain.*;
|
||||
@@ -39,6 +40,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.lang.reflect.Field;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
@@ -85,7 +87,8 @@ public class ExecutionStockInOrderDomainService {
|
||||
// private IReceiptMaterialDetailService receiptMaterialDetailService;
|
||||
// @Autowired
|
||||
// private IShelfMaterialDetailService shelfMaterialDetailService;
|
||||
|
||||
@Resource
|
||||
private ReservationStockInOrderMapper stockInOrderMapper;
|
||||
/**
|
||||
* 分页查询入库单列表
|
||||
*/
|
||||
@@ -497,6 +500,13 @@ public class ExecutionStockInOrderDomainService {
|
||||
StockInOrder stockInOrder = new StockInOrder();
|
||||
BeanUtils.copyProperties(byId, stockInOrder,"inOrderId");
|
||||
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);
|
||||
String inOrderNumber = stockInOrder.getInOrderNumber();
|
||||
List<ExecutionInMaterialDetail> materialDetailList = materialDetailService.list(new QueryWrapper<ExecutionInMaterialDetail>().lambda().eq(ExecutionInMaterialDetail::getInOrderNumber, inOrderNumber));
|
||||
@@ -505,6 +515,9 @@ public class ExecutionStockInOrderDomainService {
|
||||
InMaterialDetail inMaterialDetail = new InMaterialDetail();
|
||||
BeanUtils.copyProperties(reservationInMaterialDetail, inMaterialDetail,"materialDetailId");
|
||||
inMaterialDetail.setOmsInMaterialDetail(String.valueOf(reservationInMaterialDetail.getMaterialDetailId()));
|
||||
inMaterialDetail.setOrganizationId(orgId);
|
||||
inMaterialDetail.setOrganizationName(orgName);
|
||||
inMaterialDetail.setTopOrganizationId(topOrgId);
|
||||
inMaterialDetailList.add(inMaterialDetail);
|
||||
}
|
||||
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.reservationMaterialInventory.entity.ReservationMaterialInventory;
|
||||
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.WmsServiceFeign;
|
||||
import com.mhd.system.api.domain.*;
|
||||
@@ -93,7 +94,8 @@ public class ExecutionStockOutOrderDomainService {
|
||||
private ReservationInventoryAdjustmentRecordMapper inventoryAdjustmentRecordMapper;
|
||||
@Autowired
|
||||
private ReservationMaterialInventoryMapper reservationMaterialInventoryMapper;
|
||||
|
||||
@Autowired
|
||||
private ReservationStockInOrderMapper stockInOrderMapper;
|
||||
/**
|
||||
* 分页查询出库单列表
|
||||
*/
|
||||
@@ -396,6 +398,13 @@ public class ExecutionStockOutOrderDomainService {
|
||||
ExecutionStockOutOrder byId = stockOutOrderService.getById(inOrderId);
|
||||
StockOutOrder stockOutOrder = new StockOutOrder();
|
||||
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);
|
||||
|
||||
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) {
|
||||
OutMaterialDetail outMaterialDetail = new OutMaterialDetail();
|
||||
BeanUtils.copyProperties(reservationOutMaterialDetail, outMaterialDetail,"materialDetailId");
|
||||
outMaterialDetail.setOrganizationId(orgId);
|
||||
outMaterialDetail.setOrganizationName(orgName);
|
||||
outMaterialDetail.setTopOrganizationId(topOrgId);
|
||||
outMaterialDetailList.add(outMaterialDetail);
|
||||
}
|
||||
wmsServiceFeign.omsOutOrderAddDetail(outMaterialDetailList);
|
||||
|
||||
+7
-7
@@ -685,9 +685,9 @@ public class ReservationStockInOrderDomainService {
|
||||
reservationStockInOrder.setBusinessType("pu_tong_ru_ku");
|
||||
reservationStockInOrder.setReservationOrderSource("客户预约");
|
||||
reservationStockInOrder.setWarehouseId(warehouseId);
|
||||
reservationStockInOrder.setOrganizationId(orgId);
|
||||
reservationStockInOrder.setOrganizationName(orgName);
|
||||
reservationStockInOrder.setTopOrganizationId(topOrgId);
|
||||
// reservationStockInOrder.setOrganizationId(orgId);
|
||||
// reservationStockInOrder.setOrganizationName(orgName);
|
||||
// reservationStockInOrder.setTopOrganizationId(topOrgId);
|
||||
reservationStockInOrder.setWarehouseCode(warehouseCode);
|
||||
reservationStockInOrder.setWarehouseName(warehouseName);
|
||||
reservationStockInOrder.setBusinessInOrderNumber(inOrderNumber);
|
||||
@@ -703,9 +703,9 @@ public class ReservationStockInOrderDomainService {
|
||||
ExecutionInMaterialDetail reservationInMaterialDetail = new ExecutionInMaterialDetail();
|
||||
BeanUtils.copyProperties(reserveInMaterialDetail, reservationInMaterialDetail,"materialDetailId");
|
||||
reservationInMaterialDetail.setQuantity(reserveInMaterialDetail.getQuantity());
|
||||
reservationInMaterialDetail.setOrganizationId(orgId);
|
||||
reservationInMaterialDetail.setOrganizationName(orgName);
|
||||
reservationInMaterialDetail.setTopOrganizationId(topOrgId);
|
||||
// reservationInMaterialDetail.setOrganizationId(orgId);
|
||||
// reservationInMaterialDetail.setOrganizationName(orgName);
|
||||
// reservationInMaterialDetail.setTopOrganizationId(topOrgId);
|
||||
reservationInMaterialDetail.setWarehouseCode(warehouseCode);
|
||||
reservationInMaterialDetail.setWarehouseName(warehouseName);
|
||||
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);
|
||||
reservationStockInOrder.setQuantity(quantity);
|
||||
executionStockInOrderService.save(reservationStockInOrder);
|
||||
executionInMaterialDetailService.saveBatch(inMaterialDetailList);
|
||||
ExecutionStockInOrderDO param = new ExecutionStockInOrderDO();
|
||||
Long inOrderId1 = reservationStockInOrder.getInOrderId();
|
||||
List<Long> inOrderIdList1 = new ArrayList<>();
|
||||
inOrderIdList1.add(inOrderId1);
|
||||
param.setInOrderIds(inOrderIdList1);
|
||||
stockInOrderApplicationService.issueOrder(param);
|
||||
executionInMaterialDetailService.saveBatch(inMaterialDetailList);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -18,15 +18,15 @@ spring:
|
||||
discovery:
|
||||
# server-addr: 127.0.0.1:8848
|
||||
# 线上测试环境配置 容器名+端口号
|
||||
server-addr: 10.33.0.129:6010
|
||||
# server-addr: 10.102.192.30:6848
|
||||
# server-addr: 10.33.0.129:6010
|
||||
server-addr: 10.102.192.30:6848
|
||||
username: nacos
|
||||
password: manhuoda@2023
|
||||
config:
|
||||
# server-addr: 127.0.0.1:8848
|
||||
# 线上测试环境配置 容器名+端口号
|
||||
server-addr: 10.33.0.129:6010
|
||||
# server-addr: 10.102.192.30:6848
|
||||
# server-addr: 10.33.0.129:6010
|
||||
server-addr: 10.102.192.30:6848
|
||||
username: nacos
|
||||
password: manhuoda@2023
|
||||
#线上正式环境
|
||||
|
||||
+190
-18
@@ -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.SystemServiceCacheUtil;
|
||||
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.repository.facade.IHandoverTaskOrderService;
|
||||
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.repository.facade.IStockInOrderService;
|
||||
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.todo.StockInOrderDO;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.vo.GwInDetail;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.vo.GwStockInOrder;
|
||||
import com.mhd.wms.domain.stockInOrder.service.StockInOrderDomainService;
|
||||
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.domain.stockOutOrder.entity.StockOutOrder;
|
||||
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.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -92,6 +103,10 @@ import java.util.stream.Collectors;
|
||||
public class StockInOrderApplicationService {
|
||||
@Autowired
|
||||
private StockInOrderDomainService stockInOrderDomainService;
|
||||
@Autowired
|
||||
private StockReceiptOrderDomainService stockReceiptOrderDomainService;
|
||||
@Autowired
|
||||
private StockShelfOrderDomainService stockShelfOrderDomainService;
|
||||
@Resource
|
||||
private UserServiceFeign userServiceFeign;
|
||||
@Resource
|
||||
@@ -109,6 +124,8 @@ public class StockInOrderApplicationService {
|
||||
@Autowired
|
||||
private IStockReceiptOrderService stockReceiptOrderService;
|
||||
@Autowired
|
||||
private IStockShelfOrderService stockShelfOrderService;
|
||||
@Autowired
|
||||
private IReceiptMaterialDetailService receiptMaterialDetailService;
|
||||
@Autowired
|
||||
private IStockOutOrderService stockOutOrderService;
|
||||
@@ -119,7 +136,15 @@ public class StockInOrderApplicationService {
|
||||
@Autowired
|
||||
private StockOutOrderMapper stockOutOrderMapper;
|
||||
@Autowired
|
||||
private StockInOrderMapper stockInOrderMapper;
|
||||
@Autowired
|
||||
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 API_NAME = "save_order_i";
|
||||
private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
|
||||
@@ -541,31 +566,171 @@ public class StockInOrderApplicationService {
|
||||
*/
|
||||
public Boolean auditState(StockInOrderDO 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;
|
||||
}
|
||||
|
||||
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){
|
||||
// 设置任务下发用户ID
|
||||
String userId = stockInOrderMapper.queryWarehouseUserId(stockInOrder.getOrganizationId(), stockInOrder.getWarehouseId(), stockInOrder.getTopOrganizationId());
|
||||
stockInOrder.setTaskIssueUserId(userId);
|
||||
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){
|
||||
stockInOrderDomainService.omsOrderAddDetail(inMaterialDetails);
|
||||
}
|
||||
@@ -1795,7 +1960,10 @@ public class StockInOrderApplicationService {
|
||||
supplierParam(order);
|
||||
// 设置数据字典键值
|
||||
setDataDict(order);
|
||||
|
||||
|
||||
// 设置任务下发用户ID
|
||||
String userId = stockInOrderMapper.queryWarehouseUserId(order.getOrganizationId(), order.getWarehouseId(), order.getTopOrganizationId());
|
||||
order.setTaskIssueUserId(userId);
|
||||
orderList.add(order);
|
||||
}
|
||||
|
||||
@@ -1915,6 +2083,10 @@ public class StockInOrderApplicationService {
|
||||
if (stockInOrderDO.getWarehouseId() == null) {
|
||||
throw new ServiceException("仓库ID不能为空");
|
||||
}
|
||||
|
||||
//任务下发用户ID
|
||||
String userIds = stockInOrderMapper.queryWarehouseUserId(stockInOrderDO.getOrganizationId(), stockInOrderDO.getWarehouseId(), stockInOrderDO.getTopOrganizationId());
|
||||
stockInOrderDO.setTaskIssueUserId(userIds);
|
||||
AjaxResult ajaxResult = systemServiceFeign.getWarehouseInfoByWarehouseId(stockInOrderDO.getWarehouseId());
|
||||
if (ajaxResult == null) {
|
||||
throw new ServiceException("获取仓库信息失败:返回结果为空,仓库ID:" + stockInOrderDO.getWarehouseId());
|
||||
|
||||
+120
-4
@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSON;
|
||||
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.update.LambdaUpdateWrapper;
|
||||
import com.mhd.common.core.constant.SecurityConstants;
|
||||
import com.mhd.common.core.constant.SnowFlakeConstants;
|
||||
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.model.LoginUser;
|
||||
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.repository.facade.IDeliveryDetailsLinkService;
|
||||
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.po.PickingAggByOutOrderRow;
|
||||
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.receiptOrderAccount.entity.ReceiptOrderAccount;
|
||||
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.repository.facade.IStockOutOrderService;
|
||||
import com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper;
|
||||
@@ -109,6 +116,8 @@ public class StockOutOrderApplicationService {
|
||||
@Autowired
|
||||
private IPickingMaterialDetailService pickingMaterialDetailService;
|
||||
@Autowired
|
||||
private IPickingOrderService pickingOrderService;
|
||||
@Autowired
|
||||
private IReceiptOrderAccountService receiptOrderAccountService;
|
||||
@Autowired
|
||||
private IDeliveryDetailsLinkService deliveryDetailsLinkService;
|
||||
@@ -117,7 +126,11 @@ public class StockOutOrderApplicationService {
|
||||
@Autowired
|
||||
private StockOutOrderMapper stockOutOrderMapper;
|
||||
@Autowired
|
||||
private StockInOrderMapper stockInOrderMapper;
|
||||
@Autowired
|
||||
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 API_NAME = "save_order_e";
|
||||
private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
|
||||
@@ -294,14 +307,20 @@ public class StockOutOrderApplicationService {
|
||||
*/
|
||||
public Boolean insert(StockOutOrderDO stockOutOrderDO) {
|
||||
//设置仓库
|
||||
//setWarehouseInfo(stockOutOrderDO);
|
||||
setWarehouseInfo(stockOutOrderDO);
|
||||
//设置货主信息
|
||||
shipperParam(stockOutOrderDO);
|
||||
//设置客户信息
|
||||
customerParam(stockOutOrderDO);
|
||||
stockOutOrderDO.setOrderTypeCode("pu_tong_chu_ku");
|
||||
stockOutOrderDO.setBusinessType("pu_tong_chu_ku");
|
||||
stockOutOrderDO.setOrderTypeName("普通出库");
|
||||
if (stockOutOrderDO.getOrderTypeCode() == null) {
|
||||
stockOutOrderDO.setOrderTypeCode("pu_tong_chu_ku");
|
||||
}
|
||||
if (stockOutOrderDO.getBusinessType() == null) {
|
||||
stockOutOrderDO.setBusinessType("pu_tong_chu_ku");
|
||||
}
|
||||
if (stockOutOrderDO.getOrderTypeName() == null) {
|
||||
stockOutOrderDO.setOrderTypeName("普通出库");
|
||||
}
|
||||
//设置数据字典键值
|
||||
//setDataDict(stockOutOrderDO);
|
||||
return stockOutOrderDomainService.insert(stockOutOrderDO);
|
||||
@@ -311,6 +330,8 @@ public class StockOutOrderApplicationService {
|
||||
* 修改出库单
|
||||
*/
|
||||
public Boolean update(StockOutOrderDO stockOutOrderDO) {
|
||||
//设置仓库
|
||||
setWarehouseInfo(stockOutOrderDO);
|
||||
return stockOutOrderDomainService.update(stockOutOrderDO);
|
||||
}
|
||||
|
||||
@@ -1128,6 +1149,28 @@ public class StockOutOrderApplicationService {
|
||||
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){
|
||||
Boolean b = stockOutOrderDomainService.genPickingOrderByOms(stockOutOrderDO);
|
||||
// List<Long> outOrderIds = stockOutOrderDO.getOutOrderIds();
|
||||
@@ -1354,6 +1397,9 @@ public class StockOutOrderApplicationService {
|
||||
if (stockOutOrderDO.getWarehouseId() == null) {
|
||||
throw new ServiceException("仓库ID不能为空");
|
||||
}
|
||||
// 获取任务下发用户ID
|
||||
String userId = stockInOrderMapper.queryWarehouseUserId(stockOutOrderDO.getOrganizationId(), stockOutOrderDO.getWarehouseId(), stockOutOrderDO.getTopOrganizationId());
|
||||
stockOutOrderDO.setTaskIssueUserId(userId);
|
||||
AjaxResult ajaxResult = systemServiceFeign.getWarehouseInfoByWarehouseId(stockOutOrderDO.getWarehouseId());
|
||||
if(!"200".equals(String.valueOf(ajaxResult.get("code")))){
|
||||
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){
|
||||
stockOutOrderDomainService.omsOrderAdd(stockOutOrder);
|
||||
}
|
||||
|
||||
@@ -414,4 +414,8 @@ public class InMaterialDetail extends BaseVOEntity {
|
||||
private BigDecimal erpPriceGw;
|
||||
//申报总价
|
||||
private BigDecimal amountGw;
|
||||
|
||||
//仓码简易模式收货上架
|
||||
private BigDecimal collectQuantity;
|
||||
private String shelfJson;
|
||||
}
|
||||
+4
@@ -439,4 +439,8 @@ public class InMaterialDetailPO extends StockInOrderBasePO {
|
||||
//申报总价
|
||||
private BigDecimal amountGw;
|
||||
private String khdm;
|
||||
|
||||
//仓码简易模式收货上架
|
||||
private BigDecimal collectQuantity;
|
||||
private String shelfJson;
|
||||
}
|
||||
+4
@@ -404,4 +404,8 @@ public class InMaterialDetailDO extends StockInOrderBaseDO {
|
||||
private BigDecimal erpPriceGw;
|
||||
//申报总价
|
||||
private BigDecimal amountGw;
|
||||
|
||||
//仓码简易模式收货上架
|
||||
private BigDecimal collectQuantity;
|
||||
private String shelfJson;
|
||||
}
|
||||
+13
@@ -528,4 +528,17 @@ public class OutMaterialDetail extends BaseVOEntity {
|
||||
private String bondInvtNoGw;
|
||||
private String whNoGw;
|
||||
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 seatNoGw;
|
||||
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 whNoGw;
|
||||
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("推送人姓名")
|
||||
private String pushByName;
|
||||
|
||||
@ApiModelProperty("作业人用户ID")
|
||||
private Long workUserId;
|
||||
@ApiModelProperty("作业人用户")
|
||||
private String workUserName;
|
||||
@ApiModelProperty("作业任务接收状态")
|
||||
private String workTaskReceiveStatus;
|
||||
|
||||
@ApiModelProperty("任务下发用户ID")
|
||||
private String taskIssueUserId;
|
||||
}
|
||||
+3
-1
@@ -30,4 +30,6 @@ public interface StockInOrderMapper extends BaseMapper<StockInOrder>
|
||||
List<InMaterialDetailPO> queryNoticePrintDetail(StockInOrderDO stockInOrderDO);
|
||||
|
||||
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 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")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
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;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.TypeReference;
|
||||
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.update.LambdaUpdateWrapper;
|
||||
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.utils.IgnoreNullUtil;
|
||||
import com.mhd.common.core.utils.OrderSequence;
|
||||
import com.mhd.common.core.utils.StringUtils;
|
||||
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.security.utils.SecurityUtils;
|
||||
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.qualityInspection.repository.facade.IQualityInspectionService;
|
||||
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.po.ReceiptMaterialDetailPO;
|
||||
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.po.ShelfMaterialDetailPO;
|
||||
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.po.StockInOrderPO;
|
||||
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.todo.StockReceiptOrderDO;
|
||||
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.todo.StockShelfOrderDO;
|
||||
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.util.CollectionUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.lang.reflect.Field;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -81,12 +95,18 @@ public class StockInOrderDomainService {
|
||||
private IMaterialGoodsRuleService materialGoodsRuleService;
|
||||
@Autowired
|
||||
private IMaterialWarehouseControlService materialWarehouseControlService;
|
||||
@Autowired
|
||||
@Resource
|
||||
private SystemServiceFeign systemServiceFeign;
|
||||
@Autowired
|
||||
private IReceiptMaterialDetailService receiptMaterialDetailService;
|
||||
@Autowired
|
||||
private IShelfMaterialDetailService shelfMaterialDetailService;
|
||||
@Autowired
|
||||
private IStockReceiptOrderService stockReceiptOrderService;
|
||||
@Autowired
|
||||
private IStockShelfOrderService stockShelfOrderService;
|
||||
@Autowired
|
||||
private IdGenerator idGenerator;
|
||||
|
||||
/**
|
||||
* 分页查询入库单列表
|
||||
@@ -107,7 +127,7 @@ public class StockInOrderDomainService {
|
||||
// //设置物料信息
|
||||
// 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);
|
||||
// stockInOrderDO.setQuantity(quantity);
|
||||
@@ -483,6 +503,295 @@ public class StockInOrderDomainService {
|
||||
.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 取消入库单
|
||||
|
||||
@@ -424,4 +424,14 @@ public class StockOutOrder extends BaseVOEntity {
|
||||
|
||||
@ApiModelProperty("推送人姓名")
|
||||
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.todo.MaterialBaseInfoDO;
|
||||
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.repository.facade.IStockOutOrderService;
|
||||
import com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper;
|
||||
@@ -61,6 +62,8 @@ public class ExcelParseService {
|
||||
private StockOutOrderDomainService stockOutOrderDomainService;
|
||||
@Autowired
|
||||
private StockOutOrderMapper stockOutOrderMapper;
|
||||
@Autowired
|
||||
private StockInOrderMapper stockInOrderMapper;
|
||||
@Resource
|
||||
private UserServiceFeign userServiceFeign;
|
||||
/**
|
||||
@@ -114,6 +117,7 @@ public class ExcelParseService {
|
||||
stockOutOrder.setWarehouseName(warehouseName);
|
||||
stockOutOrder.setWarehouseCode(warehouseCode);
|
||||
stockOutOrder.setWarehouseId(warehouseId);
|
||||
|
||||
stockOutOrder.setSalesmanId(String.valueOf(loginUser.getUserPo().getUserId()));
|
||||
stockOutOrder.setSalesmanName(loginUser.getUserPo().getUserName());
|
||||
String settlementCurrency = stockOutOrderMapper.getSettlementCurrency(shipperId);
|
||||
@@ -124,6 +128,9 @@ public class ExcelParseService {
|
||||
stockOutOrder.setOrganizationId(loginUser.getUserPo().getOrganizationId());
|
||||
stockOutOrder.setOrganizationName(loginUser.getUserPo().getOrganizationName());
|
||||
}
|
||||
// 获取任务下发用户ID
|
||||
String userId = stockInOrderMapper.queryWarehouseUserId(stockOutOrder.getOrganizationId(), stockOutOrder.getWarehouseId(), stockOutOrder.getTopOrganizationId());
|
||||
stockOutOrder.setTaskIssueUserId(userId);
|
||||
initParam(stockOutOrder);
|
||||
// 导入出库单时,如果出库单类型为空,默认设置为普通出库
|
||||
if (StringUtils.isBlank(stockOutOrder.getOrderTypeCode())) {
|
||||
|
||||
+9
@@ -451,4 +451,13 @@ public class StockOutOrderPO extends BaseVOEntity {
|
||||
@ApiModelProperty("推送人姓名")
|
||||
private String pushByName;
|
||||
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")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
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.PackDetailFeignPO;
|
||||
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.deliveTask.entity.DeliveTask;
|
||||
import com.mhd.wms.domain.deliveTask.repository.facade.IDeliveTaskService;
|
||||
import com.mhd.wms.domain.deliveTask.repository.todo.DeliveTaskDO;
|
||||
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.todo.HandoverTaskOrderDO;
|
||||
import com.mhd.wms.domain.handoverTaskOrder.service.HandoverTaskOrderDomainService;
|
||||
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
||||
import com.mhd.wms.domain.inMaterialDetail.repository.todo.InMaterialDetailDO;
|
||||
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.replenishmentNotice.repository.todo.ReplenishmentNoticeDO;
|
||||
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.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.service.StockInOrderDomainService;
|
||||
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
||||
@@ -112,6 +126,8 @@ public class StockOutOrderDomainService {
|
||||
@Autowired
|
||||
private IHandoverTaskOrderService handoverTaskOrderService;
|
||||
@Autowired
|
||||
private HandoverTaskOrderDomainService handoverTaskOrderDomainService;
|
||||
@Autowired
|
||||
private IOutOrderAbnormalService outOrderAbnormalService;
|
||||
@Autowired
|
||||
private PickingOrderDomainService pickingOrderDomainService;
|
||||
@@ -149,6 +165,19 @@ public class StockOutOrderDomainService {
|
||||
private IPickingMaterialDetailService pickingMaterialDetailService;
|
||||
@Autowired
|
||||
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);
|
||||
//统计种类
|
||||
//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);
|
||||
stockOutOrderDO.setQuantity(quantity);
|
||||
@@ -864,6 +893,205 @@ public class StockOutOrderDomainService {
|
||||
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)
|
||||
public Boolean genPickingOrderByOms(StockOutOrderDO stockOutOrderDO){
|
||||
List<StockOutOrder> stockOutOrderList = stockOutOrderService.list(new QueryWrapper<StockOutOrder>().lambda()
|
||||
@@ -1569,9 +1797,9 @@ public class StockOutOrderDomainService {
|
||||
if (stockOutOrderDb.getStatus() > 8){
|
||||
throw new ServiceException("出库单【" + stockOutOrderDb.getOutOrderNumber() + "】已出库,请重新选择");
|
||||
}
|
||||
if (stockOutOrderDb.getUpdateTime().compareTo(stockOutOrderDO.getUpdateTime()) != 0){
|
||||
throw new ServiceException("出库单【" + stockOutOrderDb.getOutOrderNumber() + "】数据已被更新,请刷新后重新进行收货");
|
||||
}
|
||||
// if (stockOutOrderDb.getUpdateTime().compareTo(stockOutOrderDO.getUpdateTime()) != 0){
|
||||
// throw new ServiceException("出库单【" + stockOutOrderDb.getOutOrderNumber() + "】数据已被更新,请刷新后重新进行收货");
|
||||
// }
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
stockOutOrderService.update(null, new UpdateWrapper<StockOutOrder>().lambda()
|
||||
.set(StockOutOrder::getCheckStatus, 2)
|
||||
@@ -1986,6 +2214,9 @@ public class StockOutOrderDomainService {
|
||||
private static final String OMS_AUTO_AUDIT_REMARK = "OMS下发自动审核";
|
||||
|
||||
public void omsOrderAdd(StockOutOrder stockOutOrder) {
|
||||
// 任务下发用户id
|
||||
String userId = stockInOrderMapper.queryWarehouseUserId(stockOutOrder.getOrganizationId(), stockOutOrder.getWarehouseId(), stockOutOrder.getTopOrganizationId());
|
||||
stockOutOrder.setTaskIssueUserId(userId);
|
||||
stockOutOrderService.save(stockOutOrder);
|
||||
}
|
||||
|
||||
|
||||
+4
@@ -401,4 +401,8 @@ public class InMaterialDetailDTO extends BaseVOEntity {
|
||||
private BigDecimal erpPriceGw;
|
||||
//申报总价
|
||||
private BigDecimal amountGw;
|
||||
|
||||
//仓码简易模式收货上架
|
||||
private BigDecimal collectQuantity;
|
||||
private String shelfJson;
|
||||
}
|
||||
+12
@@ -506,4 +506,16 @@ public class OutMaterialDetailDTO extends BaseVOEntity {
|
||||
private String bondInvtNoGw;
|
||||
private String whNoGw;
|
||||
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")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
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")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
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;
|
||||
|
||||
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.page.TableDataInfo;
|
||||
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.domain.inMaterialDetail.entity.InMaterialDetail;
|
||||
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.repository.po.StockInOrderPO;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
||||
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
|
||||
import com.mhd.wms.interfaces.assember.stockInOrder.StockInOrderAssembler;
|
||||
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.stockOutOrder.StockOutOrderDTO;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -22,6 +26,8 @@ import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -172,6 +178,87 @@ public class StockInOrderApi extends BaseController {
|
||||
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下发单明细保存
|
||||
*/
|
||||
|
||||
+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.todo.OutMaterialDetailDO;
|
||||
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.repository.facade.IStockOutOrderService;
|
||||
import com.mhd.wms.domain.stockOutOrder.repository.listener.ExcelParseService;
|
||||
@@ -346,6 +347,29 @@ public class StockOutOrderApi extends BaseController {
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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下发单明细保存
|
||||
*/
|
||||
|
||||
@@ -14,18 +14,18 @@ spring:
|
||||
nacos:
|
||||
discovery:
|
||||
# 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
|
||||
password: manhuoda@2023
|
||||
#线上正式环境
|
||||
# server-addr: 10.102.192.105:6848
|
||||
config:
|
||||
# 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
|
||||
password: manhuoda@2023
|
||||
#线上正式环境
|
||||
|
||||
@@ -104,6 +104,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="erpPriceGw" column="erp_price_gw" />
|
||||
<result property="amountGw" column="amount_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>
|
||||
|
||||
|
||||
@@ -117,6 +121,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
a.lot_no ,
|
||||
a.stock_quantity ,
|
||||
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.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,
|
||||
|
||||
@@ -96,6 +96,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="erpCurrGw" column="erp_curr_gw" />
|
||||
<result property="erpPriceGw" column="erp_price_gw" />
|
||||
<result property="amountGw" column="amount_gw" />
|
||||
<result property="shelfJson" column="shelf_json" />
|
||||
<result property="collectQuantity" column="collect_quantity" />
|
||||
</resultMap>
|
||||
|
||||
|
||||
@@ -109,7 +111,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
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_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
|
||||
WHEN a.pack_detail_id IS NULL OR TRIM(a.pack_detail_id) = '' THEN NULL
|
||||
ELSE CAST(a.pack_detail_id AS BIGINT)
|
||||
|
||||
@@ -154,6 +154,9 @@
|
||||
<if test="shipperName != null and shipperName != ''">
|
||||
and a.shipper_name like concat('%', #{shipperName}, '%')
|
||||
</if>
|
||||
<if test="shipperId != null and shipperId != ''">
|
||||
and a.shipper_id like concat('%', #{shipperId}, '%')
|
||||
</if>
|
||||
<if test="createTimeStart != null and createTimeStart != ''">
|
||||
and date_format(a.create_time, '%Y-%m-%d') >= #{createTimeStart}
|
||||
</if>
|
||||
|
||||
@@ -101,6 +101,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="pushByName" column="PUSH_BY_NAME" />
|
||||
<result property="pushStatus" column="PUSH_STATUS" />
|
||||
<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>
|
||||
|
||||
<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.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.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 id="joinStockInOrderPo">
|
||||
@@ -342,6 +346,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{item}
|
||||
</foreach>
|
||||
</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 != ''">
|
||||
and a."TO" like concat('%', #{to}, '%')
|
||||
@@ -575,4 +589,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
AND in_order_number = #{inOrderNumber}
|
||||
</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>
|
||||
@@ -100,6 +100,10 @@
|
||||
<result property="pushByName" column="PUSH_BY_NAME" />
|
||||
<result property="pushStatus" column="PUSH_STATUS" />
|
||||
<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>
|
||||
|
||||
|
||||
@@ -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.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.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>
|
||||
|
||||
|
||||
@@ -170,6 +174,15 @@
|
||||
</otherwise>
|
||||
</choose>
|
||||
</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-已关闭 -->
|
||||
<if test="gtStatus != null ">
|
||||
and a.status > #{gtStatus}
|
||||
|
||||
Reference in New Issue
Block a user