瀏覽代碼

编号优化

guq 7 年之前
父節點
當前提交
b461f980c9
共有 26 個文件被更改,包括 155 次插入46 次删除
  1. 4 0
      applications/commons/commons-api/pom.xml
  2. 1 1
      applications/commons/commons-api/src/main/java/com/usoftchina/saas/commons/api/MaxnumberService.java
  3. 21 0
      applications/commons/commons-api/src/main/java/com/usoftchina/saas/commons/api/MaxnumberServiceFallback.java
  4. 1 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java
  5. 2 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/CommonsApplication.java
  6. 0 4
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/MaxnumberServiceImpl.java
  7. 4 0
      applications/document/document-dto/pom.xml
  8. 2 1
      applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/CustomerFormDTO.java
  9. 2 1
      applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/ProductListDTO.java
  10. 2 1
      applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/VendorListDTO.java
  11. 7 1
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/CustomerServiceImpl.java
  12. 11 4
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/ProductServiceImpl.java
  13. 15 9
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/VendorServiceImpl.java
  14. 17 2
      applications/document/document-server/src/main/resources/application.yml
  15. 2 1
      applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/ProdInOutFormDTO.java
  16. 3 1
      applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/PurchaseFormDTO.java
  17. 4 1
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/ProdInOutServiceImpl.java
  18. 6 2
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java
  19. 14 2
      applications/purchase/purchase-server/src/main/resources/application.yml
  20. 4 0
      applications/sale/sale-dto/pom.xml
  21. 2 1
      applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/ProdInOutFormDTO.java
  22. 4 8
      applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/SaleFormDTO.java
  23. 2 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/SaleApplication.java
  24. 6 2
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/ProdInOutServiceImpl.java
  25. 5 2
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java
  26. 14 2
      applications/sale/sale-server/src/main/resources/application.yml

+ 4 - 0
applications/commons/commons-api/pom.xml

@@ -24,5 +24,9 @@
             <groupId>com.usoftchina.saas</groupId>
             <artifactId>core</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
+        </dependency>
     </dependencies>
 </project>

+ 1 - 1
applications/commons/commons-api/src/main/java/com/usoftchina/saas/commons/api/MaxnumberService.java

@@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.RequestParam;
  * @Author: guq
  * @Date: 2018/10/20
  */
-@FeignClient("commons-server")
+@FeignClient(name = "commons-server", fallback = MaxnumberServiceFallback.class)
 public interface MaxnumberService {
     /**
      * @Description: 更新并获取最大编号

+ 21 - 0
applications/commons/commons-api/src/main/java/com/usoftchina/saas/commons/api/MaxnumberServiceFallback.java

@@ -0,0 +1,21 @@
+package com.usoftchina.saas.commons.api;
+
+import com.usoftchina.saas.base.Result;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author: guq
+ * @create: 2018-12-14 09:06
+ **/
+@Component
+public class MaxnumberServiceFallback implements MaxnumberService {
+    @Override
+    public Result<String> pushMaxnubmer(Integer count, String code, String caller) {
+        return Result.error("网络异常,请稍后重试!");
+    }
+
+    @Override
+    public Result<String> getMaxnumber(String caller, boolean update) {
+        return Result.error("网络异常,请稍后重试!");
+    }
+}

+ 1 - 0
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java

@@ -38,6 +38,7 @@ public enum BizExceptionCode implements BaseExceptionCode {
     BIZ_ENABLE(79314, "只能开启已禁用的单据"),
     BIZ_NULLCALLER(79315, "该单据的定义不存在"),
     BIZ_REPORT_NOCALLER(79316, "报表配置不存在"),
+    BIZ_REPORT_NOTCORRECT(79317, "导入数据无效"),
 
     NO_OPRATIONDATA(79400,"无可操作单据"),
     NULL_DATA(23232,"无数据"),

+ 2 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/CommonsApplication.java

@@ -5,6 +5,7 @@ import com.usoftchina.saas.server.jdbc.EnableDynamicDataSource;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
 import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
 import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
@@ -20,6 +21,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
 @EnableFeignClients("com.usoftchina.saas")
 @MapperScan("com.usoftchina.saas.commons.mapper")
 @EnableAuthClient
+@EnableCircuitBreaker
 public class CommonsApplication {
     public static void main(String[] args) {
         SpringApplication.run(CommonsApplication.class, args);

+ 0 - 4
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/MaxnumberServiceImpl.java

@@ -142,10 +142,6 @@ public class MaxnumberServiceImpl extends CommonBaseServiceImpl<MaxnumbersMapper
             length = maxnumbers.getMn_number();
             Integer serialNum = praseSerialNum(maxcode, length);
             if (null != serialNum) {
-                /*detail.setMd_maxno(serialNum);
-                detail.setUpdaterId(userId);
-                detail.setUpdateTime(new Date());
-                maxnumbersdetailMapper.updateByPrimaryKeySelective(detail);*/
                 maxnumbersdetailMapper.updateMaxno(detail.getId(), serialNum, BaseContextHolder.getCompanyId());
             }
 

+ 4 - 0
applications/document/document-dto/pom.xml

@@ -26,6 +26,10 @@
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.usoftchina.saas</groupId>
+            <artifactId>commons-dto</artifactId>
+        </dependency>
     </dependencies>
 
 </project>

+ 2 - 1
applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/CustomerFormDTO.java

@@ -1,5 +1,6 @@
 package com.usoftchina.saas.document.dto;
 
+import com.usoftchina.saas.commons.dto.BaseFormDTO;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -10,7 +11,7 @@ import java.util.List;
  * 2018-10-23 17:26.
  */
 @Data
-public class CustomerFormDTO implements Serializable {
+public class CustomerFormDTO extends BaseFormDTO implements Serializable {
 
     private CustomerDTO main;
     private List<CustomercontactDTO> items1;

+ 2 - 1
applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/ProductListDTO.java

@@ -1,12 +1,13 @@
 package com.usoftchina.saas.document.dto;
 
+import com.usoftchina.saas.commons.dto.BaseFormDTO;
 import com.usoftchina.saas.document.entities.Product;
 import com.usoftchina.saas.document.entities.ProductDetail;
 
 import java.io.Serializable;
 import java.util.List;
 
-public class ProductListDTO implements Serializable {
+public class ProductListDTO extends BaseFormDTO implements Serializable {
 
     private Product main;
     private List<ProductDetail> items;

+ 2 - 1
applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/VendorListDTO.java

@@ -1,12 +1,13 @@
 package com.usoftchina.saas.document.dto;
 
+import com.usoftchina.saas.commons.dto.BaseFormDTO;
 import com.usoftchina.saas.document.entities.Vendor;
 import com.usoftchina.saas.document.entities.Vendorcontact;
 
 import java.io.Serializable;
 import java.util.List;
 
-public class VendorListDTO implements Serializable {
+public class VendorListDTO extends BaseFormDTO implements Serializable {
 
     private Vendor main;
     private List<Vendorcontact> items;

+ 7 - 1
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/CustomerServiceImpl.java

@@ -159,7 +159,10 @@ public class CustomerServiceImpl extends CommonBaseServiceImpl<CustomerMapper, C
         }
         //编号校验
         cu_code = RegexpUtils.replaceSpecCharacter(cu_code);
-        cu_code = pushMaxnubmer(cu_code, cu_id);
+        //检测单号是否修改
+        if (data.isCodeModified()) {
+            cu_code = pushMaxnubmer(cu_code, cu_id);
+        }
         //单号赋值
         customer.setCu_code(cu_code);
         //新增
@@ -513,6 +516,9 @@ public class CustomerServiceImpl extends CommonBaseServiceImpl<CustomerMapper, C
                 int i = getMapper().validateCodeWhenInsert(code, companyId);
                 List<DataImportDetail> data = datas.get(code);
                 DataImportDetail main = dataImportMapper.selectMainBycode(code, id, companyId);
+                if (StringUtils.isEmpty(main)) {
+                    throw new BizException(BizExceptionCode.BIZ_REPORT_NOTCORRECT);
+                }
                 CustomerDTO customerDTO = JSONObject.parseObject(main.getDd_maindata(), CustomerDTO.class);
                 //验证业务员
                 if (!StringUtils.isEmpty(customerDTO.getCu_sellername())) {

+ 11 - 4
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/ProductServiceImpl.java

@@ -108,14 +108,17 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
 
         String prCode = product.getPr_code().trim().toUpperCase();
         prCode = RegexpUtils.replaceSpecCharacter(prCode);
-        String code = pushMaxnubmer(prCode, product.getId());
+        if (productListDTO.isCodeModified()) {
+            prCode = pushMaxnubmer(prCode, product.getId());
+        }
+
         if(product.getId() == 0){
             //保存
             product.setCompanyId(companyId);
             product.setCreatorId(userId);
             product.setCreateTime(new Date());
             product.setCreatorName(userName);
-            product.setPr_code(code);
+            product.setPr_code(prCode);
             //保存主表
             getMapper().insertSelective(product);
             //保存明细表数据
@@ -133,7 +136,7 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
             //生成库存初始化数据并过账
             generateProdIOPost(product, productDetailList);
 
-            docBaseDTO = generateMsgObj(product.getId(), code);
+            docBaseDTO = generateMsgObj(product.getId(), prCode);
             //记录LOG
             messageLogService.save(docBaseDTO);
         }else{
@@ -191,7 +194,7 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
 
             product.setUpdaterId(BaseContextHolder.getUserId());
             product.setUpdateTime(new Date());
-            product.setPr_code(code);
+            product.setPr_code(prCode);
             getMapper().updateByPrimaryKeySelective(product);
             docBaseDTO = generateMsgObj(product.getId(), product.getPr_code());
             //记录LOG
@@ -618,6 +621,10 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
                 int i = getMapper().validateCodeWhenInsert(code, companyId);
                 List<DataImportDetail> data = datas.get(code);
                 DataImportDetail main = dataImportMapper.selectMainBycode(code, id, companyId);
+                //数据验证
+                if (StringUtils.isEmpty(main)) {
+                    throw new BizException(BizExceptionCode.BIZ_REPORT_NOTCORRECT);
+                }
                 Product product = JSONObject.parseObject(main.getDd_maindata(), Product.class);
                 Warehouse warehouse = null;
                 //验证仓库

+ 15 - 9
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/VendorServiceImpl.java

@@ -142,9 +142,12 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
             YM = beginDate;
         }
         ve_code = RegexpUtils.replaceSpecCharacter(ve_code);
-        String code = pushMaxnubmer(ve_code, main.getId());
+        if (vendorListDTO.isCodeModified()) {
+            ve_code = pushMaxnubmer(ve_code, main.getId());
+        }
+        //String code = pushMaxnubmer(ve_code, main.getId());
         if(main.getId() == 0){
-            int count = getMapper().getCountByCode(code, companyId);
+            int count = getMapper().getCountByCode(ve_code, companyId);
             if(count > 0){
                 throw new BizException(BizExceptionCode.REPEAT_CODE);
             }
@@ -153,7 +156,7 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
                 throw new BizException(BizExceptionCode.REPEAT_NAME);
             }
             //保存主表信息
-            main.setVe_code(code);
+            main.setVe_code(ve_code);
             //更新应付款余额
             Double beginapamount = main.getVe_beginapamount()==null ? new Double(0):main.getVe_beginapamount();
             Double beginprepayamount = main.getVe_beginprepayamount()==null ? new Double(0):main.getVe_beginprepayamount();
@@ -177,14 +180,14 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
                 vendorcontactMapper.batchInsert(items);
             }
             //记录LOG
-            messageLogService.save(generateMsgObj(mainId, code));
+            messageLogService.save(generateMsgObj(mainId, ve_code));
         }else{
-            main.setVe_code(code);
+            main.setVe_code(ve_code);
             Long mainId = main.getId();
             Vendor oldVendor = getMapper().selectByPrimaryKey(main.getId());
 
-            int count = getMapper().getCountByCode(code, companyId);
-            if (!code.equals(oldVendor.getVe_code())){
+            int count = getMapper().getCountByCode(ve_code, companyId);
+            if (!ve_code.equals(oldVendor.getVe_code())){
                 if (count > 0){
                     throw new BizException(BizExceptionCode.REPEAT_CODE);
                 }
@@ -251,7 +254,7 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
                 }
             }
             //记录LOG
-            messageLogService.update(generateMsgObj(main.getId(), code));
+            messageLogService.update(generateMsgObj(main.getId(), ve_code));
         }
 
         //更新应收款余额
@@ -293,7 +296,7 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
             subledgerMapper.insertSelective(subledger);
         }
 
-        return generateMsgObj(main.getId(), code);
+        return generateMsgObj(main.getId(), ve_code);
     }
 
     /**
@@ -453,6 +456,9 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
                 int i = getMapper().validateCodeWhenInsert(code, companyId);
                 List<DataImportDetail> data = datas.get(code);
                 DataImportDetail main = dataImportMapper.selectMainBycode(code, id, companyId);
+                if (StringUtils.isEmpty(main)) {
+                    throw new BizException(BizExceptionCode.BIZ_REPORT_NOTCORRECT);
+                }
                 Vendor vendor = JSONObject.parseObject(main.getDd_maindata(), Vendor.class);
                 vendor.setVe_status(Status.ENABLE.getDisplay());
                 vendor.setVe_statuscode(Status.ENABLE.name());

+ 17 - 2
applications/document/document-server/src/main/resources/application.yml

@@ -75,5 +75,20 @@ mybatis:
 auth:
   public-key: auth/pub.key
 ribbon:
-  ReadTimeout: 6000
-  ConnectTimeout: 6000
+  ReadTimeout: 5000
+  ConnectTimeout: 5000
+feign:
+  hystrix:
+    enabled: true
+hystrix:
+    command:
+        default:
+            execution:
+              timeout:
+                enabled: true
+              isolation:
+                    thread:
+                        timeoutInMilliseconds: 4000
+logging:
+  level:
+     com.usoftchina.saas.document.mapper: debug

+ 2 - 1
applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/ProdInOutFormDTO.java

@@ -1,5 +1,6 @@
 package com.usoftchina.saas.purchase.dto;
 
+import com.usoftchina.saas.commons.dto.BaseFormDTO;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -10,7 +11,7 @@ import java.util.List;
  * 2018-10-17 13:45.
  */
 @Data
-public class ProdInOutFormDTO implements Serializable {
+public class ProdInOutFormDTO extends BaseFormDTO implements Serializable {
 
     private ProdInOutDTO main;
     private List<ProdIODetailDTO> items;

+ 3 - 1
applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/PurchaseFormDTO.java

@@ -1,5 +1,7 @@
 package com.usoftchina.saas.purchase.dto;
 
+import com.usoftchina.saas.commons.dto.BaseFormDTO;
+
 import java.io.Serializable;
 import java.util.List;
 
@@ -9,7 +11,7 @@ import java.util.List;
  * @author yingp
  * @date 2018/10/9
  */
-public class PurchaseFormDTO implements Serializable{
+public class PurchaseFormDTO extends BaseFormDTO implements Serializable{
     private PurchaseDTO main;
     private List<PurchaseDetailDTO> items;
 

+ 4 - 1
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/ProdInOutServiceImpl.java

@@ -153,7 +153,10 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
         baseDTO.setCode(pi_inoutno);
         baseDTO.setId(pi_id);
         baseDTO.setName(pi_class);
-        pi_inoutno = pushMaxnubmer(baseDTO);
+        //检测单号是否更改
+        if (formdata.isCodeModified()) {
+            pi_inoutno = pushMaxnubmer(baseDTO);
+        }
         prodInOut.setPi_inoutno(pi_inoutno);
         prodInOut.setPi_prstatus(Status.PAYNONE.getDisplay());
         prodInOut.setPi_prstatuscode(Status.PAYNONE.name());

+ 6 - 2
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java

@@ -122,8 +122,12 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
         String pu_code = main.getPu_code();
         Purchase purchase = BeanMapper.map(main, Purchase.class);
 
-        //编号校验
-        pu_code = pushMaxnubmer(pu_code, pu_id);
+        //检测编号是否修改
+        if (formdata.isCodeModified()) {
+            //编号校验
+            pu_code = pushMaxnubmer(pu_code, pu_id);
+        }
+
         //单号赋值
         purchase.setPu_code(pu_code);
         //判断更新与保存动作

+ 14 - 2
applications/purchase/purchase-server/src/main/resources/application.yml

@@ -75,5 +75,17 @@ mybatis:
 auth:
   public-key: auth/pub.key
 ribbon:
-  ReadTimeout: 6000
-  ConnectTimeout: 6000
+  ReadTimeout: 5000
+  ConnectTimeout: 5000
+feign:
+  hystrix:
+    enabled: true
+hystrix:
+    command:
+        default:
+            execution:
+              timeout:
+                enabled: true
+              isolation:
+                    thread:
+                        timeoutInMilliseconds: 4000

+ 4 - 0
applications/sale/sale-dto/pom.xml

@@ -28,5 +28,9 @@
             <groupId>com.usoftchina.saas</groupId>
             <artifactId>document-dto</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.usoftchina.saas</groupId>
+            <artifactId>commons-dto</artifactId>
+        </dependency>
     </dependencies>
 </project>

+ 2 - 1
applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/ProdInOutFormDTO.java

@@ -1,5 +1,6 @@
 package com.usoftchina.saas.sale.dto;
 
+import com.usoftchina.saas.commons.dto.BaseFormDTO;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -10,7 +11,7 @@ import java.util.List;
  * 2018-10-23
  */
 @Data
-public class ProdInOutFormDTO implements Serializable {
+public class ProdInOutFormDTO extends BaseFormDTO implements Serializable {
 
     private ProdInOutDTO main;
     private List<ProdIODetailDTO> items;

+ 4 - 8
applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/SaleFormDTO.java

@@ -1,12 +1,15 @@
 package com.usoftchina.saas.sale.dto;
 
+import com.usoftchina.saas.commons.dto.BaseFormDTO;
+
+import java.io.Serializable;
 import java.util.List;
 
 /**
  * @author: guq
  * @create: 2018-10-23 11:03
  **/
-public class SaleFormDTO {
+public class SaleFormDTO  extends BaseFormDTO implements Serializable {
     private SaleDTO main;
     private List<SaleDetailDTO> items;
 
@@ -26,11 +29,4 @@ public class SaleFormDTO {
         this.items = items;
     }
 
-    @Override
-    public String toString() {
-        return "PurchaseFormDTO{" +
-                "main=" + main +
-                ", items=" + items +
-                '}';
-    }
 }

+ 2 - 0
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/SaleApplication.java

@@ -7,6 +7,7 @@ import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
 import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.ComponentScan;
 
 
 /**
@@ -19,6 +20,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
 @EnableFeignClients("com.usoftchina.saas")
 @EnableAuthClient
 @EnableDynamicDataSource
+@ComponentScan(basePackages = {"com.usoftchina.saas"})
 public class SaleApplication  {
     public static void main(String[] args) {
         SpringApplication.run(SaleApplication.class, args);

+ 6 - 2
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/ProdInOutServiceImpl.java

@@ -103,8 +103,12 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
         baseDTO.setName(pi_class);
         baseDTO.setId(pi_id);
         baseDTO.setCode(pi_inoutno);
-        //编号获取
-        pi_inoutno = pushMaxnubmer(baseDTO);
+        //检测编号是否修改
+        if (formdata.isCodeModified()) {
+            //编号获取
+            pi_inoutno = pushMaxnubmer(baseDTO);
+        }
+
         prodInOut.setPi_inoutno(pi_inoutno);
         prodInOut.setPi_class(main.getPi_class());
         prodInOut.setPi_said(main.getPi_said());

+ 5 - 2
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java

@@ -117,8 +117,11 @@ public class SaleServiceImpl implements SaleService{
         sale.setSa_sendstatus(Status.UNTURNOUT.getDisplay());
         sale.setSa_sendstatuscode(Status.UNTURNOUT.name());
 
-        //编号校验
-        sa_code = pushMaxnubmer(sa_code, sa_id);
+        //检测编号是否改动
+        if (formdata.isCodeModified()) {
+            //编号校验
+            sa_code = pushMaxnubmer(sa_code, sa_id);
+        }
         //单号赋值
         sale.setSa_code(sa_code);
         //判断更新与保存动作

+ 14 - 2
applications/sale/sale-server/src/main/resources/application.yml

@@ -73,5 +73,17 @@ mybatis:
 auth:
   public-key: auth/pub.key
 ribbon:
-  ReadTimeout: 6000
-  ConnectTimeout: 6000
+  ReadTimeout: 5000
+  ConnectTimeout: 5000
+feign:
+  hystrix:
+    enabled: true
+hystrix:
+    command:
+        default:
+            execution:
+              timeout:
+                enabled: true
+              isolation:
+                    thread:
+                        timeoutInMilliseconds: 4000