Jelajahi Sumber

发票收款结算调整

sangwenwei 8 bulan lalu
induk
melakukan
2a8b78a5eb

+ 2 - 4
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/finance/service/JyFinanceInvoiceService.java

@@ -34,10 +34,7 @@ import org.springframework.transaction.annotation.Transactional;
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
@@ -565,6 +562,7 @@ public class JyFinanceInvoiceService extends ServiceImpl<JyFinanceInvoiceMapper,
     }
 
     public String isReceivables(JyFinanceInvoiceDTO cwFinanceInvoiceDTO) {
+        cwFinanceInvoiceDTO.setReceivablesDate(new Date());
         JyFinanceInvoice cwFinanceInvoice = JyFinanceInvoiceWrapper.INSTANCE.toEntity(cwFinanceInvoiceDTO);
         cwFinanceInvoiceMapper.update(cwFinanceInvoice, new QueryWrapper<JyFinanceInvoice>().lambda().eq(JyFinanceInvoice::getId, cwFinanceInvoice.getId()));
         return "操作成功";

+ 28 - 17
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/service/JyProjectService.java

@@ -426,13 +426,18 @@ public class JyProjectService {
         //获取当前登录人信息
         UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken());
         String projectNo = "";
+        JyWorkContractInfo contractInfo = null;
+        Integer projectNum= 0;
         //获取合同编号
-        JyWorkContractInfo contractInfo = jyWorkContractInfoMapper.findById(dto.getContractId());
+        if (StringUtils.isNotBlank(dto.getContractId())){
+            contractInfo = jyWorkContractInfoMapper.findById(dto.getContractId());
+            //获取合同下的项目数量
+            projectNum=jyProjectMapper.getProByContractId(dto.getContractId());
+        }
         // 修改项目管理列表主表信息
         //获取项目编号
         JyProject project = jyProjectMapper.getById(dto.getId());
-        //获取合同下的项目数量
-        Integer projectNum=jyProjectMapper.getProByContractId(dto.getContractId());
+
         //生成新的项目编号   合同编号+合同下的项目数量+(项目编号)
         Integer count=0;
         //判断是否选择了合同
@@ -452,27 +457,33 @@ public class JyProjectService {
                             result = matcher.group(1);
                         }
                         //判断当前合同下是否有项目
-                        if (projectNum==0){
-                            projectNo=contractInfo.getNo()+"-0"+(count+1)+"("+result+")";
-                        }else {
-                            if (projectNum<10){
-                                projectNo=contractInfo.getNo()+"-0"+(projectNum+1)+"("+result+")";
+                        if (ObjectUtils.isNotEmpty(contractInfo) && ObjectUtils.isNotEmpty(projectNum)){
+                            if (projectNum==0){
+                                projectNo=contractInfo.getNo()+"-0"+(count+1)+"("+result+")";
                             }else {
-                                projectNo=contractInfo.getNo()+"-"+(projectNum+1)+"("+result+")";
-                            }
+                                if (projectNum<10){
+                                    projectNo=contractInfo.getNo()+"-0"+(projectNum+1)+"("+result+")";
+                                }else {
+                                    projectNo=contractInfo.getNo()+"-"+(projectNum+1)+"("+result+")";
+                                }
 
+                            }
                         }
+
                     }else {
-                        if (projectNum==0){
-                            projectNo=contractInfo.getNo()+"-0"+(count+1);
-                        }else {
-                            if (projectNum<10){
-                                projectNo=contractInfo.getNo()+"-0"+(projectNum+1);
+                        if (ObjectUtils.isNotEmpty(contractInfo) && ObjectUtils.isNotEmpty(projectNum)){
+                            if (projectNum==0){
+                                projectNo=contractInfo.getNo()+"-0"+(count+1);
                             }else {
-                                projectNo=contractInfo.getNo()+"-"+(projectNum+1);
-                            }
+                                if (projectNum<10){
+                                    projectNo=contractInfo.getNo()+"-0"+(projectNum+1);
+                                }else {
+                                    projectNo=contractInfo.getNo()+"-"+(projectNum+1);
+                                }
 
+                            }
                         }
+
                     }
                 }else {
                     projectNo=project.getNo();