Merge remote-tracking branch 'origin/master'

liweidong
李涛 2 days ago
commit fe223024ef
  1. 17
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/entity/OemStatementEntity.java
  2. 15
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/vo/StatementVO.java
  3. 17
      blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.xml
  4. 1
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml
  5. 11
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java

@ -108,6 +108,7 @@ public class OemStatementEntity extends BaseEntity {
*/
@Schema(description = "状态5无需结算,1未结算,2结算中,3结算异常,4已结算")
private Integer rosStatus;
public String getRosStatusName() {
return rosStatusMap.get(rosStatus);
}
@ -198,4 +199,20 @@ public class OemStatementEntity extends BaseEntity {
@Schema(description = "外协厂家名称")
private String ocName;
@Schema(description = "零件号")
private String partCode;
@Schema(description = "零件名称")
private String partName;
@Schema(description = "工艺能力ID")
private Long caId;
@Schema(description = "工艺能力名称")
private String caName;
@Schema(description = "是否手动结算:0否(自动结算),1是(手动结算)")
private String manual;
}

@ -22,9 +22,6 @@ public class StatementVO extends OemStatementEntity {
@Schema(description = "外协工序ID")
private Long opId;
@Schema(description = "工艺能力ID")
private Long caId;
@Schema(description = "车间运行订单ID")
private Long worId;
@ -37,24 +34,12 @@ public class StatementVO extends OemStatementEntity {
@Schema(description = "计划单号")
private String wpCode;
@Schema(description = "零件号")
private String partCode;
@Schema(description = "零件名称")
private String partName;
@Schema(description = "镀层物料")
private String plateGoodsCode;
@Schema(description = "工艺能力")
private String caName;
@Schema(description = "镀种厚度")
private String plateThickness;
@Schema(description = "是否手动结算:0否(自动结算),1是(手动结算)")
private String manual;
/**
* 同外协厂家下有效期内的全部该工序报价
*/

@ -144,7 +144,8 @@
i.WX_LIMIT,
p.part_name,
h.id,
p.ID as part_id
p.ID as part_id,
i.CA_NAME
FROM
MES_WORK_PLAN a
INNER JOIN BS_PROCESS_SET b ON a.PPS_ID = b.ID AND b.IS_DELETED = 0
@ -192,14 +193,14 @@
h.YP_CODE,
h.WO_CODE,
h.PART_ID,
p.PART_CODE,
p.PART_NAME,
h.PART_CODE,
h.PART_NAME,
h.BATCH_NO,
h.PRODUCT_IDENT,
h.PPS_ID,
H.PS_CODE,
h.PS_NAME,
i.CA_NAME,
h.CA_NAME,
h.OC_ID,
h.OC_CODE,
h.OC_NAME,
@ -227,10 +228,6 @@
to_char(h.PUSH_TIME, 'yyyy-MM-dd') as PUSH_DATE,
h.STATEMENT_NO
FROM MES_OEM_STATEMENT h
INNER JOIN MES_WORK_PLAN a ON h.WP_ID = a.ID AND a.IS_DELETED = 0
INNER JOIN MES_OEM_PROCESS g ON a.PPS_ID = g.PROCESS_ID AND g.IS_DELETED = 0
INNER JOIN BS_CRAFT_ABILITY i ON i.ID = a.CA_ID AND i.IS_DELETED = 0
INNER JOIN DS_PART p ON h.PART_ID = p.ID AND p.IS_DELETED = 0
<where>
h.IS_DELETED = 0
<if test="query.rosStatusList != null and query.rosStatusList != ''">
@ -250,7 +247,7 @@
AND h.PRODUCT_IDENT = #{query.productIdent}
</if>
<if test="query.manual != null and query.manual != ''">
AND g.manual = #{query.manual}
AND h.manual = #{query.manual}
</if>
<if test="query.woCode != null and query.woCode != ''">
AND h.WO_CODE LIKE CONCAT('%', CONCAT(#{query.woCode}, '%'))
@ -269,7 +266,7 @@
</foreach>
</if>
<if test="query.psCode != null and query.psCode != ''">
AND g.oem_process_code IN
AND h.ps_code IN
<foreach collection="query.psCode.split(',')" item="id"
open="(" separator="," close=")" index="index">
#{id}

@ -186,7 +186,6 @@
</if>
</where>
GROUP BY b.WC_NAME, a.WORK_CENTER_ID
order by COUNT(CASE WHEN a.STATUS in (10004,10005,10006,10015,10021) THEN a.WORK_CENTER_ID END)/COUNT( CASE WHEN a.STATUS >= 10003 THEN a.WORK_CENTER_ID END ) desc
</select>
<select id="selectTeam" resultType="java.lang.String">

@ -369,9 +369,16 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
}
List<WorkOrderDto> list = baseMapper.selectSchedulingCount(workOrder);
list.forEach(item -> {
item.setSchedulingRate(String.format("%.2f", (double) item.getSchedulingCount() / item.getTotalCount() * 100));
if(item.getTotalCount() != 0){
item.setSchedulingRate(String.format("%.2f", (double) item.getSchedulingCount() / item.getTotalCount() * 100));
}else {
item.setSchedulingRate("0");
}
});
return list;
List<WorkOrderDto> sortedList = list.stream()
.sorted((o1, o2) -> Double.compare(Double.parseDouble(o2.getSchedulingRate()), Double.parseDouble(o1.getSchedulingRate())))
.collect(Collectors.toList());
return sortedList;
}
@Override

Loading…
Cancel
Save