生成玻璃饼订单接口-sjx

master
sunjianxi 3 days ago
parent 448b11103d
commit f2d3b80d0e
  1. 11
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/feign/IOrderClient.java
  2. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java
  3. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/OrderClient.java
  4. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java
  5. 59
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java

@ -4,6 +4,7 @@ import org.springblade.core.launch.constant.AppConstant;
import org.springblade.desk.order.pojo.entity.YieldPlan;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* 模具计划接口声明
@ -22,6 +23,7 @@ public interface IOrderClient {
String INIT_YIELD_ORDER_DAILY_ASSIGN = API_PREFIX + "/initYieldOrderDailyAssign";
String DATA_VERIFY = API_PREFIX + "/dataVerify";
String CREATE_BLB_YIELD_ORDER = API_PREFIX + "/createBlbYieldOrder";
/**
* 生成玻璃饼烧结计划并下达
@ -52,4 +54,13 @@ public interface IOrderClient {
@GetMapping(DATA_VERIFY)
void dataVerify();
/**
* 生成玻璃饼烧结计划并下达
*
* @param yieldPlan
* @return
*/
@GetMapping(CREATE_BLB_YIELD_ORDER)
Boolean createBlbYieldOrder(@RequestParam("partCode")String partCode, @RequestParam("qty")Double qty, @RequestParam("memo")String memo);
}

@ -352,4 +352,12 @@ public class YieldOrderController extends BladeController {
String code = yieldOrderService.generateMdCode();
return R.data(code);
}
/**
* 根据零件号获取工装
*/
@GetMapping("/createBlbYieldOrder")
public R createBlbYieldOrder(@RequestParam String partCode,@RequestParam Double qty,@RequestParam String memo) {
return R.data(yieldOrderService.createBlbYieldOrder(partCode,qty,memo));
}
}

@ -80,4 +80,9 @@ public class OrderClient implements IOrderClient {
orderService.dataVerify(idList);
}
}
@Override
public Boolean createBlbYieldOrder(String partCode, Double qty, String memo) {
return orderService.createBlbYieldOrder(partCode,qty,memo);
}
}

@ -293,4 +293,6 @@ public interface IYieldOrderService extends BaseService<YieldOrder> {
List<YieldOrderCraft> confirm(String cardNo,String mark);
String generateMdCode();
boolean createBlbYieldOrder(String partCode,Double qty,String memo);
}

@ -1357,7 +1357,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
subYield.setPlate(dsPart.getPlate());
subYield.setUseDept("热表分厂");
subYield.setYpArea(dsPart.getArea() == null ? 0d : dsPart.getArea());
subYield.setDemandDate(DateUtil.minusDays(DateUtil.now(), 2));
subYield.setDemandDate(DateUtil.plusDays(DateUtil.now(), 2));
subYield.setReleaseDate(DateUtil.now());
subYield.setCardNo(nextCardNo());
subYield.setBatchNo(nextBatchNo());
@ -1581,4 +1581,61 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
return codePattern + StringPrefixUtils.prefix(String.valueOf(num), "0", len);
}
public boolean createBlbYieldOrder(String partCode,Double qty,String memo){
DsPartEntity dsPart = dsPartService.selectDsPartByPatCodeAndVersion(partCode,null);
String roamNo = yieldOrderClient.getChildRoamNoByPartCode(partCode);
YieldOrder order = new YieldOrder();
order.setId(null);
order.setYoCode(nextBlbCode2(0));
order.setPartCode(partCode);
order.setProductType(dsPart.getProductType());
order.setPartName(dsPart.getPartName());
order.setPlate(dsPart.getPlate());
order.setUseDept("热表分厂");
order.setYpArea(dsPart.getArea() == null ? 0d : dsPart.getArea());
order.setDemandDate(DateUtil.plusDays(DateUtil.now(), 5));
order.setReleaseDate(DateUtil.now());
order.setCardNo(nextBlbCode2(1));
order.setBatchNo(nextBlbCode2(2));
order.setSiteWork(Boolean.TRUE);
order.setYpQty(qty);
order.setPrimaryCraft(dsPart.getCraftWay());
order.setRoamNo(roamNo);
order.setStatus(YieldOrderEnum.STATUS_NORMAL.getCode());
order.setYieldType(YieldOrderEnum.YIELD_TYPE_3.getCode());
order.setPriorityAps(5);
order.setEntrustDept("热表分厂");
order.setBusinessType(-1);
order.setPlanDeptCode("3400");
order.setReceiveTime(DateUtil.now());
order.setProduceBool(Boolean.FALSE);
order.setMemo(memo);
return this.save(order);
}
/**
* @param codeType 0:订单号1流程卡号2批次号
* @return String
* @Description: 用于给玻璃饼产生对应的订单号 流程卡号批次号
* @Author dxl
* @CreateTime 2023/10/12 16:03
*/
private String nextBlbCode2(int codeType) {
// 自增总长度
int len = 5;
// 编码模式
String codePattern = "RB" + DateUtil.today().substring(2);
int num = this.getMaxCodeByPattern(codePattern, len);
// 下个编码
if (codeType == 0) {
codePattern = "WO-B" + DateUtil.today().substring(2);
}else if(codeType == 2){
codePattern = "Y" + DateUtil.today().substring(2);
}
return codePattern + StringPrefixUtils.prefix(String.valueOf(num), "0", len);
}
}

Loading…
Cancel
Save