瀏覽代碼

工单相关功能修改

yzc 1 年之前
父節點
當前提交
1167bb82e5

+ 1 - 1
hx-jxst/src/main/java/com/fjhx/jxst/entity/sales/po/SalesContract.java

@@ -154,6 +154,6 @@ public class SalesContract extends BasePo {
     /**
      * 研发负责人id
      */
-    private Integer devUserId;
+    private Long devUserId;
 
 }

+ 1 - 0
hx-jxst/src/main/resources/mapper/sales/SalesContractMapper.xml

@@ -17,6 +17,7 @@
             sc.contract_amount,
             sc.flow_id,
             sc.is_settled,
+            sc.flow_status,
             ( SELECT IFNULL( SUM( cc.contract_money ), 0 ) FROM bytesailing_sale.claim_contract cc WHERE cc.contract_id = sc.id ) AS claimAmount
         from sales_contract sc
             ${ew.customSqlSegment}

+ 2 - 2
hx-mes/src/main/java/com/fjhx/mes/controller/bom/BomInfoController.java

@@ -45,8 +45,8 @@ public class BomInfoController {
      * bom明细
      */
     @PostMapping("/detail")
-    public BomInfoVo detail(@RequestBody BaseSelectDto dto) {
-        return bomInfoService.detail(dto.getId());
+    public BomInfoVo detail(@RequestBody BomInfoDto dto) {
+        return bomInfoService.detail(dto);
     }
 
     /**

+ 5 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/bom/dto/BomInfoDto.java

@@ -39,4 +39,9 @@ public class BomInfoDto extends BomInfo {
      */
     private List<ObsFile> fileList;
 
+    /**
+     * BOM类型 1五金BOM 2电控BOM
+     */
+    private Integer type;
+
 }

+ 5 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/bom/po/BomDetail.java

@@ -44,4 +44,9 @@ public class BomDetail extends BasePo {
     @NotNull(message = "物料成本不能为空")
     private BigDecimal cost;
 
+    /**
+     * BOM类型 1五金BOM 2电控BOM
+     */
+    private Integer type;
+
 }

+ 5 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/work/po/WorkOrderBom.java

@@ -40,4 +40,9 @@ public class WorkOrderBom extends BasePo {
      */
     private BigDecimal cost;
 
+    /**
+     * BOM类型 1五金BOM 2电控BOM
+     */
+    private Integer type;
+
 }

+ 1 - 1
hx-mes/src/main/java/com/fjhx/mes/entity/work/vo/WorkOrderVo.java

@@ -119,6 +119,6 @@ public class WorkOrderVo extends WorkOrder {
     /**
      * 研发用户id
      */
-    private String devUserId;
+    private Long devUserId;
 
 }

+ 1 - 1
hx-mes/src/main/java/com/fjhx/mes/service/bom/BomInfoService.java

@@ -29,7 +29,7 @@ public interface BomInfoService extends BaseService<BomInfo> {
     /**
      * bom明细
      */
-    BomInfoVo detail(Long id);
+    BomInfoVo detail(BomInfoDto dto);
 
     /**
      * bom新增

+ 23 - 19
hx-mes/src/main/java/com/fjhx/mes/service/bom/impl/BomInfoServiceImpl.java

@@ -110,11 +110,14 @@ public class BomInfoServiceImpl extends ServiceImpl<BomInfoMapper, BomInfo> impl
     }
 
     @Override
-    public BomInfoVo detail(Long id) {
-        BomInfo BomInfo = this.getById(id);
-        BomInfoVo result = BeanUtil.toBean(BomInfo, BomInfoVo.class);
-
-        List<BomDetail> bomDetailList = bomDetailService.list(q -> q.eq(BomDetail::getBomInfoId, id));
+    public BomInfoVo detail(BomInfoDto dto) {
+        BomInfo bomInfo = this.getById(dto.getId());
+        BomInfoVo result = BeanUtil.toBean(bomInfo, BomInfoVo.class);
+
+        List<BomDetail> bomDetailList = bomDetailService.list(q -> q
+                .eq(BomDetail::getType, dto.getType())
+                .eq(BomDetail::getBomInfoId, dto.getId())
+        );
         List<BomDetailVo> bomDetailVoList = BeanUtil.copyToList(bomDetailList, BomDetailVo.class);
 
         productInfoService.attributeAssign(bomDetailVoList, BomDetailVo::getProductId, (item, productInfo) -> {
@@ -128,7 +131,7 @@ public class BomInfoServiceImpl extends ServiceImpl<BomInfoMapper, BomInfo> impl
         return result;
     }
 
-    @Transactional(rollbackFor = Exception.class)
+    @DSTransactional
     @Override
     public void add(BomInfoDto bomInfoDto) {
 
@@ -163,7 +166,10 @@ public class BomInfoServiceImpl extends ServiceImpl<BomInfoMapper, BomInfo> impl
     public void edit(BomInfoDto bomInfoDto) {
         Long bomInfoId = bomInfoDto.getId();
         if (ObjectUtil.isEmpty(bomInfoId)) {
-            throw new ServiceException("bomId不能为空");
+//            throw new ServiceException("bomId不能为空");
+            //如果没传id就是新建
+            add(bomInfoDto);
+            return;
         }
 
         bomInfoDto.setCurrentVersion(null);
@@ -173,21 +179,19 @@ public class BomInfoServiceImpl extends ServiceImpl<BomInfoMapper, BomInfo> impl
 
         // 更新bom明细
         List<BomDetail> bomDetailList = bomInfoDto.getBomDetailList();
-        if (ObjectUtil.isNotEmpty(bomDetailList)) {
-
-            List<Long> bomDetailIdList = bomDetailList.stream()
-                    .peek(item -> item.setBomInfoId(bomInfoId))
-                    .map(BaseIdPo::getId)
-                    .filter(Objects::nonNull)
-                    .collect(Collectors.toList());
 
-            bomDetailService.remove(q -> q
-                    .eq(BomDetail::getBomInfoId, bomInfoId)
-                    .notIn(ObjectUtil.isNotEmpty(bomDetailIdList), BaseIdPo::getId, bomDetailIdList));
+        List<Long> bomDetailIdList = bomDetailList.stream()
+                .peek(item -> item.setBomInfoId(bomInfoId))
+                .map(BaseIdPo::getId)
+                .filter(Objects::nonNull)
+                .collect(Collectors.toList());
 
-            bomDetailService.saveOrUpdateBatch(bomDetailList);
-        }
+        bomDetailService.remove(q -> q
+                .eq(BomDetail::getType, bomInfoDto.getType())
+                .eq(BomDetail::getBomInfoId, bomInfoId)
+                .notIn(ObjectUtil.isNotEmpty(bomDetailIdList), BaseIdPo::getId, bomDetailIdList));
 
+        bomDetailService.saveOrUpdateBatch(bomDetailList);
     }
 
     @Override

+ 13 - 3
hx-mes/src/main/java/com/fjhx/mes/service/work/impl/WorkOrderBomServiceImpl.java

@@ -16,6 +16,7 @@ import com.fjhx.mes.service.bom.BomDetailService;
 import com.fjhx.mes.service.bom.BomInfoService;
 import com.fjhx.mes.service.work.WorkOrderBomService;
 import com.fjhx.mes.service.work.WorkOrderService;
+import com.ruoyi.common.core.domain.BaseIdPo;
 import com.ruoyi.common.core.domain.BasePo;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
@@ -24,6 +25,8 @@ import org.springframework.stereotype.Service;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -88,9 +91,16 @@ public class WorkOrderBomServiceImpl extends ServiceImpl<WorkOrderBomMapper, Wor
                 .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
         );
 
-        List<WorkOrderBom> afterSaleDetailList = workOrderBomDto.getWorkOrderBomList();
-        afterSaleDetailList.forEach(item -> item.setWorkOrderId(workOrderBomDto.getWorkOrderId()));
-        this.editLinked(afterSaleDetailList, WorkOrderBom::getWorkOrderId, workOrderBomDto.getWorkOrderId());
+        List<WorkOrderBom> workOrderBomList = workOrderBomDto.getWorkOrderBomList();
+        workOrderBomList.forEach(item -> item.setWorkOrderId(workOrderBomDto.getWorkOrderId()));
+
+        //处理被删除的数据
+        List<Long> workOrderBomIds = workOrderBomList.stream().map(BaseIdPo::getId).filter(Objects::nonNull).collect(Collectors.toList());
+        this.remove(q -> q
+                .eq(WorkOrderBom::getType, workOrderBomDto.getType())
+                .eq(WorkOrderBom::getWorkOrderId, workOrderBomDto.getWorkOrderId())
+                .notIn(ObjectUtil.isNotEmpty(workOrderBomIds), BaseIdPo::getId, workOrderBomIds));
+        this.saveOrUpdateBatch(workOrderBomList);
 
         //检查定制工单是否配置BOM、工艺 配置完成发消息
         workOrderService.checkCustomizedInfo(workOrderBomDto.getWorkOrderId());

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

@@ -421,8 +421,8 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
             stockJournalDetails.setQuantity(stock.getQuantity());
             stockJournalDetails.setBusinessDetailsId(stock.getId());
 
-            stockJournalDetails.setPurchaseDetailId(stockDto.getPurchaseDetailId());
-            stockJournalDetails.setIsScan(stockDto.getIsScan());
+            stockJournalDetails.setPurchaseDetailId(stock.getPurchaseDetailId());
+            stockJournalDetails.setIsScan(stock.getIsScan());
 
             stockJournalDetailsList.add(stockJournalDetails);
         }

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

@@ -14,7 +14,7 @@
                sjd.create_user,
                sj.business_id,
                sjd.stock_journal_id,
-               IF(sj.type in(1,2),(select wo.`code` from bytesailing_mes.work_order wo where sj.business_id = wo.id and wo.del_flag=0),'')  as workOrderCode
+               IF(sj.type in(1,2),(select wo.`code` from bytesailing_mes.work_order wo where sj.work_order_id = wo.id and wo.del_flag=0),'')  as workOrderCode
         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