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 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)
private String planDeptCode;
/**
* 玻璃饼下发状态
*/
@TableField(value = "glass_biscuit_status")
private Integer glassBiscuitStatus;
/**
* parentId 标记父订单
*/
@TableField(value = "parent_yo_id")
private Long parentYoId;
@JsonSerialize(nullsUsing = NullSerializer.class)
private Double plateThickness1;

@ -245,6 +245,15 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
}
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_PASS.getCode());
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 "校验成功";
@ -1205,14 +1214,22 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
String errMsg = MessageFormat.format("子件{}未编制!", dsPartSub.getPartCode());
throw new BusinessException(errMsg);
}
Integer yieldType = YieldOrderEnum.YIELD_TYPE_6.getCode();
Integer yieldType = null;
if (DsPartConstant.SIN_TER_TYPE_KT.equals(dsPartSub.getSinTerType())) {
yieldType = YieldOrderEnum.YIELD_TYPE_4.getCode();
} else if (DsPartConstant.SIN_TER_TYPE_CZ.equals(dsPartSub.getSinTerType())) {
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 = "非石墨模子件面积为空无法创建生产订单!";
throw new BusinessException(errMsg);
}
@ -1253,6 +1270,8 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
subYield.setYieldType(yieldType);
subYield.setEntrustDept("热表分厂");
subYield.setBusinessType(-1);
//记录父订单的id
subYield.setParentYoId(yieldOrder.getId());
// 父件订单中无接收人信息时, 以当前人为接收人
if (yieldOrder.getReceiveUser() == null) {
subYield.setReceiveUser(receiveUser);
@ -1267,6 +1286,13 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
}
this.save(subYield);
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)){
//生成的烧结子订单也需要进行合规性校验,另起线程异步执行

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