|
|
|
@ -25,8 +25,9 @@ |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
package org.springblade.scheduling.scheduling.service.impl; |
|
|
|
package org.springblade.scheduling.scheduling.service.impl; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.http.HttpUtil; |
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
|
|
|
@ -42,6 +43,7 @@ import org.springblade.scheduling.scheduling.excel.WorkOrderExcel; |
|
|
|
import org.springblade.scheduling.scheduling.mapper.WorkOrderMapper; |
|
|
|
import org.springblade.scheduling.scheduling.mapper.WorkOrderMapper; |
|
|
|
import org.springblade.scheduling.scheduling.service.*; |
|
|
|
import org.springblade.scheduling.scheduling.service.*; |
|
|
|
import org.springblade.scheduling.scheduling.vo.WorkOrderVO; |
|
|
|
import org.springblade.scheduling.scheduling.vo.WorkOrderVO; |
|
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
|
|
|
@ -76,6 +78,12 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
private final IEquipResourceService equipResourceService; |
|
|
|
private final IEquipResourceService equipResourceService; |
|
|
|
private final IPersonResourceService personResourceService; |
|
|
|
private final IPersonResourceService personResourceService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Value("${business.oldMes.url}") |
|
|
|
|
|
|
|
private String oldMesUrl; |
|
|
|
|
|
|
|
@Value("${business.oldMes.pushApsResult}") |
|
|
|
|
|
|
|
private String pushApsResult; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 定义细粒度锁容器(全局单例)
|
|
|
|
// 定义细粒度锁容器(全局单例)
|
|
|
|
private static final Map<Long, Lock> CRAFT_LOCK_MAP = new ConcurrentHashMap<>(); |
|
|
|
private static final Map<Long, Lock> CRAFT_LOCK_MAP = new ConcurrentHashMap<>(); |
|
|
|
|
|
|
|
|
|
|
|
@ -343,6 +351,30 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
return resultList; |
|
|
|
return resultList; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public void sendWorkOrderToOldMes(List<WorkOrderEntity> workOrderEntityList) { |
|
|
|
|
|
|
|
List<JSONObject> requestList = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (WorkOrderEntity workOrderEntity : workOrderEntityList) { |
|
|
|
|
|
|
|
JSONObject requestJson = new JSONObject(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<WorkPlanEntity> workPlanList = workPlanService.list(Wrappers.<WorkPlanEntity>lambdaQuery() |
|
|
|
|
|
|
|
.eq(WorkPlanEntity::getWoId, workOrderEntity.getId())); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
requestJson.put("workOrder", workOrderEntity); |
|
|
|
|
|
|
|
requestJson.put("workPlanList", workPlanList); |
|
|
|
|
|
|
|
requestList.add(requestJson); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 向旧MES推送排产结果数据
|
|
|
|
|
|
|
|
String url = oldMesUrl + pushApsResult; |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
HttpUtil.post(url, JSONObject.toJSONString(requestList)); |
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
e.printStackTrace(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void calculateCr(List<YieldOrderEntity> list) { |
|
|
|
void calculateCr(List<YieldOrderEntity> list) { |
|
|
|
//查询订单下的工序,计算cr值
|
|
|
|
//查询订单下的工序,计算cr值
|
|
|
|
for (YieldOrderEntity entity : list) { |
|
|
|
for (YieldOrderEntity entity : list) { |
|
|
|
@ -425,7 +457,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
* @author sjx |
|
|
|
* @author sjx |
|
|
|
* @since 2025/12/1 18:08 |
|
|
|
* @since 2025/12/1 18:08 |
|
|
|
**/ |
|
|
|
**/ |
|
|
|
@Transactional |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void allocateResources(List<YieldOrderEntity> list,Map<String, PersonAbilityEntity> personAbilityMap,Map<Long, String> mainProducerMap) { |
|
|
|
public void allocateResources(List<YieldOrderEntity> list,Map<String, PersonAbilityEntity> personAbilityMap,Map<Long, String> mainProducerMap) { |
|
|
|
|
|
|
|
|
|
|
|
for (YieldOrderEntity order : list) { |
|
|
|
for (YieldOrderEntity order : list) { |
|
|
|
|