Compare commits

..

No commits in common. '9d09c561f864b30bb24ac46fb502921e808b0224' and '8e7e3480618a1e92746fcf38d7305cb5f926654b' have entirely different histories.

  1. 13
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsCraftAbilityEntity.java
  2. 25
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderCraftServiceImpl.java
  3. 3
      doc/sql/mes/increase-20690321.sql

@ -25,12 +25,13 @@
*/ */
package org.springblade.desk.dashboard.pojo.entity; package org.springblade.desk.dashboard.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
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;
/** /**
@ -64,10 +65,4 @@ public class BsCraftAbilityEntity extends BaseEntity {
@Schema(description = "备注") @Schema(description = "备注")
private String remarks; private String remarks;
/**
* 厂内应分比例
*/
@Schema(description = "厂内应分比例")
private Double inFactoryPercent;
} }

@ -17,7 +17,6 @@ import org.springblade.desk.basic.service.IBsAssignService;
import org.springblade.desk.basic.service.IOemCraftAbilityService; import org.springblade.desk.basic.service.IOemCraftAbilityService;
import org.springblade.desk.basic.service.IOemService; import org.springblade.desk.basic.service.IOemService;
import org.springblade.desk.basic.service.IWorkCenterService; import org.springblade.desk.basic.service.IWorkCenterService;
import org.springblade.desk.dashboard.pojo.entity.BsCraftAbilityEntity;
import org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity; import org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity;
import org.springblade.desk.dashboard.service.IBsCraftAbilityService; import org.springblade.desk.dashboard.service.IBsCraftAbilityService;
import org.springblade.desk.order.mapper.YieldOrderCraftMapper; import org.springblade.desk.order.mapper.YieldOrderCraftMapper;
@ -83,7 +82,6 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM
Set<Long> craftKeys = craftAbilityMap.keySet(); Set<Long> craftKeys = craftAbilityMap.keySet();
//获取到认定的主工艺能力(默认第一个工艺能力为主工艺能力) //获取到认定的主工艺能力(默认第一个工艺能力为主工艺能力)
Long hostAbilityId = craftKeys.iterator().next(); Long hostAbilityId = craftKeys.iterator().next();
BsCraftAbilityEntity craftAbility = craftAbilityService.getById(hostAbilityId);
//获取可以做此主工艺能力的作业中心集合 //获取可以做此主工艺能力的作业中心集合
Map<Long, BsWorkCenterEntity> workCenterMap = workCenterService.selectByAbility(hostAbilityId, yieldOrder.getYpQty(), yieldOrder.getYpArea(), yieldOrder.getPartCode(), yieldOrder.getPrimaryCraft(), yieldOrder.getYieldType(), rxlSpace); Map<Long, BsWorkCenterEntity> workCenterMap = workCenterService.selectByAbility(hostAbilityId, yieldOrder.getYpQty(), yieldOrder.getYpArea(), yieldOrder.getPartCode(), yieldOrder.getPrimaryCraft(), yieldOrder.getYieldType(), rxlSpace);
//获取可以做此主工艺能力的外协商集合 //获取可以做此主工艺能力的外协商集合
@ -219,19 +217,28 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM
rate = Double.valueOf(facTotalNum) / Double.valueOf(totalNum) * 100; rate = Double.valueOf(facTotalNum) / Double.valueOf(totalNum) * 100;
} }
// 如果厂内占比大于已经设置的比列,则直接分派外协 // TODO 根据工艺能力编码获取厂内应分比例
if (rate <= craftAbility.getInFactoryPercent()) { // BsDispatch dispatch = bsDispatchService.findByType(hostAbilityId, BsDispatch.D_TYPE_CLASS);
log.info("{}自动分派按照比例分派给厂内:{},分派比例:{} 应分比例:{}", yieldOrder.getCardNo(), // if (dispatch == null) {
workCenter.getWcName(), rate, craftAbility.getInFactoryPercent()); // // 获取厂内通用应分比列
dispatchCraftList = this.bindWorkCenter(workCenter.getId(), workCenterMap, hostAbilityId, craftAbilityMap, craftKeys, yieldOrder, null); // dispatch = bsDispatchService.findByType(null, BsDispatch.D_TYPE_FACTORY);
} // }
//
// //如果厂内占比大于已经设置的比列,则直接分派外协
// if (rate <= Double.valueOf(dispatch.getdValue())) {
// log.info("{}自动分派按照比例分派给厂内:{},分派比例:{} 应分比例:{}", yieldOrder.getCardNo(),
// workCenter.getWcName(), rate, dispatch.getdValue());
// dispatchCraftList = this.bindWorkCenter(workCenter.getId(), workCenterMap, hostAbilityId, craftAbilityMap, craftKeys, yieldOrder, null);
// }
//如果匹配到了作业单位,则直接停止 //如果匹配到了作业单位,则直接停止
if (dispatchCraftList != null && dispatchCraftList.size() > 0) { if (dispatchCraftList != null && dispatchCraftList.size() > 0) {
return; return;
} }
// 外协 //外协
// log.info("{}自动分派按照比例分派给外协:{},分派比例:{} 应分比例:{}", yieldOrder.getCardNo(),
// oemCustomer.getOcName(), rate, dispatch.getdValue());
dispatchCraftList = this.bindOem(oemCustomer, hostAbilityId, craftAbilityMap, craftKeys, yieldOrder, null); dispatchCraftList = this.bindOem(oemCustomer, hostAbilityId, craftAbilityMap, craftKeys, yieldOrder, null);
} }
} else { } else {

@ -77,6 +77,3 @@ COMMENT ON COLUMN "MES_YIELD_ORDER_ASSIGN_STEER"."WEEK_ASSIGN" IS '周累计分
COMMENT ON COLUMN "MES_YIELD_ORDER_ASSIGN_STEER"."ASSIGN_SCALE" IS '分派比例'; COMMENT ON COLUMN "MES_YIELD_ORDER_ASSIGN_STEER"."ASSIGN_SCALE" IS '分派比例';
COMMENT ON COLUMN "MES_YIELD_ORDER_ASSIGN_STEER"."FACTOR" IS '比例偏差因子'; COMMENT ON COLUMN "MES_YIELD_ORDER_ASSIGN_STEER"."FACTOR" IS '比例偏差因子';
COMMENT ON TABLE "MES_YIELD_ORDER_ASSIGN_STEER" IS '生产订单分派控制, 主要针对外协'; COMMENT ON TABLE "MES_YIELD_ORDER_ASSIGN_STEER" IS '生产订单分派控制, 主要针对外协';
ALTER TABLE BS_CRAFT_ABILITY ADD IN_FACTORY_PERCENT NUMBER(10,2) NULL;
COMMENT ON COLUMN BS_CRAFT_ABILITY.IN_FACTORY_PERCENT IS '厂内应分比例';

Loading…
Cancel
Save