Browse Source

Merge branch 'dev' of ssh://10.10.100.21/source/saas-platform into dev

huangx 7 years ago
parent
commit
fda82b02d3
35 changed files with 200 additions and 33 deletions
  1. 1 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java
  2. 1 2
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/EnterpriseController.java
  3. 0 2
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/MessageLogController.java
  4. 2 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/mapper/EndProductMapper.java
  5. 1 1
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/EndProductServiceImpl.java
  6. 7 5
      applications/commons/commons-server/src/main/resources/i18n/messages_zh_CN.properties
  7. 1 0
      applications/commons/commons-server/src/main/resources/logback-spring.xml
  8. 3 0
      applications/commons/commons-server/src/main/resources/mapper/EndProductMapper.xml
  9. 1 1
      applications/commons/commons-server/src/main/resources/mapper/MessagelogMapper.xml
  10. 2 3
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/controller/ProductController.java
  11. 9 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/ProductMapper.java
  12. 7 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/ProductService.java
  13. 32 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/ProductServiceImpl.java
  14. 1 0
      applications/document/document-server/src/main/resources/logback-spring.xml
  15. 14 0
      applications/document/document-server/src/main/resources/mapper/ProductMapper.xml
  16. 52 9
      applications/money/money-server/src/main/resources/logback-spring.xml
  17. 0 1
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/ProdInOutController.java
  18. 0 1
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/PurchaseController.java
  19. 1 0
      applications/purchase/purchase-server/src/main/resources/logback-spring.xml
  20. 0 1
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/controller/ProdInOutController.java
  21. 0 1
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/controller/SaleController.java
  22. 1 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java
  23. 1 0
      applications/sale/sale-server/src/main/resources/logback-spring.xml
  24. 1 0
      applications/storage/storage-server/src/main/resources/logback-spring.xml
  25. 12 0
      base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/controller/ResourceController.java
  26. 1 0
      base-servers/account/account-server/src/main/resources/logback-spring.xml
  27. 1 0
      base-servers/auth/auth-server/src/main/resources/logback-spring.xml
  28. 12 1
      base-servers/gateway-server/src/main/java/com/usoftchina/saas/gateway/error/MyExceptionHandler.java
  29. 1 0
      base-servers/gateway-server/src/main/resources/logback-spring.xml
  30. 1 0
      base-servers/ui-server/src/main/resources/logback-spring.xml
  31. 29 0
      frontend/saas-web/Readme.md
  32. 1 1
      frontend/saas-web/app/model/sale/ProdIODetail.js
  33. 2 1
      frontend/saas-web/app/model/sale/Saledetail.js
  34. 1 2
      frontend/saas-web/app/view/sale/sale/FormPanel.js
  35. 1 1
      frontend/saas-web/app/view/sale/saleOut/FormPanel.js

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

@@ -25,6 +25,7 @@ public enum BizExceptionCode implements BaseExceptionCode {
     BIZ_AUDITED(79303,"只能审核未审核的单据"),
     BIZ_UNAUDITED(79304,"只能反审核已审核的单据"),
     BIZ_DELETE(79305,"只能删除未审核的单据"),
+    BIZ_RELDELETE(79305,"存在关联单据,不允许删除"),
     NO_OPRATIONDATA(79400,"无可操作单据"),
     BOM_SAVE(79401, "产品编号+版本号已存在"),
     REPEAT_NAME(79501, "名称重复"),

+ 1 - 2
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/EnterpriseController.java

@@ -17,8 +17,7 @@ public class EnterpriseController {
 
     @GetMapping("/read")
     public Result getList(){
-        enterpriseService.findByPrimaryKey(BaseContextHolder.getCompanyId());
-        return Result.success();
+        return Result.success(enterpriseService.findByPrimaryKey(BaseContextHolder.getCompanyId()));
     }
 
     @PostMapping("/save")

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

@@ -27,8 +27,6 @@ public class MessageLogController {
     private MessageLogService messageLogService;
 
     /**
-     * 采购订单列表
-     *
      * @param page
      * @param req
      * @return

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

@@ -12,6 +12,8 @@ public interface EndProductMapper {
 
     String selectPeriod(@Param("companyId") Long companyId);
 
+    String selectUnPeriod(@Param("companyId") Long companyId);
+
     List<MessagelogDTO> getListData(@Param("condition") String condition, @Param("companyId") Long companyId);
 
     void updatePeriodStatus(@Param("status") Long status,@Param("period") String period, @Param("companyId") Long companyId);

+ 1 - 1
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/EndProductServiceImpl.java

@@ -70,7 +70,7 @@ public class EndProductServiceImpl implements EndProductService {
 
     @Override
     public void unEndAccount() {
-        String period = endProductMapper.selectPeriod(BaseContextHolder.getCompanyId());
+        String period = endProductMapper.selectUnPeriod(BaseContextHolder.getCompanyId());
         if (StringUtils.isEmpty(period)){
             throw new BizException(79306,"系统还未结账,不能反结账");
         }else{

+ 7 - 5
applications/commons/commons-server/src/main/resources/i18n/messages_zh_CN.properties

@@ -54,10 +54,10 @@ msg.resFreeze=\u53d6\u6d88\u51bb\u7ed3\u64cd\u4f5c
 msg.resFreezeSuccess=\u53d6\u6d88\u51bb\u7ed3\u6210\u529f
 msg.resStart=\u91cd\u542f\u64cd\u4f5c
 msg.resStartSuccess=\u91cd\u542f\u6210\u529f
-msg.close=\u7ed3\u6848\u64cd\u4f5c
-msg.closeSuccess=\u7ed3\u6848\u6210\u529f
-msg.resClose=\u53d6\u6d88\u7ed3\u6848\u64cd\u4f5c
-msg.resCloseSuccess=\u53d6\u6d88\u7ed3\u6848\u6210\u529f
+msg.close=\u5173\u95ed\u64cd\u4f5c
+msg.closeSuccess=\u5173\u95ed\u6210\u529f
+msg.resClose=\u5f00\u542f\u64cd\u4f5c
+msg.resCloseSuccess=\u5f00\u542f\u6210\u529f
 msg.turnPurchase=\u8f6c\u91c7\u8d2d\u5355\u64cd\u4f5c
 msg.turnMake=\u8f6c\u5236\u9020\u5355\u64cd\u4f5c
 msg.turnOutSource=\u8f6c\u59d4\u5916\u5355\u64cd\u4f5c
@@ -117,4 +117,6 @@ msg.getARBill=\u83b7\u53d6\u5e94\u6536\u53d1\u7968
 msg.getAPBill=\u83b7\u53d6\u5e94\u4ed8\u53d1\u7968
 msg.getSuccess=\u83b7\u53d6\u6210\u529f
 msg.endProdudct=\u8bb0\u8d26\u64cd\u4f5c
-msg.endProdudctSuccess=\u7ed3\u8d26\u6210\u529f
+msg.endProdudctSuccess=\u8bb0\u8d26\u6210\u529f
+msg.unEndProduct=\u53cd\u8bb0\u8d26\u64cd\u4f5c
+msg.unEndProductSuccess=\u53cd\u8bb0\u8d26\u6210\u529f

+ 1 - 0
applications/commons/commons-server/src/main/resources/logback-spring.xml

@@ -97,6 +97,7 @@
 
     <springProfile name="docker">
         <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
         <root level="WARN">
             <appender-ref ref="CONSOLE_APPENDER"/>
             <appender-ref ref="JSON_APPENDER"/>

+ 3 - 0
applications/commons/commons-server/src/main/resources/mapper/EndProductMapper.xml

@@ -10,6 +10,9 @@
     <select id="selectPeriod" resultType="string">
         select PD_DETNO from periodsdetail where companyid=#{companyId} and pd_status=0 order by PD_DETNO LIMIT 1;
     </select>
+    <select id="selectUnPeriod" resultType="string">
+        select PD_DETNO from periodsdetail where companyid=#{companyId} and pd_status=99 order by PD_DETNO desc LIMIT 1;
+    </select>
     <resultMap id="MsgResult" type="com.usoftchina.saas.commons.dto.MessagelogDTO">
         <result column="ml_content" property="ml_content" jdbcType="VARCHAR" />
         <result column="ml_result" property="ml_result" jdbcType="VARCHAR" />

+ 1 - 1
applications/commons/commons-server/src/main/resources/mapper/MessagelogMapper.xml

@@ -315,6 +315,6 @@
         and  companyId = #{companyId}
       </if>
     </where>
-    order by ml_id
+    order by ml_id DESC
   </select>
 </mapper>

+ 2 - 3
applications/document/document-server/src/main/java/com/usoftchina/saas/document/controller/ProductController.java

@@ -57,7 +57,7 @@ public class ProductController {
 
     @PostMapping("/delete/{id}")
     public Result delete(@PathVariable("id") Long id){
-        productService.removeByPrimaryKey(id);
+        productService.deleteByPrimaryKey(id);
         return Result.success();
     }
 
@@ -100,8 +100,7 @@ public class ProductController {
 
     @GetMapping("/ReserveCost")
     public Result getReserveCost(PageRequest page, ListReqDTO listReqDTO){
-        productService.getReserveCost(page, listReqDTO);
-        return Result.success();
+        return Result.success(productService.getReserveCost(page, listReqDTO));
     }
 
 }

+ 9 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/ProductMapper.java

@@ -24,4 +24,13 @@ public interface ProductMapper extends CommonBaseMapper<Product> {
     String getCodeById(@Param("id") Long id);
 
     List<ProductReserveCostDTO> selectReserveCost(@Param("con") String con, @Param("companyId") Long companyId);
+
+    int getCountFromPurc(@Param("id") Long id, @Param("companyId") Long companyId);
+
+    int getCountFromSale(@Param("id") Long id, @Param("companyId") Long companyId);
+
+    int getCountFromBom(@Param("id") Long id, @Param("companyId") Long companyId);
+
+    int getCountFromProdIO(@Param("id") Long id, @Param("companyId") Long companyId);
+
 }

+ 7 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/ProductService.java

@@ -81,6 +81,13 @@ public interface ProductService extends CommonBaseService<ProductMapper, Product
      */
     String batchOpen(BatchDealBaseDTO baseDTOs);
 
+    /**
+     * 删除
+     * @param id
+     * @return
+     */
+    boolean deleteByPrimaryKey(Long id);
+
     /**
      * 批量删除
      * @param baseDTOs

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

@@ -168,6 +168,38 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
         return errorMsg.toString();
     }
 
+    @Override
+    public boolean deleteByPrimaryKey(Long id) {
+        //校验物料是否已经在使用状态(采购单、销售单、BOM、出入库单)
+        validEnableDel(id);
+        return false;
+    }
+
+    private void validEnableDel(Long id) {
+        int count = 0;
+        //采购
+        count = getMapper().getCountFromPurc(id, BaseContextHolder.getCompanyId());
+        if (count > 0){
+            throw new BizException(BizExceptionCode.BIZ_RELDELETE);
+        }
+        //销售
+        count = getMapper().getCountFromSale(id, BaseContextHolder.getCompanyId());
+        if (count > 0){
+            throw new BizException(BizExceptionCode.BIZ_RELDELETE);
+        }
+        //BOM
+        count = getMapper().getCountFromBom(id, BaseContextHolder.getCompanyId());
+        if (count > 0){
+            throw new BizException(BizExceptionCode.BIZ_RELDELETE);
+        }
+        //出入库
+        count = getMapper().getCountFromProdIO(id, BaseContextHolder.getCompanyId());
+        if (count > 0){
+            throw new BizException(BizExceptionCode.BIZ_RELDELETE);
+        }
+        //batch
+    }
+
     @Override
     public boolean batchDelete(BatchDealBaseDTO baseDTOs) {
         for(DocBaseDTO docBaseDTO : baseDTOs.getBaseDTOs()){

+ 1 - 0
applications/document/document-server/src/main/resources/logback-spring.xml

@@ -97,6 +97,7 @@
 
     <springProfile name="docker">
         <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
         <root level="WARN">
             <appender-ref ref="CONSOLE_APPENDER"/>
             <appender-ref ref="JSON_APPENDER"/>

+ 14 - 0
applications/document/document-server/src/main/resources/mapper/ProductMapper.xml

@@ -489,5 +489,19 @@
         </where>
         ORDER BY PR_ID DESC
     </select>
+    <select id="getCountFromPurc" resultType="int">
+        SELECT COUNT(*) FROM PURCHASEDETAIL
+        WHERE PD_PRODID = #{id} AND COMPANYID=#{companyId}
+    </select>
+    <select id="getCountFromSale" resultType="int">
+        SELECT COUNT(*) FROM SALEDETAIL
+        WHERE SD_PRODID = #{id} AND COMPANYID=#{companyId}
+    </select>
+    <select id="getCountFromBom" resultType="int">
+        SELECT COUNT(*) FROM BOMDETAIL WHERE BD_SONID=#{id} AND COMPANYID=#{companyId}
+    </select>
+    <select id="getCountFromProdIO" resultType="int">
+        SELECT COUNT(*) FROM PRODIODETAIL WHERE PD_PRODID=#{id} AND COMPANYID=#{companyId}
+    </select>
 </mapper>
 

+ 52 - 9
applications/money/money-server/src/main/resources/logback-spring.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
-    <include resource="org/springframework/boot/logging/logback/defaults.xml" />
+    <include resource="org/springframework/boot/logging/logback/base.xml" />
     <jmxConfigurator/>
 
     <!--
@@ -28,10 +28,10 @@
     <springProperty scope="context" name="spring.profiles.active" source="spring.profiles.active" defaultValue="dev"/>
     <springProperty scope="context" name="common-pattern" source="logging.common-pattern" defaultValue="%d{yyyy-MM-dd HH:mm:ss.SSS}:[%5p] [%t:%r] [%C{1}:%M:%L] --> %m%n"/>
     <springProperty scope="context" name="log.level.console" source="logging.level.console" defaultValue="INFO"/>
+    <springProperty scope="context" name="log.destination" source="logging.destination" defaultValue="192.168.253.3:5000"/>
 
     <contextName>${spring.application.name}-${spring.profiles.active}-logback</contextName>
 
-
     <appender name="CONSOLE_APPENDER" class="ch.qos.logback.core.ConsoleAppender">
         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
             <level>${log.level.console}</level>
@@ -44,11 +44,9 @@
     <appender name="ROOT_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
         <file>${log.path}/root.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <!-- 每天一归档 -->
             <fileNamePattern>${log.path}/%d{yyyy-MM}/root-%d{yyyy-MM-dd}-%i.log.gz</fileNamePattern>
-            <!-- 单个日志文件最多 100MB, 60天的日志周期,最大不能超过20GB -->
             <maxFileSize>128MB</maxFileSize>
-            <maxHistory>60</maxHistory>
+            <maxHistory>7</maxHistory>
             <totalSizeCap>20GB</totalSizeCap>
         </rollingPolicy>
         <encoder>
@@ -56,9 +54,54 @@
         </encoder>
     </appender>
 
-    <root level="${log.level.console}">
-        <appender-ref ref="CONSOLE_APPENDER"/>
-        <appender-ref ref="ROOT_APPENDER"/>
-    </root>
+    <!-- Appender to log in a JSON format -->
+    <appender name="JSON_APPENDER" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
+        <destination>${log.destination}</destination>
+        <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
+            <providers>
+                <pattern>
+                    <pattern>
+                        {
+                        "severity": "%level",
+                        "service": "${spring.application.name:-}",
+                        "trace": "%X{X-B3-TraceId:-}",
+                        "span": "%X{X-B3-SpanId:-}",
+                        "parent": "%X{X-B3-ParentSpanId:-}",
+                        "exportable": "%X{X-Span-Export:-}",
+                        "pid": "${PID:-}",
+                        "thread": "%thread",
+                        "class": "%logger{40}",
+                        "rest": "%message"
+                        }
+                    </pattern>
+                </pattern>
+            </providers>
+        </encoder>
+    </appender>
+
+    <logger name="org.springframework" level="INFO"/>
+    <logger name="com.usoftchina.saas" level="INFO"/>
+
+    <springProfile name="dev">
+        <root level="INFO">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+        </root>
+    </springProfile>
+
+    <springProfile name="test">
+        <root level="INFO">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="ROOT_APPENDER"/>
+        </root>
+    </springProfile>
+
+    <springProfile name="docker">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
 
 </configuration>

+ 0 - 1
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/ProdInOutController.java

@@ -16,7 +16,6 @@ import org.springframework.web.bind.annotation.*;
  * Created by zdw
  * 2018-10-17 11:41.
  */
-@CrossOrigin
 @RestController
 @RequestMapping("/prodinout")
 public class ProdInOutController {

+ 0 - 1
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/PurchaseController.java

@@ -18,7 +18,6 @@ import org.springframework.web.bind.annotation.*;
  * @author yingp
  * @date 2018/10/9
  */
-@CrossOrigin
 @RestController
 @RequestMapping("/purchase")
 public class PurchaseController {

+ 1 - 0
applications/purchase/purchase-server/src/main/resources/logback-spring.xml

@@ -97,6 +97,7 @@
 
     <springProfile name="docker">
         <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
         <root level="WARN">
             <appender-ref ref="CONSOLE_APPENDER"/>
             <appender-ref ref="JSON_APPENDER"/>

+ 0 - 1
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/controller/ProdInOutController.java

@@ -18,7 +18,6 @@ import org.springframework.web.bind.annotation.*;
  * Created by wyx
  * 2018-10-23.
  */
-@CrossOrigin
 @RestController
 @RequestMapping("/prodinout")
 public class ProdInOutController {

+ 0 - 1
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/controller/SaleController.java

@@ -16,7 +16,6 @@ import org.springframework.web.bind.annotation.*;
  * @author: guq
  * @create: 2018-10-22 11:28
  **/
-@CrossOrigin
 @RestController
 @RequestMapping("/sale")
 public class SaleController {

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

@@ -160,6 +160,7 @@ public class SaleServiceImpl implements SaleService{
             SaleDetail detail = BeanMapper.map(item, SaleDetail.class);
             detail.setSd_said(sa_id);
             detail.setSd_code(sa_code);
+            detail.setCompanyId(companyId);
             if (StringUtils.isEmpty(detail.getId()) || "0".equals(detail.getId().toString())) {
                 insertDetails.add(detail);
             } else {

+ 1 - 0
applications/sale/sale-server/src/main/resources/logback-spring.xml

@@ -97,6 +97,7 @@
 
     <springProfile name="docker">
         <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
         <root level="WARN">
             <appender-ref ref="CONSOLE_APPENDER"/>
             <appender-ref ref="JSON_APPENDER"/>

+ 1 - 0
applications/storage/storage-server/src/main/resources/logback-spring.xml

@@ -97,6 +97,7 @@
 
     <springProfile name="docker">
         <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
         <root level="WARN">
             <appender-ref ref="CONSOLE_APPENDER"/>
             <appender-ref ref="JSON_APPENDER"/>

+ 12 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/controller/ResourceController.java

@@ -1,5 +1,6 @@
 package com.usoftchina.saas.account.controller;
 
+import com.usoftchina.saas.account.cache.ResourceCache;
 import com.usoftchina.saas.account.dto.ResourceModuleDTO;
 import com.usoftchina.saas.account.dto.UrlResourceDTO;
 import com.usoftchina.saas.account.service.ResourceService;
@@ -53,4 +54,15 @@ public class ResourceController {
         return Result.success(resourcesService.findUrlResourcesByAppId(appId));
     }
 
+    /**
+     * 缓存清除
+     *
+     * @return
+     */
+    @GetMapping("/cache/clear")
+    public Result clearCache() {
+        ResourceCache.of(BaseContextHolder.getAppId()).hdel();
+        return Result.success();
+    }
+
 }

+ 1 - 0
base-servers/account/account-server/src/main/resources/logback-spring.xml

@@ -97,6 +97,7 @@
 
     <springProfile name="docker">
         <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
         <root level="WARN">
             <appender-ref ref="CONSOLE_APPENDER"/>
             <appender-ref ref="JSON_APPENDER"/>

+ 1 - 0
base-servers/auth/auth-server/src/main/resources/logback-spring.xml

@@ -97,6 +97,7 @@
 
     <springProfile name="docker">
         <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
         <root level="WARN">
             <appender-ref ref="CONSOLE_APPENDER"/>
             <appender-ref ref="JSON_APPENDER"/>

+ 12 - 1
base-servers/gateway-server/src/main/java/com/usoftchina/saas/gateway/error/MyExceptionHandler.java

@@ -1,5 +1,8 @@
 package com.usoftchina.saas.gateway.error;
 
+import com.usoftchina.saas.exception.BaseException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.boot.autoconfigure.web.ErrorProperties;
 import org.springframework.boot.autoconfigure.web.ResourceProperties;
 import org.springframework.boot.autoconfigure.web.reactive.error.DefaultErrorWebExceptionHandler;
@@ -20,6 +23,8 @@ import java.util.Map;
  */
 public class MyExceptionHandler extends DefaultErrorWebExceptionHandler {
 
+    private Logger logger = LoggerFactory.getLogger(MyExceptionHandler.class);
+
     public MyExceptionHandler(ErrorAttributes errorAttributes, ResourceProperties resourceProperties,
                               ErrorProperties errorProperties, ApplicationContext applicationContext) {
         super(errorAttributes, resourceProperties, errorProperties, applicationContext);
@@ -32,10 +37,16 @@ public class MyExceptionHandler extends DefaultErrorWebExceptionHandler {
     protected Map<String, Object> getErrorAttributes(ServerRequest request, boolean includeStackTrace) {
         int code = 500;
         Throwable error = super.getError(request);
+        String message = error.getMessage();
         if (error instanceof NotFoundException) {
             code = 404;
+        } else if (error instanceof BaseException) {
+            BaseException e = (BaseException) error;
+            code = e.getCode();
+            message = e.getMessage();
         }
-        return response(code, this.buildMessage(request, error));
+        logger.error(this.buildMessage(request, error));
+        return response(code, message);
     }
 
     /**

+ 1 - 0
base-servers/gateway-server/src/main/resources/logback-spring.xml

@@ -97,6 +97,7 @@
 
     <springProfile name="docker">
         <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
         <root level="WARN">
             <appender-ref ref="CONSOLE_APPENDER"/>
             <appender-ref ref="JSON_APPENDER"/>

+ 1 - 0
base-servers/ui-server/src/main/resources/logback-spring.xml

@@ -97,6 +97,7 @@
 
     <springProfile name="docker">
         <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
         <root level="WARN">
             <appender-ref ref="CONSOLE_APPENDER"/>
             <appender-ref ref="JSON_APPENDER"/>

+ 29 - 0
frontend/saas-web/Readme.md

@@ -149,6 +149,31 @@ viewModel: view.core.query.QueryPanelModel
 | baseColumn | 基础列配置 | √ | [ Column ] |
 | relativeColumn | 关联列设置 | x | [ Column ] |
 
+## 放大镜配置
+
+dbfindtrigger,用于选择基础资料
+
+| 字段 | 说明 | 必填 | 样例 |
+| --- | --- | --- | --- |
+| dataUrl | 查询接口 | √ | "/api/document/vendor/list" |
+| addXtype | 新增基础资料页面xtype | √ | "document-vendor-formpanel" |
+| addTitle | 新增单据名称,新增tab标题 | √ | "供应商资料" |
+| dbfinds | 字段赋值配置,from:基础资料字段;to: 主表或从表字段;ignore:非模糊查询字段 | √ | [{
+                            from:'id',to:'pu_vendid',ignore:true
+                        },{
+                            from:'ve_code',to:'pu_vendcode'
+                        },{
+                            from:'ve_name',to:'pu_vendname'
+                        }] |
+| dbtpls | 模糊查询展示列 | √ | [{
+                            field:'ve_code',width:100
+                        },{
+                            field:'ve_name',width:100
+                        }] |
+| defaultCondition | 默认查询条件 | x | "ve_statuscode='OPEN'" |
+| dbSearchFields | 自定义查询字段 | √ | [ Ext.form.field ] |
+| dbColumns | 列配置 | √ | [ Ext.grid.column ] |
+
 ---
 
 ### 前端配置调整日志
@@ -173,5 +198,9 @@ deleteDetailUrl 配置调整 formpanel.form->formpanel.detailGridField
 
 从表显示合计栏配置说明
 
+- 2018-11-6 08:39:18
+
+放大镜配置说明
+
 
 

+ 1 - 1
frontend/saas-web/app/model/sale/ProdIODetail.js

@@ -14,7 +14,7 @@ Ext.define('saas.model.sale.ProdIODetail', {
         { name: 'pd_prodcode', type: 'string' },
         { name: 'pd_unit', type: 'string' },
         { name: 'pd_inqty', type: 'int' },
-        { name: 'pd_outqty', type: 'int' },
+        { name: 'pd_outqty', type: 'float' },
         { name: 'pd_orderprice', type: 'float' },
         { name: 'pd_sendprice', type: 'float' },
         { name: 'pd_price', type: 'float' },

+ 2 - 1
frontend/saas-web/app/model/sale/Saledetail.js

@@ -12,7 +12,8 @@ Ext.define('saas.model.sale.Saledetail', {
         { name: 'sd_total', type: 'float' },
         { name: 'sd_delivery', type: 'date' },
         { name: 'sd_taxtotal', type: 'float' },
-        { name: 'sd_pucode', type: 'string' }
+        { name: 'sd_pucode', type: 'string' },
+        { name: 'sd_text1', type: 'string' }
     ],
     //一对一映射
     associations: [{ type: 'hasOne', model: 'saas.model.document.Product', associationKey: 'productDTO'}]

+ 1 - 2
frontend/saas-web/app/view/sale/sale/FormPanel.js

@@ -239,10 +239,9 @@ Ext.define('saas.view.sale.sale.FormPanel', {
                 ignore:true
             },{
                 text : "备注", 
-                dataIndex : "sd_remark",
+                dataIndex : "sd_text1",
                 width : 250, 
                 items : null,
-                ignore:true,
                 editor : {
                     xtype : "textfield"
                 },

+ 1 - 1
frontend/saas-web/app/view/sale/saleOut/FormPanel.js

@@ -26,7 +26,7 @@ Ext.define('saas.view.sale.saleout.FormPanel', {
 
     toolBtns: [{
         xtype: 'button',
-        text: '转销售退',
+        text: '转销售退',
         handler: 'turnProdIn',
         bind: {
             hidden: '{pi_statuscode!="AUDITED"}'