预打包,翻页Bug修改

This commit is contained in:
liuzhaotian
2024-08-07 16:30:41 +08:00
parent 42a5b9c6ab
commit 5126fd03d1
8 changed files with 51 additions and 40 deletions
@@ -33,10 +33,7 @@ public class PlanDO extends BaseDO {
// 组织 ID
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long organId;
// /**
// * 排单号
// */
// private String planNo;
/**
* 排序优先级
*/
@@ -49,10 +46,7 @@ public class PlanDO extends BaseDO {
* 排单状态:0 新单,1 板材已申请,2 开料中,3 已开料
*/
private Integer status;
// /**
// * 是否支付:0 否,1 是
// */
// private Boolean isPay;
/**
* 机台 ID
*/
@@ -65,14 +59,7 @@ public class PlanDO extends BaseDO {
* 生产单号
*/
private String orderNos;
// /**
// * 排单优化文件地址
// */
// private String placeDateFileUrl;
// /**
// * 排单优化文件地址
// */
// private String placeOrderFileUrl;
/**
* 备注
*/
@@ -514,9 +514,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
// 大板数据的尺寸长度
Integer boardSize = goodsDOS.stream().map(m -> m.getId()).collect(Collectors.toList()).size();
Integer boardSize = goodsDOS.stream().map(GoodsReqVO::getId).toList().size();
List<OptimizeBoardModelDO> optimizeBoardModelDOS = buildBoardByOrderIds(orderIds, ORDER_REMAIN_PLATE_MODEL, boardSize);
List<OptimizeBoardModelDO> optimizeBoardModelDOS = buildBoardByPlanId(planId, ORDER_REMAIN_PLATE_MODEL, boardSize);
List<RemainPlateDO> remainPlateDOS = remainPlateMapper.selectByPlanId(planId,getUserOrganId());
@@ -764,6 +764,23 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
}
private List<OptimizeBoardModelDO> buildBoardByPlanId(Long planId, String index,Integer size) {
SearchRequest.Builder builder = new SearchRequest.Builder();
builder.index(index);
builder.size(size);
builder.query(q -> q.term(b -> b.field("planId").value(planId)));
try {
SearchResponse<OptimizeBoardModelDO> search = elasticsearchClient.search(builder.build(), OptimizeBoardModelDO.class);
List<Hit<OptimizeBoardModelDO>> hits = search.hits().hits();
if (CollectionUtil.isNotEmpty(hits)) {
return hits.stream().map(Hit::source).collect(Collectors.toList());
}
return new ArrayList<>();
} catch (IOException e) {
log.error(e.getMessage());
throw new ServiceException(INTERNAL_SERVER_ERROR);
}
}
private List<OptimizeBoardModelDO> buildBoardByOrderIds(Collection<Long> orderIds, String index, Integer size) {
List<FieldValue> fieldValues = orderIds.stream().map(FieldValue::of).toList();
@@ -22,7 +22,7 @@ public class PointList {
@Schema(description = "点Id")
private Integer pointId;
//
@Schema(description = "点的位置信息")
private Double pointX;
private Double pointY;
@@ -27,9 +27,9 @@ public interface ProductionProcessMapper extends BaseMapperX<OrderDO> {
List<PatchingPlateRespVO> selectPatchingPlate(PatchingPlatePageReqVO pageReqVO);
OrderDO selectOrderIds(@Param("createTime") String createTime, @Param("organId") Long organId);
OrderDO selectOrderIds(@Param("createTime") String createTime, @Param("organId") Long organId, @Param("orderId") Long orderId);
OrderDO selectOrderIdsFalse(@Param("createTime") String createTime,@Param("organId") Long organId);
OrderDO selectOrderIdsFalse(@Param("createTime") String createTime,@Param("organId") Long organId, @Param("orderId") Long orderId);
// OrderDO selectOrderIds(@Param("orderId") Long orderId,@Param("organId") Long organId);
@@ -118,18 +118,11 @@ public class PackServiceImpl implements PackService {
OrderDO order = productionProcessMapper.selectById(pageReqVO.getOrderId());
// OrderDO orderDO;
// if(pageReqVO.getIsUp()){
// orderDO = productionProcessMapper.selectOrderIds(convertTime(orderDO1.getCreateTime().toString()), getUserOrganId());
//
// }else {
// orderDO = productionProcessMapper.selectOrderIdsFalse(convertTime(orderDO1.getCreateTime().toString()), getUserOrganId());
// }
OrderDO orderDO = pageReqVO.getIsUp() ?
productionProcessMapper.selectOrderIds(convertTime(order.getCreateTime().toString()), getUserOrganId()) :
productionProcessMapper.selectOrderIds(order.getCreateTime().toString(), getUserOrganId(),order.getId()) :
productionProcessMapper.selectOrderIdsFalse(convertTime(order.getCreateTime().toString()), getUserOrganId());
productionProcessMapper.selectOrderIdsFalse(order.getCreateTime().toString(), getUserOrganId(),order.getId());
if(orderDO == null){
throw exception(NO_PRODUCTION_ORDER_INFORMATION_AVAILABLE, pageReqVO.getIsUp() ?"" : "最后",pageReqVO.getIsUp()?"" : "" );
@@ -221,10 +214,10 @@ public class PackServiceImpl implements PackService {
List<PlateDetailsRespVO> plateDetailsRespVOS = orderItemMapper.selectOrdersPlateList(orderIds, getUserOrganId());
List<Long> packageIds = plateDetailsRespVOS.stream().map(PlateDetailsRespVO::getPackageId).distinct().toList();
List<OrderPackageDO> orderPackageDOS = orderPackageMapper.selectBatchIds(packageIds);
List<OrderPackageDO> orderPackageDOS = new ArrayList<>();
if(!packageIds.isEmpty()) {
orderPackageDOS = orderPackageMapper.selectBatchIds(packageIds);
}
for (PlateDetailsRespVO plateDetailsRespVO : plateDetailsRespVOS) {
String name = "";
@@ -732,7 +725,7 @@ public class PackServiceImpl implements PackService {
if(orderPrepackagedDO == null){
throw exception(NO_OPTIMIZATION_INFORMATION_AVAILABLE);
return null;
}
@@ -753,6 +746,11 @@ public class PackServiceImpl implements PackService {
String setting = userSetting.getSetting();
if (setting == null) {
throw exception(CURRENTLY_NO_CONFIGURATION_AVAILABLE, UserSettingTypeEnum.PREPACKAGED.getName());
}
JsonNode settingParse = JsonUtils.parseTree(JsonUtils.unzipString(setting));
boolean autoPack = settingParse.get("autoPack").asBoolean();
@@ -172,7 +172,7 @@
<select id="selectOrderIds" resultType="com.cf.imes.module.manage.dal.dataobject.process.OrderDO">
SELECT * FROM orders
WHERE create_time &gt; #{createTime} and organ_id = #{organId} and deleted = false
WHERE organ_id = #{organId} and deleted = false and status != 0 and create_time &gt; #{createTime} and id != #{orderId}
ORDER BY create_time
LIMIT 1 ;
@@ -186,7 +186,7 @@
<select id="selectOrderIdsFalse" resultType="com.cf.imes.module.manage.dal.dataobject.process.OrderDO">
SELECT * FROM orders
WHERE create_time &lt; #{createTime} and organ_id = #{organId} and deleted = false
WHERE organ_id = #{organId} and deleted = false and status != 0 and create_time &lt; #{createTime} and id != #{orderId}
ORDER BY create_time desc
LIMIT 1 ;
@@ -76,19 +76,19 @@
o.salesman as salesman,
o.splitter as splitter,
o.packaged as packaged,
count(distinct oi.plate_id) as totalPieceCount
(count(distinct oi.plate_id )-1) as totalPieceCount
FROM `orders` o
join order_item oi on o.id = oi.order_id and o.organ_id = oi.organ_id
WHERE
o.organ_id = #{organId} and oi.plate_id != 0 and
o.organ_id = #{organId} and
o.id in
<foreach item="id" collection="orderIds" open="(" separator="," close=")">
#{id}
</foreach>
group by orderNo,customOrderNo,dealer,createTime,deliveryDate,customer,phoneNumber,address,salesman,splitter,packaged,dealerPhoneNumber,orderDate
group by orderNo,customOrderNo,dealer,deliveryDate,customer,phoneNumber,address,salesman,splitter,packaged,dealerPhoneNumber,orderDate,o.create_time
order by o.create_time desc
@@ -133,6 +133,7 @@
organ_id =#{organId}
and deleted = false
and status != 0
<if test="pageReqVO.orderId !=null">
and id like concat('%', #{pageReqVO.orderId},'%')
@@ -1,6 +1,7 @@
package com.cf.imes.module.system.api.setting;
import com.cf.imes.framework.common.enums.UserSettingTypeEnum;
import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.framework.security.core.LoginUser;
import com.cf.imes.module.system.api.setting.dto.PackageConfigDTO;
@@ -11,7 +12,9 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.CURRENTLY_NO_CONFIGURATION_AVAILABLE;
@RestController // 提供 RESTful API 接口,给 Feign 调用
@Validated
@@ -26,8 +29,13 @@ public class SettingApiImpl implements SettingApi{
public PackageConfigDTO getUserSetting(Integer type) {
LoginUser loginUser = getLoginUser();
assert loginUser != null;
PackageConfigDO packageConfigDO = settingMapper.selectSetting(type, loginUser.getId(), loginUser.getOrganId());
if(packageConfigDO == null){
throw exception(CURRENTLY_NO_CONFIGURATION_AVAILABLE,type == 1 ? UserSettingTypeEnum.PREPACKAGED.getName(): UserSettingTypeEnum.PACKAGED.getName());
}
return BeanUtils.toBean(packageConfigDO,PackageConfigDTO.class);
}