添加排产数据同步到新mes

1. 生产订单状态
2. 车间订单调度
liweidong
liuqingkun 3 months ago
parent e68650294d
commit 3eafa13e5d
  1. 4
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldPlan.java
  2. 6
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/request/PlateGoodsApplySave.java
  3. 5
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/YieldPlanVo.java
  4. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsApplyController.java
  5. 14
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java
  6. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsApplyService.java
  7. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java
  8. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsApplyServiceImpl.java
  9. 24
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java
  10. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/YieldPlanWrapper.java
  11. 11
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/WorkOrderController.java
  12. 9
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/IWorkOrderService.java
  13. 8
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java

@ -66,7 +66,7 @@ public class YieldPlan extends BaseEntity {
* 使用部门 * 使用部门
*/ */
@TableField(value = "USE_DEPT") @TableField(value = "USE_DEPT")
private String useDept; private Long useDept;
/** /**
* 数量 * 数量
@ -90,7 +90,7 @@ public class YieldPlan extends BaseEntity {
* 计划员 * 计划员
*/ */
@TableField(value = "PLAN_USER") @TableField(value = "PLAN_USER")
private String planUser; private Long planUser;
/** /**
* 计划下达时间 * 计划下达时间

@ -22,4 +22,10 @@ public class PlateGoodsApplySave {
* 化验含量明细 * 化验含量明细
*/ */
private List<PlateGoodsApplyDetail> detailList; private List<PlateGoodsApplyDetail> detailList;
/**
* 本次添加相关的需求单ID列表
*/
private List<Long> recordIdList;
} }

@ -27,4 +27,9 @@ public class YieldPlanVo extends YieldPlan {
* 状态名称 * 状态名称
*/ */
String statusName; String statusName;
/**
* 计划员名称
*/
String planUserName;
} }

@ -72,7 +72,8 @@ public class PlateGoodsApplyController extends BladeController {
public R save(@Valid @RequestBody PlateGoodsApplySave saveData) { public R save(@Valid @RequestBody PlateGoodsApplySave saveData) {
PlateGoodsApply entity = saveData.getAssayContent(); PlateGoodsApply entity = saveData.getAssayContent();
List<PlateGoodsApplyDetail> detailList = saveData.getDetailList(); List<PlateGoodsApplyDetail> detailList = saveData.getDetailList();
plateGoodsApplyService.save(entity, detailList); List<Long> recordIdList = saveData.getRecordIdList();
plateGoodsApplyService.save(entity, detailList, recordIdList);
return R.status(true); return R.status(true);
} }

@ -225,6 +225,7 @@ public class YieldOrderController extends BladeController {
* *
* @return true:重复 false:不重复 * @return true:重复 false:不重复
*/ */
@Deprecated
@PostMapping(value = "/receiveOrderFromOldMes") @PostMapping(value = "/receiveOrderFromOldMes")
@Operation(summary = "保存旧mes传过来的生产订单", description = "") @Operation(summary = "保存旧mes传过来的生产订单", description = "")
public R receiveOrderFromOldMes(@RequestBody JSONObject dataObject) { public R receiveOrderFromOldMes(@RequestBody JSONObject dataObject) {
@ -232,4 +233,17 @@ public class YieldOrderController extends BladeController {
yieldOrderService.receiveOrderFromOldMes(dataList); yieldOrderService.receiveOrderFromOldMes(dataList);
return R.success(); return R.success();
} }
/**
* 保存旧mes传过来的生产订单状态
*
* @return
*/
@Deprecated
@PostMapping(value = "/receiveOrderStatusFromOldMes")
@Operation(summary = "保存旧mes传过来的生产订单状态数据", description = "")
public R receiveOrderStatusFromOldMes(@RequestBody JSONObject entity) {
yieldOrderService.receiveOrderStatusFromOldMes(entity.getString("cardNo"), entity.getInteger("status"));
return R.success();
}
} }

@ -27,9 +27,10 @@ public interface IPlateGoodsApplyService extends BaseService<PlateGoodsApply> {
* *
* @param entity * @param entity
* @param detailList * @param detailList
* @param recordIdList
* @return * @return
*/ */
boolean save(PlateGoodsApply entity, List<PlateGoodsApplyDetail> detailList); boolean save(PlateGoodsApply entity, List<PlateGoodsApplyDetail> detailList, List<Long> recordIdList);
/** /**
* 修改 * 修改

@ -151,4 +151,12 @@ public interface IYieldOrderService extends BaseService<YieldOrder> {
* @param dataList * @param dataList
*/ */
void receiveOrderFromOldMes(JSONArray dataList); void receiveOrderFromOldMes(JSONArray dataList);
/**
* 接收旧mes同步的生产订单状态数据
*
* @param cardNo
* @param statusCode
*/
void receiveOrderStatusFromOldMes(String cardNo, Integer statusCode);
} }

@ -34,8 +34,11 @@ public class PlateGoodsApplyServiceImpl extends BaseServiceImpl<PlateGoodsApplyM
} }
@Override @Override
public boolean save(PlateGoodsApply entity, List<PlateGoodsApplyDetail> detailList) { public boolean save(PlateGoodsApply entity, List<PlateGoodsApplyDetail> detailList, List<Long> recordIdList) {
if (this.save(entity)) { if (this.save(entity)) {
// 1. 更新化验记录相关数据
// 2. 更新需求单的相关数据
for (PlateGoodsApplyDetail detail : detailList) { for (PlateGoodsApplyDetail detail : detailList) {
detail.setPgadId(entity.getId()); detail.setPgadId(entity.getId());
} }

@ -94,8 +94,8 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
public IPage<YieldOrder> pageMaterialApply(IPage<YieldOrder> page, Long wcId, Integer materialType, Integer overHalfMon) { public IPage<YieldOrder> pageMaterialApply(IPage<YieldOrder> page, Long wcId, Integer materialType, Integer overHalfMon) {
YieldOrder entity = new YieldOrder(); YieldOrder entity = new YieldOrder();
entity.setWorkCenterId(wcId); entity.setWorkCenterId(wcId);
//TODO 1. 金钾银钾如何区分 // TODO 1. 金钾银钾如何区分,使用工艺编制中的物料编号,其中只有金钾、银钾的选项
// 2. 允许使用半月以上的数据是以生产订单的什么时间算 // TODO 2. 允许使用半月以上的数据是以生产订单的什么时间算,需查看原来的逻辑
List<YieldOrder> dataList = baseMapper.selectPage(page, entity, null); List<YieldOrder> dataList = baseMapper.selectPage(page, entity, null);
return page.setRecords(dataList); return page.setRecords(dataList);
} }
@ -552,6 +552,26 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
} }
} }
@Override
public void receiveOrderStatusFromOldMes(String cardNo, Integer statusCode) {
// 先根据流程卡号查询订单,如果查不到则不处理
List<YieldOrder> orderList = baseMapper.selectList(Wrappers.lambdaQuery(YieldOrder.class).eq(YieldOrder::getCardNo, cardNo));
if (orderList.size() > 0) {
YieldOrder yieldOrder = orderList.get(0);
switch (statusCode) {
case 15:
yieldOrder.setStatus(YieldOrderEnum.STATUS_COMPLETED.getCode());
break;
case 21:
yieldOrder.setStatus(YieldOrderEnum.STATUS_CLOSED.getCode());
break;
default:
break;
}
this.updateById(yieldOrder);
}
}
/** /**
* 验证零件子件信息 * 验证零件子件信息
* *

@ -2,9 +2,12 @@ package org.springblade.desk.order.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.order.pojo.entity.YieldPlan; import org.springblade.desk.order.pojo.entity.YieldPlan;
import org.springblade.desk.order.pojo.enums.YieldPlanEnum; import org.springblade.desk.order.pojo.enums.YieldPlanEnum;
import org.springblade.desk.order.pojo.vo.YieldPlanVo; import org.springblade.desk.order.pojo.vo.YieldPlanVo;
import org.springblade.system.cache.UserCache;
import org.springblade.system.pojo.entity.User;
import java.util.Objects; import java.util.Objects;
@ -23,6 +26,11 @@ public class YieldPlanWrapper extends BaseEntityWrapper<YieldPlan, YieldPlanVo>
public YieldPlanVo entityVO(YieldPlan entity) { public YieldPlanVo entityVO(YieldPlan entity) {
YieldPlanVo vo = Objects.requireNonNull(BeanUtil.copyProperties(entity, YieldPlanVo.class)); YieldPlanVo vo = Objects.requireNonNull(BeanUtil.copyProperties(entity, YieldPlanVo.class));
vo.setStatusName(YieldPlanEnum.getName(entity.getStatus())); vo.setStatusName(YieldPlanEnum.getName(entity.getStatus()));
User user = UserCache.getUser(entity.getPlanUser());
if (Func.isNotEmpty(user)) {
vo.setPlanUserName(user.getAccount());
}
return vo; return vo;
} }
} }

@ -25,6 +25,7 @@
*/ */
package org.springblade.scheduling.scheduling.controller; package org.springblade.scheduling.scheduling.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@ -242,4 +243,14 @@ public class WorkOrderController extends BladeController {
ExcelUtil.export(response, "车间订单表数据" + DateUtil.time(), "车间订单表数据表", list, SchedulingBoardExcel.class); ExcelUtil.export(response, "车间订单表数据" + DateUtil.time(), "车间订单表数据表", list, SchedulingBoardExcel.class);
} }
/**
* 车间订单 更新调度人员
*/
@PostMapping("/receiveDispatcherFromOldMes")
@Operation(summary = "更新调度人员", description = "")
public R receiveDispatcherFromOldMes(@RequestBody JSONObject entity) {
workOrderService.receiveDispatcherFromOldMes(entity.getLong("id"), entity.getLong("dispatcher"));
return R.success();
}
} }

@ -86,4 +86,13 @@ public interface IWorkOrderService extends BaseService<WorkOrderEntity> {
List<String> selectEquip(); List<String> selectEquip();
List<SchedulingBoardExcel> exportSchedulingBoard(WorkOrderDto workOrder); List<SchedulingBoardExcel> exportSchedulingBoard(WorkOrderDto workOrder);
/**
* 接收旧mes同步的车间订单调度数据
*
* @param id
* @param userId
*/
void receiveDispatcherFromOldMes(Long id, Long userId);
} }

@ -308,6 +308,14 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
return baseMapper.exportSchedulingBoard(workOrder); return baseMapper.exportSchedulingBoard(workOrder);
} }
@Override
public void receiveDispatcherFromOldMes(Long id, Long userId) {
WorkOrderEntity workOrder = new WorkOrderEntity();
workOrder.setId(id);
workOrder.setDispatcher(userId);
updateById(workOrder);
}
void calculateCr(List<YieldOrderEntity> list) { void calculateCr(List<YieldOrderEntity> list) {
//查询订单下的工序,计算cr值 //查询订单下的工序,计算cr值
for (YieldOrderEntity entity : list) { for (YieldOrderEntity entity : list) {

Loading…
Cancel
Save