Browse Source

手动出入库功能修改

yzc 1 year ago
parent
commit
cf2f89f12d

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

@@ -18,9 +18,9 @@ import java.util.Date;
 public class ProduceOrderSelectDto extends BaseSelectDto {
 
 	/**
-	 * 生产状态 0未开始 1进行中 2已完成
-	 */
-	private Integer produceStatus;
+     * 生产状态 0未开始 1进行中 2已完成
+     */
+    private String produceStatus;
 
 	/**
 	 * 交期开始时间

+ 5 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/report/po/ReportLossesDetails.java

@@ -50,4 +50,9 @@ public class ReportLossesDetails extends BasePo {
      */
     private String remark;
 
+    /**
+     * 报损时间
+     */
+    private String repoTime;
+
 }

+ 4 - 23
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProduceOrderServiceImpl.java

@@ -25,7 +25,6 @@ import com.fjhx.mes.entity.production.po.ProductionTaskProgress;
 import com.fjhx.mes.entity.production.vo.ProductionOrderDetailVo;
 import com.fjhx.mes.entity.production.vo.ProductionOrderVo;
 import com.fjhx.mes.entity.production.vo.ProductionProcessesVo;
-import com.fjhx.mes.entity.work.po.WorkOrder;
 import com.fjhx.mes.mapper.production.ProduceOrderMapper;
 import com.fjhx.mes.mapper.production.ProductionProcessesMapper;
 import com.fjhx.mes.service.material.MaterialPreparationService;
@@ -106,7 +105,10 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
         wrapper.orderByDesc("po", ProductionOrder::getId);
 
         //生产状态
-        wrapper.eq(ProductionOrder::getProduceStatus, dto.getProduceStatus());
+        String produceStatus = dto.getProduceStatus();
+        if (ObjectUtil.isNotEmpty(produceStatus)) {
+            wrapper.in(ProductionOrder::getProduceStatus, produceStatus.split(","));
+        }
         //交期-时间范围过滤
         wrapper.ge("po", ProductionOrder::getDeliveryPeriod, dto.getStaDeliveryPeriod());
         wrapper.le("po", ProductionOrder::getDeliveryPeriod, dto.getEndDeliveryPeriod());
@@ -423,27 +425,6 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
 
         List<Long> productIds = productionOrderDetailList.stream().map(ProductionOrderDetail::getProductId).collect(Collectors.toList());
 
-
-        //创建生产订单明细
-        int index = 0;
-        List<WorkOrder> workOrderList = new ArrayList<>();
-        for (ContractProduct contractProduct : contractProductList) {
-            index++;
-            //生成工单
-            for (int i = 1; i <= contractProduct.getQuantity().intValue(); i++) {
-                WorkOrder workOrder = new WorkOrder();
-                workOrder.setCode(contract.getCode() + "-" + index + "-" + i);
-                workOrder.setProductId(contractProduct.getProductId());
-                workOrder.setQuantity(BigDecimal.ONE);
-                workOrder.setStatus(0);
-                workOrder.setContractId(contractId);
-                workOrder.setContractDetailsId(contractProduct.getId());
-                workOrder.setCompanyId(companyId);
-                workOrderList.add(workOrder);
-            }
-        }
-        workOrderService.saveBatch(workOrderList);
-
         //生成生产任务进度
         List<ProductionTaskProgress> productionTaskProgressList = new ArrayList<>();
         List<ProductionProcessesVo> processes = productionProcessesMapper.getProcessesByProductId(IWrapper.getWrapper().in("pi.id", productIds));

+ 3 - 0
hx-mes/src/main/java/com/fjhx/mes/service/report/impl/ReportLossesDetailsServiceImpl.java

@@ -46,6 +46,9 @@ public class ReportLossesDetailsServiceImpl extends ServiceImpl<ReportLossesDeta
     @Override
     public Page<ReportLossesDetailsVo> getPage(ReportLossesDetailsSelectDto dto) {
         IWrapper<ReportLossesDetails> wrapper = getWrapper();
+
+        wrapper.groupBy("rld.id");
+
         wrapper.orderByDesc("rld", ReportLossesDetails::getId);
         Page<ReportLossesDetailsVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
 

+ 15 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/contract/ContractProductBomController.java

@@ -1,8 +1,16 @@
 package com.fjhx.sale.controller.contract;
 
+import com.fjhx.sale.entity.contract.dto.ContractProductBomDto;
+import com.fjhx.sale.entity.contract.vo.ContractProductBomVo;
+import com.fjhx.sale.service.contract.ContractProductBomService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -16,5 +24,12 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/contractProductBom")
 public class ContractProductBomController {
 
+    @Autowired
+    private ContractProductBomService contractProductBomService;
+
+    @PostMapping("/getList")
+    List<ContractProductBomVo> getList(@RequestBody ContractProductBomDto dto) {
+        return contractProductBomService.getList(dto);
+    }
 
 }

+ 15 - 2
hx-sale/src/main/java/com/fjhx/sale/flow/PayFlow.java

@@ -8,6 +8,7 @@ import com.fjhx.account.entity.account.enums.PaymentTypeEnum;
 import com.fjhx.account.entity.account.po.AccountPayment;
 import com.fjhx.account.service.account.AccountPaymentService;
 import com.fjhx.common.enums.FlowStatusEnum1;
+import com.fjhx.common.utils.Assert;
 import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.flow.core.FlowDelegate;
 import com.fjhx.flow.enums.FlowStatusEnum;
@@ -18,6 +19,8 @@ import com.fjhx.purchase.service.pay.PayDetailService;
 import com.fjhx.purchase.service.pay.PayService;
 import com.fjhx.sale.entity.purchase.po.EhsdPurchase;
 import com.fjhx.sale.service.purchase.EhsdPurchaseService;
+import com.fjhx.supply.entity.supplier.po.SupplierInfo;
+import com.fjhx.supply.service.supplier.SupplierInfoService;
 import com.ruoyi.common.core.domain.BasePo;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
@@ -53,6 +56,9 @@ public class PayFlow extends FlowDelegate {
     @Autowired
     private EhsdPurchaseService purchaseService;
 
+    @Autowired
+    private SupplierInfoService supplierInfoService;
+
     @Override
     public String getFlowKey() {
         return "pay_flow";
@@ -60,7 +66,8 @@ public class PayFlow extends FlowDelegate {
 
     /**
      * 发起流程
-     * @param flowId 流程ID
+     *
+     * @param flowId     流程ID
      * @param submitData 采购付款数据
      * @return
      */
@@ -87,12 +94,18 @@ public class PayFlow extends FlowDelegate {
 
         ObsFileUtil.editFile(pay.getFileList(), pay.getId());
 
+        //供应商名称
+        SupplierInfo supplierInfo = supplierInfoService.getById(pay.getSupplyId());
+        Assert.notEmpty(supplierInfo, "查询不到供应商信息!");
+        submitData.put("supplyName", supplierInfo.getName());
+
         return pay.getId();
     }
 
     /**
      * 结束流程
-     * @param flowId 流程ID
+     *
+     * @param flowId     流程ID
      * @param businessId 业务ID
      * @param submitData 数据
      */

+ 2 - 1
hx-sale/src/main/java/com/fjhx/sale/mapper/contract/ContractProductBomMapper.java

@@ -2,6 +2,7 @@ package com.fjhx.sale.mapper.contract;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fjhx.sale.entity.contract.po.ContractProductBom;
+import com.fjhx.sale.entity.contract.vo.ContractProductBomVo;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
@@ -18,6 +19,6 @@ import java.util.List;
 @Mapper
 public interface ContractProductBomMapper extends BaseMapper<ContractProductBom> {
 
-    List<ContractProductBom> getContractProductBomQuantitySum(Long contractId);
+    List<ContractProductBomVo> getContractProductBomQuantitySum(Long contractId);
 
 }

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/service/contract/ContractProductBomService.java

@@ -1,8 +1,12 @@
 package com.fjhx.sale.service.contract;
 
+import com.fjhx.sale.entity.contract.dto.ContractProductBomDto;
 import com.fjhx.sale.entity.contract.po.ContractProductBom;
+import com.fjhx.sale.entity.contract.vo.ContractProductBomVo;
 import com.ruoyi.common.core.service.BaseService;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -14,4 +18,5 @@ import com.ruoyi.common.core.service.BaseService;
  */
 public interface ContractProductBomService extends BaseService<ContractProductBom> {
 
+    List<ContractProductBomVo> getList(ContractProductBomDto dto);
 }

+ 24 - 0
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractProductBomServiceImpl.java

@@ -1,11 +1,18 @@
 package com.fjhx.sale.service.contract.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.common.utils.Assert;
+import com.fjhx.item.service.product.ProductInfoService;
+import com.fjhx.sale.entity.contract.dto.ContractProductBomDto;
 import com.fjhx.sale.entity.contract.po.ContractProductBom;
+import com.fjhx.sale.entity.contract.vo.ContractProductBomVo;
 import com.fjhx.sale.mapper.contract.ContractProductBomMapper;
 import com.fjhx.sale.service.contract.ContractProductBomService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -18,4 +25,21 @@ import org.springframework.stereotype.Service;
 @Service
 public class ContractProductBomServiceImpl extends ServiceImpl<ContractProductBomMapper, ContractProductBom> implements ContractProductBomService {
 
+    @Autowired
+    private ProductInfoService productInfoService;
+
+    @Override
+    public List<ContractProductBomVo> getList(ContractProductBomDto dto) {
+        Assert.notEmpty(dto.getContractId(), "合同id不能为空");
+        List<ContractProductBomVo> contractProductBomVoList = baseMapper.getContractProductBomQuantitySum(dto.getContractId());
+
+        //赋值产品信息
+        productInfoService.attributeAssign(contractProductBomVoList, ContractProductBomVo::getMaterialId, (item, material) -> {
+            item.setProductCode(material.getCustomCode());
+            item.setProductName(material.getName());
+        });
+
+        return contractProductBomVoList;
+    }
+
 }

+ 4 - 1
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -1310,7 +1310,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
         List<InOutBo> inOutBoList = new ArrayList<>();
 
         //获取产品BOM列表
-        List<ContractProductBom> contractProductBomList = contractProductBomMapper.getContractProductBomQuantitySum(businessId);
+        List<ContractProductBomVo> contractProductBomList = contractProductBomMapper.getContractProductBomQuantitySum(businessId);
         for (ContractProductBom contractProductBom : contractProductBomList) {
             Long materialId = contractProductBom.getMaterialId();
             //获取待采购量
@@ -1377,6 +1377,9 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
                 .set(BasePo::getUpdateTime, new Date())
                 .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
         );
+
+        //作废生产相关数据 订单、排除、任务、备料
+
     }
 
     @Override

+ 1 - 1
hx-sale/src/main/resources/mapper/contract/ContractProductBomMapper.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fjhx.sale.mapper.contract.ContractProductBomMapper">
-    <select id="getContractProductBomQuantitySum" resultType="com.fjhx.sale.entity.contract.po.ContractProductBom">
+    <select id="getContractProductBomQuantitySum" resultType="com.fjhx.sale.entity.contract.vo.ContractProductBomVo">
         SELECT sum(cpb.quantity * cp.quantity) AS quantity,
                cpb.*
         FROM contract_product_bom cpb

+ 3 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/dto/StockDto.java

@@ -1,5 +1,6 @@
 package com.fjhx.wms.entity.stock.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fjhx.wms.entity.stock.po.Stock;
 import lombok.Getter;
 import lombok.Setter;
@@ -54,6 +55,7 @@ public class StockDto extends Stock {
     /**
      * 预计归还时间
      */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
     private Date expectRestitutionTime;
     /**
      * 归还id
@@ -62,6 +64,7 @@ public class StockDto extends Stock {
     /**
      * 归还时间
      */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
     private Date restitutionTime;
     /**
      * 丢件id

+ 10 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockJournalDetailsVo.java

@@ -121,4 +121,14 @@ public class StockJournalDetailsVo extends StockJournalDetails {
      * 归还时间
      */
     private Date restitutionTime;
+
+    /**
+     * 领料人
+     */
+    private String exWarehousePerson;
+
+    /**
+     * 备注
+     */
+    private String remarks;
 }

+ 35 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockJournalVo.java

@@ -4,6 +4,7 @@ import com.fjhx.wms.entity.stock.po.StockJournal;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -45,4 +46,38 @@ public class StockJournalVo extends StockJournal {
      */
     private String currency;
 
+    /**
+     * 生产订单id
+     */
+    private Long prodOrderId;
+    /**
+     * 借款id
+     */
+    private Long borrowId;
+    /**
+     * 预计归还时间
+     */
+    private Date expectRestitutionTime;
+
+    /**
+     * 归还id
+     */
+    private Long restitutionId;
+    /**
+     * 归还时间
+     */
+    private Date restitutionTime;
+    /**
+     * 丢失Id
+     */
+    private Long loseId;
+    /**
+     * 寻回Id
+     */
+    private Long seekId;
+    /**
+     * 生产订单号
+     */
+    private String prodOrderCode;
+
 }

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

@@ -16,7 +16,9 @@
                sjd.stock_journal_id,
                po.`code` as prodOrderCode,
                sj.expect_restitution_time,
-               sj.restitution_time
+               sj.restitution_time,
+               sj.ex_warehouse_person,
+               sj.remarks
         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

+ 23 - 14
hx-wms/src/main/resources/mapper/stock/StockJournalMapper.xml

@@ -2,20 +2,29 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fjhx.wms.mapper.stock.StockJournalMapper">
     <select id="getPage" resultType="com.fjhx.wms.entity.stock.vo.StockJournalVo">
-        SELECT
-            sj.id,
-            sj.type,
-            sj.op_type,
-            sj.code,
-            sj.warehouse_id,
-            w.NAME warehouseName,
-            sj.create_user,
-            sj.create_time,
-            sj.update_user,
-            sj.update_time
-        FROM
-            stock_journal sj
-                JOIN warehouse w ON sj.warehouse_id = w.id
+        SELECT sj.id,
+               sj.type,
+               sj.op_type,
+               sj.`code`,
+               sj.warehouse_id,
+               w.`name`     warehouseName,
+               sj.create_user,
+               sj.create_time,
+               sj.update_user,
+               sj.update_time,
+               sj.prod_order_id,
+               sj.borrow_id,
+               sj.expect_restitution_time,
+               sj.restitution_id,
+               sj.restitution_time,
+               sj.lose_id,
+               sj.seek_id,
+               po.`code` AS prodOrderCode,
+               sj.ex_warehouse_person,
+               sj.remarks
+        FROM stock_journal sj
+                 JOIN warehouse w ON sj.warehouse_id = w.id
+                 LEFT JOIN production_order po ON sj.prod_order_id = po.id
             ${ew.customSqlSegment}
     </select>