浏览代码

Merge remote-tracking branch 'origin/master'

caozj 1 年之前
父节点
当前提交
94f7aced3b

+ 6 - 1
hx-common/src/main/java/com/fjhx/common/service/on/impl/OnLineInfoServiceImpl.java

@@ -100,7 +100,12 @@ public class OnLineInfoServiceImpl extends ServiceImpl<OnLineInfoMapper, OnLineI
                 DynamicDataSourceContextHolder.push(SourceConstant.BASE);
                 List<SysDept> deptList11 = sysDeptService.list(Wrappers.<SysDept>lambdaQuery().eq(SysDept::getParentId, sysDept.getDeptId()));
                 DynamicDataSourceContextHolder.poll();
-                dept1.setDeptList(getDeptList(deptList11, userId, 1));
+                //赋值子部门
+                List<OnLineInfoReturnData.Dept> deptList2 = getDeptList(deptList11, userId, 1);
+                dept1.setDeptList(deptList2);
+                //计算子部门列表的时长和加到当前部门上
+                BigDecimal onLineTimeCount = deptList2.stream().map(OnLineInfoReturnData.Dept::getOnLineTime).reduce(BigDecimal.ZERO, BigDecimal::add);
+                dept1.setOnLineTime(dept1.getOnLineTime().add(onLineTimeCount));
             }
 
             //返回数据

+ 44 - 32
hx-sale/src/main/java/com/fjhx/sale/flow/ContractUpdateFlow.java

@@ -9,11 +9,13 @@ import com.fjhx.common.utils.Assert;
 import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.flow.core.FlowDelegate;
 import com.fjhx.flow.enums.FlowStatusEnum;
+import com.fjhx.sale.entity.claim.po.ClaimContract;
 import com.fjhx.sale.entity.contract.dto.ContractDto;
 import com.fjhx.sale.entity.contract.po.Contract;
 import com.fjhx.sale.entity.contract.po.ContractProduct;
 import com.fjhx.sale.entity.contract.po.ContractProject;
 import com.fjhx.sale.entity.contract.po.ContractShipment;
+import com.fjhx.sale.service.claim.ClaimContractService;
 import com.fjhx.sale.service.contract.ContractProductService;
 import com.fjhx.sale.service.contract.ContractProjectService;
 import com.fjhx.sale.service.contract.ContractService;
@@ -49,6 +51,8 @@ public class ContractUpdateFlow extends FlowDelegate {
 
     @Autowired
     private ContractProductService contractProductService;
+    @Autowired
+    private ClaimContractService claimContractService;
 
 
     @Autowired
@@ -80,7 +84,7 @@ public class ContractUpdateFlow extends FlowDelegate {
         }
         //查询原合同
         Contract oldContract = contractService.getById(contract.getOldContractId());
-        if(ObjectUtil.isEmpty(oldContract)){
+        if (ObjectUtil.isEmpty(oldContract)) {
             throw new ServiceException("查询不到原合同信息");
         }
         //更新原样品单状态为变更中
@@ -88,12 +92,12 @@ public class ContractUpdateFlow extends FlowDelegate {
         contractService.updateById(oldContract);
         //查询旧合同的订单产品
         List<ContractProduct> oldContractProductList = contractProductService.list(q -> q.eq(ContractProduct::getContractId, oldContractId));
-        if(CollectionUtils.isEmpty(oldContractProductList)){
+        if (CollectionUtils.isEmpty(oldContractProductList)) {
             throw new ServiceException("原合同没有产品");
         }
-        Map<Long,List<ContractProduct>> oldContractProductMap = oldContractProductList.stream().collect(Collectors.groupingBy(ContractProduct::getId));
+        Map<Long, List<ContractProduct>> oldContractProductMap = oldContractProductList.stream().collect(Collectors.groupingBy(ContractProduct::getId));
         List<ContractProduct> newContractProductList = contract.getContractProductList();
-        if(CollectionUtils.isEmpty(newContractProductList)){
+        if (CollectionUtils.isEmpty(newContractProductList)) {
             throw new ServiceException("变更合同产品不能为空");
         }
         /**
@@ -111,24 +115,24 @@ public class ContractUpdateFlow extends FlowDelegate {
         /**
          * 计算新合同的剩余数量
          */
-        for(ContractProduct newCp:newContractProductList){
+        for (ContractProduct newCp : newContractProductList) {
             newCp.setExpendQuantity(newCp.getQuantity());
-            if(ObjectUtil.isNotEmpty(newCp.getId())){//如果新合同产品ID不为空
+            if (ObjectUtil.isNotEmpty(newCp.getId())) {//如果新合同产品ID不为空
                 //取出旧合同
-                ContractProduct oldContractProduct = oldContractProductMap.getOrDefault(newCp.getId(),null).get(0);
+                ContractProduct oldContractProduct = oldContractProductMap.getOrDefault(newCp.getId(), null).get(0);
                 //取出旧合同包装方式
                 JSONObject oldJson = JSONObject.parseObject(oldContractProduct.getEhsdJson());
-                String oldPackMethod = oldJson.getOrDefault("packMethod",null)==null?null:oldJson.getOrDefault("packMethod",null).toString();
+                String oldPackMethod = oldJson.getOrDefault("packMethod", null) == null ? null : oldJson.getOrDefault("packMethod", null).toString();
                 //取出新合同包装方式
                 JSONObject newJson = JSONObject.parseObject(newCp.getEhsdJson());
-                String newPackMethod = newJson.getOrDefault("packMethod",null)==null?null:oldJson.getOrDefault("packMethod",null).toString();
+                String newPackMethod = newJson.getOrDefault("packMethod", null) == null ? null : oldJson.getOrDefault("packMethod", null).toString();
                 /**
                  * 商品英文名、尺寸、包装方式、数量 没有变更---取原本的剩余数量
                  */
-                if(oldContractProduct.getQuantity().compareTo(newCp.getQuantity())==0
+                if (oldContractProduct.getQuantity().compareTo(newCp.getQuantity()) == 0
                         && StringUtils.equals(oldContractProduct.getProductName(), newCp.getProductName())
-                        && StringUtils.equals(oldContractProduct.getProductModel(),newCp.getProductModel())
-                        && StringUtils.equals(oldPackMethod,newPackMethod)){
+                        && StringUtils.equals(oldContractProduct.getProductModel(), newCp.getProductModel())
+                        && StringUtils.equals(oldPackMethod, newPackMethod)) {
                     //取出旧的剩余数量
                     newCp.setExpendQuantity(oldContractProduct.getExpendQuantity());
                 }
@@ -136,8 +140,10 @@ public class ContractUpdateFlow extends FlowDelegate {
         }
         return update(contract);
     }
+
     /**
      * 变更
+     *
      * @param contract
      * @return
      */
@@ -207,7 +213,7 @@ public class ContractUpdateFlow extends FlowDelegate {
         if (ObjectUtils.isEmpty(newContract)) {
             throw new ServiceException("合同不存在");
         }
-        long  oldContractId = newContract.getOldContractId();//取出旧的合同ID
+        long oldContractId = newContract.getOldContractId();//取出旧的合同ID
         Contract oldContract = contractService.getById(oldContractId);
         if (oldContract == null) {
             throw new ServiceException("原合同不存在");
@@ -227,15 +233,15 @@ public class ContractUpdateFlow extends FlowDelegate {
 
 
         //查询新数据产品、收费、出货
-        List<Long> newContractProductIds = contractProductService.list(Wrappers.<ContractProduct>query().lambda().select(ContractProduct::getId).eq(ContractProduct::getContractId,businessId)).stream().map(ContractProduct::getId).collect(Collectors.toList());
-        List<Long> newContractProjectIds = contractProjectService.list(Wrappers.<ContractProject>query().lambda().select(ContractProject::getId).eq(ContractProject::getContractId,businessId)).stream().map(ContractProject::getId).collect(Collectors.toList());
-        List<Long> newContractShipmentIds = contractShipmentService.list(Wrappers.<ContractShipment>query().lambda().select(ContractShipment::getId).eq(ContractShipment::getContractId,businessId)).stream().map(ContractShipment::getId).collect(Collectors.toList());
+        List<Long> newContractProductIds = contractProductService.list(Wrappers.<ContractProduct>query().lambda().select(ContractProduct::getId).eq(ContractProduct::getContractId, businessId)).stream().map(ContractProduct::getId).collect(Collectors.toList());
+        List<Long> newContractProjectIds = contractProjectService.list(Wrappers.<ContractProject>query().lambda().select(ContractProject::getId).eq(ContractProject::getContractId, businessId)).stream().map(ContractProject::getId).collect(Collectors.toList());
+        List<Long> newContractShipmentIds = contractShipmentService.list(Wrappers.<ContractShipment>query().lambda().select(ContractShipment::getId).eq(ContractShipment::getContractId, businessId)).stream().map(ContractShipment::getId).collect(Collectors.toList());
 
 
         //查询旧数据产品、收费、出货
-        List<Long> oldContractProductIds = contractProductService.list(Wrappers.<ContractProduct>query().lambda().select(ContractProduct::getId).eq(ContractProduct::getContractId,oldContractId)).stream().map(ContractProduct::getId).collect(Collectors.toList());
-        List<Long> oldContractProjectIds = contractProjectService.list(Wrappers.<ContractProject>query().lambda().select(ContractProject::getId).eq(ContractProject::getContractId,oldContractId)).stream().map(ContractProject::getId).collect(Collectors.toList());
-        List<Long> oldContractShipmentIds = contractShipmentService.list(Wrappers.<ContractShipment>query().lambda().select(ContractShipment::getId).eq(ContractShipment::getContractId,oldContractId)).stream().map(ContractShipment::getId).collect(Collectors.toList());
+        List<Long> oldContractProductIds = contractProductService.list(Wrappers.<ContractProduct>query().lambda().select(ContractProduct::getId).eq(ContractProduct::getContractId, oldContractId)).stream().map(ContractProduct::getId).collect(Collectors.toList());
+        List<Long> oldContractProjectIds = contractProjectService.list(Wrappers.<ContractProject>query().lambda().select(ContractProject::getId).eq(ContractProject::getContractId, oldContractId)).stream().map(ContractProject::getId).collect(Collectors.toList());
+        List<Long> oldContractShipmentIds = contractShipmentService.list(Wrappers.<ContractShipment>query().lambda().select(ContractShipment::getId).eq(ContractShipment::getContractId, oldContractId)).stream().map(ContractShipment::getId).collect(Collectors.toList());
 
 
         /**
@@ -249,16 +255,16 @@ public class ContractUpdateFlow extends FlowDelegate {
         newContract.setIsShow(0);//显示新合同
         contractService.updateContract(newContract);
         //修改合同产品相关数据
-        if(CollectionUtils.isNotEmpty(newContractProductIds)){
-            contractProductService.update(Wrappers.<ContractProduct>update().lambda().set(ContractProduct::getContractId,oldContractId).in(ContractProduct::getId,newContractProductIds));
+        if (CollectionUtils.isNotEmpty(newContractProductIds)) {
+            contractProductService.update(Wrappers.<ContractProduct>update().lambda().set(ContractProduct::getContractId, oldContractId).in(ContractProduct::getId, newContractProductIds));
         }
         //修改合同收费相关数据
-        if(CollectionUtils.isNotEmpty(newContractProjectIds)){
-            contractProjectService.update(Wrappers.<ContractProject>update().lambda().set(ContractProject::getContractId,oldContractId).in(ContractProject::getId,newContractProjectIds));
+        if (CollectionUtils.isNotEmpty(newContractProjectIds)) {
+            contractProjectService.update(Wrappers.<ContractProject>update().lambda().set(ContractProject::getContractId, oldContractId).in(ContractProject::getId, newContractProjectIds));
         }
         //修改合同出货相关数据
-        if(CollectionUtils.isNotEmpty(newContractShipmentIds)){
-            contractShipmentService.update(Wrappers.<ContractShipment>update().lambda().set(ContractShipment::getContractId,oldContractId).in(ContractShipment::getId,newContractShipmentIds));
+        if (CollectionUtils.isNotEmpty(newContractShipmentIds)) {
+            contractShipmentService.update(Wrappers.<ContractShipment>update().lambda().set(ContractShipment::getContractId, oldContractId).in(ContractShipment::getId, newContractShipmentIds));
         }
 
         /**
@@ -267,28 +273,33 @@ public class ContractUpdateFlow extends FlowDelegate {
         oldContract.setId(businessId);
         oldContract.setStatus(FlowStatusEnum1.UPDATE.getKey());
         oldContract.setIsChange("1");
+        contractService.updateById(oldContract);
+
+        //删除到账认领数据
+        claimContractService.remove(q -> q.eq(ClaimContract::getContractId, oldContractId));
         oldContract.setUpId(temOldId);
         oldContract.setIsShow(1);//隐藏旧合同
         contractService.updateContract(oldContract);
         //修改合同产品相关数据
-        if(CollectionUtils.isNotEmpty(oldContractProductIds)){
-            contractProductService.update(Wrappers.<ContractProduct>update().lambda().set(ContractProduct::getContractId,businessId).in(ContractProduct::getId,oldContractProductIds));
+        if (CollectionUtils.isNotEmpty(oldContractProductIds)) {
+            contractProductService.update(Wrappers.<ContractProduct>update().lambda().set(ContractProduct::getContractId, businessId).in(ContractProduct::getId, oldContractProductIds));
         }
         //修改合同出货相关数据
-        if(CollectionUtils.isNotEmpty(oldContractProjectIds)){
+        if (CollectionUtils.isNotEmpty(oldContractProjectIds)) {
             //修改合同收费相关数据
-            contractProjectService.update(Wrappers.<ContractProject>update().lambda().set(ContractProject::getContractId,businessId).in(ContractProject::getId,oldContractProjectIds));
+            contractProjectService.update(Wrappers.<ContractProject>update().lambda().set(ContractProject::getContractId, businessId).in(ContractProject::getId, oldContractProjectIds));
         }
         //修改合同出货相关数据
-        if(CollectionUtils.isNotEmpty(oldContractShipmentIds)){
+        if (CollectionUtils.isNotEmpty(oldContractShipmentIds)) {
             //修改合同出货相关数据
-            contractShipmentService.update(Wrappers.<ContractShipment>update().lambda().set(ContractShipment::getContractId,businessId).in(ContractShipment::getId,oldContractShipmentIds));
+            contractShipmentService.update(Wrappers.<ContractShipment>update().lambda().set(ContractShipment::getContractId, businessId).in(ContractShipment::getId, oldContractShipmentIds));
         }
-        ObsFileUtil.exchangeBusinessId(oldContractId,businessId);
+        ObsFileUtil.exchangeBusinessId(oldContractId, businessId);
     }
 
     /**
      * 重新发起
+     *
      * @param flowId
      * @param businessId
      * @param flowStatus
@@ -303,6 +314,7 @@ public class ContractUpdateFlow extends FlowDelegate {
 
     /**
      * 驳回
+     *
      * @param flowId
      * @param businessId
      * @param flowStatus

+ 2 - 2
hx-sale/src/main/java/com/fjhx/sale/service/documents/impl/DocumentsServiceImpl.java

@@ -5,7 +5,6 @@ import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONWriter;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -29,7 +28,6 @@ import com.fjhx.sale.entity.documents.po.DocumentsTransport;
 import com.fjhx.sale.entity.documents.vo.DocumentsVo;
 import com.fjhx.sale.entity.pack.po.PackDetail;
 import com.fjhx.sale.entity.pack.po.PackDetailGoods;
-import com.fjhx.sale.entity.pack.po.PackDetailProduct;
 import com.fjhx.sale.entity.pack.po.PackShipment;
 import com.fjhx.sale.mapper.documents.DocumentsMapper;
 import com.fjhx.sale.service.contract.ContractProjectService;
@@ -393,6 +391,8 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
                     JSONObject object = new JSONObject();
                     // 项号
                     object.put("num", num);
+                    //产品id
+                    object.put("productId", product.getProductId());
                     // 商品编号(13位)原10位海关编码+3位检验检疫附加编码
                     object.put("customsCode", product.getCustomsCode());
                     // 商品名称

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

@@ -543,7 +543,7 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
     /**
      * 改变库存数量
      */
-    private void changeStock(List<? extends InOutBo> list, Long warehouseId, JournalType journalType) {
+    private synchronized void changeStock(List<? extends InOutBo> list, Long warehouseId, JournalType journalType) {
 
         Map<Long, BigDecimal> map = list.stream().collect(Collectors.toMap(
                 InOutBo::getProductId,