فهرست منبع

财务 应收管理 应收应付功能修改

785834757 2 سال پیش
والد
کامیت
2e768c7702

+ 14 - 1
src/main/java/com/ydtech/modules/inv/controller/InvReceivableController.java

@@ -67,11 +67,17 @@ public class InvReceivableController extends BaseController {
     @ApiOperation("应收导入数据修改")
     @PostMapping("receivableUpdates")
     public HttpResult updateRecivable(@RequestBody InvSource invSource){
-
         Boolean b = invReceivableService.updateRecivable(invSource);
         return b ? HttpResult.ok("修改成功") : HttpResult.error("修改失败");
     }
 
+    @ApiOperation("应收导入批量数据修改")
+    @PostMapping("receivableUpdateBatch")
+    public HttpResult updateRecivableBatch(@RequestBody InvSource invSource){
+        Boolean b = invReceivableService.updateRecivableBatch(invSource);
+        return b ? HttpResult.ok("修改成功") : HttpResult.error("修改失败");
+    }
+
     @ApiOperation("应收表导出")
     @PostMapping("exportReceivable")
     public HttpResult<PageResult> exportReceivable(@RequestBody InvSourceQueryVo invSourceQueryVo) throws IOException {
@@ -85,6 +91,13 @@ public class InvReceivableController extends BaseController {
         return HttpResult.ok(uploadUrl + "excel/" +fileName);
     }
 
+    @ApiOperation("应收导入删除")
+    @PostMapping("deleteReceivable")
+    public HttpResult deleteReceivable(@RequestBody String[] ids){
+        Boolean b = invReceivableService.deleteReceivable(ids);
+        return b ? HttpResult.ok("删除成功") : HttpResult.error("删除失败");
+    }
+
 
     @ApiOperation("结算导入数据分页查询")
     @PostMapping("settlementPage")

+ 2 - 0
src/main/java/com/ydtech/modules/inv/dao/InvReceivableMapper.java

@@ -34,6 +34,8 @@ public interface InvReceivableMapper extends BaseMapper<InvChannelAccount> {
     Page<ReceivableAndSettlementVo> getReceivableAndSettlementPage(Page page,@Param("param") ReceivableAndSettlementQueryVo receivableAndSettlementQueryVo);
 
     List<ReceivableAndSettlementVo> getReceivableAndSettlementPage(@Param("param") ReceivableAndSettlementQueryVo receivableAndSettlementQueryVo);
+
+    boolean deleteReceivable(String ids);
 }
 
 

+ 3 - 0
src/main/java/com/ydtech/modules/inv/model/po/InvSource.java

@@ -347,6 +347,9 @@ public class InvSource implements Serializable {
     @ExcelProperty("保司结算状态")
     private String insuranceClearingState;
 
+    @TableField(exist = false)
+    private String[] ids;
+
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
 }

+ 4 - 0
src/main/java/com/ydtech/modules/inv/service/InvReceivableService.java

@@ -50,4 +50,8 @@ public interface InvReceivableService {
 
     List<ReceivableAndSettlementVo> getReceivableAndSettlementList(ReceivableAndSettlementQueryVo receivableAndSettlementQueryVo);
 
+    Boolean deleteReceivable(String[] ids);
+
+    Boolean updateRecivableBatch(InvSource invSource);
+
 }

+ 18 - 0
src/main/java/com/ydtech/modules/inv/service/impl/InvReceivableServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageRequest;
 import com.ydtech.modules.esm.model.EsmInsCompany;
 import com.ydtech.modules.inv.dao.InvChannelAccountMapper;
@@ -28,6 +29,7 @@ import java.time.MonthDay;
 import java.time.YearMonth;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -569,6 +571,22 @@ public class InvReceivableServiceImpl implements InvReceivableService {
         return receivableAndSettlementVoList;
     }
 
+    @Override
+    public Boolean deleteReceivable(String[] ids) {
+        return invReceivableMapper.deleteReceivable(String.join(",",ids));
+    }
+
+    @Override
+    public Boolean updateRecivableBatch(InvSource invSource) {
+        List<String> list = Arrays.asList(invSource.getIds());
+        List<InvSource> invSources = invSourceMapper.selectBatchIds(list);
+        invSources.forEach(x -> {
+            x.setInsuranceClearingState(invSource.getInsuranceClearingState());
+            invSourceMapper.updateById(x);
+        });
+        return true;
+    }
+
 }
 
 

+ 13 - 0
src/main/java/com/ydtech/modules/inv/service/impl/InvSettlementSourceServiceImpl.java

@@ -7,8 +7,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.inv.dao.InvSettlementSourceMapper;
 import com.ydtech.modules.inv.model.excel.InvSettlementSourceExcel;
+import com.ydtech.modules.inv.model.po.InvChannelAccount;
 import com.ydtech.modules.inv.model.po.InvSettlementSource;
 import com.ydtech.modules.inv.model.po.InvSource;
+import com.ydtech.modules.inv.service.InvChannelAccountService;
 import com.ydtech.modules.inv.service.InvSettlementSourceService;
 import com.ydtech.modules.inv.utils.EasyExcelUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -32,6 +34,9 @@ public class InvSettlementSourceServiceImpl extends ServiceImpl<InvSettlementSou
     @Autowired
     private InvSettlementSourceService invSettlementSourceService;
 
+    @Autowired
+    private InvChannelAccountService invChannelAccountService;
+
     @Value("${upload.file.path}")
     String uploadFilePath;
 
@@ -39,6 +44,14 @@ public class InvSettlementSourceServiceImpl extends ServiceImpl<InvSettlementSou
     public HttpResult readInvSettlementSourceExcel(String file) {
         List<InvSettlementSourceExcel> invSettlementSourceExcels = EasyExcelUtils.readInvSettlementSourceExcelExcel(uploadFilePath + file, InvSettlementSourceExcel.class);
         List<InvSettlementSource> invSettlementSources = JSONArray.parseArray(JSONArray.toJSONString(invSettlementSourceExcels),InvSettlementSource.class);
+        List<InvChannelAccount> accountList = invChannelAccountService.list();
+        invSettlementSources.forEach(invSettlementSource -> {
+            boolean count = accountList.stream().filter(x -> x.getChannelName().equals(invSettlementSource.getChannel())).findFirst().isPresent();
+            if(count){
+                InvChannelAccount invChannelAccount = accountList.stream().filter(x -> x.getChannelName().equals(invSettlementSource.getChannel())).findFirst().get();
+                invSettlementSource.setEmployeeId(invChannelAccount.getEmployeeId());
+            }
+        });
         boolean result = invSettlementSourceService.saveOrUpdateBatchWithConditions(invSettlementSources);
         return result ? HttpResult.ok("导入成功") : HttpResult.error("导入失败");
     }

+ 7 - 3
src/main/java/com/ydtech/modules/inv/utils/excel/InvSettlementSourceDataListener.java

@@ -44,9 +44,13 @@ public class InvSettlementSourceDataListener implements ReadListener<InvSettleme
             try {
                     //处理日期格式
                     if("signDate".equals(field.getName()) || "agencySettlementTime".equals(field.getName())){
-                        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-                        LocalDate o = LocalDate.parse(field.get(data).toString(),DateTimeFormatter.ISO_DATE);
-                        field.set(data,formatter.format(o));
+                        if("0".equals(field.get(data)) || field.get(data) == null){
+                            field.set(data,"0");
+                        }else {
+                            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+                            LocalDate o = LocalDate.parse(field.get(data).toString(), DateTimeFormatter.ISO_DATE);
+                            field.set(data, formatter.format(o));
+                        }
                     }else{
                         if(field.get(data) == null){
                             field.set(data,"0");

+ 1 - 1
src/main/java/com/ydtech/modules/inv/utils/excel/InvSourceDataListener.java

@@ -46,7 +46,7 @@ public class InvSourceDataListener implements ReadListener<InvSourceExcel> {
             try {
                     //处理日期格式
                     if("clearingTime".equals(field.getName()) || "signingTime".equals(field.getName())){
-                        if("0".equals(field.get(data))){
+                        if("0".equals(field.get(data)) || field.get(data) == null){
                             field.set(data,"0");
                         }else{
                             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");

+ 5 - 1
src/main/resources/mapper/modules/inv/InvReceivableMapper.xml

@@ -264,9 +264,13 @@
                 and ivs.insurance_dept_id = #{param.insuranceDeptId}
             </if>
             <if test="param.clearingState != null and param.clearingState != ''">
-                and iss.clearing_state = #{param.clearingState}
+                and ivs.clearing_state = #{param.clearingState}
             </if>
     </select>
 
+    <delete id="deleteReceivable">
+        delete from inv_source
+        where id in (${ids})
+    </delete>
 
 </mapper>