From 78eee314013e769e2f8111d5d675cca434d5c1e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=99=93=E8=BF=AA?= <2596750866@qq.com> Date: Thu, 2 Jan 2025 14:43:27 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=20=E7=94=9F=E4=BA=A7=E7=AE=A1=E7=90=86?= =?UTF-8?q?=20=E7=94=9F=E4=BA=A7=E8=AE=A2=E5=8D=95=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E5=AE=A1=E6=A0=B8=E9=A1=B5=E9=9D=A2=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AE=A1=E6=89=B9=E6=84=8F=E8=A7=81=E5=92=8C?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=A4=87=E6=B3=A8=E8=A1=A8=E5=8D=95=E5=85=83?= =?UTF-8?q?=E7=B4=A0=EF=BC=9B=20=E4=BF=AE=E6=94=B9=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=EF=BC=8C=E5=8E=BB=E9=99=A4=E7=BC=96=E8=BE=91?= =?UTF-8?q?bom=E6=8C=89=E9=92=AE=EF=BC=8C=E4=BF=AE=E6=94=B9=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E5=87=BD=E6=95=B0=EF=BC=8C=E5=BA=8F=E5=88=97=E5=8C=96?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E4=BF=A1=E6=81=AF=E6=8F=90=E4=BA=A4=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=EF=BC=9B=20=E4=BF=AE=E6=94=B9=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=E9=A1=B5=E9=9D=A2=E8=A1=A8?= =?UTF-8?q?=E6=A0=BC=EF=BC=8C=E6=96=B0=E5=A2=9E=E7=BC=96=E8=BE=91=E7=94=9F?= =?UTF-8?q?=E4=BA=A7bom=E6=8C=89=E9=92=AE=E5=8F=8A=E5=85=B6=E6=9D=83?= =?UTF-8?q?=E9=99=90=E5=AE=9A=E4=B9=89=EF=BC=9B=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E7=94=9F=E4=BA=A7bom=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=EF=BC=9B=20=E4=BF=AE=E6=94=B9=E7=94=9F=E4=BA=A7=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=AE=9E=E4=BD=93=E7=B1=BB=EF=BC=8C=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E5=AE=A1=E6=A0=B8=E7=8A=B6=E6=80=81=E5=92=8C?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E5=AE=A1=E6=A0=B8=E5=A4=87=E6=B3=A8=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=EF=BC=9B=20=E6=96=B0=E5=A2=9E=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E7=94=9F=E4=BA=A7bom=E9=A1=B5=E9=9D=A2contro?= =?UTF-8?q?ller=E6=8E=A5=E5=8F=A3=E5=92=8C=E7=BC=96=E8=BE=91=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E7=94=9F=E4=BA=A7bom=E6=8E=A5=E5=8F=A3=EF=BC=9B=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=83=A8=E9=97=A8=E9=A2=86=E5=AF=BC=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4service=E6=96=B9=E6=B3=95=EF=BC=8C=E5=B7=A5=E7=A8=8B?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E9=A2=86=E5=AF=BC=E7=A1=AE=E8=AE=A4=E5=90=8E?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=94=B9=E4=B8=BA=E5=BE=85=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E7=94=9F=E4=BA=A7bom=EF=BC=9B=20=E4=BF=AE=E6=94=B9=E5=B7=A5?= =?UTF-8?q?=E7=A8=8B=E5=AE=A1=E6=A0=B8service=E6=96=B9=E6=B3=95=EF=BC=8C?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E9=A1=B5=E9=9D=A2=E5=AE=A1=E6=A0=B8=E6=84=8F?= =?UTF-8?q?=E8=A7=81=E4=B8=8D=E5=90=8C=E8=AE=BE=E7=BD=AE=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B8=BA=E5=BE=85=E7=BC=96=E8=BE=91bom?= =?UTF-8?q?=E5=92=8C=E5=BE=85=E9=87=87=E8=B4=AD=E5=AE=A1=E6=A0=B8=EF=BC=9B?= =?UTF-8?q?=20=E6=96=B0=E5=A2=9E=E7=BC=96=E8=BE=91=E7=94=9F=E4=BA=A7bom?= =?UTF-8?q?=E4=BF=9D=E5=AD=98service=E6=96=B9=E6=B3=95=EF=BC=9B=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=9F=E4=BA=A7=E8=AE=A2=E5=8D=95mapper?= =?UTF-8?q?=E7=9B=B8=E5=BA=94=E6=96=B9=E6=B3=95=EF=BC=8C=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysMakeOrderController.java | 31 ++ .../com/ruoyi/system/domain/SysMakeOrder.java | 23 + .../service/impl/SysMakeOrderServiceImpl.java | 144 ++--- .../impl/SysMakeorderDeptServiceImpl.java | 6 +- .../mapper/system/SysMakeOrderMapper.xml | 11 +- .../templates/system/makeorder/editBom.html | 505 ++++++++++++++++++ .../templates/system/makeorder/gcsh.html | 292 +--------- .../templates/system/makeorder/makeorder.html | 5 + 8 files changed, 679 insertions(+), 338 deletions(-) create mode 100644 ruoyi-admin/src/main/resources/templates/system/makeorder/editBom.html diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysMakeOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysMakeOrderController.java index 309414f7..38889103 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysMakeOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysMakeOrderController.java @@ -679,4 +679,35 @@ public class SysMakeOrderController extends BaseController } + /** + * 跳转编辑生产bom页面 + */ + @GetMapping("/editBom/{id}") + public String editBom(@PathVariable("id") Long id, ModelMap mmap) + { + mmap.put("currentUser", ShiroUtils.getSysUser()); + SysMakeOrder sysMakeOrder = sysMakeOrderService.selectSysMakeOrderById(id); + SysSalesOrder sysSalesOrder = salesOrderService.selectSysSalesOrderBySalesOrderCode(sysMakeOrder.getSaleNo()); + if(StringUtils.isNotNull(sysSalesOrder)){ + sysMakeOrder.setOrderType(sysSalesOrder.getSalesOrderType()); + sysMakeOrder.setSalesman(sysSalesOrder.getBusinessMembers()); + sysMakeOrder.setCustomerName(sysSalesOrder.getEnterpriseName()); + sysMakeOrder.setCustomerId(sysSalesOrder.getEnterpriseCode()); + sysMakeOrder.setCustomerOderCode(sysSalesOrder.getSalesOrderNumber()); + } + mmap.put("sysMakeOrder", sysMakeOrder); + return prefix + "/editBom"; + } + + /** + * 编辑保存生产bom + */ + @RequiresPermissions("system:makeorder:editBom") + @PostMapping("/editBom") + @ResponseBody + public AjaxResult editBomSave(@RequestBody SysMakeOrder sysMakeOrder){ + sysMakeOrderService.editBomSave(sysMakeOrder); + return AjaxResult.success("编辑成功!"); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysMakeOrder.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysMakeOrder.java index 3a575824..1578bd6f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysMakeOrder.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysMakeOrder.java @@ -115,6 +115,13 @@ public class SysMakeOrder extends BaseEntity @Excel(name = "更新时间",sort = 17,dateFormat = "yyyy-MM-dd") private Date updateTime; + /** 工程审核状态 */ + private String gcReviewStatus; + + /** 工程审核备注 */ + private String comment; + + private List sysMakeorderBomList; public void setId(Long id) @@ -356,6 +363,22 @@ public class SysMakeOrder extends BaseEntity this.updateTime = updateTime; } + public String getGcReviewStatus() { + return gcReviewStatus; + } + + public void setGcReviewStatus(String gcReviewStatus) { + this.gcReviewStatus = gcReviewStatus; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeOrderServiceImpl.java index 9fdac4da..afe43e67 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeOrderServiceImpl.java @@ -372,78 +372,20 @@ public class SysMakeOrderServiceImpl implements ISysMakeOrderService makeorderBom.setCreateTime(DateUtils.getNowDate()); return makeorderBom; } + + /** 工程审核*/ @Override @Transactional(rollbackFor = Exception.class) public void gcReview(SysMakeOrder sysMakeOrder) { - String makeNo = sysMakeOrder.getMakeNo(); - String salesOrderCode = sysMakeOrder.getSaleNo(); - List makeorderBoms = sysMakeOrder.getSysMakeorderBomList(); - /* - * 获取前端返回生产bom列表0阶料号合集(只返回有修改的bom)*/ - Set uniqueMaterialNos = new HashSet<>(); - for (SysMakeorderBom bom : makeorderBoms) { - uniqueMaterialNos.add(bom.getSalesOrderMaterialNo()); - } - /* - * 获取该生产订单关联销售订单中的0阶物料(存在bom)*/ - /*SysSalesOrderChild tempChild = new SysSalesOrderChild(); - tempChild.setQuoteId(salesOrderCode); - List salesOrderChildList = salesOrderChildService.selectSysSalesOrderChildListWithBom(tempChild); -*/ - /* - * 获取该生产订单关联销售订单中的0阶物料(存在bom)*/ - SysMakeorderBom tempMakeorderBom = new SysMakeorderBom(); - tempMakeorderBom.setMakeNo(makeNo); - tempMakeorderBom.setSalesOrderCode(salesOrderCode); - tempMakeorderBom.setLevel(0L); - List tempBomList = makeorderBomService.selectSysMakeorderBomList(tempMakeorderBom); - /* - * 比对获取前端未修改过的bom料号,后续查找生产bom表看其子阶是否为空,另外要去除加工类型为采购的数据*/ - List filteredList = tempBomList.stream() - .filter(child -> !uniqueMaterialNos.contains(child.getMaterialNo())) - .filter(child -> child.getMaterialNo().startsWith("5")||child.getMaterialNo().startsWith("6") - ||child.getMaterialNo().startsWith("7")||child.getMaterialNo().startsWith("8") - ||child.getMaterialNo().startsWith("9")) - .filter(child -> !child.getProcessMethod().equals("0")) - .map(SysMakeorderBom::getMaterialNo) - .collect(Collectors.toList()); - /* - * 判断bom是否为空*/ - if(StringUtils.isNotEmpty(filteredList)){ - for (String code:filteredList) { - SysMakeorderBom tempMakeBom = new SysMakeorderBom(); - tempMakeBom.setMakeNo(makeNo); - tempMakeBom.setSalesOrderCode(salesOrderCode); - tempMakeBom.setSalesOrderMaterialNo(code); - List makeorderBomList = makeorderBomService.selectSysMakeorderBomList(tempMakeBom); - if(StringUtils.isEmpty(makeorderBomList)){ - throw new BusinessException(code + "BOM不能为空"); - } - } + String gcVerifyStatus = sysMakeOrder.getGcReviewStatus(); + if(gcVerifyStatus.equals("true")){ + sysMakeOrder.setMakeStatus("7");// 待采购审核 + }else if(gcVerifyStatus.equals("false")){ + sysMakeOrder.setMakeStatus("8");// 待编辑生产bom } - /* - * 删除返回0阶料号的原有bom*/ - for (String materialNo:uniqueMaterialNos) { - SysMakeorderBom tempBom = new SysMakeorderBom(); - tempBom.setMakeNo(makeNo); - tempBom.setSalesOrderCode(salesOrderCode); - tempBom.setSalesOrderMaterialNo(materialNo); - makeorderBomMapper.deleteSysMakeorderBomByNos(tempBom); - } - Long sortNo = 0L; - for (SysMakeorderBom makeBom:makeorderBoms) { - sortNo ++; - makeBom.setSortNo(sortNo); - int insertResult = makeorderBomMapper.insertSysMakeorderBom(makeBom); - if(insertResult<=0){ - throw new BusinessException("bom"+makeBom.getSalesOrderMaterialNo()+"层级添加失败!"); - } - } - // 待采购审核 - sysMakeOrder.setMakeStatus("7"); + sysMakeOrder.setUpdateBy(ShiroUtils.getLoginName()); + sysMakeOrder.setUpdateTime(DateUtils.getNowDate()); updateByMakeNo(sysMakeOrder); - // todo 加工方式“采购”的物料生成采购计划 -// purchasePlanService.generatePurchasePlanByMakeOrder(insertedSysMakeorderBoms); } /* @@ -853,6 +795,8 @@ public class SysMakeOrderServiceImpl implements ISysMakeOrderService detail.setOutsourceProcessType(materials.size()); detail.setOutsourceProcessAmount(materials.size()); processAmount += detail.getOutsourceProcessAmount(); + detail.setActualOutsourceAmount(0); + detail.setOutPlanStatus("0"); int insertResult = outsourcePlanMapper.insertOutsourcePlanDetail(detail); if(insertResult <= 0){ throw new BusinessException("添加委外计划详情失败!"); @@ -905,4 +849,70 @@ public class SysMakeOrderServiceImpl implements ISysMakeOrderService return updateResult; } + @Override + @Transactional(rollbackFor = Exception.class) + public void editBomSave(SysMakeOrder sysMakeOrder) { + String makeNo = sysMakeOrder.getMakeNo(); + String salesOrderCode = sysMakeOrder.getSaleNo(); + List makeorderBoms = sysMakeOrder.getSysMakeorderBomList(); + /* + * 获取前端返回生产bom列表0阶料号合集(只返回有修改的bom)*/ + Set uniqueMaterialNos = new HashSet<>(); + for (SysMakeorderBom bom : makeorderBoms) { + uniqueMaterialNos.add(bom.getSalesOrderMaterialNo()); + } + /* + * 获取该生产订单关联销售订单中的0阶物料(存在bom)*/ + SysMakeorderBom tempMakeorderBom = new SysMakeorderBom(); + tempMakeorderBom.setMakeNo(makeNo); + tempMakeorderBom.setSalesOrderCode(salesOrderCode); + tempMakeorderBom.setLevel(0L); + List tempBomList = makeorderBomService.selectSysMakeorderBomList(tempMakeorderBom); + /* + * 比对获取前端未修改过的bom料号,后续查找生产bom表看其子阶是否为空,另外要去除加工类型为采购的数据*/ + List filteredList = tempBomList.stream() + .filter(child -> !uniqueMaterialNos.contains(child.getMaterialNo())) + .filter(child -> child.getMaterialNo().startsWith("5")||child.getMaterialNo().startsWith("6") + ||child.getMaterialNo().startsWith("7")||child.getMaterialNo().startsWith("8") + ||child.getMaterialNo().startsWith("9")) + .filter(child -> !child.getProcessMethod().equals("0")) + .map(SysMakeorderBom::getMaterialNo) + .collect(Collectors.toList()); + /* + * 判断bom是否为空*/ + if(StringUtils.isNotEmpty(filteredList)){ + for (String code:filteredList) { + SysMakeorderBom tempMakeBom = new SysMakeorderBom(); + tempMakeBom.setMakeNo(makeNo); + tempMakeBom.setSalesOrderCode(salesOrderCode); + tempMakeBom.setSalesOrderMaterialNo(code); + List makeorderBomList = makeorderBomService.selectSysMakeorderBomList(tempMakeBom); + if(StringUtils.isEmpty(makeorderBomList)){ + throw new BusinessException(code + "BOM不能为空"); + } + } + } + /* + * 删除返回0阶料号的原有bom*/ + for (String materialNo:uniqueMaterialNos) { + SysMakeorderBom tempBom = new SysMakeorderBom(); + tempBom.setMakeNo(makeNo); + tempBom.setSalesOrderCode(salesOrderCode); + tempBom.setSalesOrderMaterialNo(materialNo); + makeorderBomMapper.deleteSysMakeorderBomByNos(tempBom); + } + Long sortNo = 0L; + for (SysMakeorderBom makeBom:makeorderBoms) { + sortNo ++; + makeBom.setSortNo(sortNo); + int insertResult = makeorderBomMapper.insertSysMakeorderBom(makeBom); + if(insertResult<=0){ + throw new BusinessException("bom"+makeBom.getSalesOrderMaterialNo()+"层级添加失败!"); + } + } + // 待工程审核 + sysMakeOrder.setMakeStatus("2"); + updateByMakeNo(sysMakeOrder); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderDeptServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderDeptServiceImpl.java index ec08805b..836d5744 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderDeptServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderDeptServiceImpl.java @@ -231,12 +231,12 @@ public class SysMakeorderDeptServiceImpl implements ISysMakeorderDeptService throw new BusinessException("有物料数据未被确认,请进行部门主管确认!"); } - // 工程部门领导确认完,生产状态更新为待工程审核 + // 工程部门领导确认完,生产状态更新为待编辑生产bom if ("END".equals(deptNumber)) { SysMakeOrder makeOrder = new SysMakeOrder(); makeOrder.setMakeNo(makeNo); - // 待工程审核 - makeOrder.setMakeStatus("2"); + // 待编辑生产bom + makeOrder.setMakeStatus("8");//编辑生产bom makeOrderService.updateByMakeNo(makeOrder); } // 采购部门领导确认完,采购确认状态更新为已确认 diff --git a/ruoyi-admin/src/main/resources/mapper/system/SysMakeOrderMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/SysMakeOrderMapper.xml index f237a36d..18c32152 100644 --- a/ruoyi-admin/src/main/resources/mapper/system/SysMakeOrderMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/system/SysMakeOrderMapper.xml @@ -12,7 +12,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -29,6 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -37,7 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select a.id, a.make_status, a.eceipt_status, a.quality_status, a.use_status, a.makeNo, a.saleNo, a.Salesman, a.customerId, a.customerName, a.customerOderCode, a.material - , a.materialSum, a.finishNum, a.eceiptNum, a.noRate, a.rate, a.order_type + , a.materialSum, a.finishNum, a.eceiptNum, a.noRate, a.rate, a.order_type, a.comment , a.create_by, a.create_time, a.update_by, a.update_time, a.remark, a.del_flag,a.purchase_status from sys_makeorder a @@ -45,7 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/makeorder/gcsh.html b/ruoyi-admin/src/main/resources/templates/system/makeorder/gcsh.html index 957efc60..801c219e 100644 --- a/ruoyi-admin/src/main/resources/templates/system/makeorder/gcsh.html +++ b/ruoyi-admin/src/main/resources/templates/system/makeorder/gcsh.html @@ -6,7 +6,7 @@
-
+
@@ -36,6 +36,24 @@
+
+ +
+ +
+
+ +
+ +
+ +
+
+
@@ -59,7 +77,6 @@ var sysUnitClassDatas = [[${@dict.getType('sys_unit_class')}]]; var materialTypeDatas = [[${@category.getChildByCode('materialType')}]]; var levelDatas = [[${@dict.getType('bomLevel')}]]; - var processMethodDatas = [[${@dict.getType('processMethod')}]]; var makeNo = [[${sysMakeOrder.makeNo}]]; var makeOrderBom = {}; @@ -175,15 +192,6 @@ title: '审核状态', visible: false }, - { - title: '操作', - align: 'center', - formatter: function(value, row, index) { - var actions = []; - actions.push('编辑生产bom '); - return actions.join(''); - } - }, ] }; $.table.init(options); @@ -364,164 +372,7 @@ title: '排序', visible: false }], - // 当所有数据被加载时触发 - onLoadSuccess: function(data) { - var key = "all_level_" + childTableId; - var rowData = sessionStorage.getItem(key); - if(rowData){ - var tableData = JSON.parse(rowData); - $("#"+childTableId).bootstrapTable('load',tableData); - } - }, }); - // 预审部门展示 - // $('#'+childFormTableId).bootstrapTable({ - // url: ctx + "system/makeorderdept/list", - // method: 'post', - // sidePagination: "server", - // contentType: "application/x-www-form-urlencoded", - // queryParams : { - // makeNo: $("#makeNo").val(), - // materialNo: parentRow.materialCode - // }, - // columns: [ - // { - // field : 'id', - // title : '生产订单部门ID', - // formatter: function (value, row, index) { - // var curIndex = parentRowIndex*6+index; - // return ''; - // } - // }, - // { - // field : 'makeNo', - // title : '生产订单号', - // visible: false, - // formatter: function (value, row, index) { - // var curIndex = parentRowIndex*6+index; - // return ''; - // } - // }, - // { - // field : 'materialNo', - // title : '料号', - // visible: false, - // formatter: function (value, row, index) { - // var curIndex = parentRowIndex*6+index; - // return ''; - // } - // }, - // { - // field : 'deptName', - // title : '部门名称', - // visible: false - // }, - // { - // field : 'planFinishDays', - // title : '计划完成天数', - // visible: false - // }, - // { - // field : 'actualFinishStartTime', - // title : '实际完成开始时间', - // visible: false - // }, - // { - // field : 'actualFinishEndTime', - // title : '实际完成结束时间', - // visible: false - // }, - // { - // field : 'deptNumber', - // title : '部门', - // formatter: function (value, row, index) { - // /*if(subTableFormArray[parentRowIndex]){ - // value = subTableFormArray[parentRowIndex].deptName?subTableFormArray[parentRowIndex].deptName:value; - // }*/ - // var curIndex = parentRowIndex*6+index; - // return ''; - // } - // }, - // { - // field: 'planFinishDate', - // title: '计划完成时间', - // formatter: function(value, row, index) { - // var curIndex = parentRowIndex*6+index; - // var endDateName = 'planFinishEndDate_'+parentRowIndex; - // var startDateName = 'planFinishStartDate_'+parentRowIndex; - // var html; - // // 业务部门 - // if(row.deptNumber=='GMD'){ - // html = '
' + - // '\n' + - // '-\n' + - // '
' - // }else{ - // html = ''; - // } - // return html; - // } - // }, - // { - // field : 'deptLeaderConfirmStatus', - // title : '部门主管确认', - // formatter: function(value, row, index) { - // var curIndex = parentRowIndex*6+index; - // var html = ''; - // return html; - // } - // }, - // { - // field: 'actualFinishTime', - // title: '实际完成时间', - // formatter: function(value, row, index) { - // if (row.actualFinishStartTime == null || row.actualFinishStartTime == ''){ - // return ''; - // }else if(row.actualFinishStartTime){ - // return row.actualFinishStartTime - // }else if(row.actualFinishStartTime && row.actualFinishEndTime){ - // return row.actualFinishStartTime + '-' + row.actualFinishEndTime - // } - // } - // } - // ], - // // 当所有数据被加载时触发 - // onLoadSuccess: function(data) { - // for (let i = 0; i < data.rows.length; i++) { - // var curIndex = parentRowIndex*6+i; - // var startDateIndex = 'planFinishStartDate_'+i; - // var endDateIndex = 'planFinishEndDate_'+i; - // - // $('[data-id="'+startDateIndex+'"]').datetimepicker({ - // format: 'yyyy-mm-dd', - // minView: "month", - // todayBtn: true, - // autoclose: true, - // }).on('changeDate', function(event) { - // event.preventDefault(); - // event.stopPropagation(); - // var startTime = event.date; - // $('[data-id="'+endDateIndex+'"]').datetimepicker('setStartDate', startTime); - // }); - // $('[data-id="'+endDateIndex+'"]').datetimepicker({ - // format: 'yyyy-mm-dd', - // minView: "month", - // todayBtn: true, - // autoclose: true, - // }).on('changeDate', function(event) { - // event.preventDefault(); - // event.stopPropagation(); - // var endTime = event.date; - // $('[data-id="'+startDateIndex+'"]').datetimepicker('setEndDate', endTime); - // }); - // - // } - // - // }, - // }); }; function queryParams(params) { @@ -539,106 +390,17 @@ }); function submitHandler() { - // debugger - // var data = $("#form-makeorder-edit").serializeArray(); - var saleNo = $("#saleNo").val(); - var makeNo = $("#makeNo").val(); - let makeOrderBomList = []; - var keyPre = 'all_level_child_table_'; - const length = sessionStorage.length; - - for (let i = 0; i < length; i++) { - const key = sessionStorage.key(i); - if (key.startsWith(keyPre)) { - var rows = sessionStorage.getItem(key); - var rowData = JSON.parse(rows); - rowData.forEach(function (value){ - makeOrderBomList.push(value); - }) - } - } - var sysMakeOrder = { - makeNo: makeNo, - saleNo: saleNo, - sysMakeorderBomList: makeOrderBomList, - } - $.operate.saveJson(prefix + "/gcReview", JSON.stringify(sysMakeOrder)); - } + const sysMakeOrder = $("#form-makeorder-gcsh").serializeArray().reduce((obj, item) => { + obj[item.name] = item.value; + return obj; + }, {}); - function editMakeOrderBom(curIndex,materialNo){ - var url = ctx + "system/makeorderbom/editMakeorderBom?materialNo=" + materialNo+"&curIndex="+curIndex+"&makeNo="+makeNo; - var options = { - title: '编辑生产bom', - url: url, - callBack: handleMakeOrderBomData - }; - $.modal.openOptions(options); - } - - function handleMakeOrderBomData(index, layero){ - var iframeWin = window[layero.find('iframe')[0]['name']]; - iframeWin.$('#materialNo').removeAttr("disabled"); - var materialNo = iframeWin.$('#materialNo').val(); - var curIndex = iframeWin.$('#curIndex').val(); - var saleNo = $("#saleNo").val(); - var makeNo = $("#makeNo").val(); - var tableData = iframeWin.$('#bootstrap-sub-table-1').bootstrapTable('getData'); - - if (tableData.length===0){ - $.modal.alertWarning("请至少添加一条bom信息再保存!"); + if(sysMakeOrder.gcReviewStatus === "" || sysMakeOrder.gcReviewStatus === null + || sysMakeOrder.gcReviewStatus === undefined){ + $.modal.msgError("请选择审批意见!"); return; } - var bomData = []; - var oneLevelKey = "one_level_child_table_"+curIndex; - var allLevelKey = "all_level_child_table_"+curIndex; - var formData = []; - for(var i=0;i diff --git a/ruoyi-admin/src/main/resources/templates/system/makeorder/makeorder.html b/ruoyi-admin/src/main/resources/templates/system/makeorder/makeorder.html index 5c99baa7..0947ae81 100644 --- a/ruoyi-admin/src/main/resources/templates/system/makeorder/makeorder.html +++ b/ruoyi-admin/src/main/resources/templates/system/makeorder/makeorder.html @@ -107,6 +107,7 @@ var confirmFlag = [[${@permission.hasPermi('system:makeorder:confirm')}]]; var engineerFlag = [[${@permission.hasPermi('system:makeorder:engineer')}]]; var purchaseFlag = [[${@permission.hasPermi('system:makeorder:purchase')}]]; + var editBomFlag = [[${@permission.hasPermi('system:makeorder:editBom')}]]; var makeStatusDatas = [[${@dict.getType('sys_erp_makeStatus')}]]; var eceiptStatusDatas = [[${@dict.getType('eceiptStatus')}]]; var qualityStatusDatas = [[${@dict.getType('qualityStatus')}]]; @@ -274,6 +275,10 @@ if(row.makeStatus == '2'){ actions.push('工程审核 '); } + // 编辑生产bom + if(row.makeStatus == '8'){ + actions.push('编辑生产bom '); + } // 采购审核:生产状态-待采购审核,采购上级确认状态-已确认 if(row.makeStatus == '7'&&row.purchaseStatus == '1'){ actions.push('采购审核 ');