yzc пре 1 година
родитељ
комит
d71b29e308

+ 5 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/production/dto/ProduceOrderDetailSelectDto.java

@@ -52,4 +52,9 @@ public class ProduceOrderDetailSelectDto extends BaseSelectDto {
      */
     private Integer contractType;
 
+    /**
+     * 业务公司
+     */
+    private Long contractCompanyId;
+
 }

+ 5 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/production/dto/ProduceOrderSelectDto.java

@@ -64,4 +64,9 @@ public class ProduceOrderSelectDto extends BaseSelectDto {
      */
     private Integer contractType;
 
+    /**
+     * 业务公司
+     */
+    private Long contractCompanyId;
+
 }

+ 5 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/production/vo/ProductionOrderDetailVo.java

@@ -113,6 +113,11 @@ public class ProductionOrderDetailVo extends ProductionOrderDetail {
     private List<ContractProductBomVo> contractProductBomList;
 
     /**
+     * BOM列表
+     */
+    private List<ContractProductBomVo> contractProductAllBomList;
+
+    /**
      * 投产时间
      */
     private Date produceTime;

+ 6 - 1
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProduceOrderDetailServiceImpl.java

@@ -98,6 +98,9 @@ public class ProduceOrderDetailServiceImpl extends ServiceImpl<ProduceOrderDetai
         wrapper.in("po", ProductionOrder::getCompanyId, SecurityUtils.getCompanyIds());
         wrapper.eq("po", ProductionOrder::getCompanyId, dto.getCompanyId());
 
+        //业务公司过滤
+        wrapper.eq("c.of_company_id", dto.getContractCompanyId());
+
 
         //是否逾期过滤
         if (ObjectUtil.isNotEmpty(dto.getIsOverdue())) {
@@ -166,7 +169,6 @@ public class ProduceOrderDetailServiceImpl extends ServiceImpl<ProduceOrderDetai
 
 
         //获取生产公司信息
-        List<Long> companyIds = records.stream().map(ProductionOrderDetail::getCompanyId).collect(Collectors.toList());
         Map<Long, String> companyNameMap = DeptUstil.getDeptNameMap(null);
 
 
@@ -296,6 +298,9 @@ public class ProduceOrderDetailServiceImpl extends ServiceImpl<ProduceOrderDetai
             //赋值BOM信息
             detail.setContractProductBomList(otherBomMap.get(detail.getContractDetailId()));
 
+            //赋值BOM信息
+            detail.setContractProductAllBomList(bomMap.get(detail.getContractDetailId()));
+
             //赋值生产进度列表
             detail.setProductionTaskProgressList(ptpMap.get(detail.getId()));
         }

+ 3 - 2
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProduceOrderServiceImpl.java

@@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.entity.AvailableStockBo;
@@ -131,6 +130,8 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
         //权限过滤:生产订单
         wrapper.in("po", ProductionOrder::getCompanyId, SecurityUtils.getCompanyIds());
         wrapper.eq("po", ProductionOrder::getCompanyId, dto.getCompanyId());
+        //业务公司过滤
+        wrapper.eq("c.of_company_id", dto.getContractCompanyId());
 
 
         //是否逾期过滤
@@ -175,7 +176,7 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
         Map<Long, String> sysDeptMap = new HashMap<>();
         List<Long> companyIds = records.stream().map(ProductionOrder::getCompanyId).collect(Collectors.toList());
         if (ObjectUtil.isNotEmpty(companyIds)) {
-            List<SysDept> deptList = sysDeptService.list(Wrappers.<SysDept>query().in("dept_id", companyIds));
+            List<SysDept> deptList = sysDeptService.list();
             sysDeptMap = deptList.stream().collect(Collectors.toMap(SysDept::getDeptId, SysDept::getDeptName));
         }
 

+ 31 - 31
hx-mes/src/main/resources/mapper/production/ProduceOrderDetailMapper.xml

@@ -3,35 +3,35 @@
 <mapper namespace="com.fjhx.mes.mapper.production.ProduceOrderDetailMapper">
 	<select id="getPage" resultType="com.fjhx.mes.entity.production.vo.ProductionOrderDetailVo">
 		SELECT pod.id,
-			   pod.produce_order_id,
-			   pod.contract_id,
-			   pod.contract_detail_id,
-			   pod.product_id,
-			   pod.quantity,
-			   pod.finish_quantity,
-			   pod.produce_status,
-			   pod.finish_time,
-			   pod.tenant_id,
-			   pod.create_user,
-			   pod.create_time,
-			   pod.update_user,
-			   pod.update_time,
-			   pod.del_flag,
-			   po.code                                                        AS orderCode,
-			   po.create_time                                                 AS orderCreateTime,
-			   po.produce_time,
-			   po.delivery_period,
-			   po.company_id,
-			   (if(IFNULL(po.finish_time, NOW()) > po.delivery_period, 1, 0)) AS isOverdue,
-			   pod.remark,
-			   c.prod_tag,
-			   c.prod_remark,
-			   c.create_user                                                  as saleUserId,
-			   c.contract_type,
-			   c.company_id                                                   as contractCompanyId
-		FROM production_order_detail pod
-				 LEFT JOIN production_order po ON pod.produce_order_id = po.id
-				 LEFT JOIN contract c ON pod.contract_id = c.id
-			${ew.customSqlSegment}
-	</select>
+               pod.produce_order_id,
+               pod.contract_id,
+               pod.contract_detail_id,
+               pod.product_id,
+               pod.quantity,
+               pod.finish_quantity,
+               pod.produce_status,
+               pod.finish_time,
+               pod.tenant_id,
+               pod.create_user,
+               pod.create_time,
+               pod.update_user,
+               pod.update_time,
+               pod.del_flag,
+               po.code                                                        AS orderCode,
+               po.create_time                                                 AS orderCreateTime,
+               po.produce_time,
+               po.delivery_period,
+               po.company_id,
+               (if(IFNULL(po.finish_time, NOW()) > po.delivery_period, 1, 0)) AS isOverdue,
+               pod.remark,
+               c.prod_tag,
+               c.prod_remark,
+               c.create_user                                                  as saleUserId,
+               c.contract_type,
+               c.of_company_id                                                as contractCompanyId
+        FROM production_order_detail pod
+                 LEFT JOIN production_order po ON pod.produce_order_id = po.id
+                 LEFT JOIN contract c ON pod.contract_id = c.id
+            ${ew.customSqlSegment}
+    </select>
 </mapper>

+ 21 - 21
hx-mes/src/main/resources/mapper/production/ProduceOrderMapper.xml

@@ -3,27 +3,27 @@
 <mapper namespace="com.fjhx.mes.mapper.production.ProduceOrderMapper">
 	<select id="getPage" resultType="com.fjhx.mes.entity.production.vo.ProductionOrderVo">
 		select po.id,
-			   po.contract_id,
-			   po.code,
-			   po.produce_time,
-			   po.delivery_period,
-			   po.produce_status,
-			   po.create_user,
-			   po.create_time,
-			   po.update_user,
-			   po.update_time,
-			   po.company_id,
-			   c.prod_tag,
-			   c.prod_remark,
-			   po.finish_time,
-			   (if(IFNULL(po.finish_time, NOW()) > po.delivery_period, 1, 0)) AS isOverdue,
-			   po.confirm_status,
-			   c.contract_type,
-			   c.company_id                                                   as contractCompanyId
-		from production_order po
-				 LEFT JOIN contract c ON po.contract_id = c.id
-			${ew.customSqlSegment}
-	</select>
+               po.contract_id,
+               po.code,
+               po.produce_time,
+               po.delivery_period,
+               po.produce_status,
+               po.create_user,
+               po.create_time,
+               po.update_user,
+               po.update_time,
+               po.company_id,
+               c.prod_tag,
+               c.prod_remark,
+               po.finish_time,
+               (if(IFNULL(po.finish_time, NOW()) > po.delivery_period, 1, 0)) AS isOverdue,
+               po.confirm_status,
+               c.contract_type,
+               c.of_company_id                                                as contractCompanyId
+        from production_order po
+                 LEFT JOIN contract c ON po.contract_id = c.id
+            ${ew.customSqlSegment}
+    </select>
 	<select id="getSchedulingList" resultType="com.fjhx.mes.entity.production.vo.ProductionOrderVo">
         SELECT po.id,
                po.`code`,

+ 27 - 13
hx-sale/src/main/java/com/fjhx/sale/service/quotation/impl/QuotationEstimateServiceImpl.java

@@ -29,6 +29,7 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 
@@ -63,6 +64,10 @@ public class QuotationEstimateServiceImpl extends ServiceImpl<QuotationEstimateM
         QuotationProduct quotationProduct = quotationProductService.getById(quotationProductId);
         Assert.notEmpty(quotationProduct, "查询不到报价明细信息!");
 
+        //获取工序
+        ProductInfo productInfo = productInfoService.getById(quotationProduct.getProductId());
+        Assert.notEmpty(productInfo, "查询不到工艺信息!");
+
         //查询现有报价信息
         List<QuotationEstimate> quotationEstimateList = list(q -> q.eq(QuotationEstimate::getQuotationProductId, quotationProductId));
         List<QuotationEstimateVo> quotationEstimateVos = BeanUtil.copyToList(quotationEstimateList, QuotationEstimateVo.class);
@@ -97,19 +102,7 @@ public class QuotationEstimateServiceImpl extends ServiceImpl<QuotationEstimateM
                 quotationEstimateVos.add(quotationEstimate);
             }
 
-            //赋值物料信息
-            productInfoService.attributeAssign(quotationEstimateVos, QuotationEstimateVo::getMaterialId, (detail, product) -> {
-                detail.setMaterialLength(product.getLength());
-                detail.setMaterialWidth(product.getWidth());
-                detail.setMaterialHeight(product.getHeight());
-                detail.setName(product.getName());
-                detail.setCode(product.getCustomCode());
-                detail.setMaterialColor(product.getColor());
-            });
-
-            //获取工序
-            ProductInfo productInfo = productInfoService.getById(quotationProduct.getProductId());
-            Assert.notEmpty(productInfo, "查询不到工艺信息!");
+
             List<ProcessesBo> processesList = productInfoService.getProcessesByTechnologyId(productInfo.getTechnologyId());
             for (ProcessesBo processesBo : processesList) {
                 QuotationEstimateVo quotationEstimate = new QuotationEstimateVo();
@@ -124,6 +117,27 @@ public class QuotationEstimateServiceImpl extends ServiceImpl<QuotationEstimateM
             }
         }
 
+        //赋值物料信息
+        productInfoService.attributeAssign(quotationEstimateVos, QuotationEstimateVo::getMaterialId, (detail, product) -> {
+            detail.setMaterialLength(product.getLength());
+            detail.setMaterialWidth(product.getWidth());
+            detail.setMaterialHeight(product.getHeight());
+            detail.setName(product.getName());
+            detail.setCode(product.getCustomCode());
+            detail.setMaterialColor(product.getColor());
+        });
+
+        //赋值工序信息
+        List<ProcessesBo> processesList = productInfoService.getProcessesByTechnologyId(productInfo.getTechnologyId());
+        Map<Long, ProcessesBo> collect = processesList.stream().collect(Collectors.toMap(ProcessesBo::getId, Function.identity()));
+        for (QuotationEstimateVo quotationEstimateVo : quotationEstimateVos) {
+            ProcessesBo processesBo = collect.get(quotationEstimateVo.getProcessesId());
+            if (ObjectUtil.isNotEmpty(processesBo)) {
+                quotationEstimateVo.setName(processesBo.getName());
+                quotationEstimateVo.setCode(processesBo.getCode());
+            }
+        }
+
 
         return quotationEstimateVos;
     }

+ 3 - 2
hx-sale/src/main/resources/mapper/ext/ExtQuotationMapper.xml

@@ -26,9 +26,10 @@
                      eq.quotation_status,
                      eq.old_quotation_id,
                      eq.sale_quotation_id,
-                     eq.last_follow_time
+                     eq.last_follow_time,
+                     eq.of_company_id
               from ext_quotation eq
-                     ${ew.customSqlSegment}
+                  ${ew.customSqlSegment}
        </select>
 
 </mapper>

+ 2 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockSnapshotDetailsVo.java

@@ -76,4 +76,6 @@ public class StockSnapshotDetailsVo extends StockSnapshotDetails {
      */
     private String warehouseName;
 
+    private String companyName;
+
 }

+ 2 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockVo.java

@@ -135,4 +135,6 @@ public class StockVo extends Stock {
 
     private String productColor;
 
+    private String companyName;
+
 }

+ 12 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockServiceImpl.java

@@ -35,9 +35,11 @@ import com.fjhx.wms.service.warehouse.WarehouseService;
 import com.fjhx.wms.utils.CodeEnum;
 import com.ruoyi.common.core.domain.BaseIdPo;
 import com.ruoyi.common.core.domain.BasePo;
+import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.system.service.ISysDeptService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -73,6 +75,8 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
     private WarehouseService warehouseService;
     @Autowired
     private ProductStockInfoService productStockInfoService;
+    @Autowired
+    private ISysDeptService sysDeptService;
 
     @Override
     public Page<StockVo> getPage(StockSelectDto dto) {
@@ -121,6 +125,11 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
         //赋值产品分类树
         List<ProductClassify> productClassifyList = productClassifyService.list();
         Map<Long, ProductClassify> productClassifyMap = productClassifyList.stream().collect(Collectors.toMap(BaseIdPo::getId, Function.identity()));
+
+        //获取部门列表
+        List<SysDept> deptList = sysDeptService.list();
+        Map<Long, String> sysDeptMap = deptList.stream().collect(Collectors.toMap(SysDept::getDeptId, SysDept::getDeptName));
+
         for (StockVo stockVo : stockVos) {
             Long productClassifyId = stockVo.getProductClassifyId();
             ProductClassify productClassify = productClassifyMap.get(productClassifyId);
@@ -135,6 +144,9 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
             }
             stockVo.setProductClassifyNameGroup(classifyNameGroup);
             stockVo.setProductClassifyNames(classifyNameGroup.stream().collect(Collectors.joining(" / ")));
+
+            //赋值归属公司
+            stockVo.setCompanyName(sysDeptMap.get(stockVo.getCompanyId()));
         }
 
         //赋值仓库名称

+ 12 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockSnapshotDetailsServiceImpl.java

@@ -14,8 +14,10 @@ import com.fjhx.wms.entity.stock.vo.StockSnapshotDetailsVo;
 import com.fjhx.wms.mapper.stock.StockSnapshotDetailsMapper;
 import com.fjhx.wms.service.stock.StockSnapshotDetailsService;
 import com.ruoyi.common.core.domain.BaseIdPo;
+import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.system.service.ISysDeptService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -41,6 +43,8 @@ public class StockSnapshotDetailsServiceImpl extends ServiceImpl<StockSnapshotDe
     private ProductInfoService productInfoService;
     @Autowired
     private ProductClassifyService productClassifyService;
+    @Autowired
+    private ISysDeptService sysDeptService;
 
     @Override
     public Page<StockSnapshotDetailsVo> getPage(StockSnapshotDetailsSelectDto dto) {
@@ -79,6 +83,11 @@ public class StockSnapshotDetailsServiceImpl extends ServiceImpl<StockSnapshotDe
         //赋值产品分类树
         List<ProductClassify> productClassifyList = productClassifyService.list();
         Map<Long, ProductClassify> productClassifyMap = productClassifyList.stream().collect(Collectors.toMap(BaseIdPo::getId, Function.identity()));
+
+        //获取部门列表
+        List<SysDept> deptList = sysDeptService.list();
+        Map<Long, String> sysDeptMap = deptList.stream().collect(Collectors.toMap(SysDept::getDeptId, SysDept::getDeptName));
+
         for (StockSnapshotDetailsVo vo : records) {
             Long productClassifyId = vo.getProductClassifyId();
             ProductClassify productClassify = productClassifyMap.get(productClassifyId);
@@ -93,6 +102,9 @@ public class StockSnapshotDetailsServiceImpl extends ServiceImpl<StockSnapshotDe
             }
             vo.setProductClassifyNameGroup(classifyNameGroup);
             vo.setProductClassifyNames(classifyNameGroup.stream().collect(Collectors.joining(" / ")));
+
+            //赋值归属公司
+            vo.setCompanyName(sysDeptMap.get(vo.getCompanyId()));
         }
 
         return page;

+ 2 - 1
hx-wms/src/main/resources/mapper/stock/StockJournalDetailsMapper.xml

@@ -18,7 +18,8 @@
                sj.expect_restitution_time,
                sj.restitution_time,
                sj.ex_warehouse_person,
-               sj.remarks
+               sj.remarks,
+               sjd.company_id
         FROM stock_journal_details sjd
                  LEFT JOIN stock_journal sj ON sjd.stock_journal_id = sj.id
                  LEFT JOIN warehouse w ON sj.warehouse_id = w.id

+ 2 - 1
hx-wms/src/main/resources/mapper/stock/StockMapper.xml

@@ -10,7 +10,8 @@
                s.create_user,
                s.create_time,
                s.update_user,
-               s.update_time
+               s.update_time,
+               s.company_id
         FROM stock s
                  LEFT JOIN warehouse w on s.warehouse_id = w.id
                  LEFT JOIN product_info pi ON s.product_id = pi.id