烧结模具计划-sjx

liweidong
sunjianxi 12 hours ago
parent 5399b05621
commit 3d6d1bbe1d
  1. 6
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldDemand.java
  2. 3
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/MoldDemandVo.java
  3. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/MoldDemandController.java
  4. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java
  5. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/MoldApplyMapper.java
  6. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/MoldApplyMapper.xml
  7. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/MoldDemandMapper.java
  8. 117
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/MoldDemandMapper.xml
  9. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IMoldApplyService.java
  10. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IMoldDemandService.java
  11. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java
  12. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldApplyServiceImpl.java
  13. 36
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldDemandServiceImpl.java
  14. 19
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java

@ -3,6 +3,8 @@ package org.springblade.desk.order.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import lombok.Data;
import org.springblade.core.mp.base.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;
@ -55,18 +57,21 @@ public class MoldDemand extends BaseEntity {
* 需求数量
*/
@TableField(value = "DEMAND_NUM")
@JsonSerialize(nullsUsing = NullSerializer.class)
private Double demandNum;
/**
* 库存量
*/
@TableField(value = "STOCK_NUM")
@JsonSerialize(nullsUsing = NullSerializer.class)
private Integer stockNum;
/**
* 占用量
*/
@TableField(value = "OCCUPY_NUM")
@JsonSerialize(nullsUsing = NullSerializer.class)
private Integer occupyNum;
/**
@ -91,6 +96,7 @@ public class MoldDemand extends BaseEntity {
* 数量
*/
@TableField(value = "QUANTITY")
@JsonSerialize(nullsUsing = NullSerializer.class)
private Long quantity;
/**

@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import org.springblade.desk.order.pojo.entity.MoldDemand;
import org.springblade.desk.order.pojo.entity.YieldOrder;
import java.io.Serial;
import java.util.List;
@ -53,7 +54,7 @@ public class MoldDemandVo extends MoldDemand {
/**
* 关联订单
*/
List<YieldOrderVo> linkOrderList;
List<YieldOrder> linkOrderList;
/**
* 申报记录

@ -18,6 +18,7 @@ import org.springblade.desk.order.pojo.enums.MoldDemandEnum;
import org.springblade.desk.order.pojo.vo.MoldDemandVo;
import org.springblade.desk.order.service.IMoldDemandDetailService;
import org.springblade.desk.order.service.IMoldDemandService;
import org.springblade.desk.order.service.IYieldOrderService;
import org.springblade.desk.order.wrapper.MoldDemandWrapper;
import org.springframework.web.bind.annotation.*;
@ -34,6 +35,8 @@ public class MoldDemandController extends BladeController {
private final IMoldDemandService moldDemandService;
private final IMoldDemandDetailService moldDemandDetailService;
private final IYieldOrderService orderService;
/**
* 分页
*/
@ -54,12 +57,9 @@ public class MoldDemandController extends BladeController {
@GetMapping("/detail")
@Operation(summary = "详情", description = "")
public R<MoldDemandVo> detail(String id) {
MoldDemand detail = moldDemandService.getById(id);
MoldDemandVo vo = moldDemandService.detail(id);
MoldDemandVo vo = MoldDemandWrapper.build().entityVO(detail);
vo.setLinkOrderList(null);
vo.setToolUseList(null);
vo.setNearlyApplyList(null);
return R.data(vo);
}

@ -180,6 +180,16 @@ public class YieldOrderController extends BladeController {
return R.status(result);
}
/**
* 订单接收
*/
@PostMapping("/confirm")
@Operation(summary = "订单接收", description = "传入流程卡号")
public R confirm(@Parameter(description = "流程卡号", required = true) @RequestParam String cardNo) {
List<YieldOrderCraft> list = yieldOrderService.confirm(cardNo);
return R.data(list);
}
/**
* 批量确认
*/

@ -31,4 +31,6 @@ public interface MoldApplyMapper extends BaseMapper<MoldApply> {
* @return
*/
List<MoldApply> pageNearlyMonth(IPage page, MoldApply entity);
MoldApply getDetailByPartCode(String partCode);
}

@ -33,4 +33,12 @@
AND TOOL_CODE LIKE CONCAT('%', CONCAT(#{entity.toolCode}, '%'))
</if>
</select>
<select id = "getDetailByPartCode" resultType = "org.springblade.desk.order.pojo.entity.MoldApply">
select * from (
SELECT <include refid = "baseCommonFields" />
FROM MES_MOLD_APPLY
where part_code = #{partCode}
order by create_time desc) where rownum = 1
</select>
</mapper>

@ -31,4 +31,6 @@ public interface MoldDemandMapper extends BaseMapper<MoldDemand> {
* @return
*/
List<MoldDemand> pageNearlyMonth(IPage page, MoldDemand entity);
MoldDemand getDetailById(String id);
}

@ -10,14 +10,63 @@
</sql>
<select id = "selectPage" resultType = "org.springblade.desk.order.pojo.entity.MoldDemand">
SELECT <include refid = "baseCommonFields" />
FROM MES_MOLD_DEMAND
WHERE IS_DELETED = 0
<if test = "entity.partCode != null and entity.partCode != ''">
AND PART_CODE LIKE CONCAT('%', CONCAT(#{entity.partCode}, '%'))
SELECT
a.ID,
a.TENANT_ID,
a.CREATE_USER,
a.CREATE_TIME,
a.CREATE_DEPT,
a.UPDATE_USER,
a.UPDATE_TIME,
a.STATUS,
a.IS_DELETED,
a.MD_CODE,
a.PART_CODE,
a.PART_NAME,
a.TOOL_CODE,
a.TOOL_NAME,
a.DEMAND_NUM,
a.PLAN_TYPE_CODE,
a.PLAN_TYPE_NAME,
a.NEED_DATE,
a.QUA_LEVEL,
a.MAF_TYPE,
a.KEEPER,
a.RELEASER,
a.MEMO,
a.LINK_ORDER_IDS,
a.MO_CODE,
a.MO_NAME,
a.QUANTITY,
a.YP_ID,
a.ERP_ID,
a.ERP_WO_CODE,
a.MAF_STATUS,
a.URGENT_TYPE,
b.STOCK_NUM,
b.OCCUPY_NUM
FROM
MES_MOLD_DEMAND a
LEFT JOIN (
SELECT
a.goods_id,
b.GOODS_CODE,
sum( a.QUANTITY ) AS STOCK_NUM,
sum( a.OCCUPY_QUANTITY ) AS OCCUPY_NUM
FROM
ST_REALTIME_STOCK a
LEFT JOIN ST_GOODS b ON a.GOODS_ID = b.id
GROUP BY
a.GOODS_ID,
b.GOODS_CODE
) b ON a.PART_CODE = b.GOODS_CODE
WHERE
IS_DELETED = 0
<if test = "entity.partCode != null and entity.partCode != ''">
AND a.PART_CODE LIKE CONCAT('%', CONCAT(#{entity.partCode}, '%'))
</if>
<if test = "entity.toolCode != null and entity.toolCode != ''">
AND TOOL_CODE LIKE CONCAT('%', CONCAT(#{entity.toolCode}, '%'))
AND a.TOOL_CODE LIKE CONCAT('%', CONCAT(#{entity.toolCode}, '%'))
</if>
</select>
@ -32,4 +81,60 @@
AND TOOL_CODE LIKE CONCAT('%', CONCAT(#{entity.toolCode}, '%'))
</if>
</select>
<select id = "getDetailById" resultType = "org.springblade.desk.order.pojo.entity.MoldDemand">
SELECT
a.ID,
a.TENANT_ID,
a.CREATE_USER,
a.CREATE_TIME,
a.CREATE_DEPT,
a.UPDATE_USER,
a.UPDATE_TIME,
a.STATUS,
a.IS_DELETED,
a.MD_CODE,
a.PART_CODE,
a.PART_NAME,
a.TOOL_CODE,
a.TOOL_NAME,
a.DEMAND_NUM,
a.PLAN_TYPE_CODE,
a.PLAN_TYPE_NAME,
a.NEED_DATE,
a.QUA_LEVEL,
a.MAF_TYPE,
a.KEEPER,
a.RELEASER,
a.MEMO,
a.LINK_ORDER_IDS,
a.MO_CODE,
a.MO_NAME,
a.QUANTITY,
a.YP_ID,
a.ERP_ID,
a.ERP_WO_CODE,
a.MAF_STATUS,
a.URGENT_TYPE,
b.STOCK_NUM,
b.OCCUPY_NUM
FROM
MES_MOLD_DEMAND a
LEFT JOIN (
SELECT
a.goods_id,
b.GOODS_CODE,
sum( a.QUANTITY ) AS STOCK_NUM,
sum( a.OCCUPY_QUANTITY ) AS OCCUPY_NUM
FROM
ST_REALTIME_STOCK a
LEFT JOIN ST_GOODS b ON a.GOODS_ID = b.id
GROUP BY
a.GOODS_ID,
b.GOODS_CODE
) b ON a.PART_CODE = b.GOODS_CODE
WHERE
IS_DELETED = 0
and a.id = #{id}
</select>
</mapper>

@ -71,4 +71,6 @@ public interface IMoldApplyService extends BaseService<MoldApply> {
String keeper,
String createMan,
String memo);
MoldApply getDetailByPartCode(String partCode);
}

@ -3,6 +3,7 @@ package org.springblade.desk.order.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.order.pojo.entity.MoldDemand;
import org.springblade.desk.order.pojo.vo.MoldDemandVo;
import java.util.List;
@ -36,4 +37,7 @@ public interface IMoldDemandService extends BaseService<MoldDemand> {
* @return
*/
boolean createByOderId(String orderId);
MoldDemandVo detail(String id);
}

@ -8,6 +8,7 @@ import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity;
import org.springblade.desk.order.pojo.entity.YieldOrder;
import org.springblade.desk.order.pojo.entity.YieldOrderCraft;
import org.springblade.desk.order.pojo.entity.YieldPlan;
import java.util.List;
@ -287,4 +288,6 @@ public interface IYieldOrderService extends BaseService<YieldOrder> {
List<String> getToolByPartCode(String partCode);
void calculateCoatingMaterial();
List<YieldOrderCraft> confirm(String cardNo);
}

@ -86,4 +86,9 @@ public class MoldApplyServiceImpl extends BaseServiceImpl<MoldApplyMapper, MoldA
return "";
}
@Override
public MoldApply getDetailByPartCode(String partCode) {
return baseMapper.getDetailByPartCode(partCode);
}
}

@ -1,19 +1,32 @@
package org.springblade.desk.order.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity;
import org.springblade.desk.dashboard.service.IDsPartService;
import org.springblade.desk.order.mapper.MoldDemandMapper;
import org.springblade.desk.order.pojo.entity.MoldApply;
import org.springblade.desk.order.pojo.entity.MoldDemand;
import org.springblade.desk.order.pojo.entity.YieldOrder;
import org.springblade.desk.order.pojo.enums.MoldDemandEnum;
import org.springblade.desk.order.pojo.vo.MoldApplyVo;
import org.springblade.desk.order.pojo.vo.MoldDemandVo;
import org.springblade.desk.order.service.IMoldApplyService;
import org.springblade.desk.order.service.IMoldDemandService;
import org.springblade.desk.order.service.IYieldOrderService;
import org.springblade.desk.order.service.IYieldPlanService;
import org.springblade.desk.order.wrapper.MoldApplyWrapper;
import org.springblade.desk.order.wrapper.MoldDemandWrapper;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* 服务实现类
@ -27,6 +40,7 @@ public class MoldDemandServiceImpl extends BaseServiceImpl<MoldDemandMapper, Mol
private final IDsPartService dsPartService;
private final IYieldPlanService planService;
private final IYieldOrderService orderService;
private final IMoldApplyService moldApplyService;
@Override
public IPage<MoldDemand> selectPage(IPage<MoldDemand> page, MoldDemand entity) {
@ -97,4 +111,26 @@ public class MoldDemandServiceImpl extends BaseServiceImpl<MoldDemandMapper, Mol
// return this.save(planList);
return true;
}
@Override
public MoldDemandVo detail(String id) {
MoldDemand detail = baseMapper.getDetailById(id);
MoldDemandVo vo = MoldDemandWrapper.build().entityVO(detail);
if(StringUtils.isNotEmpty(vo.getLinkOrderIds())){
List<Long> orderIdList = Arrays.stream(vo.getLinkOrderIds().split(","))
.map(String::trim)
.filter(s ->!s.isEmpty())
.map(Long::valueOf)
.collect(Collectors.toList());
List<YieldOrder> orderList = orderService.list(Wrappers.<YieldOrder>lambdaQuery().in(BaseEntity::getId,orderIdList));
vo.setLinkOrderList(orderList);
}
MoldApply moldApply = moldApplyService.getDetailByPartCode(detail.getPartCode());
MoldApplyVo moldApplyVo = MoldApplyWrapper.build().entityVO(moldApply);
List<MoldApplyVo> moldApplyList = new ArrayList<>();
moldApplyList.add(moldApplyVo);
vo.setToolUseList(null);
vo.setNearlyApplyList(moldApplyList);
return vo;
}
}

@ -50,6 +50,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.text.MessageFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
@ -449,6 +450,8 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
moldDemand.setLinkOrderIds(moldDemand.getLinkOrderIds().concat(",").concat(yieldOrder.getId().toString()));
moldDemandMapper.updateById(moldDemand);
}
yieldOrder.setToolsDemand(BigDecimal.valueOf(moldDemand.getDemandNum()));
this.updateById(yieldOrder);
}
}
@ -477,7 +480,8 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
moldDemand.setLinkOrderIds(moldDemand.getLinkOrderIds().concat(",").concat(yieldOrder.getId().toString()));
moldDemandMapper.updateById(moldDemand);
}
yieldOrder.setToolsDemand(BigDecimal.valueOf(moldDemand.getDemandNum()));
this.updateById(yieldOrder);
}
}
return Boolean.TRUE;
@ -1033,6 +1037,19 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
}
}
@Override
public List<YieldOrderCraft> confirm(String cardNo) {
YieldOrder yieldOrder = this.getOne(Wrappers.<YieldOrder>lambdaQuery().eq(YieldOrder::getCardNo,cardNo));
if(yieldOrder != null){
boolean result = this.verifyYieldOrderResource(yieldOrder);
if(result){
List<YieldOrderCraft> list = yieldOrderCraftService.list(Wrappers.<YieldOrderCraft>lambdaQuery().eq(YieldOrderCraft::getYoId,yieldOrder.getId()));
return list;
}
}
return new ArrayList<>();
}
/**
* 验证零件子件信息
*

Loading…
Cancel
Save