Răsfoiți Sursa

Merge branch 'master' into 外协收回按炉结算判断

ezhizao_zx 10 luni în urmă
părinte
comite
9215200af3

+ 100 - 12
src/main/java/cn/ezhizao/project/business/controller/BizBeforeCheckoutVerifyController.java

@@ -181,7 +181,92 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
                 List<BizSupplierProductProcess> supplierProductProcesses = bizSupplierProductProcesses.stream().filter(b -> b.getSupplierId().equals(bizSupplier.getId()) && b.getProductId().equals(bizProduct.getId())).collect(Collectors.toList());
                 addList.addAll(getBalanceAccounts(l, bizOutsourcedOrder, bizSupplier, bizOutsourcedOrderDetail, detailProcesses, bizDaywork, bizProduct, furnaceNoInfo, receiptDetails, bizProcessInspecion, process, processDetails, items, lot, supplierProductProcesses));
             });
-            System.out.println("184: " + addList.size());
+//            System.out.println("184: " + addList.size());
+            List<Long> outsourceOrderIds = addList.stream().map(BizOutsourceBalanceAccount::getOutsourceOrderId).collect(Collectors.toList());
+
+            // 判断假设是按支结算则直接算,假设是按炉结算
+            // 应得金额
+            // 实得金额 = round((应得金额-其他扣款+差补额-运费-料扣金额/(1+税率/100), 4)
+            // 含税金额 = round((应得金额-其他扣款+差补额-运费-料扣金额, 4)
+            // 运费 round(运费单价【sfc10100.yfprc】 * 发出箱数 , 4)
+            if (outsourceOrderIds.size() == 1) {
+                BizOutsourcedOrder bizOutsourcedOrder = outsourcedOrder.get(0);
+                if (bizOutsourcedOrder.getSettlementType().equals("1")) {
+                    // 按支结算
+                    addList.forEach(l -> {
+                        // 是否有表面处理
+                        if (l.getSupplier().getSurfaceTreatment().equals("N")) {
+                            if (l.getSupplierCode().equals("99024")) {
+                                if (l.getProcessCode().equals("99000")) {
+                                    l.setPlanAmount(BigDecimal.valueOf(l.getReceiptNum()).multiply(l.getProcessPrice()).multiply(BigDecimal.ONE.add(l.getTaxRate().divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP));
+                                } else {
+                                    l.setPlanAmount(BigDecimal.valueOf(l.getOutputNum()).multiply(l.getProcessPrice()).multiply(BigDecimal.ONE.add(l.getTaxRate().divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP));
+                                }
+                            } else {
+                                l.setPlanAmount(BigDecimal.valueOf(l.getReceiptNum()).multiply(l.getProcessPrice()).multiply(BigDecimal.ONE.add(l.getTaxRate().divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP));
+                            }
+                        } else {
+                            if (l.getSupplierCode().equals("99024")) {
+                                l.setPlanAmount(BigDecimal.valueOf(l.getOutputNum()).multiply(l.getProcessPrice()).multiply(BigDecimal.ONE.add(l.getTaxRate().divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP));
+                            } else {
+                                l.setPlanAmount(BigDecimal.valueOf(l.getReceiptNum()).multiply(l.getProcessPrice()).multiply(BigDecimal.ONE.add(l.getTaxRate().divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP));
+                            }
+                        }
+                    });
+                } else {
+                    // 按炉结算 炉数*加工单价* (1.00 + 税率 /100.00 )
+                    BizOutsourceBalanceAccount item = addList.get(0);
+                    item.setPlanAmount(BigDecimal.ONE.multiply(item.getSupplier().getFreightPrice()).multiply(BigDecimal.ONE.add(item.getTaxRate().divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP));
+                }
+                bizOutsourcedOrderDetails.forEach(l -> {
+                   BizOutsourceBalanceAccount item = addList.stream().filter(e -> e.getOutsourceOrderDetailId().equals(l.getId())).collect(Collectors.toList()).get(0);
+                   item.setFreightAmount(item.getSupplier().getFreightDeductUnitPrice().multiply(BigDecimal.valueOf(item.getCarrierNum())));
+                });
+            } else {
+                // 八成用不上,但是假设出现多选审核就可能用得上了。
+                outsourcedOrder.forEach(t -> {
+                    if (t.getSettlementType().equals("1")) {
+                        // 按支结算
+                        addList.stream().filter(e -> e.getOutsourceOrderId().equals(t.getId())).forEach(l -> {
+                            if (l.getSupplier().getSurfaceTreatment().equals("N")) {
+                                if (l.getSupplierCode().equals("99024")) {
+                                    if (l.getProcessCode().equals("99000")) {
+                                        l.setPlanAmount(BigDecimal.valueOf(l.getReceiptNum()).multiply(l.getProcessPrice()).multiply(BigDecimal.ONE.add(l.getTaxRate().divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP));
+                                    } else {
+                                        l.setPlanAmount(BigDecimal.valueOf(l.getOutputNum()).multiply(l.getProcessPrice()).multiply(BigDecimal.ONE.add(l.getTaxRate().divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP));
+                                    }
+                                } else {
+                                    l.setPlanAmount(BigDecimal.valueOf(l.getReceiptNum()).multiply(l.getProcessPrice()).multiply(BigDecimal.ONE.add(l.getTaxRate().divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP));
+                                }
+                            } else {
+                                if (l.getSupplierCode().equals("99024")) {
+                                    l.setPlanAmount(BigDecimal.valueOf(l.getOutputNum()).multiply(l.getProcessPrice()).multiply(BigDecimal.ONE.add(l.getTaxRate().divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP));
+                                } else {
+                                    l.setPlanAmount(BigDecimal.valueOf(l.getReceiptNum()).multiply(l.getProcessPrice()).multiply(BigDecimal.ONE.add(l.getTaxRate().divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP));
+                                }
+                            }
+                        });
+                    } else {
+                        // 按炉结算 round(炉数 * 加工单价 * (1.00 + 税率 /100.00 ),4)
+                        BizOutsourceBalanceAccount item = addList.stream().filter(e -> e.getOutsourceOrderId().equals(t.getId())).collect(Collectors.toList()).get(0);
+                        item.setPlanAmount(BigDecimal.ONE.multiply(item.getSupplier().getFreightPrice()).multiply(BigDecimal.ONE.add(item.getTaxRate().divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP));
+                    }
+                });
+                bizOutsourcedOrderDetails.forEach(l -> {
+                    BizOutsourceBalanceAccount item = addList.stream().filter(e -> e.getOutsourceOrderDetailId().equals(l.getId())).collect(Collectors.toList()).get(0);
+                    item.setFreightAmount(item.getSupplier().getFreightDeductUnitPrice().multiply(BigDecimal.valueOf(item.getCarrierNum())));
+                });
+            }
+            addList.forEach(l -> {
+                BigDecimal planAmount = l.getPlanAmount() == null ? BigDecimal.ZERO : l.getPlanAmount();
+                BigDecimal otherCost = l.getOtherCost() == null ? BigDecimal.ZERO : l.getOtherCost();
+                BigDecimal fillDifferencePrice = l.getFillDifferencePrice() == null ? BigDecimal.ZERO : l.getFillDifferencePrice();
+                BigDecimal freightAmount = l.getFreightAmount() == null ? BigDecimal.ZERO : l.getFreightAmount();
+                BigDecimal materialLossAmount = l.getMaterialLossAmount() == null ? BigDecimal.ZERO : l.getMaterialLossAmount();
+                BigDecimal taxAmount = planAmount.subtract(otherCost).add(fillDifferencePrice).subtract(freightAmount).subtract(materialLossAmount);
+                l.setAcutalAmount(taxAmount.divide(BigDecimal.ONE.add(l.getTaxRate().divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP)), 4, RoundingMode.HALF_UP));
+                l.setTaxAmount(taxAmount.setScale(4, RoundingMode.HALF_UP));
+            });
             bizOutsourceBalanceAccountService.saveBatch(addList);
         } else {
             throw new RuntimeException(jsonObject.getStr("msg"));
@@ -233,6 +318,7 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
             balanceAccount.setProcessAlias(v.getProcessAlias());
             balanceAccount.setProcessCode(v.getProcessCode());
             balanceAccount.setOutsourceOrderDetailProcessId(v.getId());
+            balanceAccount.setOutsourceOrderId(bizOutsourcedOrder.getId());
             // 产品数量
             balanceAccount.setProductNum(lot.getProductionQuantity());
             // 批次投产数量
@@ -243,7 +329,10 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
             balanceAccount.setReceiptNum(receiptDetail.getAuditNum());
             // 工序单价
             balanceAccount.setProcessPrice(supplierProductProcess.getPrice());
-            // 补差额 当前公式没看到 先不管
+            // 材料单价 inv10100.zjunprc
+            balanceAccount.setMaterialPrice(l.getBizMaterialBase().getZjunprc());
+            // 销售单价 inc10100.unprc
+            balanceAccount.setSalePrice(l.getProduct().getUnprc());
             // 实投料量 假设为直条料或圆盘料或半成品料
             if (l.getBizMaterialBase().getXzcode().equals("11") || l.getBizMaterialBase().getXzcode().equals("12") || l.getBizMaterialBase().getType().equals("2")) {
                 // 计算公式 实际投料直径 / 2 * 实际投料直径 / 2 * 3.14 * 原料密度 / 1000 * (产品长度  + 公差长度【bom30101.gccd(材料基本信息表)按cpart产品编码取,生产计划随时变动结算时实时获取】) / 原材料利用率 / 10000
@@ -264,9 +353,9 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
                 balanceAccount.setMaterialLoss(materialLoss);
             }
 
-            System.out.println("263 getMaterialLoss: " + l.getMaterialLoss());
+//            System.out.println("263 getMaterialLoss: " + l.getMaterialLoss());
             balanceAccount.setMaterialLoss(balanceAccount.getMaterialLoss() == null || balanceAccount.getMaterialLoss() < 0 ? 0 : balanceAccount.getMaterialLoss());
-            System.out.println("265 getMaterialLoss: " + l.getMaterialLoss());
+//            System.out.println("265 getMaterialLoss: " + l.getMaterialLoss());
 
             // 表面表示是否有表面处理
             balanceAccount.setSurfaceTreatment(l.getSupplier().getSurfaceTreatment());
@@ -304,7 +393,7 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
                     balanceAccount.setWastePrice(l.getProcessPrice().setScale(4, RoundingMode.HALF_UP));
                 }
 //                System.out.println(l.getSupplier().getWastePriceCategory());
-                System.out.println("303 getMaterialLossl: "+ balanceAccount.getMaterialLoss());
+//                System.out.println("303 getMaterialLossl: "+ balanceAccount.getMaterialLoss());
 //                System.out.println(l.getWastePrice());
 //                System.out.println(l.getSupplier().getTaxRatio());
                 BigDecimal wastePrice = balanceAccount.getWastePrice() == null ? BigDecimal.ZERO : balanceAccount.getWastePrice();
@@ -326,13 +415,12 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
                 // 扣料金额 round(料损数量 * 废品加工单价 * 1.13【*税率】 ,4) // (1 + 税率 /100.00 ),2)
                 balanceAccount.setMaterialLossAmount(BigDecimal.valueOf(l.getMaterialLoss()).multiply(l.getWastePrice().multiply(BigDecimal.ONE.add(BigDecimal.valueOf(l.getSupplier().getTaxRatio()).divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP)))).setScale(2, RoundingMode.HALF_UP));
             }
-            // 长度是产品长度么
-            // 判断假设是按支结算则直接算,假设是按炉结算
-            // 应得金额
-            // 实得金额
-            // 含税金额
-            // 材料单价
-            // 销售单价
+            // 利用率
+            balanceAccount.setUtilizationRatio(l.getBizMaterialBaseInfo().getUtrate());
+            // 长度是产品长度
+            balanceAccount.setLength(l.getProduct().getLenght());
+            balanceAccount.setSupplier(l.getSupplier());
+
             addList.add(balanceAccount);
         });
         return addList;

+ 1 - 0
src/main/java/cn/ezhizao/project/business/controller/BizOutsourceBalanceAccountController.java

@@ -49,6 +49,7 @@ public class BizOutsourceBalanceAccountController extends BaseController
     @GetMapping("/list")
     public TableDataInfo list(BizOutsourceBalanceAccount bizOutsourceBalanceAccount) throws NoSuchFieldException, IllegalAccessException
     {
+        startPage();
         setTenantId(bizOutsourceBalanceAccount);
         List<BizOutsourceBalanceAccount> list = bizOutsourceBalanceAccountService.getList(bizOutsourceBalanceAccount);
         return getDataTable(list);

+ 47 - 46
src/main/java/cn/ezhizao/project/business/controller/BizProductionPlanDetailSubDetailController.java

@@ -66,7 +66,6 @@ public class BizProductionPlanDetailSubDetailController extends BaseController {
     HttpServletRequest request;
 
 
-
     /**
      * 查询生产子计划明细列表
      */
@@ -79,6 +78,7 @@ public class BizProductionPlanDetailSubDetailController extends BaseController {
         List<BizProductionPlanDetailSubDetail> list = bizProductionPlanDetailSubDetailService.getList(bizProductionPlanDetailSubDetail);
         return getDataTable(list);
     }
+
     @GetMapping("/getDept")
     public AjaxResult getDept() throws NoSuchFieldException, IllegalAccessException {
         Long userId = SecurityUtils.getLoginUser().getUser().getUserId();
@@ -86,8 +86,8 @@ public class BizProductionPlanDetailSubDetailController extends BaseController {
 
         QueryWrapper<SysDeptUser> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("user_id", userId);
-        queryWrapper.eq("deleted",0);
-        queryWrapper.eq("is_formman",1);
+        queryWrapper.eq("deleted", 0);
+        queryWrapper.eq("is_formman", 1);
 //        if (!"0".equals(tenantId)) {
 //            queryWrapper.eq("tenant_id", Long.valueOf(tenantId));
 //        }
@@ -105,8 +105,6 @@ public class BizProductionPlanDetailSubDetailController extends BaseController {
     }
 
 
-
-
     /**
      * 查询当前工段
      */
@@ -115,33 +113,32 @@ public class BizProductionPlanDetailSubDetailController extends BaseController {
     public AjaxResult specialGetDeptList() throws NoSuchFieldException, IllegalAccessException {
         Long userId = SecurityUtils.getLoginUser().getUser().getUserId();
         List<Long> ids = new ArrayList<>();
-        boolean isDispatch = false;
-        if (userId != 1) {
-            QueryWrapper<SysDeptUser> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("user_id", userId);
-            queryWrapper.eq("deleted", 0);
-            List<SysDeptUser> deptUserList = deptUserService.list(queryWrapper);
-            if (deptUserList.size() > 0) {
-                for (SysDeptUser item : deptUserList) {
-                    ids.add(item.getDeptId());
-                }
-            } else {
-                userId = 1L;
+        //先查询登陆人员的部门信息
+        QueryWrapper<SysDeptUser> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("user_id", userId);
+        queryWrapper.eq("deleted", 0);
+        List<SysDeptUser> deptUserList = deptUserService.list(queryWrapper);
+        if (deptUserList.size() > 0) {
+            for (SysDeptUser item : deptUserList) {
+                ids.add(item.getDeptId());
             }
         }
-        //管理员能看到所有工段
-        if(userId == 1L) {
-            isDispatch = true;
+
+        List<SysDept> deptOptions = new ArrayList<>();
+        if(!ids.isEmpty()){
+            deptOptions = deptService.getDeptOptions(ids);
+        }
+
+        if (deptOptions.isEmpty()) {
             SysDept sysDept = new SysDept();
             sysDept.setType("0");
             sysDept.setIsWorkSection(1);
             List<SysDept> deptList = deptService.selectDeptList(sysDept);
             ids = deptList.stream().map(SysDept::getDeptId).collect(Collectors.toList());
-        }
-        List<SysDept> deptOptions = new ArrayList<>();
-        if (ids.size() > 0) {
             deptOptions = deptService.getDeptOptions(ids);
         }
+
+
         return success(deptOptions);
     }
 
@@ -169,7 +166,7 @@ public class BizProductionPlanDetailSubDetailController extends BaseController {
             }
         }
         //管理员能看到所有工段
-        if(userId == 1L) {
+        if (userId == 1L) {
             isDispatch = true;
             SysDept sysDept = new SysDept();
             sysDept.setType("0");
@@ -184,10 +181,11 @@ public class BizProductionPlanDetailSubDetailController extends BaseController {
         TableDataInfo info = getDataTable(deptOptions);
         Map<String, Object> map = new HashMap<>();
 
-        map.put("isDispatch",isDispatch);
+        map.put("isDispatch", isDispatch);
         info.setOthers(map);
         return success(info);
     }
+
     //在这个工段下的人
     @GetMapping("/getDeptListByUserId")
     public AjaxResult getDeptListByUserId() throws NoSuchFieldException, IllegalAccessException {
@@ -208,7 +206,7 @@ public class BizProductionPlanDetailSubDetailController extends BaseController {
             }
         }
         //管理员能看到所有工段
-        if(userId == 1L) {
+        if (userId == 1L) {
             isDispatch = true;
             SysDept sysDept = new SysDept();
             sysDept.setType("0");
@@ -223,7 +221,7 @@ public class BizProductionPlanDetailSubDetailController extends BaseController {
         TableDataInfo info = getDataTable(deptOptions);
         Map<String, Object> map = new HashMap<>();
 
-        map.put("isDispatch",isDispatch);
+        map.put("isDispatch", isDispatch);
         info.setOthers(map);
         return success(info);
     }
@@ -263,10 +261,10 @@ public class BizProductionPlanDetailSubDetailController extends BaseController {
     @GetMapping(value = "/getLastLotStatus/{id}")
     public AjaxResult getLastLotStatus(@PathVariable("id") Long id) {
         QueryWrapper<BizProductionPlanDetailSubDetail> queryWrapper = new QueryWrapper<>();
-          queryWrapper.eq("production_plan_detail_id", id)
+        queryWrapper.eq("production_plan_detail_id", id)
                 .eq("deleted", 0)
                 .eq("last_lot_status", 1);
-          Boolean lastLotStat = bizProductionPlanDetailSubDetailService.list(queryWrapper).size()>0?true:false;
+        Boolean lastLotStat = bizProductionPlanDetailSubDetailService.list(queryWrapper).size() > 0 ? true : false;
         return success(lastLotStat);
     }
 
@@ -330,6 +328,9 @@ public class BizProductionPlanDetailSubDetailController extends BaseController {
          */
         // 20240703 生产批次工艺版本变更 当前工艺版本需要查询最新的工艺版本保存。
         BizTechnologicalProcess bizTechnologicalProcess = bizTechnologicalProcessService.query().eq("product_id", bizProductionPlanDetailSubDetail.getProductId()).eq("technology_version", bizProductionPlanDetailSubDetail.getTechnologyVersion()).eq("is_history", 0).one();
+        if (bizTechnologicalProcess == null) {
+            return error("该产品下没有工序信息,请同步产品信息或检查产品数据");
+        }
         bizProductionPlanDetailSubDetail.setTechnologicalProcessId(bizTechnologicalProcess.getId());
 
         /* 获取生成计划明细 */
@@ -339,8 +340,8 @@ public class BizProductionPlanDetailSubDetailController extends BaseController {
         final int lastLotQuantity = planDetail.getLastLotQuantity();
         final String baseCode = planDetail.getProductionPlanNo().substring(0, 4);
         final String baseCodeSeq = planDetail.getProductionPlanNo().substring(4, 7) + planDetail.getLineNumber().toString();
-        List<BizLot> productionPlanDetailId = bizLotService.query().eq("production_plan_detail_id", planDetail.getId()).eq("deleted",0).list();
-        if (productionPlanDetailId.size()==0){
+        List<BizLot> productionPlanDetailId = bizLotService.query().eq("production_plan_detail_id", planDetail.getId()).eq("deleted", 0).list();
+        if (productionPlanDetailId.size() == 0) {
             List<BizLot> bizLotList = new ArrayList<>();
             for (int i = 0; i < lotNumber; ++i) {
                 BizLot bizLot = new BizLot();
@@ -372,27 +373,27 @@ public class BizProductionPlanDetailSubDetailController extends BaseController {
             bizLotService.saveOrUpdateBatch(bizLotList);
         }
 
-        SysDept dept =deptService.selectDeptById(bizProductionPlanDetailSubDetail.getDeptId());
+        SysDept dept = deptService.selectDeptById(bizProductionPlanDetailSubDetail.getDeptId());
         //判断是否自动分配
-        if(dept.getAutoAllocation()==1){
+        if (dept.getAutoAllocation() == 1) {
 
             //查询资源组数据
-            BizProductionResourceGroup group=new BizProductionResourceGroup();
+            BizProductionResourceGroup group = new BizProductionResourceGroup();
             group.setDeptId(dept.getDeptId());
             group.setIsDeactivate(0);
-            List<BizProductionResourceGroup>  groupList =bizProductionResourceGroupService.getList(group);
+            List<BizProductionResourceGroup> groupList = bizProductionResourceGroupService.getList(group);
 
             //查询是否分配过
-            BizProductionResourceGroupSubPlan subPlan=new BizProductionResourceGroupSubPlan();
+            BizProductionResourceGroupSubPlan subPlan = new BizProductionResourceGroupSubPlan();
             subPlan.setProductionPlanDetailId(bizProductionPlanDetailSubDetail.getProductionPlanDetailId());
             subPlan.setDeptId(dept.getDeptId());
-            List<BizProductionResourceGroupSubPlan>  list= bizProductionResourceGroupSubPlanService.getAotList(subPlan);
+            List<BizProductionResourceGroupSubPlan> list = bizProductionResourceGroupSubPlanService.getAotList(subPlan);
             //如果有数据代表分配过
-            if(list.size()==0){
+            if (list.size() == 0) {
                 //当没有分配过时,分配给所有资源组
-                List<BizProductionResourceGroupSubPlan> planList=new ArrayList<>();
-                for (BizProductionResourceGroup item: groupList) {
-                    BizProductionResourceGroupSubPlan plan=new BizProductionResourceGroupSubPlan();
+                List<BizProductionResourceGroupSubPlan> planList = new ArrayList<>();
+                for (BizProductionResourceGroup item : groupList) {
+                    BizProductionResourceGroupSubPlan plan = new BizProductionResourceGroupSubPlan();
                     plan.setProductionPlanDetailId(bizProductionPlanDetailSubDetail.getProductionPlanDetailId());
                     plan.setProductId(bizProductionPlanDetailSubDetail.getProductId());
                     plan.setTechnologicalProcessId(bizProductionPlanDetailSubDetail.getTechnologicalProcessId());
@@ -431,14 +432,14 @@ public class BizProductionPlanDetailSubDetailController extends BaseController {
     public AjaxResult remove(@PathVariable List<Long> ids) {
         //如果已经投产的生产子计划已经生成批次,则不能删除
         QueryWrapper<BizProductionPlanDetailSubDetail> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("id",ids.get(0));
+        queryWrapper.eq("id", ids.get(0));
         BizProductionPlanDetailSubDetail bizProductionPlanDetailSubDetail = bizProductionPlanDetailSubDetailService.list(queryWrapper).get(0);
         QueryWrapper<BizDaywork> query = new QueryWrapper<>();
-        query.eq("production_plan_detail_id",bizProductionPlanDetailSubDetail.getProductionPlanDetailId());
-        query.eq("deleted",0);
+        query.eq("production_plan_detail_id", bizProductionPlanDetailSubDetail.getProductionPlanDetailId());
+        query.eq("deleted", 0);
         List<BizDaywork> list = dayworkService.list(query);
-        if(list.size()>0) {
-           return error("该批次已经生成就不能删除子计划");
+        if (list.size() > 0) {
+            return error("该批次已经生成就不能删除子计划");
         }
         return toAjax(bizProductionPlanDetailSubDetailService.removeBatchByIds(ids));
     }

+ 5 - 1
src/main/java/cn/ezhizao/project/business/domain/BizOutsourceBalanceAccount.java

@@ -43,7 +43,11 @@ public class BizOutsourceBalanceAccount extends BaseEntity
     private String supplierCode;
 
     /** 外协单明细外键 */
-    @ApiModelProperty(value = "外协商code")
+    @ApiModelProperty(value = "外协单外键")
+    private Long outsourceOrderId;
+
+    /** 外协单明细外键 */
+    @ApiModelProperty(value = "外协单明细外键")
     private Long outsourceOrderDetailId;
 
     /** 外协明细工序外键 */

+ 5 - 0
src/main/java/cn/ezhizao/project/business/domain/BizSupplier.java

@@ -79,4 +79,9 @@ public class BizSupplier extends BaseEntity {
     @Excel(name = "Y有表面处理按售价-工序单价计算N无表面处理工序")
     @ApiModelProperty(value = "Y有表面处理按售价-工序单价计算N无表面处理工序")
     private String surfaceTreatment;
+
+    /** 运费扣款单价 */
+    @Excel(name = "运费扣款单价")
+    @ApiModelProperty(value = "运费扣款单价")
+    private BigDecimal freightDeductUnitPrice;
 }

+ 1 - 0
src/main/resources/mybatis/business/BizInspectionStandardsMapper.xml

@@ -21,6 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
             <if test="standard != null  and standard != ''"> AND standard = #{standard}</if>
         </trim>
+        ORDER BY create_time DESC
     </select>
     <select id="getCheckStandardList" resultType="cn.ezhizao.project.business.domain.BizInspectionStandardsCheck">
             select * from biz_inspection_standards_check where standards_id = #{id} and deleted = 0

+ 0 - 1
src/main/resources/mybatis/system/SysDeptMapper.xml

@@ -36,7 +36,6 @@
 		<foreach collection="list" item="ids" open="(" separator="," close=")">
 			#{ids}
 		</foreach>
-
 	</select>
 
 	<select id="selectDeptList" parameterType="SysDept" resultMap="SysDeptResult">