mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
Merge branch 'main' of ssh://192.168.1.205:9922/cf_devdept2/cf_imes_server
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
sonarqube-check:
|
||||
image: maven:3.6.3-jdk-11
|
||||
variables:
|
||||
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defines the location of the analysis task cache
|
||||
GIT_DEPTH: "0" # Tells git to fetch all the branches of the project, required by the analysis task
|
||||
cache:
|
||||
key: "${CI_JOB_NAME}"
|
||||
paths:
|
||||
- .sonar/cache
|
||||
script:
|
||||
- mvn verify sonar:sonar -Dsonar.projectKey=cf_devdept2_cf_imes_server_AZDYSrQIp5bxkoEt_F_Z
|
||||
allow_failure: true
|
||||
only:
|
||||
- master # or the name of your main branch
|
||||
+9
@@ -80,4 +80,13 @@ public interface ProcessStepMapper extends BaseMapperX<ProcessStepDO> {
|
||||
.eqIfPresent(ProcessStepDO::getStatus,false));
|
||||
|
||||
}
|
||||
|
||||
|
||||
default List<ProcessStepDO> selectProcessIds(List<Long> orderIds, Long organId,Integer number) {
|
||||
return selectList(new LambdaQueryWrapperX<ProcessStepDO>()
|
||||
.eqIfPresent(ProcessStepDO::getOrganId, organId)
|
||||
.inIfPresent(ProcessStepDO::getOrderId, orderIds)
|
||||
.eqIfPresent(ProcessStepDO::getType,number));
|
||||
|
||||
}
|
||||
}
|
||||
+19
-10
@@ -4,14 +4,12 @@ package com.cf.imes.module.manage.controller.admin.pack;
|
||||
import com.cf.imes.framework.common.pojo.CommonResult;
|
||||
import com.cf.imes.framework.common.pojo.PageParam;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.framework.excel.core.util.ExcelUtils;
|
||||
import com.cf.imes.framework.operatelog.core.annotations.OperateLog;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackReqVO;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.vo.*;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleReqVO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO;
|
||||
import com.cf.imes.module.manage.service.pack.PackService;
|
||||
import com.cf.imes.module.manage.service.query.ProductionStatusService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@@ -263,19 +261,30 @@ public class PackController {
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
@GetMapping("/query")
|
||||
@Operation(summary = "板材列表下的查询")
|
||||
@GetMapping("/getPrePackInfo")
|
||||
@Operation(summary = "查询预打包优化信息")
|
||||
@Parameter(name = "orderId", description = "生产单Id", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('manage:pack:query')")
|
||||
public CommonResult<List<OrderPlateGroupRespVO>> GetOrderPlateGroup(@Valid Long orderId) {
|
||||
public CommonResult<String> getPrePackInfo (@Valid @RequestParam("orderId") Long orderId) {
|
||||
|
||||
return success(packService.GetOrderPlateGroup(orderId));
|
||||
return success(packService.getPrePackInfo(orderId));
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
@PostMapping("/saveOptimizeInfo")
|
||||
@Operation(summary = "预打包保存优化信息")
|
||||
@PreAuthorize("@ss.hasPermission('manage:pack:insert')")
|
||||
public CommonResult<Boolean> saveOptimizeInfo(@Valid @RequestBody PrePackReqVO reqVO) {
|
||||
|
||||
packService.saveOptimizeInfo(reqVO);
|
||||
|
||||
return success(true);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
package com.cf.imes.module.manage.controller.admin.pack.prePack;
|
||||
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
public class PackPlateList {
|
||||
|
||||
|
||||
// 包裹ID
|
||||
private Long packId;
|
||||
|
||||
// 包裹编号
|
||||
private String packNo;
|
||||
|
||||
// 板材ID
|
||||
private Long plateId;
|
||||
|
||||
// 包裹编号
|
||||
private String plateNo;
|
||||
|
||||
|
||||
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
package com.cf.imes.module.manage.controller.admin.pack.prePack;
|
||||
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
@Schema(description = "预打包的优化结构")
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
public class PrePackData {
|
||||
|
||||
|
||||
@Schema(description = "点的位置信息")
|
||||
private Double pointX;
|
||||
private Double pointY;
|
||||
|
||||
@Schema(description = "板材编号")
|
||||
private String plateNo;
|
||||
|
||||
@Schema(description = "板材宽度")
|
||||
private Long plateWidth;
|
||||
|
||||
@Schema(description = "板材高度")
|
||||
private Long plateHeight;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
package com.cf.imes.module.manage.controller.admin.pack.prePack;
|
||||
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "预打包的优化结构")
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
public class PrePackOptimizeInfo {
|
||||
|
||||
|
||||
@Schema(description = "包裹编号")
|
||||
private String packNo;
|
||||
|
||||
|
||||
@Schema(description = "优化的数据")
|
||||
private List<PrePackData> optimizeData;
|
||||
|
||||
|
||||
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package com.cf.imes.module.manage.controller.admin.pack.prePack;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Schema(description = "管理后台 - 预打包保存优化信息")
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
public class PrePackReqVO {
|
||||
|
||||
|
||||
@Schema(description = "生产单ID")
|
||||
private Long orderId;
|
||||
|
||||
|
||||
@Schema(description = "优化信息")
|
||||
@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
|
||||
private Map<String, List<PrePackOptimizeInfo>> optimizeInfo;
|
||||
|
||||
|
||||
@Schema(description = "是否自动打包")
|
||||
private Boolean isAutoPack;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
+1
-1
@@ -41,7 +41,7 @@ public class PackRespVO {
|
||||
private LocalDateTime deliveryDate;
|
||||
|
||||
|
||||
@Schema(description = "订单状态", requiredMode = Schema.RequiredMode.REQUIRED,example = "0")
|
||||
@Schema(description = "打包状态", requiredMode = Schema.RequiredMode.REQUIRED,example = "0")
|
||||
private Integer status;
|
||||
|
||||
|
||||
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
package com.cf.imes.module.manage.dal.dataobject.pack;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.*;
|
||||
|
||||
|
||||
@TableName("order_prepackaged")
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OrderPrepackagedDO {
|
||||
|
||||
|
||||
@TableId
|
||||
// 生产单号-主键
|
||||
private Long orderId;
|
||||
|
||||
|
||||
// 预打包优化信息
|
||||
private String result;
|
||||
|
||||
|
||||
// 组织 ID
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private Long organId;
|
||||
|
||||
|
||||
}
|
||||
+10
@@ -1,6 +1,7 @@
|
||||
package com.cf.imes.module.manage.dal.mysql.pack;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.cf.imes.framework.common.enums.OrderPackageStatusEnum;
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
@@ -77,4 +78,13 @@ public interface OrderPackageMapper extends BaseMapperX<OrderPackageDO> {
|
||||
List<PackRespVO> selectPackPieceCount(@Param("orderIds") List<Long> orderIds, @Param("organId") Long organId);
|
||||
|
||||
List<PlateAndPartIdList> selectOrderPack(@Param("orderId") Long orderId,@Param("organId") Long organId);
|
||||
|
||||
|
||||
// 单个修改删除状态
|
||||
default void updateDelete(Long orderId) {
|
||||
LambdaUpdateWrapper<OrderPackageDO> wrapper = new LambdaUpdateWrapper<OrderPackageDO>()
|
||||
.set(OrderPackageDO::getDeleted, true)
|
||||
.eq(OrderPackageDO::getOrderId, orderId);
|
||||
update(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
package com.cf.imes.module.manage.dal.mysql.pack;
|
||||
|
||||
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.module.manage.dal.dataobject.pack.OrderPrepackagedDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface OrderPrepackagedMapper extends BaseMapperX<OrderPrepackagedDO> {
|
||||
|
||||
|
||||
|
||||
default List<OrderPrepackagedDO> selectOrderList(Long orderId, Long organId) {
|
||||
return selectList(new LambdaQueryWrapperX<OrderPrepackagedDO>()
|
||||
.eq(OrderPrepackagedDO::getOrganId, organId)
|
||||
.eqIfPresent(OrderPrepackagedDO::getOrderId, orderId));
|
||||
}
|
||||
|
||||
|
||||
|
||||
default OrderPrepackagedDO selectOrder(Long orderId, Long organId) {
|
||||
return selectOne(new LambdaQueryWrapperX<OrderPrepackagedDO>()
|
||||
.eq(OrderPrepackagedDO::getOrganId, organId)
|
||||
.eqIfPresent(OrderPrepackagedDO::getOrderId, orderId));
|
||||
}
|
||||
|
||||
}
|
||||
+7
-11
@@ -27,19 +27,15 @@ public interface OrderPlateMapper extends BaseMapperX<OrderPlateDO> {
|
||||
|
||||
|
||||
|
||||
default List<OrderPlateDO> selectPlateList(PatchingDetailReqVO reqVO) {
|
||||
return selectList( new LambdaQueryWrapperX<OrderPlateDO>()
|
||||
.and(wrapper -> {
|
||||
for (Long plateId : reqVO.getPlateIdList()) {
|
||||
wrapper.or().eq(OrderPlateDO::getId, plateId);
|
||||
}
|
||||
})
|
||||
.orderByDesc(OrderPlateDO::getId));
|
||||
}
|
||||
|
||||
|
||||
List<PatchingDetailRespVO> selectOtherPlateList(@Param("plateIdList") List<Long> plateIdList);
|
||||
|
||||
List<PlateDetails> selectListByOrderId( @Param("orderId") Long orderId, @Param("organId") Long organId);
|
||||
|
||||
|
||||
default List<OrderPlateDO> selectPlateList(List<String> plateNo, Long organId) {
|
||||
return selectList( new LambdaQueryWrapperX<OrderPlateDO>()
|
||||
.eq(OrderPlateDO::getOrganId, organId)
|
||||
.in(OrderPlateDO::getPlateNo, plateNo));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+11
@@ -65,4 +65,15 @@ public interface ProcessStepMapper extends BaseMapperX<OrderProcessStepNDO> {
|
||||
.eqIfPresent(OrderProcessStepNDO::getType,type));
|
||||
|
||||
}
|
||||
|
||||
|
||||
default List<OrderProcessStepNDO> selectByOrderIds(List<Long> orderIds, Long organId, Integer number) {
|
||||
return selectList(new LambdaQueryWrapperX<OrderProcessStepNDO>()
|
||||
.eqIfPresent(OrderProcessStepNDO::getOrganId, organId)
|
||||
.inIfPresent(OrderProcessStepNDO::getOrderId, orderIds)
|
||||
.eqIfPresent(OrderProcessStepNDO::getType,number));
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+7
@@ -91,4 +91,11 @@ public interface OrderItemMapper extends BaseMapperX<OrderItemDO> {
|
||||
|
||||
void updateParts(@Param("partsId") Long partsId,@Param("packageId") Long packageId);
|
||||
|
||||
|
||||
default List<OrderItemDO> selectPackPlateList(Long orderId, Long organId) {
|
||||
return selectList(new LambdaQueryWrapperX<OrderItemDO>()
|
||||
.eq(OrderItemDO::getOrganId, organId)
|
||||
.eqIfPresent(OrderItemDO::getOrderId, orderId));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+9
-2
@@ -2,10 +2,9 @@ package com.cf.imes.module.manage.service.pack;
|
||||
|
||||
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackReqVO;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.vo.*;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleReqVO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -81,4 +80,12 @@ public interface PackService {
|
||||
OrderPackRespVO addNewPartsPack(OrderPackReqVO reqVO);
|
||||
|
||||
|
||||
|
||||
// 查询预打包优化信息
|
||||
String getPrePackInfo(Long orderId);
|
||||
|
||||
|
||||
// 保存优化后的预打包信息
|
||||
void saveOptimizeInfo(PrePackReqVO reqVO);
|
||||
|
||||
}
|
||||
|
||||
+231
-21
@@ -8,35 +8,35 @@ import com.cf.imes.framework.common.enums.OrderPackageStatusEnum;
|
||||
import com.cf.imes.framework.common.enums.OrderPackageTypeEnum;
|
||||
import com.cf.imes.framework.common.enums.OrderStatusEnum;
|
||||
import com.cf.imes.framework.common.enums.ProcessProcessingTypeEnum;
|
||||
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.common.util.json.JsonUtils;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.prePack.PackPlateList;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackData;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackOptimizeInfo;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackReqVO;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.vo.*;
|
||||
import com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessStepItemVO;
|
||||
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO;
|
||||
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessStepStatus;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleReqVO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.pack.OrderBodyDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.pack.OrderPrepackagedDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.plate.OrderPlateDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.process.OrderDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.query.OrderItemDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.query.OrderPartsNDO;
|
||||
import com.cf.imes.module.manage.dal.mysql.pack.OrderBodyMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.pack.OrderPrepackagedMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.pack.OrderPackageMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.plate.OrderPlateMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.process.ProcessStepItemMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.process.ProcessStepMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.process.ProductionProcessMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.query.OrderItemMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.query.OrderPartsMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.query.ProductionStatusMapper;
|
||||
import com.cf.imes.module.manage.enums.OrderPackStatusEnums;
|
||||
import com.cf.imes.module.manage.service.process.ProductionProcessServiceImpl;
|
||||
import com.cf.imes.module.manage.util.packageNo.PackageNoUtil;
|
||||
import com.cf.imes.module.manage.util.page.PageHelperUtil;
|
||||
import com.cf.imes.module.system.enums.ErrorCodeConstants;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.cf.imes.module.manage.util.SnowflakeIdWorker3rd;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -44,8 +44,7 @@ import org.springframework.validation.annotation.Validated;
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
@@ -74,6 +73,9 @@ public class PackServiceImpl implements PackService {
|
||||
@Resource
|
||||
private OrderBodyMapper orderBodyMapper;
|
||||
|
||||
@Resource
|
||||
private OrderPlateMapper orderPlateMapper;
|
||||
|
||||
@Resource
|
||||
private ProcessStepMapper processStepMapper;
|
||||
|
||||
@@ -86,6 +88,12 @@ public class PackServiceImpl implements PackService {
|
||||
@Resource
|
||||
private ProductionProcessMapper productionProcessMapper;
|
||||
|
||||
@Resource
|
||||
private SnowflakeIdWorker3rd idWorker;
|
||||
|
||||
@Resource
|
||||
private OrderPrepackagedMapper orderPrepackagedMapper;
|
||||
|
||||
|
||||
|
||||
// 打包分页查询
|
||||
@@ -247,7 +255,7 @@ public class PackServiceImpl implements PackService {
|
||||
OrderPackageDO orderPackageDO = new OrderPackageDO();
|
||||
orderPackageDO.setOrderId(reqVO.getOrderId());
|
||||
orderPackageDO.setType(OrderPackageTypeEnum.PARTS.getType());
|
||||
orderPackageDO.setPackageNo(PackageNoUtil.randomPageNo());
|
||||
orderPackageDO.setPackageNo(generatePackageNo());
|
||||
orderPackageDO.setStatus((OrderPackageStatusEnum.PACKAGED.getStatus()));
|
||||
orderPackageMapper.insert(orderPackageDO);
|
||||
// 生产单明细表新增包裹 ID
|
||||
@@ -348,7 +356,7 @@ public class PackServiceImpl implements PackService {
|
||||
OrderPackageDO orderPackageDO = new OrderPackageDO();
|
||||
orderPackageDO.setOrderId(packageVO.getOrderId());
|
||||
orderPackageDO.setType(OrderPackageTypeEnum.PLATE.getType());
|
||||
orderPackageDO.setPackageNo(PackageNoUtil.randomPageNo());
|
||||
orderPackageDO.setPackageNo(generatePackageNo());
|
||||
orderPackageDO.setStatus((OrderPackageStatusEnum.PACKAGED.getStatus()));
|
||||
orderPackageDO.setRemark(packageVO.getRemark());
|
||||
orderPackageMapper.insert(orderPackageDO);
|
||||
@@ -538,10 +546,10 @@ public class PackServiceImpl implements PackService {
|
||||
public OrderPackRespVO addNewOtherPack(OtherPackReqVO reqVO) {
|
||||
|
||||
// 判断配件名称是否重复
|
||||
OrderPartsNDO orderPartsNDO = orderPartsMapper.selectOneParts(reqVO.getName(),getUserOrganId());
|
||||
if (orderPartsNDO != null) {
|
||||
throw exception(THE_ACCESSORY_NAME_CANNOT_BE_DUPLICATED);
|
||||
}
|
||||
// OrderPartsNDO orderPartsNDO = orderPartsMapper.selectOneParts(reqVO.getName(),getUserOrganId());
|
||||
// if (orderPartsNDO != null) {
|
||||
// throw exception(THE_ACCESSORY_NAME_CANNOT_BE_DUPLICATED);
|
||||
// }
|
||||
|
||||
// 配件表新增数据
|
||||
OrderPartsNDO orderParts = BeanUtils.toBean(reqVO, OrderPartsNDO.class);
|
||||
@@ -552,7 +560,7 @@ public class PackServiceImpl implements PackService {
|
||||
|
||||
// 在包裹表中添加包裹编号和生产单号,修改包裹类型未其他配件类型
|
||||
OrderPackageDO orderPackageDO = new OrderPackageDO();
|
||||
orderPackageDO.setPackageNo(PackageNoUtil.randomPageNo());
|
||||
orderPackageDO.setPackageNo(generatePackageNo());
|
||||
orderPackageDO.setOrderId(reqVO.getOrderId());
|
||||
orderPackageDO.setType(OrderPackageTypeEnum.OTHER_ACCESSORIES.getType());
|
||||
|
||||
@@ -645,7 +653,7 @@ public class PackServiceImpl implements PackService {
|
||||
orderPackageDO.setOrderId(reqVO.getOrderId());
|
||||
orderPackageDO.setType(reqVO.getPackageType());
|
||||
orderPackageDO.setStatus(OrderPackageStatusEnum.PACKAGED.getStatus());
|
||||
orderPackageDO.setPackageNo(PackageNoUtil.randomPageNo());
|
||||
orderPackageDO.setPackageNo(generatePackageNo());
|
||||
orderPackageMapper.insert(orderPackageDO);
|
||||
|
||||
orderItemMapper.insertPartsId(orderPackageDO.getId(), reqVO.getAddPartsIdList());
|
||||
@@ -656,6 +664,208 @@ public class PackServiceImpl implements PackService {
|
||||
|
||||
|
||||
|
||||
|
||||
// 查询预打包优化信息
|
||||
@Override
|
||||
public String getPrePackInfo(Long orderId) {
|
||||
|
||||
OrderPrepackagedDO orderPrepackagedDO = orderPrepackagedMapper.selectOrder(orderId, getUserOrganId());
|
||||
|
||||
if(orderPrepackagedDO == null){
|
||||
throw exception(NO_OPTIMIZATION_INFORMATION_AVAILABLE);
|
||||
}
|
||||
|
||||
return JsonUtils.unzipString(orderPrepackagedDO.getResult());
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 保存优化后的预打包信息
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveOptimizeInfo(PrePackReqVO reqVO) {
|
||||
|
||||
|
||||
// 自动打包,包裹表新增
|
||||
if(reqVO.getIsAutoPack()){
|
||||
|
||||
ArrayList<OrderPackageDO> orderPackageDOS = new ArrayList<>();
|
||||
|
||||
List<PackPlateList> packPlateNoLists = new ArrayList<>();
|
||||
|
||||
reqVO.getOptimizeInfo().values().parallelStream().forEach(value -> {
|
||||
value.forEach(prePackOptimizeInfo -> {
|
||||
String packageNo = generatePackageNo();
|
||||
List<String> list = prePackOptimizeInfo.getOptimizeData().stream().map(PrePackData::getPlateNo).toList();
|
||||
|
||||
list.forEach(a -> packPlateNoLists.add(PackPlateList.builder()
|
||||
.packNo(packageNo)
|
||||
.plateNo(a)
|
||||
.build()));
|
||||
|
||||
orderPackageDOS.add(OrderPackageDO.builder()
|
||||
.packageNo(packageNo)
|
||||
.type(OrderPackageTypeEnum.PLATE.getType())
|
||||
.orderId(reqVO.getOrderId())
|
||||
.status(OrderPackageStatusEnum.PACKAGED.getStatus())
|
||||
.build());
|
||||
|
||||
prePackOptimizeInfo.setPackNo(packageNo);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
List<OrderPackageDO> packageDOS = orderPackageMapper.selectPackStatus(reqVO.getOrderId(), getUserOrganId());
|
||||
|
||||
if(!packageDOS.isEmpty()){
|
||||
|
||||
orderPackageMapper.updateDelete(reqVO.getOrderId());
|
||||
|
||||
}
|
||||
|
||||
orderPackageMapper.insertBatch(orderPackageDOS);
|
||||
|
||||
|
||||
orderPackageDOS.forEach(a->
|
||||
packPlateNoLists.stream().filter(f -> Objects.equals(f.getPackNo(), a.getPackageNo()))
|
||||
.forEach(f -> f.setPackId(a.getId())));
|
||||
|
||||
List<OrderItemDO> orderItemDOS = orderItemMapper.selectPackPlateList(reqVO.getOrderId(), getUserOrganId());
|
||||
|
||||
|
||||
List<String> plateNo = packPlateNoLists.stream().map(PackPlateList::getPlateNo).toList();
|
||||
|
||||
|
||||
List<OrderPlateDO> orderPlateDOS = orderPlateMapper.selectPlateList(plateNo, getUserOrganId());
|
||||
|
||||
orderPlateDOS.forEach(a->
|
||||
packPlateNoLists.stream().filter(f->Objects.equals(f.getPlateNo(), a.getPlateNo()))
|
||||
.forEach(f -> f.setPlateId(a.getId())));
|
||||
|
||||
packPlateNoLists.forEach(a->
|
||||
orderItemDOS.stream().filter(f->Objects.equals(f.getPlateId(), a.getPlateId()))
|
||||
.forEach(f->f.setPackageId(a.getPackId())));
|
||||
|
||||
orderItemMapper.updateBatch(orderItemDOS);
|
||||
|
||||
}
|
||||
|
||||
|
||||
String optimizeInfo = JsonUtils.toJsonString(reqVO.getOptimizeInfo());
|
||||
|
||||
OrderPrepackagedDO orderPackOptimizeDO = orderPrepackagedMapper.selectOrder(reqVO.getOrderId(), getUserOrganId());
|
||||
|
||||
if(orderPackOptimizeDO ==null){
|
||||
|
||||
OrderPrepackagedDO prepackagedDO = new OrderPrepackagedDO();
|
||||
prepackagedDO.setOrderId(reqVO.getOrderId());
|
||||
prepackagedDO.setResult(JsonUtils.zipString(optimizeInfo));
|
||||
orderPrepackagedMapper.insert(prepackagedDO);
|
||||
return;
|
||||
}
|
||||
|
||||
orderPackOptimizeDO.setResult(JsonUtils.zipString(optimizeInfo));
|
||||
orderPrepackagedMapper.updateById(orderPackOptimizeDO);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//
|
||||
// @Override
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
// public void saveOptimizeInfo(PrePackReqVO reqVO) {
|
||||
// if (reqVO.getIsAutoPack()) {
|
||||
// List<OrderPackageDO> orderPackageDOS = new ArrayList<>();
|
||||
// List<PackPlateList> packPlateNoLists = new ArrayList<>();
|
||||
//
|
||||
// reqVO.getOptimizeInfo().values().parallelStream().forEach(value -> {
|
||||
// value.forEach(prePackOptimizeInfo -> {
|
||||
// String packageNo = generatePackageNo();
|
||||
// List<String> list = prePackOptimizeInfo.getOptimizeData().stream().map(m -> m.getPlateNo()).collect(Collectors.toList());
|
||||
//
|
||||
// list.forEach(a -> packPlateNoLists.add(PackPlateList.builder()
|
||||
// .packNo(packageNo)
|
||||
// .plateNo(a)
|
||||
// .build()));
|
||||
//
|
||||
// orderPackageDOS.add(OrderPackageDO.builder()
|
||||
// .packageNo(packageNo)
|
||||
// .type(OrderPackageTypeEnum.PLATE.getType())
|
||||
// .orderId(reqVO.getOrderId())
|
||||
// .status(OrderPackageStatusEnum.PACKAGED.getStatus())
|
||||
// .build());
|
||||
//
|
||||
// prePackOptimizeInfo.setPackNo(packageNo);
|
||||
// });
|
||||
// });
|
||||
//
|
||||
// List<OrderPackageDO> packageDOS = orderPackageMapper.selectPackStatus(reqVO.getOrderId(), getUserOrganId());
|
||||
//
|
||||
// if (!packageDOS.isEmpty()) {
|
||||
// orderPackageMapper.updateDelete(reqVO.getOrderId());
|
||||
// }
|
||||
//
|
||||
// orderPackageMapper.insertBatch(orderPackageDOS);
|
||||
//
|
||||
// Map<String, Long> packageNoToIdMap = orderPackageDOS.stream().collect(Collectors.toMap(OrderPackageDO::getPackageNo, OrderPackageDO::getId));
|
||||
//
|
||||
// packPlateNoLists.forEach(f -> f.setPackId(packageNoToIdMap.get(f.getPackNo())));
|
||||
//
|
||||
// List<OrderItemDO> orderItemDOS = orderItemMapper.selectPackPlateList(reqVO.getOrderId(), getUserOrganId());
|
||||
//
|
||||
// List<String> plateNo = packPlateNoLists.stream().map(PackPlateList::getPlateNo).collect(Collectors.toList());
|
||||
//
|
||||
// List<OrderPlateDO> orderPlateDOS = orderPlateMapper.selectPlateList(plateNo, getUserOrganId());
|
||||
//
|
||||
// Map<String, Long> plateNoToIdMap = orderPlateDOS.stream().collect(Collectors.toMap(OrderPlateDO::getPlateNo, OrderPlateDO::getId));
|
||||
//
|
||||
// packPlateNoLists.forEach(f -> f.setPlateId(plateNoToIdMap.get(f.getPlateNo())));
|
||||
//
|
||||
// Map<Long, Long> plateIdToPackIdMap = packPlateNoLists.stream().collect(Collectors.toMap(PackPlateList::getPlateId, PackPlateList::getPackId));
|
||||
//
|
||||
// orderItemDOS.forEach(f -> f.setPackageId(plateIdToPackIdMap.get(f.getPlateId())));
|
||||
//
|
||||
// orderItemMapper.updateBatch(orderItemDOS);
|
||||
// }
|
||||
//
|
||||
// String optimizeInfo = JsonUtils.toJsonString(reqVO.getOptimizeInfo());
|
||||
//
|
||||
// OrderPrepackagedDO orderPackOptimizeDO = orderPrepackagedMapper.selectOrder(reqVO.getOrderId(), getUserOrganId());
|
||||
//
|
||||
// if (orderPackOptimizeDO == null) {
|
||||
// OrderPrepackagedDO newOrderPackOptimizeDO = new OrderPrepackagedDO();
|
||||
// newOrderPackOptimizeDO.setOrderId(reqVO.getOrderId());
|
||||
// newOrderPackOptimizeDO.setResult(JsonUtils.zipString(optimizeInfo));
|
||||
// orderPrepackagedMapper.insert(newOrderPackOptimizeDO);
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// orderPackOptimizeDO.setResult(JsonUtils.zipString(optimizeInfo));
|
||||
// orderPrepackagedMapper.updateById(orderPackOptimizeDO);
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 生成包裹编号
|
||||
private String generatePackageNo(){
|
||||
|
||||
long packNo = idWorker.nextId();
|
||||
long obtainingTime = SnowflakeIdWorker3rd.obtainingTime();
|
||||
|
||||
return (obtainingTime) + Long.toString(packNo).substring(2);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 类型转换
|
||||
private OrderPackRespVO typeConversion(OrderPackageDO orderPackageDO){
|
||||
return OrderPackRespVO.builder()
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
variables:
|
||||
# sonner scanner 安装目录
|
||||
SCANNER_HOME : "/usr/local/sonar-scanner-4.6.2.2472-linux"
|
||||
# 扫描代码路径
|
||||
SCAN_DIR : "src"
|
||||
# 制品目录
|
||||
ARTIFACT_PATH : 'target/*.jar'
|
||||
# maven 仓库地址
|
||||
MAVEN_REPO: /root/.m2/repository
|
||||
|
||||
stages:
|
||||
- compile
|
||||
|
||||
编译:
|
||||
stage: compile
|
||||
tags:
|
||||
- test
|
||||
# interruptible 当新管道在同一分支上启动时,可以取消正在运行的作业。
|
||||
interruptible: true
|
||||
# 是否允许失败,允许的话如果当前阶段运行失败还会继续执行下一个阶段
|
||||
allow_failure: false
|
||||
# 运行脚本
|
||||
script:
|
||||
- java -version
|
||||
- mvn -version
|
||||
# maven 编译
|
||||
- mvn -Dmaven.repo.local=$MAVEN_REPO clean -U package -Dfile.encoding=UTF-8 -DskipTests=true
|
||||
# 代码扫描
|
||||
- "$SCANNER_HOME/bin/sonar-scanner -Dsonar.projectKey=${CI_PROJECT_NAME} \
|
||||
-Dsonar.projectName=${CI_PROJECT_NAME} \
|
||||
-Dsonar.projectVersion=${CI_COMMIT_REF_NAME} \
|
||||
-Dsonar.ws.timeout=30 \
|
||||
-Dsonar.projectDescription=${CI_PROJECT_TITLE} \
|
||||
-Dsonar.links.homepage=${CI_PROJECT_URL} \
|
||||
-Dsonar.sources=${SCAN_DIR} \
|
||||
-Dsonar.sourceEncoding=UTF-8 \
|
||||
-Dsonar.java.binaries=target/classes \
|
||||
-Dsonar.java.test.binaries=target/test-classes \
|
||||
-Dsonar.java.surefire.report=target/surefire-reports \
|
||||
-Dsonar.branch.name=${CI_COMMIT_REF_NAME}"
|
||||
- ls -lh target/
|
||||
# Maven编译,所以会有Jar包产物,这里定义产物的过期时间
|
||||
artifacts:
|
||||
name: $PROJECT
|
||||
expire_in: 1 days
|
||||
paths:
|
||||
- target/*.jar
|
||||
@@ -40,6 +40,7 @@
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.dependency.plugin.version>3.2.0</maven.dependency.plugin.version>
|
||||
<maven.assembly.plugin.version>3.2.0</maven.assembly.plugin.version>
|
||||
<sonar.qualitygate.wait>true</sonar.qualitygate.wait>
|
||||
</properties>
|
||||
|
||||
<dependencyManagement>
|
||||
@@ -172,3 +173,4 @@
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
sonar.projectKey=cf_devdept2_cf_imes_server_AZDYSrQIp5bxkoEt_F_Z
|
||||
sonar.qualitygate.wait=true
|
||||
Reference in New Issue
Block a user