Browse Source

[fix]

生产管理 生产订单
修改生产领料页面,修改领料子表生产bom数据源;
新增获取生产bom领料子表列表controller接口和service方法,过滤去除委外物料下的子阶物料;
修改添加委外计划页面,去除申请人赋值语句;
修改添加委外计划service方法,添加申请人赋值;
dev
王晓迪 1 month ago
parent
commit
3f5b6d52a2
  1. 8
      ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysMakeorderBomController.java
  2. 2
      ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysMakeorderBomService.java
  3. 1
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeOrderServiceImpl.java
  4. 65
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderBomServiceImpl.java
  5. 1
      ruoyi-admin/src/main/resources/templates/system/makeorder/addOutsourcePlan.html
  6. 2
      ruoyi-admin/src/main/resources/templates/system/makeorder/addpick.html

8
ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysMakeorderBomController.java

@ -218,5 +218,13 @@ public class SysMakeorderBomController extends BaseController
return toAjax(sysMakeorderBomService.restoreSysMakeorderBomById(id));
}
@PostMapping("/getPickList")
@ResponseBody
public TableDataInfo getPickList(SysMakeorderBom sysMakeorderBom)
{
startPage();
List<SysMakeorderBom> list = sysMakeorderBomService.selectSysMakeorderBomPickList(sysMakeorderBom);
return getDataTable(list);
}
}

2
ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysMakeorderBomService.java

@ -27,6 +27,8 @@ public interface ISysMakeorderBomService
*/
public List<SysMakeorderBom> selectSysMakeorderBomList(SysMakeorderBom sysMakeorderBom);
List<SysMakeorderBom> selectSysMakeorderBomPickList(SysMakeorderBom sysMakeorderBom);
/**
* 新增生产订单BOM信息
*

1
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeOrderServiceImpl.java

@ -821,6 +821,7 @@ public class SysMakeOrderServiceImpl implements ISysMakeOrderService
outsourcePlan.setOutsourceProcessAmount(processAmount);
outsourcePlan.setStatus("0");
outsourcePlan.setSource("1");
outsourcePlan.setApplicant(ShiroUtils.getLoginName());
int insertResult = outsourcePlanMapper.insertOutsourcePlan(outsourcePlan);
return insertResult;
}

65
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderBomServiceImpl.java

@ -1,6 +1,6 @@
package com.ruoyi.system.service.impl;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import cn.hutool.core.collection.CollectionUtil;
@ -13,7 +13,6 @@ import com.ruoyi.system.mapper.OutsourceMaterialMapper;
import com.ruoyi.system.mapper.SysMakeorderPickDetailMapper;
import com.ruoyi.warehouse.domain.WarehouseInventoryInquiry;
import com.ruoyi.warehouse.mapper.WarehouseInventoryInquiryMapper;
import org.apache.poi.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.SysMakeorderBomMapper;
@ -99,6 +98,68 @@ public class SysMakeorderBomServiceImpl implements ISysMakeorderBomService
return makeorderBoms;
}
@Override
public List<SysMakeorderBom> selectSysMakeorderBomPickList(SysMakeorderBom sysMakeorderBom)
{
List<SysMakeorderBom> makeorderBoms = sysMakeorderBomMapper.selectSysMakeorderBomList(sysMakeorderBom);
List<SysMakeorderBom> filtBoms = new ArrayList<>();
long level = -1;
for (SysMakeorderBom makeBom: makeorderBoms) {
if(level>=0){//委外被记录
if(makeBom.getLevel()>level){
continue;
}else if(makeBom.getLevel()<=level){
if(makeBom.getProcessMethod().equals("2")||makeBom.getProcessMethod().equals("4")){
level = makeBom.getLevel();
}else{
level = -1;
}
filtBoms.add(makeBom);
}
}else{
if(makeBom.getProcessMethod().equals("2")||makeBom.getProcessMethod().equals("4")){
level = makeBom.getLevel();
}
filtBoms.add(makeBom);
}
}
for (SysMakeorderBom bom:filtBoms) {
// 获取已领料数
SysMakeorderPickDetail tempDetail = new SysMakeorderPickDetail();
tempDetail.setMakeNo(sysMakeorderBom.getMakeNo());
tempDetail.setMakeorderBomId(bom.getId());
List<SysMakeorderPickDetail> pickDetails = pickDetailMapper.selectSysMakeorderPickDetailList(tempDetail);
if(CollectionUtil.isEmpty(pickDetails)){
bom.setHasPickNum(0);
}else{
int pickNum = pickDetails.stream()//审核通过或待审核的合计
.filter(item -> item.getAuditStatus()!=null && (item.getAuditStatus().equals("0")||item.getAuditStatus().equals("1")))
.mapToInt(detail -> Math.toIntExact(detail.getPickNum() != null ? Math.toIntExact(detail.getPickNum()) : 0))
.sum();
bom.setHasPickNum(pickNum);
}
// 获取可用库存数
WarehouseInventoryInquiry inquiry = inquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(bom.getMaterialNo());
if(inquiry == null){
bom.setStorageNum(0);
}else{
bom.setStorageNum(inquiry.getAvailableStockNum());
}
// 处理委外加工类型物料,获取委外工序数
if(bom.getProcessMethod().equals("2")||bom.getProcessMethod().equals("4")){
List<OutsourceMaterial> materials = outsourceMaterialMapper.selectProcessNoByNo(bom.getMaterialNo());
if(StringUtils.isEmpty(materials)){
bom.setProcessNum(0);
}else {
bom.setProcessNum(materials.size());
}
}
}
return filtBoms;
}
/**
* 新增生产订单BOM信息
*

1
ruoyi-admin/src/main/resources/templates/system/makeorder/addOutsourcePlan.html

@ -426,7 +426,6 @@
var outsourcePlan = {
associateOrderNo: makeNo,
outsourcePlanDetailList: [],
applicant: sales,
}
var hasValue = false;
var resultList = [];

2
ruoyi-admin/src/main/resources/templates/system/makeorder/addpick.html

@ -184,7 +184,7 @@
$detail.html('<table id="'+childTableId+'"></table>');
// BOM展示
$('#'+childTableId).bootstrapTable({
url: ctx + "system/makeorderbom/list",
url: ctx + "system/makeorderbom/getPickList",
method: 'post',
sidePagination: "server",
contentType: "application/x-www-form-urlencoded",

Loading…
Cancel
Save