ezhizao_zx 1 سال پیش
والد
کامیت
db551acad9

+ 14 - 2
src/main/java/cn/ezhizao/project/business/collection/controller/BizCollectionController.java

@@ -46,6 +46,7 @@ import java.io.File;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.math.BigDecimal;
+import java.sql.Timestamp;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -123,6 +124,7 @@ public class BizCollectionController extends BaseController {
                 l.setMasterTableName("biz_collection");
             });
 
+
             conditions.setMasterTableName("biz_collection");
             conditions.setMasterId(collection.getId());
             fileStorageService.physicalDelete(conditions);
@@ -187,7 +189,7 @@ public class BizCollectionController extends BaseController {
         // 获取已收款合同
 
         List<BizCollection> collected = collectionService.query().eq("contract_id", conditions.getId()).eq("status", 1).list();
-        BigDecimal collectedAmount = BigDecimal.valueOf(collected.stream().mapToDouble(v -> v.getAmount().doubleValue()).sum());
+        BigDecimal collectedAmount = BigDecimal.valueOf(collected.stream().mapToDouble(v -> v.getArriveAmount().doubleValue()).sum());
 
         SysUser user = SecurityUtils.getLoginUser().getUser();
         bizCollection.setContractId(bizArchiveInput.getId()).setContractNo(bizArchiveInput.getContractNo()).setContractAmount(bizArchiveInput.getTrueAmount()).setCompanyName(bizArchiveInput.getCompanyName()).setApplierId(user.getUserId()).setApplierName(user.getNickName()).setCompanyId(bizArchiveInput.getCompanyId()).setPaymentAmount(collectedAmount).setNonpaymentAmount(bizArchiveInput.getTrueAmount().subtract(collectedAmount));
@@ -281,6 +283,14 @@ public class BizCollectionController extends BaseController {
         return success(message);
     }
 
+    @Log(title = "收款删除", businessType = BusinessType.DELETE)
+    @PreAuthorize("@ss.hasPermi('business:collection:remove')")
+    @DeleteMapping("/del/{ids}")
+    public AjaxResult del(@PathVariable List<Long> ids) throws Exception {
+
+        return success(collectionService.removeCollectionBatchByIds(ids));
+    }
+
     @Log(title = "合同收款模板导出", businessType = BusinessType.EXPORT)
     @PreAuthorize("@ss.hasPermi('business:collection:import')")
     @PostMapping("/exportLoop")
@@ -344,8 +354,9 @@ public class BizCollectionController extends BaseController {
             if (archiveInput != null) {
                 collection.setContractNo(archiveInput.getContractNo());
                 collection.setContractAmount(archiveInput.getTrueAmount());
-//                collection.setTrueAmount(archiveInput.getTrueAmount());
+                collection.setOrderRemark(archiveInput.getRemark());
                 BizCollection collectionCondition = new BizCollection();
+                collection.setActuallyDate( new Timestamp(archiveInput.getFormDate().getTime()));
                 collectionCondition.setContractId(archiveInput.getId());
                 collectionCondition.setStatus((byte)1);
                 List<BizCollection> collections = collectionService.getListByBean(collectionCondition);
@@ -361,6 +372,7 @@ public class BizCollectionController extends BaseController {
             BizCompany company = companyService.getById(collection.getCompanyId());
             collection.setApplierName(applier != null ? applier.getNickName() : "系统管理员");
             collection.setCompanyName(company == null ? collection.getCompanyName() : company.getName());
+
             BizCollectionDetail detailCondition = new BizCollectionDetail();
             detailCondition.setCollectionId(collection.getId());
             List<BizCollectionDetail> details = collectionDetailService.getListByBean(detailCondition);

+ 3 - 0
src/main/java/cn/ezhizao/project/business/collection/domain/BizCollection.java

@@ -164,4 +164,7 @@ public class BizCollection extends BaseEntity implements Serializable {
     private Date startDate;
     @TableField(exist = false)
     private Date endDate;
+
+    @TableField(exist = false)
+    private String orderRemark;
 }

+ 2 - 0
src/main/java/cn/ezhizao/project/business/collection/mapper/BizCollectionDetailMapper.java

@@ -44,6 +44,8 @@ public interface BizCollectionDetailMapper extends BaseMapper<BizCollectionDetai
      * @return int 执行成功的数量
      */
     Integer physicallyDelete(BizCollectionDetail conditions);
+
+    void remove(List<Long> ids);
 }
 
 

+ 2 - 0
src/main/java/cn/ezhizao/project/business/collection/service/IBizCollectionService.java

@@ -43,4 +43,6 @@ public interface IBizCollectionService extends IService<BizCollection> {
     String importLoop(List<CollectionExcelLoopModel> orderList, Long userId, long l);
 
     String importOnce(List<CollectionExcelOnceModel> orderList, Long userId, long l);
+
+    boolean removeCollectionBatchByIds(List<Long> ids);
 }

+ 49 - 0
src/main/java/cn/ezhizao/project/business/collection/service/impl/BizCollectionServiceImpl.java

@@ -29,6 +29,7 @@ import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -359,4 +360,52 @@ public class BizCollectionServiceImpl extends ServiceImpl<BizCollectionMapper, B
         }
         return successMsg.toString();
     }
+
+    @Override
+    public boolean removeCollectionBatchByIds(List<Long> ids) {
+        // 判断是否已审核
+        if (this.query().in("id", ids).eq("status", 1).count() > 0) {
+            throw new ServiceException("只能删除未审核的数据。");
+        } else if (this.query().in("id", ids).eq("status", 2).count() > 0) {
+            throw new ServiceException("只能删除未审核的数据。");
+        } else {
+            List<BizCollection> collections = this.query().in("id", ids).list();
+
+            // 未审核的删掉 包括明细
+            super.removeBatchByIds(ids);
+            collectionDetailMapper.remove(ids);
+
+            //修改收款状态
+            for (BizCollection collection : collections) {
+                //查询合同信息
+                BizArchiveInput archiveInput = archiveInputService.getById(collection.getContractId());
+                //查询收款信息
+                Map<String, Object> map = new HashMap<>();
+                map.put("contractId", collection.getContractId());
+                List<BizCollection> list= this.getList(map);
+                if (list.size() > 0) {
+                    //如过存在收款信息
+                    //查看最新的收款状态
+                    if(list.get(0).getStatus()==0){
+                        //收款待审核
+                        archiveInput.setCollectionStatus((byte) 1);
+                    }else if(list.get(0).getStatus()==1){
+                        //已收款
+                        archiveInput.setCollectionStatus((byte) 2);
+                    }else if(list.get(0).getStatus()==2){
+                        //已驳回
+                        archiveInput.setCollectionStatus((byte) 3);
+                    }
+                    archiveInputService.updateById(archiveInput);
+                }else{
+                    //如过不存在收款信息
+                    //收款信息改为未收款
+                    archiveInput.setCollectionStatus((byte) 0);
+                    archiveInputService.updateById(archiveInput);
+                }
+            }
+
+        }
+        return true;
+    }
 }

+ 4 - 6
src/main/java/cn/ezhizao/project/business/order/service/impl/BizArchiveInputServiceImpl.java

@@ -1,7 +1,6 @@
 package cn.ezhizao.project.business.order.service.impl;
 
 import cn.ezhizao.common.exception.ServiceException;
-import cn.ezhizao.common.utils.SecurityUtils;
 import cn.ezhizao.common.utils.uuid.SnowflakeIdWorker;
 import cn.ezhizao.project.business.order.domain.BizArchiveInput;
 import cn.ezhizao.project.business.order.domain.BizArchiveInputDetail;
@@ -10,18 +9,13 @@ import cn.ezhizao.project.business.order.mapper.BizArchiveInputMapper;
 import cn.ezhizao.project.business.order.service.IBizArchiveInputDetailProcessService;
 import cn.ezhizao.project.business.order.service.IBizArchiveInputDetailService;
 import cn.ezhizao.project.business.order.service.IBizArchiveInputService;
-import cn.ezhizao.project.system.domain.SysFileStorage;
 import cn.ezhizao.project.system.service.ISysFileStorageService;
-import cn.hutool.core.date.DateField;
-import cn.hutool.core.date.DateTime;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.*;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.stream.Collectors;
 
 /**
  * 档案入库Service业务层处理
@@ -81,4 +75,8 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
         return true;
     }
 
+
+
+
+
 }

+ 9 - 0
src/main/resources/mybatis/business/BizCollectionDetailMapper.xml

@@ -84,6 +84,15 @@
         </trim>
     </sql>
     <!--根据主表id,删除 为的是表单保存时,明细统一物理删除后,再统一插入-->
+    <update id="remove">
+        UPDATE biz_collection_detail
+        SET deleted=1
+        WHERE collection_id in
+        <foreach collection="ids" item="id" index="index" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+    <!--根据主表id,删除 为的是表单保存时,明细统一物理删除后,再统一插入-->
     <delete id="physicallyDelete">
         DELETE FROM
         biz_collection_detail

+ 1 - 1
src/main/resources/mybatis/business/BizCollectionMapper.xml

@@ -8,7 +8,7 @@
     <!--带条件的List查询-->
     <select id="getList" resultMap="BaseResultMap">
         <include refid="getListSql"/>
-        order by id desc
+        order by create_time desc
     </select>
 
     <!--带条件的List查询 数据总条数-->