Merge remote-tracking branch 'origin/master'

liweidong
李涛 2 days ago
commit 436e0c3e2e
  1. 22
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrder.java
  2. 30
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java
  3. 21
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataLogisticsMapper.xml

@ -109,6 +109,16 @@ public class YieldOrder extends BaseEntity {
*/ */
public static Short SJ_KIT_PREPARATION_2 = 2; public static Short SJ_KIT_PREPARATION_2 = 2;
/**
* 玻璃饼下发状态 未下发
*/
public static Integer GLASS_BISCUIT_NOT_ISSUED = 0;
/**
* 玻璃饼下发状态 已下发
*/
public static Integer GLASS_BISCUIT_ISSUED = 1;
/** /**
* 作业中心 * 作业中心
*/ */
@ -476,6 +486,18 @@ public class YieldOrder extends BaseEntity {
@TableField(exist = false) @TableField(exist = false)
private String planDeptCode; private String planDeptCode;
/**
* 玻璃饼下发状态
*/
@TableField(value = "glass_biscuit_status")
private Integer glassBiscuitStatus;
/**
* parentId 标记父订单
*/
@TableField(value = "parent_yo_id")
private Long parentYoId;
@JsonSerialize(nullsUsing = NullSerializer.class) @JsonSerialize(nullsUsing = NullSerializer.class)
private Double plateThickness1; private Double plateThickness1;

@ -245,6 +245,15 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
} }
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_PASS.getCode()); yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_PASS.getCode());
this.updateById(yieldOrder); this.updateById(yieldOrder);
if(yieldOrder.getValidationResult().equals(YieldOrderEnum.VALIDATION_RESULT_PASS.getCode()) &&
yieldOrder.getReceiveStatus().equals(YieldOrderEnum.RECEIVE_STATUS_YES.getCode())){
//订单状态为验证完成并且已接收 进行分派
boolean result = this.verifyYieldOrderResource(yieldOrder);
if(!result){
throw new ServiceException("分派异常请及时处理");
}
}
} }
return "校验成功"; return "校验成功";
@ -1205,14 +1214,22 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
String errMsg = MessageFormat.format("子件{}未编制!", dsPartSub.getPartCode()); String errMsg = MessageFormat.format("子件{}未编制!", dsPartSub.getPartCode());
throw new BusinessException(errMsg); throw new BusinessException(errMsg);
} }
Integer yieldType = YieldOrderEnum.YIELD_TYPE_6.getCode(); Integer yieldType = null;
if (DsPartConstant.SIN_TER_TYPE_KT.equals(dsPartSub.getSinTerType())) { if (DsPartConstant.SIN_TER_TYPE_KT.equals(dsPartSub.getSinTerType())) {
yieldType = YieldOrderEnum.YIELD_TYPE_4.getCode(); yieldType = YieldOrderEnum.YIELD_TYPE_4.getCode();
} else if (DsPartConstant.SIN_TER_TYPE_CZ.equals(dsPartSub.getSinTerType())) { } else if (DsPartConstant.SIN_TER_TYPE_CZ.equals(dsPartSub.getSinTerType())) {
yieldType = YieldOrderEnum.YIELD_TYPE_5.getCode(); yieldType = YieldOrderEnum.YIELD_TYPE_5.getCode();
}else if (DsPartConstant.SIN_TER_TYPE_BLB.equals(dsPartSub.getSinTerType())) {
yieldType = YieldOrderEnum.YIELD_TYPE_3.getCode();
} else if (DsPartConstant.SIN_TER_TYPE_SMM.equals(dsPartSub.getSinTerType())) {
yieldType = YieldOrderEnum.YIELD_TYPE_6.getCode();
}
if(null == yieldType){
//如果子件类型为空 或者是其他 不生成子件订单 直接跳过
continue;
} }
//非石墨模子件,面积不允许为空 //非石墨模子件,面积不允许为空
if (!yieldType.equals(YieldOrderEnum.YIELD_TYPE_6) && dsPart.getArea() == null) { if (!yieldType.equals(YieldOrderEnum.YIELD_TYPE_6.getCode()) && dsPart.getArea() == null) {
String errMsg = "非石墨模子件面积为空无法创建生产订单!"; String errMsg = "非石墨模子件面积为空无法创建生产订单!";
throw new BusinessException(errMsg); throw new BusinessException(errMsg);
} }
@ -1253,6 +1270,8 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
subYield.setYieldType(yieldType); subYield.setYieldType(yieldType);
subYield.setEntrustDept("热表分厂"); subYield.setEntrustDept("热表分厂");
subYield.setBusinessType(-1); subYield.setBusinessType(-1);
//记录父订单的id
subYield.setParentYoId(yieldOrder.getId());
// 父件订单中无接收人信息时, 以当前人为接收人 // 父件订单中无接收人信息时, 以当前人为接收人
if (yieldOrder.getReceiveUser() == null) { if (yieldOrder.getReceiveUser() == null) {
subYield.setReceiveUser(receiveUser); subYield.setReceiveUser(receiveUser);
@ -1267,6 +1286,13 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
} }
this.save(subYield); this.save(subYield);
idList.add(subYield.getId()); idList.add(subYield.getId());
//烧结类型生产订单【玻璃饼下发状态】默认状态为【未下发】,
// 生成子件玻璃饼订单后变更为【已下发】;
// 其他类型生产订单的【玻璃饼下发状态】显示空
if(yieldType.equals(YieldOrderEnum.YIELD_TYPE_3.getCode())){
yieldOrder.setGlassBiscuitStatus(YieldOrder.GLASS_BISCUIT_ISSUED);
this.updateById(yieldOrder);
}
} }
if(CollectionUtils.isNotEmpty(idList)){ if(CollectionUtils.isNotEmpty(idList)){
//生成的烧结子订单也需要进行合规性校验,另起线程异步执行 //生成的烧结子订单也需要进行合规性校验,另起线程异步执行

@ -146,7 +146,8 @@
<select id="queryAllocationStatistics" resultType="org.springblade.desk.logistics.pojo.vo.AllocationMessVO"> <select id="queryAllocationStatistics" resultType="org.springblade.desk.logistics.pojo.vo.AllocationMessVO">
SELECT * FROM ( SELECT * FROM (
SELECT t.*, ROWNUM no FROM ( SELECT t.*, ROWNUM no
FROM (
SELECT SELECT
d.pkno, d.pkno,
d.prntno, d.prntno,
@ -161,7 +162,7 @@
d.mono, d.mono,
d.schemer, d.schemer,
d.planner1, d.planner1,
d.subpkdate, s.subpkdate_day AS subpkdate,
d.warctlr, d.warctlr,
d.barcodeno, d.barcodeno,
d.plndept, d.plndept,
@ -170,7 +171,7 @@
FROM ( FROM (
SELECT SELECT
a.prtmdept, a.prtmdept,
a.subpkdate, TRUNC(a.subpkdate) AS subpkdate_day,
SUM(NVL(a.fj_pkavqty, 0)) AS fjpkavqty SUM(NVL(a.fj_pkavqty, 0)) AS fjpkavqty
FROM dba_mgr.v_mes_rb_pkpqry a FROM dba_mgr.v_mes_rb_pkpqry a
<where> <where>
@ -235,14 +236,15 @@
AND a.prtclass = #{dto.prtclass} AND a.prtclass = #{dto.prtclass}
</if> </if>
</where> </where>
GROUP BY a.prtmdept, a.subpkdate GROUP BY a.prtmdept, TRUNC(a.subpkdate)
) s ) s
LEFT JOIN ( LEFT JOIN (
SELECT * SELECT *
FROM ( FROM (
SELECT d.*, SELECT
d.*,
ROW_NUMBER() OVER ( ROW_NUMBER() OVER (
PARTITION BY d.prtmdept, d.subpkdate PARTITION BY d.prtmdept, TRUNC(d.subpkdate)
ORDER BY d.pkreqdat DESC, d.pkno DESC ORDER BY d.pkreqdat DESC, d.pkno DESC
) rn ) rn
FROM dba_mgr.v_mes_rb_pkpqry d FROM dba_mgr.v_mes_rb_pkpqry d
@ -250,8 +252,8 @@
WHERE dd.rn = 1 WHERE dd.rn = 1
) d ) d
ON d.prtmdept = s.prtmdept ON d.prtmdept = s.prtmdept
AND d.subpkdate = s.subpkdate AND TRUNC(d.subpkdate) = s.subpkdate_day
ORDER BY s.subpkdate DESC, s.prtmdept DESC ORDER BY s.subpkdate_day DESC, s.prtmdept DESC
) t ) t
WHERE ROWNUM &lt;= #{dto.current} * #{dto.size} WHERE ROWNUM &lt;= #{dto.current} * #{dto.size}
) )
@ -326,8 +328,9 @@
AND a.prtclass = #{dto.prtclass} AND a.prtclass = #{dto.prtclass}
</if> </if>
</where> </where>
GROUP BY a.prtmdept, a.subpkdate GROUP BY a.prtmdept, TRUNC(a.subpkdate)
) c ) c
</select> </select>
</mapper> </mapper>
Loading…
Cancel
Save