排产相关-sjx

master
sunjianxi 7 hours ago
parent 4bca08580f
commit e068f4e6a6
  1. 11
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/WorkOrderController.java
  2. 8
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/dto/WorkOrderDto.java
  3. 2
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.java
  4. 21
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml
  5. 2
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/IWorkOrderService.java
  6. 18
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java

@ -180,4 +180,15 @@ public class WorkOrderController extends BladeController {
return R.data(workOrderService.schedulingBoard(workOrderDto));
}
/**
* 车间订单表 排产
*/
@PostMapping("/schedulingCount")
@ApiOperationSupport(order = 6)
@Operation(summary = "排产统计", description = "传入WorkOrderDto")
public R<List<WorkOrderDto>> schedulingCount(@RequestBody WorkOrderDto workOrderDto) {
return R.data(workOrderService.schedulingCount(workOrderDto));
}
}

@ -2,6 +2,8 @@ package org.springblade.scheduling.scheduling.dto;
import lombok.Data;
import java.math.BigDecimal;
/**
* TODO功能描述
*
@ -32,4 +34,10 @@ public class WorkOrderDto {
private String orderStatus;
private String planStatus;
private String makeQty;
private String workCenterName;
private Integer totalCount;
private Integer schedulingCount;
private String schedulingRate;
}

@ -67,4 +67,6 @@ public interface WorkOrderMapper extends BaseMapper<WorkOrderEntity> {
String getMaxByCodePattern(@Param("woCode") String woCode);
List<WorkOrderDto> selectSchedulingCount(WorkOrderDto workOrderDto);
}

@ -138,4 +138,25 @@
wo_code LIKE concat(#{woCode},'%')
</select>
<select id="selectSchedulingCount" resultType="org.springblade.scheduling.scheduling.dto.WorkOrderDto">
SELECT
b.WC_NAME AS "workCenterName",
a.WORK_CENTER_ID AS "workCenterId",
-- 统计待排产的数量
COUNT(CASE WHEN a.STATUS >= 3 THEN a.WORK_CENTER_ID END) AS "totalCount",
-- 统计已排产的数量
COUNT(CASE WHEN a.STATUS not in (3,6) THEN a.WORK_CENTER_ID END) AS "schedulingCount"
FROM MES_YIELD_ORDER a
LEFT JOIN BS_WORK_CENTER b ON a.WORK_CENTER_ID = b.ID
<where>
<if test="startTime !=null and startTime != ''">
and a.receive_time <![CDATA[ >= ]]> to_date(#{startTime},'YYYY-MM-DD HH24:MI:SS')
</if>
<if test="endTime !=null and endTime != ''">
and a.receive_time <![CDATA[ <= ]]> to_date(#{endTime},'YYYY-MM-DD HH24:MI:SS')
</if>
</where>
GROUP BY b.WC_NAME, a.WORK_CENTER_ID;
</select>
</mapper>

@ -78,4 +78,6 @@ public interface IWorkOrderService extends BaseService<WorkOrderEntity> {
* @param workOrderEntityList
*/
void sendWorkOrderToOldMes(List<WorkOrderEntity> workOrderEntityList);
List<WorkOrderDto> schedulingCount(WorkOrderDto workOrder);
}

@ -30,6 +30,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
@ -404,7 +405,22 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
}
}
void calculateCr(List<YieldOrderEntity> list) {
@Override
public List<WorkOrderDto> schedulingCount(WorkOrderDto workOrder) {
if(StringUtils.isNotEmpty(workOrder.getStartTime())){
workOrder.setStartTime(workOrder.getStartTime().concat(" 00:00:00"));
}
if(StringUtils.isNotEmpty(workOrder.getEndTime())){
workOrder.setEndTime(workOrder.getEndTime().concat(" 23:59:59"));
}
List<WorkOrderDto> list = baseMapper.selectSchedulingCount(workOrder);
list.forEach(item -> {
item.setSchedulingRate(String.format("%.2f", (double)item.getSchedulingCount()/item.getTotalCount()*100));
});
return list;
}
void calculateCr(List<YieldOrderEntity> list) {
//查询订单下的工序,计算cr值
for (YieldOrderEntity entity : list) {
List<YieldOrderCraftEntity> craftList = yieldOrderCraftService.list(Wrappers.<YieldOrderCraftEntity>lambdaQuery().eq(YieldOrderCraftEntity::getYoId, entity.getId()));

Loading…
Cancel
Save