mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
生产单新增完成时间,配件过滤" 封边条 "类型
This commit is contained in:
-1
@@ -7,7 +7,6 @@ import lombok.Data;
|
||||
|
||||
|
||||
@Data
|
||||
|
||||
public class OrderIds {
|
||||
|
||||
|
||||
|
||||
+17
-9
@@ -266,8 +266,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
List<OrderDO> orderDOS = orderMapper.selectOrderPackList(orderIds, getUserOrganId());
|
||||
|
||||
if (ObjectUtil.isNotEmpty(orderDOS)) {
|
||||
List<OrderDO> orderDOList = orderDOS.stream().map(m -> m.setStatus(OrderStatusEnum.FINISH_PRODUCTION.getStatus())).toList();
|
||||
orderMapper.updateBatch(orderDOList);
|
||||
orderDOS.forEach(f -> {
|
||||
f.setStatus(OrderStatusEnum.FINISH_PRODUCTION.getStatus());
|
||||
f.setFinishTime(LocalDateTime.now());
|
||||
});
|
||||
orderMapper.updateBatch(orderDOS);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -304,9 +307,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
Boolean isOptimized = optimizeBoardModelDO.getIsOptimized();
|
||||
|
||||
if(Boolean.FALSE.equals(isOptimized)){
|
||||
|
||||
throw exception(ORDER_PLAN_NO_OPTIMIZE_UPDATE_ERROR);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -355,9 +356,12 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
|
||||
if(!orderIdList.isEmpty()) {
|
||||
List<OrderDO> orderDOList = orderMapper.selectBatchIds(orderIdList);
|
||||
orderMapper.updateBatch(orderDOList.stream()
|
||||
.map(m -> m.setStatus(OrderStatusEnum.SORTED.getStatus()))
|
||||
.toList());
|
||||
orderDOList.forEach(f -> {
|
||||
f.setStatus(OrderStatusEnum.SORTED.getStatus());
|
||||
f.setFinishTime(null);
|
||||
});
|
||||
orderMapper.updateBatch(orderDOList);
|
||||
|
||||
}
|
||||
|
||||
return;
|
||||
@@ -382,8 +386,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
List<OrderDO> orderDOS = orderMapper.selectOrderList(orderIds, getUserOrganId());
|
||||
|
||||
if(!orderDOS.isEmpty()){
|
||||
List<OrderDO> orderDOList = orderDOS.stream().map(m -> m.setStatus(OrderStatusEnum.IN_PRODUCTION.getStatus())).toList();
|
||||
orderMapper.updateBatch(orderDOList);
|
||||
orderDOS.forEach(f -> {
|
||||
f.setStatus(OrderStatusEnum.IN_PRODUCTION.getStatus());
|
||||
f.setFinishTime(null);
|
||||
});
|
||||
orderMapper.updateBatch(orderDOS);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -916,6 +923,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
|
||||
|
||||
|
||||
// ES 文档数据刷新
|
||||
public void refresh( String index) {
|
||||
|
||||
try {
|
||||
|
||||
+21
@@ -45,4 +45,25 @@ public class OrderPartsRespVO {
|
||||
@Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String remark;
|
||||
|
||||
|
||||
@Schema(description = "配件颜色", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String partsColor;
|
||||
|
||||
@Schema(description = "配件宽度", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Double partsWidth;
|
||||
|
||||
@Schema(description = "配件长度", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Double partsLength;
|
||||
|
||||
@Schema(description = "配件厚度", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Double partsThickness;
|
||||
|
||||
@Schema(description = "配件主类:1封边2五金3组件", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String category;
|
||||
|
||||
@Schema(description = "子配件ID列表,复合部件时记录子配件ID,半角逗号分隔", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String subparts;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
+7
-1
@@ -23,7 +23,7 @@ public class OtherPackReqVO {
|
||||
|
||||
@Schema(description = "配件名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotBlank(message = "配件名称不能为空")
|
||||
@Size(max = 30, message = "配件名称长度不能超过 64 个字符")
|
||||
@Size(max = 64, message = "配件名称长度不能超过 64 个字符")
|
||||
private String name;
|
||||
|
||||
|
||||
@@ -31,6 +31,12 @@ public class OtherPackReqVO {
|
||||
@NumberValid(name = "配件数量")
|
||||
private Double num;
|
||||
|
||||
|
||||
@Schema(description = "配件单位", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotBlank(message = "配件单位不能为空")
|
||||
@Size(max = 32, message = "配件单位长度不能超过 32 个字符")
|
||||
private String unit;
|
||||
|
||||
@Schema(description = "包裹编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String packNo;
|
||||
|
||||
|
||||
+19
@@ -105,4 +105,23 @@ public class PackageDetailsRespVO {
|
||||
private String factory;
|
||||
|
||||
|
||||
@Schema(description = "配件颜色", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String partsColor;
|
||||
|
||||
@Schema(description = "配件宽度", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Double partsWidth;
|
||||
|
||||
@Schema(description = "配件长度", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Double partsLength;
|
||||
|
||||
@Schema(description = "配件厚度", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Double partsThickness;
|
||||
|
||||
@Schema(description = "配件主类:1封边2五金3组件", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String category;
|
||||
|
||||
@Schema(description = "子配件ID列表,复合部件时记录子配件ID,半角逗号分隔", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String subparts;
|
||||
|
||||
|
||||
}
|
||||
|
||||
-3
@@ -10,7 +10,6 @@ import com.cf.imes.framework.common.enums.OrderPackageTypeEnum;
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.vo.PlateAndPartIdList;
|
||||
import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
@@ -73,8 +72,6 @@ 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,Long organId) {
|
||||
|
||||
+8
-11
@@ -3,6 +3,7 @@ package com.cf.imes.module.manage.dal.mysql.query;
|
||||
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.vo.PlateAndPartIdList;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO;
|
||||
import com.cf.imes.module.manage.controller.admin.process.vo.PlateDetails;
|
||||
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPlateReqVO;
|
||||
@@ -80,17 +81,6 @@ public interface OrderItemMapper extends BaseMapperX<OrderItemDO> {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
default List<OrderItemDO> selectPartsList(Long orderId, Long organId) {
|
||||
return selectList(new LambdaQueryWrapperX<OrderItemDO>()
|
||||
.eq(OrderItemDO::getOrganId, organId)
|
||||
.eqIfPresent(OrderItemDO::getOrderId, orderId)
|
||||
.eq(OrderItemDO::getPackageId,0)
|
||||
.select(OrderItemDO::getPartsId));
|
||||
}
|
||||
|
||||
|
||||
default List<OrderItemDO> selectPackByPlateId(List<Long> plateId,Long orderId ,Long organId) {
|
||||
return selectList(new LambdaQueryWrapperX<OrderItemDO>()
|
||||
.eq(OrderItemDO::getOrganId, organId)
|
||||
@@ -98,4 +88,11 @@ public interface OrderItemMapper extends BaseMapperX<OrderItemDO> {
|
||||
.inIfPresent(OrderItemDO::getPlateId, plateId)
|
||||
.select(OrderItemDO::getPackageId));
|
||||
}
|
||||
|
||||
|
||||
List<PlateAndPartIdList> selectOrderPackPartsIds(@Param("orderId") Long orderId, @Param("organId") Long organId);
|
||||
|
||||
List<PlateAndPartIdList> selectOrderPackPlateIds(@Param("orderId") Long orderId,@Param("organId") Long organId);
|
||||
|
||||
|
||||
}
|
||||
|
||||
+11
-5
@@ -44,6 +44,7 @@ import org.springframework.validation.annotation.Validated;
|
||||
import javax.annotation.Resource;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
@@ -268,7 +269,6 @@ public class PackServiceImpl implements PackService {
|
||||
@Override
|
||||
public List<OrderPartsRespVO> getPartsList(OrderPartsReqVO reqVO) {
|
||||
|
||||
|
||||
return orderPartsMapper.selectPartsList(reqVO.getOrderId(), getUserOrganId());
|
||||
|
||||
}
|
||||
@@ -381,6 +381,7 @@ public class PackServiceImpl implements PackService {
|
||||
|
||||
if(orderDO.getStatus().equals(OrderStatusEnum.FINISH_PRODUCTION.getStatus())){
|
||||
orderDO.setStatus(OrderStatusEnum.IN_PRODUCTION.getStatus());
|
||||
orderDO.setFinishTime(null);
|
||||
}
|
||||
|
||||
ordersMapper.updateById(orderDO);
|
||||
@@ -491,10 +492,11 @@ public class PackServiceImpl implements PackService {
|
||||
return false;
|
||||
}
|
||||
|
||||
List<PlateAndPartIdList> plateAndPartIdLists = orderPackageMapper.selectOrderPack(orderId, getUserOrganId());
|
||||
List<PlateAndPartIdList> partsIds = orderItemMapper.selectOrderPackPartsIds(orderId, getUserOrganId());
|
||||
|
||||
List<PlateAndPartIdList> plateIds = orderItemMapper.selectOrderPackPlateIds(orderId, getUserOrganId());
|
||||
|
||||
return plateAndPartIdLists.isEmpty();
|
||||
return partsIds.isEmpty() && plateIds.isEmpty();
|
||||
|
||||
}
|
||||
|
||||
@@ -512,6 +514,7 @@ public class PackServiceImpl implements PackService {
|
||||
|
||||
if(orderPlanApi.getOrder(orderId).getData()){
|
||||
orderDO.setStatus(OrderStatusEnum.FINISH_PRODUCTION.getStatus());
|
||||
orderDO.setFinishTime(LocalDateTime.now());
|
||||
}
|
||||
|
||||
|
||||
@@ -618,6 +621,7 @@ public class PackServiceImpl implements PackService {
|
||||
OrderPartsNDO orderParts = BeanUtils.toBean(reqVO, OrderPartsNDO.class);
|
||||
// 因为是外部配件,所以配件类型的名称固定为 “ 外部配件”
|
||||
orderParts.setType("外部配件");
|
||||
orderParts.setUnit(reqVO.getUnit());
|
||||
orderPartsMapper.insert(orderParts);
|
||||
|
||||
|
||||
@@ -665,6 +669,7 @@ public class PackServiceImpl implements PackService {
|
||||
OrderPartsNDO orderParts = BeanUtils.toBean(reqVO, OrderPartsNDO.class);
|
||||
// 因为是外部配件,所以配件类型的名称固定为 “ 外部配件”
|
||||
orderParts.setType("外部配件");
|
||||
orderParts.setUnit(reqVO.getUnit());
|
||||
orderPartsMapper.insert(orderParts);
|
||||
|
||||
// 在生产单明细表中添加数据(生产单号,配件ID,包裹ID,部件数量)
|
||||
@@ -825,13 +830,14 @@ public class PackServiceImpl implements PackService {
|
||||
orderItemMapper.updateBatch(orderItemDOS);
|
||||
|
||||
// 查询配件是否为空,为空,修改生产单的状态为已打包
|
||||
List<OrderItemDO> orderItemDoPartsList = orderItemMapper.selectPartsList(reqVO.getOrderId(), getUserOrganId());
|
||||
List<PlateAndPartIdList> partsIds = orderItemMapper.selectOrderPackPartsIds(reqVO.getOrderId(), getUserOrganId());
|
||||
|
||||
if (orderItemDoPartsList.isEmpty()) {
|
||||
if (partsIds.isEmpty()) {
|
||||
OrderDO orderDO = ordersMapper.selectById(reqVO.getOrderId());
|
||||
orderDO.setPackaged(OrderPackageStatusEnum.PACKAGED.getStatus());
|
||||
if(Boolean.TRUE.equals(orderPlanApi.getOrder(reqVO.getOrderId()).getData())){
|
||||
orderDO.setStatus(OrderStatusEnum.FINISH_PRODUCTION.getStatus());
|
||||
orderDO.setFinishTime(LocalDateTime.now());
|
||||
}
|
||||
ordersMapper.updateById(orderDO);
|
||||
}
|
||||
|
||||
-15
@@ -110,21 +110,6 @@
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectOrderPack"
|
||||
resultType="com.cf.imes.module.manage.controller.admin.pack.vo.PlateAndPartIdList">
|
||||
|
||||
|
||||
select distinct oi.plate_id,
|
||||
oi.parts_id
|
||||
|
||||
from order_package op
|
||||
left join order_item oi on op.organ_id = oi.organ_id and op.order_id = oi.order_id
|
||||
|
||||
where op.organ_id = #{organId} and op.order_id = #{orderId} and op.deleted = false and oi.package_id = 0
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectPackListByOrderId"
|
||||
resultType="com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO">
|
||||
|
||||
|
||||
+28
@@ -316,5 +316,33 @@
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectOrderPackPartsIds"
|
||||
resultType="com.cf.imes.module.manage.controller.admin.pack.vo.PlateAndPartIdList">
|
||||
|
||||
|
||||
select distinct oi.parts_id
|
||||
|
||||
from order_item oi
|
||||
join order_parts op on oi.organ_id = op.organ_id and oi.order_id = op.order_id and oi.parts_id = op.id
|
||||
|
||||
where oi.organ_id = #{organId} and oi.order_id = #{orderId} and oi.package_id = 0 and op.type != '封边条'
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectOrderPackPlateIds"
|
||||
resultType="com.cf.imes.module.manage.controller.admin.pack.vo.PlateAndPartIdList">
|
||||
|
||||
|
||||
select distinct plate_id
|
||||
|
||||
from order_item
|
||||
|
||||
where organ_id = #{organId}
|
||||
and order_id = #{orderId}
|
||||
and package_id = 0
|
||||
and plate_id !=0
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
+35
-2
@@ -17,6 +17,12 @@
|
||||
<result property="brand" column="brand"/>
|
||||
<result property="factory" column="factory"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="partsColor" column="partsColor"/>
|
||||
<result property="partsWidth" column="partsWidth"/>
|
||||
<result property="partsLength" column="partsLength"/>
|
||||
<result property="partsThickness" column="partsThickness"/>
|
||||
<result property="category" column="category"/>
|
||||
<result property="subparts" column="subparts"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectParts"
|
||||
@@ -37,6 +43,12 @@
|
||||
op.type as type,
|
||||
op.remark as remark,
|
||||
op.is_composite as isComposite,
|
||||
op.color as partsColor,
|
||||
op.width as partsWidth,
|
||||
op.length as partsLength,
|
||||
op.thickness as partsThickness,
|
||||
op.category as category,
|
||||
op.subparts as subparts,
|
||||
oi.num as num
|
||||
|
||||
from order_parts op
|
||||
@@ -65,6 +77,12 @@
|
||||
<result property="brand" column="brand"/>
|
||||
<result property="factory" column="factory"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="partsColor" column="partsColor"/>
|
||||
<result property="partsWidth" column="partsWidth"/>
|
||||
<result property="partsLength" column="partsLength"/>
|
||||
<result property="partsThickness" column="partsThickness"/>
|
||||
<result property="category" column="category"/>
|
||||
<result property="subparts" column="subparts"/>
|
||||
</resultMap>
|
||||
<select id="selectPartsList"
|
||||
parameterType="java.lang.Long"
|
||||
@@ -72,11 +90,26 @@
|
||||
|
||||
|
||||
select distinct
|
||||
op.id as partsId,op.name,op.model,op.spec,oi.num as num,op.unit,op.brand,op.factory,op.remark,op.type
|
||||
op.id as partsId,
|
||||
op.name,
|
||||
op.model,
|
||||
op.spec,
|
||||
oi.num as num,
|
||||
op.unit,
|
||||
op.brand,
|
||||
op.factory,
|
||||
op.remark,
|
||||
op.color as partsColor,
|
||||
op.width as partsWidth,
|
||||
op.length as partsLength,
|
||||
op.thickness as partsThickness,
|
||||
op.category as category,
|
||||
op.subparts as subparts,
|
||||
op.type
|
||||
from order_parts op
|
||||
left join order_item oi on op.organ_id = oi.organ_id and op.order_id = oi.order_id and op.id = oi.parts_id
|
||||
|
||||
where op.organ_id = #{organId} and op.order_id = #{orderId} and op.deleted = false and oi.package_id = 0
|
||||
where op.organ_id = #{organId} and op.order_id = #{orderId} and op.deleted = false and op.type != '封边条' and oi.package_id = 0
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
+1
-1
@@ -343,7 +343,7 @@ public class ErrorCodeConstants {
|
||||
public static final ErrorCode CURRENTLY_NO_CONFIGURATION_AVAILABLE = new ErrorCode(1_002_039_001, "当前没有{}配置信息,请前往设置配置");
|
||||
public static final ErrorCode BRANCHING_SETTING_NAME_REPEAT = new ErrorCode(1_002_039_002, "分线配置名称重复,请重新设置");
|
||||
public static final ErrorCode BRANCHING_SETTING_RULE_SAVE_CHECK_ERROR = new ErrorCode(1_002_039_003, "智能分线配置保存解析失败,数据有误,请检查配置规则或联系客服");
|
||||
public static final ErrorCode BRANCHING_SETTING_SAVE_ERROR = new ErrorCode(1_002_039_004, "智能分线配置为空,请添加配置");
|
||||
public static final ErrorCode BRANCHING_SETTING_SAVE_ERROR = new ErrorCode(1_002_039_004, "机台:{} 的配置为空,请添加配置");
|
||||
public static final ErrorCode BRANCHING_SETTING_COUNT_ERROR = new ErrorCode(1_002_039_005, "智能分线配置机台数量必须大于2才能保存");
|
||||
|
||||
//=========== 系统配置 1-002-040-000 ============
|
||||
|
||||
+7
-5
@@ -22,6 +22,7 @@ import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
|
||||
|
||||
|
||||
@@ -57,11 +58,12 @@ public class IntellectBranchingService extends AbstractSystemConfigServiceHandle
|
||||
JSONObject jsonObject = jsonArray.getJSONObject(i);
|
||||
|
||||
checkMachineId(jsonObject.getString("machineId"));
|
||||
checkMachineName(jsonObject.getString("machineName"));
|
||||
checkMachineConfig(jsonObject.get("machineConfig"));
|
||||
String machineName = jsonObject.getString("machineName");
|
||||
checkMachineName(machineName);
|
||||
checkMachineConfig(jsonObject.get("machineConfig"),machineName);
|
||||
}
|
||||
|
||||
if(jsonArray.size() < 2){
|
||||
if(jsonArray.size() <= 2){
|
||||
throw new ServiceException(BRANCHING_SETTING_COUNT_ERROR);
|
||||
}
|
||||
|
||||
@@ -136,9 +138,9 @@ public class IntellectBranchingService extends AbstractSystemConfigServiceHandle
|
||||
* 校验 机台分流条件
|
||||
*
|
||||
*/
|
||||
private void checkMachineConfig(Object machineConfig) {
|
||||
private void checkMachineConfig(Object machineConfig,String machineName) {
|
||||
if (ObjectUtil.isEmpty(machineConfig)) {
|
||||
throw new ServiceException(BRANCHING_SETTING_SAVE_ERROR);
|
||||
throw exception(BRANCHING_SETTING_SAVE_ERROR,machineName);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user