订单管理接口修改

develop-QA
liuqingkun 6 months ago
parent de20207003
commit 8bbe45df44
  1. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldPlan.java
  2. 8
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/YieldOrderEnum.java
  3. 18
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/YieldPlanEnum.java
  4. 58
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java
  5. 24
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldPlanController.java
  6. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.xml
  7. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/MoldPlanMapper.xml
  8. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsApplyMapper.xml
  9. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.xml
  10. 1
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderCraftMapper.xml
  11. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.java
  12. 42
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.xml
  13. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldPlanMapper.java
  14. 18
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldPlanMapper.xml
  15. 18
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java
  16. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldPlanService.java
  17. 66
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java
  18. 19
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldPlanServiceImpl.java
  19. 16
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java

@ -160,7 +160,7 @@ public class YieldPlan extends BaseEntity {
private Long priority;
/**
*
* 计划类型
*/
@TableField(value = "PLAN_TYPE")
private Long planType;

@ -28,8 +28,8 @@ public enum YieldOrderEnum {
STATUS_PROCESS_WAITING("待生产", 10004),
STATUS_PROCESSING("加工中", 10005),
STATUS_PROCESS_ERROR("排产异常", 10006),
STATUS_COMPLETED("已完工", 100015),
STATUS_CLOSED("已关闭", 100021),
STATUS_COMPLETED("已完工", 10015),
STATUS_CLOSED("已关闭", 10021),
/**
* 生产订单接收状态
@ -83,7 +83,7 @@ public enum YieldOrderEnum {
VALIDATION_RESULT_PASS("验证完成", 16006),
;
final String name;
final int category;
final int code;
/**
* 匹配枚举值
@ -107,7 +107,7 @@ public enum YieldOrderEnum {
*/
public static String getName(int category) {
YieldOrderEnum item = Arrays.stream(YieldOrderEnum.values())
.filter(enumItem -> enumItem.getCategory() == category)
.filter(enumItem -> enumItem.getCode() == category)
.findFirst()
.orElse(null);
return ObjectUtil.isEmpty(item) ? StringPool.EMPTY : item.getName();

@ -26,11 +26,21 @@ public enum YieldPlanEnum {
STATUS_NO_CRAFT("无工艺", 10003),
STATUS_DISPATCHED("已派工", 10004),
STATUS_PROCESSING("加工中", 10005),
STATUS_COMPLETED("已完工", 100015),
STATUS_CLOSED("已关闭", 100021),
STATUS_COMPLETED("已完工", 10015),
STATUS_CLOSED("已关闭", 10021),
/**
* 生产订单订单类型
*/
PLAN_TYPE_1("热表订单", 12001),
PLAN_TYPE_2("烧结订单", 12002),
PLAN_TYPE_3("玻璃饼", 12003),
PLAN_TYPE_4("壳体", 12004),
PLAN_TYPE_5("插针", 12005),
PLAN_TYPE_6("石墨模", 12006),
;
final String name;
final int category;
final int code;
/**
* 匹配枚举值
@ -54,7 +64,7 @@ public enum YieldPlanEnum {
*/
public static String getName(int category) {
YieldPlanEnum item = Arrays.stream(YieldPlanEnum.values())
.filter(enumItem -> enumItem.getCategory() == category)
.filter(enumItem -> enumItem.getCode() == category)
.findFirst()
.orElse(null);
return ObjectUtil.isEmpty(item) ? StringPool.EMPTY : item.getName();

@ -44,22 +44,42 @@ public class YieldOrderController extends BladeController {
private final IYieldOrderCraftService yieldOrderCraftService;
/**
* 分页查询列表
* 分页查询列表-电镀
*/
@GetMapping("/page")
@GetMapping("/pageElectroplate")
@Parameters({
@Parameter(name = "yoCode", description = "计划单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "yoCode", description = "生产单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "batchNo", description = "批次号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "cardNo", description = "流程卡号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "roamNo", description = "流转编号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "reworkCode", description = "返工单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "status", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "int"))
@Parameter(name = "ypCode", description = "计划单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "yoCode", description = "生产单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "batchNo", description = "批次号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "cardNo", description = "流程卡号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "roamNo", description = "流转编号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "reworkCode", description = "返工单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "status", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "int"))
})
@Operation(summary = "分页", description = "")
public R<IPage<YieldOrderVo>> page(@Parameter(hidden = true) YieldOrder entity, Query query) {
IPage<YieldOrder> page = yieldOrderService.selectPage(Condition.getPage(query), entity);
@Operation(summary = "分页查询列表-电镀", description = "")
public R<IPage<YieldOrderVo>> pageElectroplate(@Parameter(hidden = true) YieldOrder entity, Query query) {
IPage<YieldOrder> page = yieldOrderService.selectPageElectroplate(Condition.getPage(query), entity);
return R.data(YieldOrderWrapper.build().pageVO(page));
}
/**
* 分页查询列表-烧结
*/
@GetMapping("/pageSintering")
@Parameters({
@Parameter(name = "yoCode", description = "计划单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "yoCode", description = "生产单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "batchNo", description = "批次号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "cardNo", description = "流程卡号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "roamNo", description = "流转编号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "reworkCode", description = "返工单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "status", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "int"))
})
@Operation(summary = "分页查询列表-烧结", description = "")
public R<IPage<YieldOrderVo>> pageSintering(@Parameter(hidden = true) YieldOrder entity, Query query) {
IPage<YieldOrder> page = yieldOrderService.selectPageSintering(Condition.getPage(query), entity);
return R.data(YieldOrderWrapper.build().pageVO(page));
}
@ -68,10 +88,10 @@ public class YieldOrderController extends BladeController {
*/
@GetMapping("/pageException")
@Parameters({
@Parameter(name = "yoCode", description = "生产单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "validationResult", description = "校验结果, 16002:数据缺失, 16003:工艺缺失, 16004:资源缺失, 16005:交期冲突",
in = ParameterIn.QUERY, schema = @Schema(type = "string"))
@Parameter(name = "yoCode", description = "生产单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "validationResult", description = "校验结果, 16002:数据缺失, 16003:工艺缺失, 16004:资源缺失, 16005:交期冲突",
in = ParameterIn.QUERY, schema = @Schema(type = "string"))
})
@Operation(summary = "分页-异常订单", description = "")
public R<IPage<YieldOrderVo>> pageException(@Parameter(hidden = true) YieldOrder entity, Query query) {
@ -79,7 +99,7 @@ public class YieldOrderController extends BladeController {
page.setRecords(new ArrayList<>());
if (ObjectUtil.isNotEmpty(entity.getValidationResult())) {
page = yieldOrderService.selectPage(Condition.getPage(query), entity);
page = yieldOrderService.selectPageSintering(Condition.getPage(query), entity);
}
return R.data(YieldOrderWrapper.build().pageVO(page));
@ -131,7 +151,7 @@ public class YieldOrderController extends BladeController {
@PostMapping("/closeBatch")
@Operation(summary = "批量关闭", description = "传入ids")
public R closeBatch(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
Boolean result = yieldOrderService.changeStatus(Func.toLongList(ids), YieldOrderEnum.STATUS_CLOSED.getCategory());
Boolean result = yieldOrderService.changeStatus(Func.toLongList(ids), YieldOrderEnum.STATUS_CLOSED.getCode());
return R.status(result);
}

@ -49,19 +49,33 @@ public class YieldPlanController extends BladeController {
return erpDataSearchClient;
}
/**
* 分页查询列表-电镀
*/
@GetMapping("/pageElectroplate")
@Parameters({
@Parameter(name = "ypCode", description = "计划单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "status", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "int"))
})
@Operation(summary = "分页", description = "")
public R<IPage<YieldPlanVo>> pageElectroplate(@Parameter(hidden = true) YieldPlan entity, Query query) {
IPage<YieldPlan> page = yieldPlanService.selectPageElectroplate(Condition.getPage(query), entity);
return R.data(YieldPlanWrapper.build().pageVO(page));
}
/**
* 分页查询列表
* 分页查询列表-烧结
*/
@GetMapping("/page")
@GetMapping("/pageSintering")
@Parameters({
@Parameter(name = "ypCode", description = "计划单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
@Parameter(name = "status", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "int"))
})
@Operation(summary = "分页", description = "")
public R<IPage<YieldPlanVo>> page(@Parameter(hidden = true) YieldPlan entity, Query query) {
IPage<YieldPlan> page = yieldPlanService.selectPage(Condition.getPage(query), entity);
public R<IPage<YieldPlanVo>> pageSintering(@Parameter(hidden = true) YieldPlan entity, Query query) {
IPage<YieldPlan> page = yieldPlanService.selectPageSintering(Condition.getPage(query), entity);
return R.data(YieldPlanWrapper.build().pageVO(page));
}
@ -137,7 +151,7 @@ public class YieldPlanController extends BladeController {
@PostMapping("/closeBatch")
@Operation(summary = "批量关闭", description = "传入ids")
public R closeBatch(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
Boolean result = yieldPlanService.changeStatus(Func.toLongList(ids), YieldPlanEnum.STATUS_CLOSED.getCategory());
Boolean result = yieldPlanService.changeStatus(Func.toLongList(ids), YieldPlanEnum.STATUS_CLOSED.getCode());
return R.status(result);
}

@ -7,11 +7,11 @@
SELECT ID, TENANT_ID, CREATE_USER, CREATE_DEPT, CREATE_TIME, UPDATE_USER, UPDATE_TIME, STATUS, IS_DELETED,
WC_ID, ASSAY_MAN, ASSAY_TIME, APPLY_STATUS, GOLD_POTASSIUM, SILVER_POTASSIUM, SILVER_PLATE
FROM MES_ASSAY_CONTENT
<if test = "wcId != null and wcId != ''">
AND WC_ID = #{wcId}
<if test = "entity.wcId != null and entity.wcId != ''">
AND WC_ID = #{entity.wcId}
</if>
<if test = "status != null and status != ''">
AND status = #{status}
<if test = "entity.status != null and entity.status != ''">
AND status = #{entity.status}
</if>
</select>
</mapper>

@ -8,11 +8,11 @@
MO_CODE, MO_NAME, QUANTITY, ERP_ID, YP_ID, ERP_WO_CODE, MAF_STATUS, PLAN_TYPE, NEED_DATE, KEEPER, RELEASER, QUA_LEVEL,
PLAN_TYPE_NAME, PART_CODE, PART_NAME, MEMO, MAF_TYPE, URGENT_TYPE
FROM MES_MOLD_PLAN
<if test = "moCode != null and moCode != ''">
AND MO_CODE LIKE CONCAT('%', #{moCode}, '%')
<if test = "entity.moCode != null and entity.moCode != ''">
AND MO_CODE LIKE CONCAT('%', CONCAT(#{entity.moCode}, '%'))
</if>
<if test = "partCode != null and partCode != ''">
AND PART_CODE LIKE CONCAT('%', #{partCode}, '%')
<if test = "entity.partCode != null and entity.partCode != ''">
AND PART_CODE LIKE CONCAT('%', CONCAT(#{entity.partCode}, '%'))
</if>
</select>
</mapper>

@ -8,14 +8,14 @@
GOODS_CODE, GOODS_DEMAND, APPROVAL_STATUS, BO_ID, BR_ID, AC_ID, PGR_ID, WC_ID, INVOLVE_CODE, CODE_NUM, APPROVAL_MAN,
APPROVAL_TIME, APPROVAL_MEMO
FROM MES_PLATE_GOODS_APPLY
<if test = "demandCode != null and demandCode != ''">
AND DEMAND_CODE LIKE CONCAT('%', #{demandCode}, '%')
<if test = "entity.demandCode != null and entity.demandCode != ''">
AND DEMAND_CODE LIKE CONCAT('%', CONCAT(#{entity.demandCode}, '%'))
</if>
<if test = "wcId != null and wcId != ''">
AND WC_ID = #{wcId}
<if test = "entity.wcId != null and entity.wcId != ''">
AND WC_ID = #{entity.wcId}
</if>
<if test = "status != null and status != ''">
AND status = #{status}
<if test = "entity.status != null and entity.status != ''">
AND status = #{entity.status}
</if>
</select>
</mapper>

@ -9,14 +9,14 @@
APPROVAL_STATUS, APPROVAL_MEMO, DECLARED_QUOTA, DECLARED_SILVER, DECLARED_STATUS, GOODS_BO_ID, COEFFICIENT_BO_ID,
PGR_CODE, SURPLUS, SILVER_POTASSIUM_RESIDUE
FROM MES_PLATE_GOODS_RECORD
<if test = "demandCode != null and demandCode != ''">
AND DEMAND_CODE LIKE CONCAT('%', #{demandCode}, '%')
<if test = "entity.demandCode != null and entity.demandCode != ''">
AND DEMAND_CODE LIKE CONCAT('%', CONCAT(#{entity.demandCode}, '%'))
</if>
<if test = "wcId != null and wcId != ''">
AND WC_ID = #{wcId}
<if test = "entity.wcId != null and entity.wcId != ''">
AND WC_ID = #{entity.wcId}
</if>
<if test = "status != null and status != ''">
AND status = #{status}
<if test = "entity.status != null and entity.status != ''">
AND status = #{entity.status}
</if>
</select>
</mapper>

@ -9,6 +9,5 @@
CA_ID, RP_ID, WORK_CENTER_ID
FROM MES_YIELD_ORDER_CRAFT
WHERE IS_DELETED = 0
</select>
</mapper>

@ -3,6 +3,7 @@ package org.springblade.desk.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.desk.order.pojo.entity.YieldOrder;
import org.springblade.desk.order.pojo.enums.YieldOrderEnum;
import java.util.List;
@ -19,7 +20,8 @@ public interface YieldOrderMapper extends BaseMapper<YieldOrder> {
*
* @param page
* @param entity
* @param yieldTypeList
* @return
*/
List<YieldOrder> selectPage(IPage page, YieldOrder entity);
List<YieldOrder> selectPage(IPage page, YieldOrder entity, List<YieldOrderEnum> yieldTypeList);
}

@ -15,32 +15,38 @@
ERROR_INFO, RECEIVE_USER, RECEIVE_TIME
FROM MES_YIELD_ORDER
WHERE IS_DELETED = 0
<if test = "ypCode != null and ypCode != ''">
AND YP_CODE LIKE CONCAT('%', #{ypCode}, '%')
<if test = "yieldTypeList != null and yieldTypeList.size() > 0">
AND YIELD_TYPE IN
<foreach collection = "yieldTypeList" item = "yieldType" open = "(" separator = "," close = ")">
#{yieldType.code}
</foreach>
</if>
<if test = "yoCode != null and yoCode != ''">
AND YO_CODE LIKE CONCAT('%', #{yoCode}, '%')
<if test = "entity.ypCode != null and entity.ypCode != ''">
AND YP_CODE LIKE CONCAT('%', CONCAT(#{entity.ypCode}, '%'))
</if>
<if test = "partCode != null and partCode != ''">
AND PART_CODE LIKE CONCAT('%', #{partCode}, '%')
<if test = "entity.yoCode != null and entity.yoCode != ''">
AND YO_CODE LIKE CONCAT('%', CONCAT(#{entity.yoCode}, '%'))
</if>
<if test = "batchNo != null and batchNo != ''">
AND BATCH_NO LIKE CONCAT('%', #{batchNo}, '%')
<if test = "entity.partCode != null and entity.partCode != ''">
AND PART_CODE LIKE CONCAT('%', CONCAT(#{entity.partCode}, '%'))
</if>
<if test = "cardNo != null and cardNo != ''">
AND CARD_NO LIKE CONCAT('%', #{cardNo}, '%')
<if test = "entity.batchNo != null and entity.batchNo != ''">
AND BATCH_NO LIKE CONCAT('%', CONCAT(#{entity.batchNo}, '%'))
</if>
<if test = "roamNo != null and roamNo != ''">
AND ROAM_NO LIKE CONCAT('%', #{roamNo}, '%')
<if test = "entity.cardNo != null and entity.cardNo != ''">
AND CARD_NO LIKE CONCAT('%', CONCAT(#{entity.cardNo}, '%'))
</if>
<if test = "reworkCode != null and reworkCode != ''">
AND REWORK_CODE LIKE CONCAT('%', #{reworkCode}, '%')
<if test = "entity.roamNo != null and entity.roamNo != ''">
AND ROAM_NO LIKE CONCAT('%', CONCAT(#{entity.roamNo}, '%'))
</if>
<if test = "validationResult != null and validationResult != ''">
AND VALIDATION_RESULT = #{validationResult}
<if test = "entity.reworkCode != null and entity.reworkCode != ''">
AND REWORK_CODE LIKE CONCAT('%', CONCAT(#{entity.reworkCode}, '%'))
</if>
<if test = "status != null and status != ''">
AND status = #{status}
<if test = "entity.validationResult != null and entity.validationResult != ''">
AND VALIDATION_RESULT = #{entity.validationResult}
</if>
<if test = "entity.status != null and entity.status != ''">
AND status = #{entity.status}
</if>
</select>

@ -3,6 +3,7 @@ package org.springblade.desk.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.desk.order.pojo.entity.YieldPlan;
import org.springblade.desk.order.pojo.enums.YieldPlanEnum;
import java.util.List;
@ -19,8 +20,10 @@ public interface YieldPlanMapper extends BaseMapper<YieldPlan> {
*
* @param page
* @param entity
* @param planTypeList
* @return
*/
List<YieldPlan> selectPage(IPage page, YieldPlan entity);
List<YieldPlan> selectPage(IPage page, YieldPlan entity, List<YieldPlanEnum> planTypeList);
}

@ -11,14 +11,20 @@
ROUTE_NO, CUSTODIAN, BPS_ID, PRIORITY, PLAN_TYPE, SURE_TYPE, CLOSE_MAN, CLOSE_TIME, PRODUCT_LINE
FROM MES_YIELD_PLAN
WHERE IS_DELETED = 0
<if test = "ypCode != null and ypCode != ''">
AND YP_CODE LIKE CONCAT('%', #{ypCode}, '%')
<if test = "planTypeList != null and planTypeList.size() > 0">
AND PLAN_TYPE IN
<foreach collection = "planTypeList" item = "planType" open = "(" separator = "," close = ")">
#{planType.code}
</foreach>
</if>
<if test = "partCode != null and partCode != ''">
AND PART_CODE LIKE CONCAT('%', #{partCode}, '%')
<if test = "entity.ypCode != null and entity.ypCode != ''">
AND YP_CODE LIKE CONCAT('%', CONCAT(#{entity.ypCode}, '%'))
</if>
<if test = "status != null and status != ''">
AND status = #{status}
<if test = "entity.partCode != null and entity.partCode != ''">
AND PART_CODE LIKE CONCAT('%', CONCAT(#{entity.partCode}, '%'))
</if>
<if test = "entity.status != null and entity.status != ''">
AND status = #{entity.status}
</if>
</select>
</mapper>

@ -25,6 +25,24 @@ public interface IYieldOrderService extends BaseService<YieldOrder> {
*/
IPage<YieldOrder> selectPage(IPage<YieldOrder> page, YieldOrder entity);
/**
* 自定义分页
*
* @param page
* @param entity
* @return
*/
IPage<YieldOrder> selectPageElectroplate(IPage<YieldOrder> page, YieldOrder entity);
/**
* 自定义分页
*
* @param page
* @param entity
* @return
*/
IPage<YieldOrder> selectPageSintering(IPage<YieldOrder> page, YieldOrder entity);
/**
* 批量确认
*

@ -21,7 +21,16 @@ public interface IYieldPlanService extends BaseService<YieldPlan> {
* @param entity
* @return
*/
IPage<YieldPlan> selectPage(IPage<YieldPlan> page, YieldPlan entity);
IPage<YieldPlan> selectPageElectroplate(IPage<YieldPlan> page, YieldPlan entity);
/**
* 自定义分页
*
* @param page
* @param entity
* @return
*/
IPage<YieldPlan> selectPageSintering(IPage<YieldPlan> page, YieldPlan entity);
/**
* 根据生产计划ID获取二级工艺

@ -66,7 +66,27 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
@Override
public IPage<YieldOrder> selectPage(IPage<YieldOrder> page, YieldOrder entity) {
List<YieldOrder> dataList = baseMapper.selectPage(page, entity);
List<YieldOrder> dataList = baseMapper.selectPage(page, entity, null);
return page.setRecords(dataList);
}
@Override
public IPage<YieldOrder> selectPageElectroplate(IPage<YieldOrder> page, YieldOrder entity) {
List<YieldOrderEnum> yieldTypeList = new ArrayList<>();
yieldTypeList.add(YieldOrderEnum.YIELD_TYPE_1);
List<YieldOrder> dataList = baseMapper.selectPage(page, entity, yieldTypeList);
return page.setRecords(dataList);
}
@Override
public IPage<YieldOrder> selectPageSintering(IPage<YieldOrder> page, YieldOrder entity) {
List<YieldOrderEnum> yieldTypeList = new ArrayList<>();
yieldTypeList.add(YieldOrderEnum.YIELD_TYPE_2);
yieldTypeList.add(YieldOrderEnum.YIELD_TYPE_3);
yieldTypeList.add(YieldOrderEnum.YIELD_TYPE_4);
yieldTypeList.add(YieldOrderEnum.YIELD_TYPE_5);
yieldTypeList.add(YieldOrderEnum.YIELD_TYPE_6);
List<YieldOrder> dataList = baseMapper.selectPage(page, entity, yieldTypeList);
return page.setRecords(dataList);
}
@ -77,7 +97,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
ids.forEach(id -> {
YieldOrder yieldOrder = new YieldOrder();
yieldOrder.setId(id);
yieldOrder.setReceiveStatus(YieldOrderEnum.RECEIVE_STATUS_YES.getCategory());
yieldOrder.setReceiveStatus(YieldOrderEnum.RECEIVE_STATUS_YES.getCode());
yieldOrderList.add(yieldOrder);
});
@ -115,7 +135,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
.ne(YieldOrder::getId, yieldOrder.getId());
YieldOrder yieldOrderCheck = baseMapper.selectOne(wrapper);
if (ObjectUtil.isNotEmpty(yieldOrderCheck)) {
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCategory());
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCode());
yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo("已存在该流程卡号的数据");
this.updateById(yieldOrder);
@ -125,7 +145,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
// 2. 当生产订单类型为:表处理,壳体,插针订单,当镀种为空或面积为0时,不得自动分派并提示
if (YieldOrderEnum.YIELD_TYPE_1.equals(yieldOrder.getYieldType()) || YieldOrderEnum.YIELD_TYPE_4.equals(yieldOrder.getYieldType()) || YieldOrderEnum.YIELD_TYPE_5.equals(yieldOrder.getYieldType())) {
if (StringUtils.isBlank(yieldOrder.getPlate()) || yieldOrder.getYpArea() == 0) {
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCategory());
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCode());
yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo("生产订单中镀种或面积为空,请维护基础数据");
this.updateById(yieldOrder);
@ -135,7 +155,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
// 3. 玻璃饼订单工艺路线包含外购不再自动分派,直接关闭订单
if (YieldOrderEnum.YIELD_TYPE_3.equals(yieldOrder.getYieldType()) && yieldOrder.getPrimaryCraft().contains(YieldOrderConst.PRIMARY_CRAFT_WG)) {
yieldOrder.setStatus(YieldOrderEnum.STATUS_CLOSED.getCategory());
yieldOrder.setStatus(YieldOrderEnum.STATUS_CLOSED.getCode());
yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo("玻璃饼订单工艺路线包含外购,关闭订单无需自动分派");
this.updateById(yieldOrder);
@ -146,7 +166,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
if (YieldOrderEnum.YIELD_TYPE_2.equals(yieldOrder.getYieldType()) && StringUtils.isBlank(yieldOrder.getReworkCode())) {
//验证订单是否存在当前B号,如果不存在则不能下发
if (StringUtils.isBlank(yieldOrder.getRoamNo())) {
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCategory());
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCode());
yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo("订单不存在B号,请手动匹配B号!");
this.updateById(yieldOrder);
@ -155,7 +175,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
String roamNoText = dsPartService.findNameByRoamNo(yieldOrder.getPartCode(), yieldOrder.getRoamNo());
if (StringUtils.isBlank(roamNoText)) {
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCategory());
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCode());
yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo("未找到ERP一级B号路线,请核查!");
this.updateById(yieldOrder);
@ -165,7 +185,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
try {
this.saveSubYieldOrder(yieldOrder, Boolean.FALSE, yieldOrder.getReceiveUser());
} catch (BusinessException e) {
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCategory());
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCode());
yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo(e.getErrorMessage());
this.updateById(yieldOrder);
@ -212,7 +232,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
if (ObjectUtil.isEmpty(craft)) {
String errMsg = StringUtils.isNotBlank(roamNo) ? "订单流转单号匹配失败,请联系工艺员!" : "未找到B号工艺,请核实订单是否存在B号!";
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCategory());
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCode());
yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo(errMsg);
this.updateById(yieldOrder);
@ -222,7 +242,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
DsPartEntity part = dsPartService.getById(craft.getPartId());
//验证零件是否已经被删除
if (CommonConstant.DELETE_TRUE.equals(part.getIsDeleted())) {
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCategory());
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCode());
yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo("零件信息已删除,工艺匹配失败,请联系工艺员!");
this.updateById(yieldOrder);
@ -233,7 +253,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
if (!YieldOrderEnum.YIELD_TYPE_2.equals(yieldOrder.getYieldType())
&& !YieldOrderEnum.YIELD_TYPE_6.equals(yieldOrder.getYieldType())
&& ObjectUtil.isEmpty(part.getArea())) {
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCategory());
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCode());
yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo("零件面积为空,工艺匹配失败,请联系工艺员!");
this.updateById(yieldOrder);
@ -356,16 +376,16 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
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());
yieldOrder.setPriorityAps(YieldOrderEnum.PRIORITY_APS_NORMAL.getCode());
} else {
yieldOrder.setPriorityAps(YieldOrderEnum.PRIORITY_APS_LOW.getCategory());
yieldOrder.setPriorityAps(YieldOrderEnum.PRIORITY_APS_LOW.getCode());
}
yieldOrder.setNewLevFlag(yieldJson.getString("newlevFlag"));
yieldOrder.setUseDeptCode(yieldJson.getString("useDeptcode"));
yieldOrder.setReceiveStatus(YieldOrderEnum.RECEIVE_STATUS_YES.getCategory());
yieldOrder.setReceiveStatus(YieldOrderEnum.RECEIVE_STATUS_YES.getCode());
yieldOrder.setReceiveUser(yieldJson.getLong("failureMan"));
yieldOrder.setReceiveTime(yieldJson.getDate("failureTime"));
yieldOrder.setStatus(YieldOrderEnum.STATUS_APS.getCategory());
yieldOrder.setStatus(YieldOrderEnum.STATUS_APS.getCode());
// 先根据流程卡号验证订单是否重复,如果重复则不保存
List<YieldOrder> orderList = baseMapper.selectList(Wrappers.lambdaQuery(YieldOrder.class).eq(YieldOrder::getCardNo, yieldOrder.getCardNo()));
@ -447,16 +467,16 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
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());
yieldOrder.setPriorityAps(YieldOrderEnum.PRIORITY_APS_NORMAL.getCode());
} else {
yieldOrder.setPriorityAps(YieldOrderEnum.PRIORITY_APS_LOW.getCategory());
yieldOrder.setPriorityAps(YieldOrderEnum.PRIORITY_APS_LOW.getCode());
}
yieldOrder.setNewLevFlag(yieldJson.getString("newlevFlag"));
yieldOrder.setUseDeptCode(yieldJson.getString("useDeptcode"));
yieldOrder.setReceiveStatus(YieldOrderEnum.RECEIVE_STATUS_YES.getCategory());
yieldOrder.setReceiveStatus(YieldOrderEnum.RECEIVE_STATUS_YES.getCode());
yieldOrder.setReceiveUser(yieldJson.getLong("failureMan"));
yieldOrder.setReceiveTime(yieldJson.getDate("failureTime"));
yieldOrder.setStatus(YieldOrderEnum.STATUS_APS.getCategory());
yieldOrder.setStatus(YieldOrderEnum.STATUS_APS.getCode());
// 若任务下达时间为空, 取从erp同步的时间
if (ObjectUtil.isEmpty(yieldOrder.getReleaseDate())) {
yieldOrder.setReleaseDate(yieldJson.getDate("syncTime"));
@ -555,11 +575,11 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
String errMsg = MessageFormat.format("子件{0}未编制!", dsPartSub.getPartCode());
throw new BusinessException(errMsg);
}
Integer yieldType = YieldOrderEnum.YIELD_TYPE_6.getCategory();
Integer yieldType = YieldOrderEnum.YIELD_TYPE_6.getCode();
if (DsPartConst.SIN_TER_TYPE_KT.equals(dsPartSub.getSinTerType())) {
yieldType = YieldOrderEnum.YIELD_TYPE_4.getCategory();
yieldType = YieldOrderEnum.YIELD_TYPE_4.getCode();
} else if (DsPartConst.SIN_TER_TYPE_CZ.equals(dsPartSub.getSinTerType())) {
yieldType = YieldOrderEnum.YIELD_TYPE_5.getCategory();
yieldType = YieldOrderEnum.YIELD_TYPE_5.getCode();
}
//非石墨模子件,面积不允许为空
if (!yieldType.equals(YieldOrderEnum.YIELD_TYPE_6) && dsPart.getArea() == null) {
@ -599,7 +619,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
subYield.setYpQty(yieldOrder.getYpQty() * dsPartSub.getQuota().intValue());
subYield.setPrimaryCraft(dsPart.getCraftWay());
subYield.setRoamNo(roamNo);
subYield.setStatus(YieldOrderEnum.STATUS_NORMAL.getCategory());
subYield.setStatus(YieldOrderEnum.STATUS_NORMAL.getCode());
subYield.setYieldType(yieldType);
subYield.setEntrustDept("热表分厂");
subYield.setBusinessType(-1);

@ -10,6 +10,7 @@ import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.utils.ObjectUtil;
import org.springblade.desk.order.pojo.entity.YieldPlan;
import org.springblade.desk.order.mapper.YieldPlanMapper;
import org.springblade.desk.order.pojo.enums.YieldPlanEnum;
import org.springblade.desk.order.service.IYieldOrderService;
import org.springblade.desk.order.service.IYieldPlanService;
import org.springframework.stereotype.Service;
@ -29,8 +30,22 @@ public class YieldPlanServiceImpl extends BaseServiceImpl<YieldPlanMapper, Yield
private final IYieldOrderService yieldOrderService;
@Override
public IPage<YieldPlan> selectPage(IPage<YieldPlan> page, YieldPlan entity) {
List<YieldPlan> dataList = baseMapper.selectPage(page, entity);
public IPage<YieldPlan> selectPageElectroplate(IPage<YieldPlan> page, YieldPlan entity) {
List<YieldPlanEnum> planTypeList = new ArrayList<>();
planTypeList.add(YieldPlanEnum.PLAN_TYPE_1);
List<YieldPlan> dataList = baseMapper.selectPage(page, entity, planTypeList);
return page.setRecords(dataList);
}
@Override
public IPage<YieldPlan> selectPageSintering(IPage<YieldPlan> page, YieldPlan entity) {
List<YieldPlanEnum> planTypeList = new ArrayList<>();
planTypeList.add(YieldPlanEnum.PLAN_TYPE_2);
planTypeList.add(YieldPlanEnum.PLAN_TYPE_3);
planTypeList.add(YieldPlanEnum.PLAN_TYPE_4);
planTypeList.add(YieldPlanEnum.PLAN_TYPE_5);
planTypeList.add(YieldPlanEnum.PLAN_TYPE_6);
List<YieldPlan> dataList = baseMapper.selectPage(page, entity, planTypeList);
return page.setRecords(dataList);
}

@ -119,12 +119,12 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
public void scheduling() {
//查询待排产订单,状态是3
List<YieldOrderEntity> list =
yieldOrderService.list(Wrappers.<YieldOrderEntity>lambdaQuery().in(BaseEntity::getStatus, YieldOrderEnum.STATUS_APS.getCategory(),YieldOrderEnum.STATUS_PROCESS_ERROR.getCategory()).isNotNull(YieldOrderEntity::getWorkCenterId).isNotNull(YieldOrderEntity::getReleaseDate).isNotNull(YieldOrderEntity::getDemandDate));
yieldOrderService.list(Wrappers.<YieldOrderEntity>lambdaQuery().in(BaseEntity::getStatus, YieldOrderEnum.STATUS_APS.getCode(),YieldOrderEnum.STATUS_PROCESS_ERROR.getCode()).isNotNull(YieldOrderEntity::getWorkCenterId).isNotNull(YieldOrderEntity::getReleaseDate).isNotNull(YieldOrderEntity::getDemandDate));
log.info("待排产订单数量为:" + list.size());
if (CollectionUtils.isNotEmpty(list)) {
//校验已排产订单
checkSchedulingOrder(list);
list = yieldOrderService.list(Wrappers.<YieldOrderEntity>lambdaQuery().in(BaseEntity::getStatus, YieldOrderEnum.STATUS_APS.getCategory(),YieldOrderEnum.STATUS_PROCESS_ERROR.getCategory()).isNotNull(YieldOrderEntity::getWorkCenterId).isNotNull(YieldOrderEntity::getReleaseDate).isNotNull(YieldOrderEntity::getDemandDate));
list = yieldOrderService.list(Wrappers.<YieldOrderEntity>lambdaQuery().in(BaseEntity::getStatus, YieldOrderEnum.STATUS_APS.getCode(),YieldOrderEnum.STATUS_PROCESS_ERROR.getCode()).isNotNull(YieldOrderEntity::getWorkCenterId).isNotNull(YieldOrderEntity::getReleaseDate).isNotNull(YieldOrderEntity::getDemandDate));
//初始化人员能力
List<PersonAbilityEntity> personAbilityEntityList = personAbilityService.list(Wrappers.<PersonAbilityEntity>lambdaQuery().isNotNull(PersonAbilityEntity::getWorkCenterId).isNotNull(PersonAbilityEntity::getProcessId).isNotNull(PersonAbilityEntity::getCraftId));
Map<String, PersonAbilityEntity> personAbilityMap = new HashMap<>();
@ -347,7 +347,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
List<Long> workCenterList = craftList1.stream().filter(item -> item.getWorkCenterId() != null).map(YieldOrderCraftEntity::getWorkCenterId).collect(Collectors.toList());
if (workCenterList.size() != craftList1.size()) {
order.setErrorInfo("工序信息不完整,含有未匹配作业中心的工序");
order.setStatus(YieldOrderEnum.STATUS_PROCESS_ERROR.getCategory());
order.setStatus(YieldOrderEnum.STATUS_PROCESS_ERROR.getCode());
yieldOrderService.updateById(order);
continue;
}
@ -489,7 +489,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
List<EquipAbilityEntity> equipAbilityList = equipAbilityService.list(Wrappers.<EquipAbilityEntity>lambdaQuery().in(EquipAbilityEntity::getWorkCenterId, craft.getWorkCenterId()).eq(EquipAbilityEntity::getCraftId, craft.getCaId()));
if (CollectionUtils.isEmpty(equipAbilityList)) {
order.setErrorInfo("工序:"+processMap.get(craft.getPpsId()) +"设备未匹配到对应的设备能力");
order.setStatus(YieldOrderEnum.STATUS_PROCESS_ERROR.getCategory());
order.setStatus(YieldOrderEnum.STATUS_PROCESS_ERROR.getCode());
yieldOrderService.updateById(order);
isSchecuding = false;
break;
@ -503,7 +503,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
//根据时间点获取所有设备资源
List<EquipResourceEntity> equipResourceList = equipResourceService.list(Wrappers.<EquipResourceEntity>lambdaQuery().eq(EquipResourceEntity::getCraftId, craft.getCaId()).eq(EquipResourceEntity::getWorkCenterId, craft.getWorkCenterId()).ge(EquipResourceEntity::getStartTime, dateTime).eq(EquipResourceEntity::getIsUsed, 0).in(EquipResourceEntity::getEquipOrder, entry.getKey()));
if (CollectionUtils.isEmpty(equipResourceList)) {
order.setStatus(YieldOrderEnum.STATUS_PROCESS_ERROR.getCategory());
order.setStatus(YieldOrderEnum.STATUS_PROCESS_ERROR.getCode());
order.setErrorInfo("工序:" + processMap.get(craft.getPpsId()) + "未匹配到对应的设备资源");
yieldOrderService.updateById(order);
isSchecuding = false;
@ -743,7 +743,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
} else {
//未匹配到设备和人力资源,将工序状态改为6,标识为未排产
craft.setStatus(YieldOrderEnum.STATUS_PROCESS_ERROR.getCategory());
craft.setStatus(YieldOrderEnum.STATUS_PROCESS_ERROR.getCode());
yieldOrderCraftService.updateById(craft);
}
}
@ -802,7 +802,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
workOrder.setWpId(workPlanList.get(0).getId());
this.updateById(workOrder);
//更新订单状态为已排产
order.setStatus(YieldOrderEnum.STATUS_PROCESS_WAITING.getCategory());
order.setStatus(YieldOrderEnum.STATUS_PROCESS_WAITING.getCode());
order.setErrorInfo(null);
yieldOrderService.updateById(order);
workOrderList.add(workOrder);
@ -1057,7 +1057,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
this.deleteLogic(Arrays.asList(workOrder.getId()));
}
yieldOrder.setStatus(YieldOrderEnum.STATUS_APS.getCategory());
yieldOrder.setStatus(YieldOrderEnum.STATUS_APS.getCode());
yieldOrderService.updateById(yieldOrder);
}

Loading…
Cancel
Save