新旧mes订单数据同步方法修改

develop-QA
liuqingkun 4 months ago
parent 5bd092a799
commit 05e522f75a
  1. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsHourQuotaEntity.java
  2. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsPartService.java
  3. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java
  4. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java
  5. 15
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java
  6. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java
  7. 84
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java
  8. 2
      blade-service/blade-desk/src/main/resources/application-dev.yml

@ -25,13 +25,12 @@
*/ */
package org.springblade.desk.dashboard.pojo.entity; package org.springblade.desk.dashboard.pojo.entity;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial; import java.io.Serial;
/** /**
@ -78,7 +77,7 @@ public class DsHourQuotaEntity extends BaseEntity {
* 工序工时定额分钟 * 工序工时定额分钟
*/ */
@Schema(description = "工序工时定额(分钟)") @Schema(description = "工序工时定额(分钟)")
private Long proHours; private Double proHours;
/** /**
* 准备工时 * 准备工时
*/ */

@ -28,12 +28,9 @@ package org.springblade.desk.dashboard.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.base.BaseService;
<<<<<<< HEAD
import org.springblade.desk.dashboard.excel.DsPartExcel; import org.springblade.desk.dashboard.excel.DsPartExcel;
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; import org.springblade.desk.dashboard.pojo.entity.DsPartEntity;
import org.springblade.desk.dashboard.pojo.vo.*; import org.springblade.desk.dashboard.pojo.vo.*;
=======
>>>>>>> liweidong
import java.util.List; import java.util.List;
@ -201,7 +198,6 @@ public interface IDsPartService extends BaseService<DsPartEntity> {
* @param partCode * @param partCode
* @return * @return
*/ */
<<<<<<< HEAD
List<DsPartTreeVO> getSimpleTree(String partCode); List<DsPartTreeVO> getSimpleTree(String partCode);
/** /**
@ -220,8 +216,6 @@ public interface IDsPartService extends BaseService<DsPartEntity> {
* @return * @return
*/ */
String findNameByRoamNo(String partCode, String roamNo); String findNameByRoamNo(String partCode, String roamNo);
=======
// List<DsPartTreeVO> getSimpleTree(String partCode); // List<DsPartTreeVO> getSimpleTree(String partCode);
>>>>>>> liweidong
} }

@ -392,6 +392,11 @@ public class DsPartServiceImpl extends BaseServiceImpl<DsPartMapper, DsPartEntit
return dsPartSynthesisVO; return dsPartSynthesisVO;
} }
@Override
public List<DsPartTreeVO> getSimpleTree(String partCode) {
return null;
}
public Date addDaysToCurrentDate(int days) { public Date addDaysToCurrentDate(int days) {
LocalDateTime localDateTime = LocalDateTime.now().plusDays(days); LocalDateTime localDateTime = LocalDateTime.now().plusDays(days);
return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());

@ -671,7 +671,7 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
List<Long> processProjectDeleteIds, List<Long> processMeasuringToolDeleteIds, List<Long> processMoldToolDeleteIds) { List<Long> processProjectDeleteIds, List<Long> processMeasuringToolDeleteIds, List<Long> processMoldToolDeleteIds) {
//保存工艺信息 //保存工艺信息
if(null == craft.getId()){ if(null == craft.getId()){
craft.setPrority("3"); craft.setPrority(3);
craft.setRank("2"); craft.setRank("2");
craftService.save(craft); craftService.save(craft);
}else { }else {

@ -1,5 +1,7 @@
package org.springblade.desk.order.controller; package org.springblade.desk.order.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
@ -149,4 +151,17 @@ public class YieldOrderController extends BladeController {
Boolean result = yieldOrderService.checkCode(yieldOrderId, yieldOrderCode); Boolean result = yieldOrderService.checkCode(yieldOrderId, yieldOrderCode);
return R.data(result); return R.data(result);
} }
/**
* 保存旧mes传过来的生产订单
*
* @return true:重复 false:不重复
*/
@PostMapping(value = "/receiveOrderFromOldMes")
@Operation(summary = "保存旧mes传过来的生产订单", description = "")
public R receiveOrderFromOldMes(@RequestBody JSONObject dataObject) {
JSONArray dataList = dataObject.getJSONArray("dataList");
yieldOrderService.receiveOrderFromOldMes(dataList);
return R.success();
}
} }

@ -1,5 +1,6 @@
package org.springblade.desk.order.service; package org.springblade.desk.order.service;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import org.springblade.common.exception.BusinessException; import org.springblade.common.exception.BusinessException;
@ -114,4 +115,11 @@ public interface IYieldOrderService extends BaseService<YieldOrder> {
* @param cardNoList 生产订单流程卡号列表 * @param cardNoList 生产订单流程卡号列表
*/ */
void syncYieldOrderResultToOldMes(List<String> cardNoList); void syncYieldOrderResultToOldMes(List<String> cardNoList);
/**
* 接收旧mes同步的生产订单数据
*
* @param dataList
*/
void receiveOrderFromOldMes(JSONArray dataList);
} }

@ -426,6 +426,90 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
HttpUtil.post(url, JSON.toJSONString(cardNoList)); HttpUtil.post(url, JSON.toJSONString(cardNoList));
} }
@Override
public void receiveOrderFromOldMes(JSONArray dataList) {
if (ObjectUtil.isEmpty(dataList)) {
return;
}
for (Object dataItem : dataList) {
JSONObject jsonItem = JSON.parseObject(JSON.toJSONString(dataItem));
// 构建生产订单信息并保存
JSONObject yieldJson = jsonItem.getJSONObject("order");
YieldOrder yieldOrder = JSON.parseObject(JSON.toJSONString(yieldJson), YieldOrder.class);
yieldOrder.setYpCode(yieldJson.getString("poCode"));
yieldOrder.setYpArea(yieldJson.getDouble("poArea"));
yieldOrder.setYpQty(yieldJson.getLong("poQty"));
yieldOrder.setYpProductLine(yieldJson.getString("poProdLine"));
yieldOrder.setYpMemo(yieldJson.getString("poMemo"));
yieldOrder.setProductIdent(yieldJson.getString("prodIdent"));
yieldOrder.setRoamNoNext(yieldJson.getString("nextRoam"));
yieldOrder.setPriorityErp(yieldJson.getInteger("priority"));
if (YieldOrderEnum.PRIORITY_ERP_NORMAL.equals(yieldOrder.getPriorityErp())) {
yieldOrder.setPriorityAps(YieldOrderEnum.PRIORITY_APS_NORMAL.getCategory());
} else {
yieldOrder.setPriorityAps(YieldOrderEnum.PRIORITY_APS_LOW.getCategory());
}
yieldOrder.setNewLevFlag(yieldJson.getString("newlevFlag"));
yieldOrder.setUseDeptCode(yieldJson.getString("useDeptcode"));
yieldOrder.setReceiveStatus(YieldOrderEnum.RECEIVE_STATUS_YES.getCategory());
yieldOrder.setReceiveUser(yieldJson.getLong("failureMan"));
yieldOrder.setReceiveTime(yieldJson.getDate("failureTime"));
yieldOrder.setStatus(YieldOrderEnum.STATUS_APS.getCategory());
// 先根据流程卡号验证订单是否重复,如果重复则不保存
List<YieldOrder> orderList = baseMapper.selectList(Wrappers.lambdaQuery(YieldOrder.class).eq(YieldOrder::getCardNo, yieldOrder.getCardNo()));
if (orderList.size() == 0) {
this.save(yieldOrder);
} else {
yieldOrder.setId(orderList.get(0).getId());
this.updateById(yieldOrder);
}
// 先查询原有的订单工艺信息
List<YieldOrderCraft> craftOldList = yieldOrderCraftService.list(Wrappers.lambdaQuery(YieldOrderCraft.class).eq(YieldOrderCraft::getYoId, yieldOrder.getId()));
// 构建生产订单工艺信息并保存
JSONArray craftArray = jsonItem.getJSONArray("craftList");
List<YieldOrderCraft> craftList = new ArrayList<>();
for (Object craftItem : craftArray) {
JSONObject craftJson = JSON.parseObject(JSON.toJSONString(craftItem));
YieldOrderCraft craft = new YieldOrderCraft();
craft.setYoId(yieldOrder.getId());
craft.setCraftNo(craftJson.getString("craftNo"));
craft.setProcessNo(craftJson.getString("processNo"));
// 若工艺ID或工艺排序为空, 则不保存
if (ObjectUtil.isEmpty(craft.getProcessNo()) || ObjectUtil.isEmpty(craft.getPpsId())) {
continue;
}
// 若已经保存过该工序, 则本次不保存
if (craftOldList.stream().anyMatch(craftOld -> craftOld.getProcessNo().equals(craft.getProcessNo()) && craftOld.getPpsId().equals(craft.getPpsId()))) {
continue;
}
craft.setStartTime(craftJson.getDate("startTime"));
craft.setEndTime(craftJson.getDate("endTime"));
craft.setHourQuota(craftJson.getDouble("hourQuota"));
if (ObjectUtil.isEmpty(craft.getHourQuota())) {
craft.setHourQuota(0D);
}
craft.setMakeMemo(craftJson.getString("makeMemo"));
craft.setPid(craftJson.getLong("pid"));
craft.setRpId(craftJson.getLong("rpId"));
craft.setPpsId(craftJson.getLong("ppsId"));
craft.setMakeTeam(craftJson.getLong("makeTeam"));
craft.setWorkCenterId(craftJson.getLong("wcId"));
craft.setOcId(craftJson.getLong("ocId"));
craft.setCaId(craftJson.getLong("caId"));
craftList.add(craft);
}
yieldOrderCraftService.saveBatch(craftList);
}
}
/** /**
* 验证零件子件信息 * 验证零件子件信息
* *

@ -11,7 +11,7 @@ spring:
business: business:
oldMes: oldMes:
jobEnable: true jobEnable: false
# url: 192.168.169.172:9000 # url: 192.168.169.172:9000
url: 127.0.0.1:32111 url: 127.0.0.1:32111
syncOrderList: /zhgd-rb/aiWebapi/syncApsOrderData/化学镀镍 syncOrderList: /zhgd-rb/aiWebapi/syncApsOrderData/化学镀镍

Loading…
Cancel
Save