Explorar o código

Merge remote-tracking branch 'origin/master'

guoyujia hai 2 semanas
pai
achega
ad84227496

+ 11 - 1
src/main/java/cn/ezhizao/framework/web/controller/BaseController.java

@@ -23,10 +23,13 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.web.bind.WebDataBinder;
 import org.springframework.web.bind.annotation.InitBinder;
 
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import java.beans.PropertyEditorSupport;
 import java.lang.reflect.Field;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -37,6 +40,8 @@ import java.util.stream.Collectors;
 public class BaseController {
     protected final Logger logger = LoggerFactory.getLogger(this.getClass());
 
+    @Resource
+    private HttpServletRequest request;
 
     /**
      * 将前台传递过来的日期格式的字符串,自动转化为Date类型
@@ -206,13 +211,18 @@ public class BaseController {
      */
     protected <T> void setTenantId(T t) throws NoSuchFieldException, IllegalAccessException {
         SysUser user = SecurityUtils.getLoginUser().getUser();
+        Long tenantId = request.getHeader("tenantId") != null && !Objects.equals(request.getHeader("tenantId"), "0") ? Long.parseLong(request.getHeader("tenantId")) : null;
         if (!user.isAdmin()) {
             Field field = t.getClass().getDeclaredField("tenantId");
             field.setAccessible(true);
-            field.set(t, user.getTenantId());
+            field.set(t, tenantId);
         }
     }
 
+    protected Long getTenantId() {
+        return request.getHeader("tenantId") != null && !Objects.equals(request.getHeader("tenantId"), "0") ? Long.parseLong(request.getHeader("tenantId")) : null;
+    }
+
 
     /**
      * 数据库连接字符串 需要开启 &rewriteBatchedStatements=true

+ 31 - 21
src/main/java/cn/ezhizao/project/business/controller/BizBeforeCheckoutVerifyController.java

@@ -8,6 +8,7 @@ import cn.ezhizao.framework.web.domain.AjaxResult;
 import cn.ezhizao.framework.web.page.TableDataInfo;
 import cn.ezhizao.project.business.domain.*;
 import cn.ezhizao.project.business.service.*;
+import cn.ezhizao.project.system.service.ISysConfigService;
 import cn.hutool.core.io.IoUtil;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
@@ -68,15 +69,21 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
     @Resource
     private IBizLotTechnologicalProcessDetailService bizLotTechnologicalProcessDetailService;
     @Value("${file.excelTemplate.url}")
-    private  String templatePath;
+    private String templatePath;
+    @Resource
+    private ISysConfigService configService;
 
     /**
      * 查询报工列表
      */
     @GetMapping("/list")
     @Log(title = "查询报工列表", businessType = BusinessType.SELECT)
-    public TableDataInfo list(BizProcessInspecion bizProcessInspecion) {
+    public TableDataInfo list(BizProcessInspecion bizProcessInspecion) throws NoSuchFieldException, IllegalAccessException {
         startPage();
+        String config = configService.selectConfigByKey("switch_data_source");
+        if ("true".equals(config)) {
+            setTenantId(bizProcessInspecion);
+        }
         //查询当前生产子计划的批次报工列表
         List<BizProcessInspecion> list = bizProcessInspecionService.getVerifyList(bizProcessInspecion);
         List<BizDaywork> dayworks = bizDayworkService.query().in("id", list.isEmpty() ? Collections.singletonList(0L) : list.stream().map(BizProcessInspecion::getDayworkId).collect(Collectors.toList())).list();
@@ -120,6 +127,7 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
 
     /**
      * 判断是否按炉结算 假设按炉结算则返回该炉的所有质检单id
+     *
      * @param bizProcessInspecion 选中的质检单
      * @return 该炉所有质检单
      */
@@ -142,15 +150,16 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
             return AjaxResult.success(Collections.singletonList(bizProcessInspecion.getId()));
         }
     }
+
     @PostMapping("/checkMultiplyFurnace")
     @Log(title = "检查炉号", businessType = BusinessType.SELECT)
     public AjaxResult checkMultiplyFurnace(@RequestBody List<BizProcessInspecion> bizProcessInspecionList) {
         List<Long> outsourcedOrderIds = bizProcessInspecionList.stream().map(BizProcessInspecion::getOutsourceOrderId).collect(Collectors.toList());
         List<BizOutsourcedOrder> bizOutsourcedOrderList = bizOutsourcedOrderService.query().in("id", outsourcedOrderIds).list();
-        List<BizOutsourcedOrderDetail> detailList = bizOutsourcedOrderDetailService.query().in("master_id",outsourcedOrderIds).list();
+        List<BizOutsourcedOrderDetail> detailList = bizOutsourcedOrderDetailService.query().in("master_id", outsourcedOrderIds).list();
         List<BizProcessInspecion> processInspecionLists = bizProcessInspecionService.query().in("outsource_order_detail_id", detailList.stream().map(BizOutsourcedOrderDetail::getId).collect(Collectors.toList())).isNull("recheck_date").eq("status", 1).list();
-       for (BizOutsourcedOrder v : bizOutsourcedOrderList){
-            if(v.getSettlementType().equals("2")){
+        for (BizOutsourcedOrder v : bizOutsourcedOrderList) {
+            if (v.getSettlementType().equals("2")) {
                 // 结算方式为按炉结算
                 // 获取该外协单的所有明细
                 List<BizOutsourcedOrderDetail> details = detailList.stream().filter(l -> l.getMasterId().equals(v.getId())).collect(Collectors.toList());
@@ -190,7 +199,7 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
             l.setMaterialLoss(materialLoss);
         });
         String template = "processInspectionTemplate";
-        String templateFilePath =  templatePath + template + ".xlsx";
+        String templateFilePath = templatePath + template + ".xlsx";
         List<Map<String, Object>> exportList = new ArrayList<>();
         list.forEach(l -> {
             Arrays.stream(l.getProcessNames().split(",")).forEach(v -> {
@@ -278,7 +287,7 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
             // 判断当有报工明细没有炉号信息则输出错误
             JSONArray array = jsonObject.getJSONArray("data");
             List<BizOutsourceBalanceAccount> returnArray = array.toList(BizOutsourceBalanceAccount.class);
-            if(returnArray.stream().anyMatch(v -> v.getBizMaterialBase() == null || v.getBizMaterialBaseInfo() == null)) {
+            if (returnArray.stream().anyMatch(v -> v.getBizMaterialBase() == null || v.getBizMaterialBaseInfo() == null)) {
                 throw new RuntimeException("有产品没有材料信息");
             }
             List<BizOutsourceBalanceAccount> addList = new ArrayList<>();
@@ -357,8 +366,8 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
                     item.setPlanAmount(BigDecimal.ONE.multiply(freightPrice).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())));
+                    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 {
                 // 八成用不上,但是假设出现多选审核就可能用得上了。
@@ -423,7 +432,7 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
     private JSONObject requestMaterialInfo(List<BizOutsourceBalanceAccount> balanceAccounts, String authorization) {
         Map<String, String> headers = new HashMap<>();
         headers.put("Authorization", authorization);
-        String result = HttpUtils.sentPostJson(p2Url + "business/outsourceBalance/getSettlementInfo",  new JSONArray(balanceAccounts).toString(), headers);
+        String result = HttpUtils.sentPostJson(p2Url + "business/outsourceBalance/getSettlementInfo", new JSONArray(balanceAccounts).toString(), headers);
         System.out.println(result);
         // 添加结算记录
         return new JSONObject(result);
@@ -518,7 +527,7 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
 //                throw new RuntimeException("找不到外协厂数据,请联系管理员");
 //            }
             balanceAccount.setSurfaceTreatment(l.getSupplier().getSurfaceTreatment());
-            if(flag.get()) {
+            if (flag.get()) {
                 balanceAccount.setCarrierNum(bizOutsourcedOrderDetail.getNewCarrierCount());
                 flag.set(false);
             }
@@ -540,7 +549,7 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
             BigDecimal processPrice = balanceAccount.getProcessPrice() == null ? BigDecimal.ZERO : balanceAccount.getProcessPrice();
 
             // 废品单价
-            if (l.getSupplier().getSurfaceTreatment().equals("N")){
+            if (l.getSupplier().getSurfaceTreatment().equals("N")) {
                 System.out.println("废品价类别:" + l.getSupplier().getWastePriceCategory());
                 System.out.println("最近采购单价:" + l.getBizMaterialBase().getZjunprc());
                 // 没表面处理时
@@ -568,7 +577,7 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
                 balanceAccount.setMaterialLossAmount(BigDecimal.valueOf(balanceAccount.getMaterialLoss()).multiply(wastePrice.multiply(BigDecimal.valueOf(120).divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP))).multiply(BigDecimal.ONE.add(BigDecimal.valueOf(l.getSupplier().getTaxRatio()).divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP));
             } else {
                 // 有时
-                if(l.getSupplier().getWastePriceCategory().equals("21")) {
+                if (l.getSupplier().getWastePriceCategory().equals("21")) {
                     //  废品价计算类别='21' 废品加工单价=round(产品单价(inc10100.unprc) -  加工单价 ,4)
                     balanceAccount.setWastePrice(l.getProduct().getUnprc().subtract(processPrice).setScale(4, RoundingMode.HALF_UP));
                 } else if (l.getSupplier().getWastePriceCategory().equals("22")) {
@@ -676,7 +685,7 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
 
             // 表面表示是否有表面处理
             balanceAccount.setSurfaceTreatment(l.getSupplier().getSurfaceTreatment());
-            if(flag.get()) {
+            if (flag.get()) {
                 balanceAccount.setCarrierNum(bizOutsourcedOrderDetail.getNewCarrierCount());
                 flag.set(false);
             }
@@ -698,7 +707,7 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
             BigDecimal processPrice = balanceAccount.getProcessPrice() == null ? BigDecimal.ZERO : balanceAccount.getProcessPrice();
 
             // 废品单价
-            if (l.getSupplier().getSurfaceTreatment().equals("N")){
+            if (l.getSupplier().getSurfaceTreatment().equals("N")) {
                 // 没表面处理时
                 if (l.getSupplier().getWastePriceCategory().equals("11")) {
                     // 废品价计算类别='11' round(实际投料量 * 原料最近采购单价[inv10100.zjunprc实时变更],4)
@@ -723,7 +732,7 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
                 balanceAccount.setMaterialLossAmount(BigDecimal.valueOf(balanceAccount.getMaterialLoss()).multiply(wastePrice.multiply(BigDecimal.valueOf(120).divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP))).multiply(BigDecimal.ONE.add(BigDecimal.valueOf(l.getSupplier().getTaxRatio()).divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP))).setScale(2, RoundingMode.HALF_UP));
             } else {
                 // 有时
-                if(l.getSupplier().getWastePriceCategory().equals("21")) {
+                if (l.getSupplier().getWastePriceCategory().equals("21")) {
                     //  废品价计算类别='21' 废品加工单价=round(产品单价(inc10100.unprc) -  加工单价 ,4)
                     balanceAccount.setWastePrice(l.getProduct().getUnprc().subtract(processPrice).setScale(4, RoundingMode.HALF_UP));
                 } else if (l.getSupplier().getWastePriceCategory().equals("22")) {
@@ -747,18 +756,19 @@ public class BizBeforeCheckoutVerifyController extends BaseController {
         });
         return addList;
     }
+
     private void delBalanceCheckout(List<BizProcessInspecion> inspections) {
         List<String> settledLotCodes = new ArrayList<>();
         // 删除结算记录
-        List<BizOutsourceBalanceAccount> balanceAccounts = bizOutsourceBalanceAccountService.query().in("process_inspection_id", inspections.isEmpty()? Collections.singletonList(0L): inspections.stream().map(BizProcessInspecion::getId).collect(Collectors.toList())).list();
-        for(BizOutsourceBalanceAccount b : balanceAccounts){
-            if(b.getStatus().equals(1)) {
-                if(!settledLotCodes.contains(b.getLotCode())){
+        List<BizOutsourceBalanceAccount> balanceAccounts = bizOutsourceBalanceAccountService.query().in("process_inspection_id", inspections.isEmpty() ? Collections.singletonList(0L) : inspections.stream().map(BizProcessInspecion::getId).collect(Collectors.toList())).list();
+        for (BizOutsourceBalanceAccount b : balanceAccounts) {
+            if (b.getStatus().equals(1)) {
+                if (!settledLotCodes.contains(b.getLotCode())) {
                     settledLotCodes.add(b.getLotCode());
                 }
             }
         }
-        if(!settledLotCodes.isEmpty()){
+        if (!settledLotCodes.isEmpty()) {
             String lotCode = String.join(", ", settledLotCodes);
             throw new RuntimeException(lotCode + "批次外协已结算,请取消结算");
         }

+ 15 - 2
src/main/java/cn/ezhizao/project/business/controller/BizDayworkController.java

@@ -12,6 +12,7 @@ import cn.ezhizao.project.business.service.*;
 import cn.ezhizao.project.system.domain.SysDept;
 import cn.ezhizao.project.system.domain.SysDeptUser;
 import cn.ezhizao.project.system.domain.SysRole;
+import cn.ezhizao.project.system.service.ISysConfigService;
 import cn.ezhizao.project.system.service.ISysDeptService;
 import cn.ezhizao.project.system.service.ISysDeptUserService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -27,6 +28,8 @@ import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
+//import static cn.ezhizao.common.utils.SecurityUtils.getTenantId;
+
 /**
  * 报工Controller
  *
@@ -111,6 +114,8 @@ public class BizDayworkController extends BaseController {
     private IBizOutsourcedOrderDetailProcessService bizOutsourcedOrderDetailProcessService;
     @Resource
     HttpServletRequest request;
+    @Resource
+    private ISysConfigService configService;
 
     /**
      * 查询报工列表
@@ -248,7 +253,7 @@ public class BizDayworkController extends BaseController {
 
     @GetMapping("/listForOutsource")
     @Log(title = "查询外协列表", businessType = BusinessType.SELECT)
-    public TableDataInfo listForOutsource(BizDaywork bizDaywork) {
+    public TableDataInfo listForOutsource(BizDaywork bizDaywork) throws NoSuchFieldException, IllegalAccessException {
         // 已经在页面中存在的daywork id
         List<Long> existingDayworkIds = bizDaywork.getExistingDayworkIds();
         BizDayworkItem dayworkItem = new BizDayworkItem();
@@ -263,6 +268,10 @@ public class BizDayworkController extends BaseController {
         }
         bizDaywork.setDayworkIds(dayworkIds);
         startPage();
+        String config = configService.selectConfigByKey("switch_data_source");
+        if ("true".equals(config)) {
+            setTenantId(bizDaywork);
+        }
         List<BizDaywork> dayworkList = bizDayworkService.getListForOutsource(bizDaywork);
         long total = new PageInfo(dayworkList).getTotal();
         //根据查询的daywork信息上发出单查询是否存在
@@ -383,7 +392,8 @@ public class BizDayworkController extends BaseController {
 
     @GetMapping("/processesForOutsource")
     @Log(title = "查询外协工序", businessType = BusinessType.SELECT)
-    public TableDataInfo listProcessesForOutsource(BizDaywork bizDaywork) {
+    public TableDataInfo listProcessesForOutsource(BizDaywork bizDaywork) throws NoSuchFieldException, IllegalAccessException {
+        String config = configService.selectConfigByKey("switch_data_source");
         //查找当前生产子计划的批次报工信息,找到最后一条包报工信息
         BizDaywork daywork = bizDayworkService.query().eq("lot_id", bizDaywork.getLotId()).eq("deleted", 0).one();
         BizDayworkItem dayworkItem = new BizDayworkItem();
@@ -400,6 +410,9 @@ public class BizDayworkController extends BaseController {
             return getDataTable(processList);
         }
         dayworkItem.setKeyword(bizDaywork.getKeyword());
+        if ("true".equals(config)) {
+            setTenantId(dayworkItem);
+        }
 
         //根据当前工序查找之后的工序列表
         //是否单批单改或废品回用

+ 4 - 2
src/main/java/cn/ezhizao/project/business/controller/BizLotTechnologicalProcessController.java

@@ -6,9 +6,11 @@ import java.util.stream.Collectors;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
+import cn.ezhizao.common.utils.SecurityUtils;
 import cn.ezhizao.common.utils.poi.ExcelUtil;
 import cn.ezhizao.framework.aspectj.lang.annotation.Log;
 import cn.ezhizao.framework.aspectj.lang.enums.BusinessType;
+import cn.ezhizao.framework.config.SecurityConfig;
 import cn.ezhizao.framework.web.controller.BaseController;
 import cn.ezhizao.framework.web.domain.AjaxResult;
 import cn.ezhizao.framework.web.page.TableDataInfo;
@@ -410,6 +412,7 @@ public class BizLotTechnologicalProcessController extends BaseController {
                     amendDetail.setProductShaftCategory(amend.getProductShaftCategory());
                     amendDetail.setProductShaftCategoryName(amend.getProductShaftCategoryName());
                     amendDetail.setProductDescription(amend.getProductDescription());
+                    amendDetail.setTenantId(detail.getTenantId() != null ? detail.getTenantId() : SecurityUtils.getTenantId());
                     amendDetailList.add(amendDetail);
                 }
                 bizLotTechnologicalProcessDetailService.saveBatch(amendDetailList);
@@ -506,6 +509,7 @@ public class BizLotTechnologicalProcessController extends BaseController {
                 amendDetail.setProductShaftCategory(amend.getProductShaftCategory());
                 amendDetail.setProductShaftCategoryName(amend.getProductShaftCategoryName());
                 amendDetail.setProductDescription(amend.getProductDescription());
+                amendDetail.setTenantId(detail.getTenantId() != null ? detail.getTenantId() : SecurityUtils.getTenantId());
                 amendDetailList.add(amendDetail);
             }
             bizLotTechnologicalProcessDetailService.saveBatch(amendDetailList);
@@ -660,8 +664,6 @@ public class BizLotTechnologicalProcessController extends BaseController {
                 BizLotTechnologicalProcessDetail bizLotTechnologicalProcessDetail = lotTechnologicalProcessDetailList.stream().filter(v -> v.getProcessId().equals(item.getProcessId()) && v.getProcessStepNumber().equals(item.getProcessStepNumber())).findFirst().orElse(null);
                 item.setTechnologicalProcessId(bizLotTechnologicalProcessDetail.getLotTechnologicalProcessId());
                     item.setTechnologicalProcessDetailId(bizLotTechnologicalProcessDetail.getId());
-
-
             });
             bizOutsourcedOrderDetailProcessService.updateBatchById(outsourecdOrderDetailProcessList);
             //收回明细

+ 14 - 8
src/main/java/cn/ezhizao/project/business/controller/BizOutsourcedOrderController.java

@@ -26,13 +26,13 @@ import cn.ezhizao.project.business.service.*;
 import cn.ezhizao.project.business.service.impl.IBizOutsourcedRecordsService;
 import cn.ezhizao.project.system.domain.SysDept;
 import cn.ezhizao.project.system.domain.SysUser;
+import cn.ezhizao.project.system.service.ISysConfigService;
 import cn.ezhizao.project.system.service.ISysDeptService;
 import cn.ezhizao.project.system.service.ISysUserService;
 import cn.hutool.extra.template.TemplateException;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import freemarker.template.Template;
 import lombok.Data;
-import net.sf.jsqlparser.expression.LongValue;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.transaction.annotation.Transactional;
@@ -116,6 +116,8 @@ public class BizOutsourcedOrderController extends BaseController {
     private IBizDayworkItemExamineService bizDayworkItemExamineService;
     @Resource
     HttpServletRequest request;
+    @Resource
+    private ISysConfigService configService;
 
     /**
      * 查询外协单主
@@ -819,7 +821,7 @@ public class BizOutsourcedOrderController extends BaseController {
     @PostMapping("/submitInnerDetails")
     @Transactional
     public AjaxResult submitInnerDetails(@RequestBody BizOutsourcedOrder bizOutsourcedOrder) throws NoSuchFieldException, IllegalAccessException {
-        bizOutsourcedOrder.setTenantId(SecurityUtils.getLoginUser().getTenantId());
+        bizOutsourcedOrder.setTenantId(getTenantId());
         Boolean isFirst = true;
         //若有id,则说将之前的明细删除不生成新的单号
         if (bizOutsourcedOrder.getId() != null) {
@@ -1023,7 +1025,7 @@ public class BizOutsourcedOrderController extends BaseController {
     @PostMapping("/submitDetailsOnFirst")
     @Transactional
     public AjaxResult submitDetailsOnFirst(@RequestBody BizOutsourcedOrder bizOutsourcedOrder) throws NoSuchFieldException, IllegalAccessException {
-        bizOutsourcedOrder.setTenantId(SecurityUtils.getLoginUser().getTenantId());
+        bizOutsourcedOrder.setTenantId(getTenantId());
         //若有id,则说将之前的明细删除不生成新的单号
 //        List<BizOutsourcedOrderDetail> insertDetail = new ArrayList<>();
 //        List<BizOutsourcedOrderDetail> updateDetail = new ArrayList<>();
@@ -1161,7 +1163,7 @@ public class BizOutsourcedOrderController extends BaseController {
             daywork.setIsAmend(lot != null ? lot.getIsAmend() : null);
             daywork.setIsWasteRecycling(lot != null ? lot.getIsWasteRecycling() : null);
             daywork.setId(snowflakeIdWorker.nextId());
-            daywork.setTenantId(SecurityUtils.getLoginUser().getTenantId());
+            daywork.setTenantId(getTenantId());
             daywork.setStatus(1);
             dayworks.add(daywork);
             BizOutsourcedRecords record = new BizOutsourcedRecords();
@@ -1221,7 +1223,7 @@ public class BizOutsourcedOrderController extends BaseController {
                 item.setTechnologicalProcessDetailId(v.getTechnologicalProcessDetailId());
                 item.setIsWx(1);
                 item.setNickName(bizOutsourcedOrder.getSupplierName());
-                item.setTenantId(SecurityUtils.getLoginUser().getTenantId());
+                item.setTenantId(getTenantId());
                 items.add(item);
             });
 
@@ -1481,7 +1483,7 @@ public class BizOutsourcedOrderController extends BaseController {
             item.setProductionPlanDetailId(v.getDetail().getProductionPlanDetailId());
             item.setTechnologicalProcessId(v.getDetail().getTechnologicalProcessId());
             item.setTechnologicalProcessDetailId(v.getTechnologicalProcessDetailId());
-            item.setTenantId(SecurityUtils.getLoginUser().getTenantId());
+            item.setTenantId(getTenantId());
             item.setIsWx(1);
             items.add(item);
         });
@@ -1846,6 +1848,10 @@ public class BizOutsourcedOrderController extends BaseController {
         bizProductionPlanDetail.setDeptId(dept != null ? dept.getValue() : null);
         startPage();
         bizProductionPlanDetail.setRemainLot(true);
+        String config = configService.selectConfigByKey("switch_data_source");
+        if ("true".equals(config)) {
+            setTenantId(bizProductionPlanDetail);
+        }
         List<BizProductionPlanDetail> list = bizProductionPlanDetailService.getListForOutsource(bizProductionPlanDetail);
         return getDataTable(list);
     }
@@ -1988,7 +1994,7 @@ public class BizOutsourcedOrderController extends BaseController {
             daywork.setIsWaste(lot != null ? lot.getIsWaste() : null);
             daywork.setIsAmend(lot != null ? lot.getIsAmend() : null);
             daywork.setIsWasteRecycling(lot != null ? lot.getIsWasteRecycling() : null);
-            daywork.setTenantId(SecurityUtils.getLoginUser().getTenantId());
+            daywork.setTenantId(getTenantId());
             daywork.setId(snowflakeIdWorker.nextId());
             daywork.setStatus(1);
             dayworks.add(daywork);
@@ -2048,7 +2054,7 @@ public class BizOutsourcedOrderController extends BaseController {
                 item.setTechnologicalProcessId(l.getTechnologicalProcessId());
                 item.setTechnologicalProcessDetailId(v.getTechnologicalProcessDetailId());
                 item.setIsWx(1);
-                item.setTenantId(SecurityUtils.getLoginUser().getTenantId());
+                item.setTenantId(getTenantId());
                 item.setNickName(finalBizOutsourcedOrder.getSupplierName());
                 items.add(item);
             });

+ 7 - 0
src/main/java/cn/ezhizao/project/business/controller/BizOutsourcedOrderDetailController.java

@@ -11,6 +11,7 @@ import cn.ezhizao.project.business.domain.*;
 import cn.ezhizao.project.business.service.IBizOutsourcedOrderDetailProcessService;
 import cn.ezhizao.project.business.service.IBizReturnReceiptDetailService;
 import cn.ezhizao.project.business.service.IBizReturnReceiptService;
+import cn.ezhizao.project.system.service.ISysConfigService;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -46,6 +47,8 @@ public class BizOutsourcedOrderDetailController extends BaseController
     private IBizReturnReceiptDetailService bizReturnReceiptDetailService;
     @Resource
     private IBizReturnReceiptService bizReturnReceiptService;
+    @Resource
+    private ISysConfigService configService;
 
     /**
      * 查询外协单从列表
@@ -139,6 +142,10 @@ public class BizOutsourcedOrderDetailController extends BaseController
          2、把已经报工完成的外协明细列出来
          */
         startPage();
+        String config = configService.selectConfigByKey("switch_data_source");
+        if ("true".equals(config)) {
+            setTenantId(bizOutsourcedOrderDetail);
+        }
         List<BizOutsourcedOrderDetail> list = bizOutsourcedOrderDetailService.getListForReceipt(bizOutsourcedOrderDetail);
         list.forEach(detail -> {
             // 将字符串拆分转为对象

+ 8 - 2
src/main/java/cn/ezhizao/project/business/controller/BizReturnReceiptController.java

@@ -20,6 +20,7 @@ import cn.ezhizao.framework.web.page.TableDataInfo;
 import cn.ezhizao.project.business.domain.*;
 import cn.ezhizao.project.business.service.*;
 import cn.ezhizao.project.system.domain.SysDept;
+import cn.ezhizao.project.system.service.ISysConfigService;
 import cn.ezhizao.project.system.service.ISysDeptService;
 import cn.hutool.core.date.DateTime;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -77,6 +78,8 @@ public class BizReturnReceiptController extends BaseController
     private IBizCarrierCategoryService bizCarrierCategoryService;
     @Resource
     HttpServletRequest request;
+    @Resource
+    private ISysConfigService configService;
 
     final private String processInspectionNoKey = "processInspectionCode";
 
@@ -89,7 +92,10 @@ public class BizReturnReceiptController extends BaseController
     @Log(title = "查询外协单列表", businessType = BusinessType.SELECT)
     public TableDataInfo list(BizReturnReceipt bizReturnReceipt) throws NoSuchFieldException, IllegalAccessException
     {
-        setTenantId(bizReturnReceipt);
+        String config = configService.selectConfigByKey("switch_data_source");
+        if ("true".equals(config)) {
+            setTenantId(bizReturnReceipt);
+        }
         if(bizReturnReceipt.getStartTime()!=null) {
             bizReturnReceipt.setStartTime(bizReturnReceipt.getStartTime()+ " 00:00:00");
         }
@@ -681,7 +687,7 @@ public class BizReturnReceiptController extends BaseController
                     bizProcessInspecion.setCarrierId(lastProcess.getCarriers().isEmpty() ? 0L : lastProcess.getCarriers().get(0).getId());
                     bizProcessInspecion.setCarrierCode(lastProcess.getCarriers().isEmpty() ? "" : lastProcess.getCarriers().get(0).getCode());
                     bizProcessInspecion.setDayworkItemId(lastProcess.getDayworkItemId());
-                    bizProcessInspecion.setTenantId(getLoginUser().getTenantId());
+                    bizProcessInspecion.setTenantId(getTenantId());
 //                    bizProcessInspecion.setUserId(getLoginUser().getUserId());
 //                    bizProcessInspecion.setUserName(getLoginUser().getUser().getUserName());
                     bizProcessInspecion.setReviewerId(getLoginUser().getUserId());

+ 7 - 1
src/main/java/cn/ezhizao/project/business/controller/BizReturnTurnoverController.java

@@ -12,6 +12,7 @@ import cn.ezhizao.project.business.domain.*;
 import cn.ezhizao.project.business.service.*;
 import cn.ezhizao.project.system.domain.SysDept;
 import cn.ezhizao.project.system.mapper.SysDeptMapper;
+import cn.ezhizao.project.system.service.ISysConfigService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -84,6 +85,8 @@ public class BizReturnTurnoverController extends BaseController {
     private RedisCache redisCache;
     @Resource
     HttpServletRequest request;
+    @Resource
+    private ISysConfigService configService;
 
     /**
      * 查询外协单主
@@ -93,7 +96,10 @@ public class BizReturnTurnoverController extends BaseController {
     @GetMapping("/getFinishedReturnList")
     @Log(title = "获取外协收回周转列表", businessType = BusinessType.SELECT)
     public TableDataInfo getFinishedReturnList(BizOutsourcedOrderDetail bizOutsourcedOrderDetail) throws NoSuchFieldException, IllegalAccessException {
-        setTenantId(bizOutsourcedOrderDetail);
+        String config = configService.selectConfigByKey("switch_data_source");
+        if ("true".equals(config)) {
+            setTenantId(bizOutsourcedOrderDetail);
+        }
         if (bizOutsourcedOrderDetail.getStartTime() != null) {
             bizOutsourcedOrderDetail.setStartTime(bizOutsourcedOrderDetail.getStartTime() + " 00:00:00");
         }

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

@@ -22,6 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         SELECT * FROM biz_lot_technological_process_detail
         <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
             deleted = 0
+            <if test="tenantId != null" > AND tenant_id = #{tenantId}</if>
             <if test="technologicalProcessId != null">AND lot_technological_process_id = #{technologicalProcessId}</if>
             <if test="processStepNumber != null  and processStepNumber!=''">AND process_step_number > #{processStepNumber}</if>
             <if test="keyword != null  and keyword != ''">AND (process_key LIKE concat('%', #{keyword}, '%')or

+ 2 - 0
src/main/resources/mybatis/business/BizOutsourcedOrderDetailMapper.xml

@@ -106,6 +106,7 @@ and deleted = 0 and daywork_id = t1.daywork_id and process_inspection_id = 0) as
             t1.deleted = 0 and t3.deleted = 0 and t3.is_audit = 1
             <!-- 且未完成最后一道序 -->
 <!--            and t4.status &lt; 2-->
+            <if test="tenantId != null "> AND t1.tenant_id = #{tenantId}</if>
             <if test="returnFormCode != null  and returnFormCode != ''"> AND t3.form_code like concat('%', #{returnFormCode}, '%')</if>
             <if test="productDescription != null "> AND t1.product_description like concat('%', #{productDescription}, '%')</if>
             <if test="supplierName != null  and supplierName != ''"> AND t1.supplier_name like concat('%', #{supplierName}, '%')</if>
@@ -221,6 +222,7 @@ and deleted = 0 and daywork_id = t1.daywork_id and process_inspection_id = 0) as
             <if test="originalCarrier != null "> AND t1.original_carrier LIKE CONCAT('%', #{originalCarrier}, '%')</if>
             <if test="newCarrier != null "> AND t1.new_carrier_name LIKE CONCAT('%', #{newCarrier}, '%')</if>
             <if test="supplierId != null "> AND t1.supplier_id = #{supplierId}</if>
+            <if test="tenantId != null"> AND t1.tenant_id = #{tenantId}</if>
         </trim>
     </select>
     <select id="getListForAllReceipt" parameterType="BizOutsourcedOrderDetail" resultMap="BizOutsourcedOrderDetailResult">

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

@@ -14,6 +14,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         SELECT * FROM biz_outsourced_order
         <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
             deleted = 0
+            <if test="tenantId != null and tenantId != 0"> AND tenant_id = #{tenantId}</if>
             <if test="formCode != null  and formCode != ''"> AND form_code like concat('%',#{formCode},'%')</if>
             <if test="formDate != null "> AND form_date = #{formDate}</if>
             <if test="supplierName != null  and supplierName != ''"> AND supplier_name like concat('%', #{supplierName}, '%')</if>

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

@@ -46,6 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             t.deleted = 0 and t.recheck_date is null and t.status = 1 and t.is_outsourced_inspection = 1 and rrd.deleted = 0 and oo.deleted = 0
             and not exists (select 1 from biz_outsourced_order oo left join biz_outsourced_order_detail od on od.master_id = oo.id left join biz_process_inspecion pi on pi.outsource_order_detail_id = od.id  where oo.id = t.outsource_order_id and oo.settlement_type = 2 and pi.recheck_date is null and (pi.id is null or pi.status != 1) and pi.deleted = 0 and od.deleted = 0)
             <if test="lotCode != null  and lotCode != ''">AND t.lot_code like concat ('%',#{lotCode},'%')</if>
+            <if test="tenantId != null"> AND t.tenant_id = #{tenantId} </if>
             <if test="userId != null  ">AND t.user_id = #{userId}</if>
             <if test="status != null ">AND t.status = #{status}</if>
             <if test="startTime != null"> AND DATE(t.start_time) &gt;= #{startTime}</if>

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

@@ -18,6 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="endTime != null ">AND form_date &lt;= #{endTime}</if>
             <if test="supplierName != null  and supplierName != ''"> AND supplier_name like concat('%', #{supplierName}, '%')</if>
             <if test="status != null "> AND status = #{status}</if>
+            <if test="tenantId != null "> AND tenant_id = #{tenantId}</if>
         </trim>
         order by create_time desc
     </select>

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

@@ -39,6 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         SELECT * FROM biz_technological_process_detail
         <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
             deleted = 0 and tenant_id != 9
+            <if test="tenantId != null" > AND tenant_id = #{tenantId}</if>
             <if test="technologicalProcessId!= null"> AND technological_process_id = #{technologicalProcessId}</if>
             <if test="processStepNumber != null and processStepNumber!=''">AND process_step_number > #{processStepNumber}</if>
             <if test="keyword != null  and keyword != ''">AND (process_key LIKE concat('%', #{keyword}, '%')or