Browse Source

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

jinsy 7 years ago
parent
commit
961615c8cb
24 changed files with 253 additions and 121 deletions
  1. 4 1
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java
  2. 4 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/BankinformationMapper.java
  3. 12 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/BankinformationServiceImpl.java
  4. 9 2
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/ProductServiceImpl.java
  5. 8 0
      applications/document/document-server/src/main/resources/mapper/BankinformationMapper.xml
  6. 2 2
      applications/document/document-server/src/main/resources/mapper/ProductMapper.xml
  7. 40 0
      applications/money/money-dto/src/main/java/com/usoftchina/saas/money/dto/ApcheckDTO.java
  8. 14 12
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/FundtransferServiceImpl.java
  9. 3 3
      applications/money/money-server/src/main/resources/mapper/VerificationMapper.xml
  10. 12 4
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/controller/ApCheckController.java
  11. 6 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/controller/SaleDownController.java
  12. 2 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/mapper/ApcheckMapper.java
  13. 2 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/mapper/SaledownMapper.java
  14. 11 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/impl/ApCheckServiceImpl.java
  15. 19 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/impl/SaleDownServiceImpl.java
  16. 4 0
      applications/transfers/transfers-server/src/main/resources/mapper/ApcheckMapper.xml
  17. 4 0
      applications/transfers/transfers-server/src/main/resources/mapper/SaledownMapper.xml
  18. 2 2
      frontend/saas-web/app/util/State.js
  19. 4 4
      frontend/saas-web/app/view/main/Main.js
  20. 19 19
      frontend/saas-web/app/view/money/othreceipts/FormPanel.js
  21. 7 7
      frontend/saas-web/app/view/money/payBalance/FormPanel.js
  22. 6 6
      frontend/saas-web/app/view/money/recBalance/FormPanel.js
  23. 42 42
      frontend/saas-web/app/view/money/verification/FormPanel.js
  24. 17 17
      frontend/saas-web/app/view/viewport/ViewportController.js

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

@@ -41,6 +41,8 @@ public enum BizExceptionCode implements BaseExceptionCode {
     BIZ_REPORT_NOCALLER(79316, "报表配置不存在"),
     BIZ_REPORT_NOTCORRECT(79317, "导入数据无效"),
     BIZ_IMPORT_ERROREXCEL(79318, "请导入对应的单据数据"),
+    BIZ_ENABLE_B2B(79350, "未启用B2B"),
+
 
     NO_OPRATIONDATA(79400,"无可操作单据"),
     NULL_DATA(23232,"无数据"),
@@ -73,6 +75,7 @@ public enum BizExceptionCode implements BaseExceptionCode {
     REQUIREDFIELD_NULL(79508,"存在必填字段为空"),
     USER_EXIST(79509, ""),
     CURRENCY_VALID(79510, "币别与源单据不一致不允许修改"),
+    BIZ_SAME(79511, "账户名称重复"),
 
     //采购 70000-71999
     PURCCHECKIN_POST_ERROR(70000,""),
@@ -116,7 +119,7 @@ public enum BizExceptionCode implements BaseExceptionCode {
     DOCUMENTS_AUDITED(74009,"存在已审核单据:%S"),
     DOCUMENTS_UNAUDITED(74010,"存在未审核单据:%S"),
     BANK_AMOUNT_NOTENOUGHS(74011, "资金账户:%S 余额不足"),
-    CURRENCY_NOT_EQUALS(74012, "币别不一致"),
+    BANKNAME_NOT_EQUALS(74012, "转出账户与转入账户相同"),
 
     //反结账
     EARLY_USERING(74012, "期初余额被使用,无法反结账"),

+ 4 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/BankinformationMapper.java

@@ -36,4 +36,8 @@ public interface BankinformationMapper extends CommonBaseMapper<Bankinformation>
 
     int validateCodeWhenUpdate(@Param("code") String code, @Param("id") Long id, @Param("companyId") Long company);
 
+    int getBankNameSame(@Param("name") String name, @Param("companyId") Long company);
+
+    int getBankNameSameById(@Param("name") String name, @Param("id") Long id, @Param("companyId") Long company);
+
 }

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

@@ -33,6 +33,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static com.usoftchina.saas.commons.exception.BizExceptionCode.BIZ_SAME;
+
 /**
  * @author heqw
  * @date 2018/10/25 15:36
@@ -101,6 +103,16 @@ public class BankinformationServiceImpl extends CommonBaseServiceImpl<Bankinform
                 }
             }
 
+
+            //判断账户名称是否存在
+            if (bankinformationMapper.getBankNameSame(bankinformation.getBk_bankname(), BaseContextHolder.getCompanyId()) > 1){
+                throw new BizException(BIZ_SAME.getCode(),BIZ_SAME.getMessage());
+            }else if (bankinformationMapper.getBankNameSame(bankinformation.getBk_bankname(), BaseContextHolder.getCompanyId()) == 1){
+                if (bankinformationMapper.getBankNameSameById(bankinformation.getBk_bankname(), docBaseDTO.getId(),
+                        BaseContextHolder.getCompanyId()) == 1){
+                    throw new BizException(BIZ_SAME.getCode(),BIZ_SAME.getMessage());
+                }
+            }
 //            Long id = bankinformationMapper.selectBankId(bankinformation.getBk_bankcode(), BaseContextHolder.getCompanyId());
             if (bktion > 0){
                     bankinformationMapper.updateByPrimaryKeySelective(bankinformation);

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

@@ -10,6 +10,7 @@ import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.base.service.CommonBaseServiceImpl;
 import com.usoftchina.saas.commons.api.MaxnumberService;
 import com.usoftchina.saas.commons.api.MessageLogService;
+import com.usoftchina.saas.commons.cache.ConfigsCache;
 import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.ComboDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
@@ -28,6 +29,7 @@ import com.usoftchina.saas.exception.BizException;
 import com.usoftchina.saas.inquiry.api.PublicProductApi;
 import com.usoftchina.saas.page.PageRequest;
 import com.usoftchina.saas.transfers.api.SendMessageApi;
+import com.usoftchina.saas.transfers.dto.MessageInfo;
 import com.usoftchina.saas.utils.CollectionUtils;
 import com.usoftchina.saas.utils.JsonUtils;
 import com.usoftchina.saas.utils.ObjectUtils;
@@ -752,8 +754,13 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
      */
     @Override
     public void uploadToB2B() {
-        /*MessageInfo messageInfo = new MessageInfo(BaseContextHolder.getUserId(), BillCodeSeq.PRODUCT.name(), "", BaseContextHolder.getCompanyId());
-        sendMessageApi.sendMsg(messageInfo);*/
+        boolean enable = ConfigsCache.current().enableB2B();
+        if (enable) {
+            MessageInfo messageInfo = new MessageInfo(BaseContextHolder.getUserId(), BillCodeSeq.PRODUCT.name(), "", BaseContextHolder.getCompanyId());
+            sendMessageApi.sendMsg(messageInfo);
+        }else {
+            throw new BizException(BizExceptionCode.BIZ_ENABLE_B2B);
+        }
     }
 
     /**

+ 8 - 0
applications/document/document-server/src/main/resources/mapper/BankinformationMapper.xml

@@ -367,4 +367,12 @@
   <select id="validateCodeWhenUpdate" resultType="int" >
         select count(*) from bankinformation where bk_bankcode = #{code} and bk_id != #{id} and companyId =#{companyId}
     </select>
+
+  <select id="getBankNameSame" resultType="int">
+    select count(*) from bankinformation where bk_bankname = #{name} and companyId =#{companyId}
+  </select>
+
+  <select id="getBankNameSameById" resultType="int">
+    select count(*) from bankinformation where bk_bankname = #{name} and bk_id != #{id} and companyId =#{companyId}
+  </select>
 </mapper>

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

@@ -973,7 +973,7 @@
     <select id="getProdStorage" resultType="com.usoftchina.saas.document.dto.ProdStorageDTO">
       SELECT * FROM (
       SELECT pr_id prodId, pr_detail prodName, pr_code prodCode, pr_spec prodSpec, pr_unit prodUnit, pr_brand prodBrand,
-      pr_orispeccode prodSpeccode,pr_leadtime prodLeadtime, 1 status, b2bStatus
+      pr_orispeccode prodOrispeccode,pr_leadtime prodLeadtime, 1 status, b2bStatus
       FROM product
       <where>
           <if test="userId != null">
@@ -985,7 +985,7 @@
         </where>
         union all
         SELECT pr_id prodId, pr_detail prodName, pr_code prodCode, pr_spec prodSpec, pr_unit prodUnit, pr_brand prodBrand,
-        pr_orispeccode prodSpeccode,pr_leadtime prodLeadtime, 0 status, b2bStatus
+        pr_orispeccode prodOrispeccode,pr_leadtime prodLeadtime, 0 status, b2bStatus
         FROM product
         <where>
           <if test="userId != null">

+ 40 - 0
applications/money/money-dto/src/main/java/com/usoftchina/saas/money/dto/ApcheckDTO.java

@@ -1,5 +1,7 @@
 package com.usoftchina.saas.money.dto;
 
+import io.swagger.annotations.ApiModelProperty;
+
 import java.io.Serializable;
 import java.util.Date;
 
@@ -9,36 +11,52 @@ import java.util.Date;
  **/
 public class ApcheckDTO implements Serializable {
 
+    @ApiModelProperty(value = "平台来源Id")
     private Long ac_b2bid;//平台来源Id
 
+    @ApiModelProperty(value = "对账日期")
     private Date ac_date;//对账日期
 
+    @ApiModelProperty(value = "应付日期")
     private Date ac_apdate;//应付日期
 
+    @ApiModelProperty(value = "对账起始日期")
     private Date ac_fromdate;//对账起始日期
 
+    @ApiModelProperty(value = "对账截至日期")
     private Date ac_todate;//对账截至日期
 
+    @ApiModelProperty(value = "供应商uu")
     private Long ac_venduu;//供应商uu
 
+    @ApiModelProperty(value = "币别")
     private String ac_currency;//币别
 
+    @ApiModelProperty(value = "汇率")
     private Double ac_rate;//汇率
 
+    @ApiModelProperty(value = "对账金额")
     private Double ac_checkamount;//对账金额
 
+    @ApiModelProperty(value = "备注")
     private String ac_remark;//备注
 
+    @ApiModelProperty(value = "本期应付金额")
     private Double ac_thisamount;//本期应付金额
 
+    @ApiModelProperty(value = "本期未对账")
     private Double ac_thisuncheck;//本期未对账
 
+    @ApiModelProperty(value = "本期已付")
     private Double ac_thispay;//本期已付
 
+    @ApiModelProperty(value = "本期发货")
     private Double ac_thissend;//本期发货
 
+    @ApiModelProperty(value = "本期已对账")
     private Double ac_thischeck;//本期已对账
 
+    @ApiModelProperty(value = "应付总额")
     private Double ac_payamont;//应付总额
 
     public Long getAc_b2bid() {
@@ -168,4 +186,26 @@ public class ApcheckDTO implements Serializable {
     public void setAc_payamont(Double ac_payamont) {
         this.ac_payamont = ac_payamont;
     }
+
+    @Override
+    public String toString() {
+        return "ApcheckDTO{" +
+                "ac_b2bid=" + ac_b2bid +
+                ", ac_date=" + ac_date +
+                ", ac_apdate=" + ac_apdate +
+                ", ac_fromdate=" + ac_fromdate +
+                ", ac_todate=" + ac_todate +
+                ", ac_venduu=" + ac_venduu +
+                ", ac_currency='" + ac_currency + '\'' +
+                ", ac_rate=" + ac_rate +
+                ", ac_checkamount=" + ac_checkamount +
+                ", ac_remark='" + ac_remark + '\'' +
+                ", ac_thisamount=" + ac_thisamount +
+                ", ac_thisuncheck=" + ac_thisuncheck +
+                ", ac_thispay=" + ac_thispay +
+                ", ac_thissend=" + ac_thissend +
+                ", ac_thischeck=" + ac_thischeck +
+                ", ac_payamont=" + ac_payamont +
+                '}';
+    }
 }

+ 14 - 12
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/FundtransferServiceImpl.java

@@ -93,9 +93,9 @@ public class FundtransferServiceImpl extends CommonBaseServiceImpl<FundtransferM
             fundtransferdetail.setCompanyId(BaseContextHolder.getCompanyId());
             fundtransferdetail.setFtd_ftid(Math.toIntExact(id));
             fundtransferdetail.setFt_date(fundtransfer.getFt_date());
-//            if (!(fundtransferdetail.getFtd_currency().equals(fundtransferdetail.getFtd_incurrency()))){
-//                throw new BizException(500, BizExceptionCode.CURRENCY_NOT_EQUALS.getMessage());
-//            }
+            if (fundtransferdetail.getFtd_inbankname().equals(fundtransferdetail.getFtd_bankname())){
+                throw new BizException(BizExceptionCode.BANKNAME_NOT_EQUALS.getCode(), BizExceptionCode.BANKNAME_NOT_EQUALS.getMessage());
+            }
             if (fundtransferdetail.getId() > 0 ){
                 fundtransferdetailMapper.updateByPrimaryKeySelective(fundtransferdetail);
             }else {
@@ -118,12 +118,13 @@ public class FundtransferServiceImpl extends CommonBaseServiceImpl<FundtransferM
         DocBaseDTO docBaseDTO = this.insert(fundtran);
         Long id = docBaseDTO.getId();
 
-        List<String> bankName = fundtransferMapper.checkAmount(BaseContextHolder.getCompanyId(), id);
-        if (bankName.size() > 0){
-            String name = org.apache.commons.lang3.StringUtils.join(bankName, ",");
-            String message = BizExceptionCode.BANK_AMOUNT_NOTENOUGHS.getMessage();
-            throw new BizException(500, String.format(message, name));
-        }
+        //判断资金余额
+//        List<String> bankName = fundtransferMapper.checkAmount(BaseContextHolder.getCompanyId(), id);
+//        if (bankName.size() > 0){
+//            String name = org.apache.commons.lang3.StringUtils.join(bankName, ",");
+//            String message = BizExceptionCode.BANK_AMOUNT_NOTENOUGHS.getMessage();
+//            throw new BizException(500, String.format(message, name));
+//        }
 
 
         //取从表金额更新中间表、资金账号表
@@ -227,7 +228,7 @@ public class FundtransferServiceImpl extends CommonBaseServiceImpl<FundtransferM
             Double inamount = banksubledgerMapper.selectThisamount(fundtransferdetail.getFtd_inbankcode(), BaseContextHolder.getCompanyId());
             banksubledgerMapper.updateBankcode(amount, fundtransferdetail.getFtd_nowbalance(),
                     fundtransferdetail.getFtd_bankcode(), "+", BaseContextHolder.getCompanyId());
-            banksubledgerMapper.updateBankcode(inamount, fundtransferdetail.getFtd_nowbalance(),
+            banksubledgerMapper.updateBankcode(inamount, fundtransferdetail.getFtd_innowbalance(),
                     fundtransferdetail.getFtd_bankcode(), "-", BaseContextHolder.getCompanyId());
 
             //资金账号表
@@ -235,6 +236,7 @@ public class FundtransferServiceImpl extends CommonBaseServiceImpl<FundtransferM
             int bk_inid = fundtransferdetail.getFtd_inbankid();
 
             Double bk_amount = fundtransferdetail.getFtd_nowbalance();
+            Double bk_inamount = fundtransferdetail.getFtd_innowbalance();
             //付款方
             Bankinformation bankinformation = bankinformationMapper.selectByPrimaryKey(bk_id);
             Double beginamount = bankinformation.getBk_beginamount()== null ? new Double(0) : bankinformation.getBk_beginamount();
@@ -253,8 +255,8 @@ public class FundtransferServiceImpl extends CommonBaseServiceImpl<FundtransferM
             Double inspending = inbankinformation.getBk_spending() == null ? new Double(0) : inbankinformation.getBk_spending();
             Double inincomme = inbankinformation.getBk_income() == null ? new Double(0) : inbankinformation.getBk_income();
             Bankinformation newinbankinformation = new Bankinformation();
-            newinbankinformation.setBk_thisamount(inbeginamount + (inincomme-bk_amount) - inspending );
-            newinbankinformation.setBk_income(inincomme-bk_amount);
+            newinbankinformation.setBk_thisamount(inbeginamount + (inincomme-bk_inamount) - inspending );
+            newinbankinformation.setBk_income(inincomme-bk_inamount);
             newinbankinformation.setBk_spending(inspending);
             newinbankinformation.setId(Long.valueOf(bk_inid));
             newinbankinformation.setCompanyId(BaseContextHolder.getCompanyId());

+ 3 - 3
applications/money/money-server/src/main/resources/mapper/VerificationMapper.xml

@@ -346,12 +346,12 @@
       <if test="createTime != null" >
         #{createTime,jdbcType=TIMESTAMP},
       </if>
-      <if test="vc_rate != null" >
-        #{vc_rate,jdbcType=DOUBLE},
-      </if>
       <if test="vc_currency != null" >
         #{vc_currency,jdbcType=VARCHAR},
       </if>
+      <if test="vc_rate != null" >
+        #{vc_rate,jdbcType=DOUBLE},
+      </if>
     </trim>
     <selectKey resultType="Long" keyProperty="id" order="AFTER">
       SELECT LAST_INSERT_ID()

+ 12 - 4
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/controller/ApCheckController.java

@@ -4,16 +4,16 @@ import com.usoftchina.saas.auth.client.annotation.IgnoreAuth;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.commons.exception.BizExceptionCode;
 import com.usoftchina.saas.exception.BizException;
+import com.usoftchina.saas.money.dto.ApcheckDTO;
 import com.usoftchina.saas.money.dto.ApcheckFormDTO;
 import com.usoftchina.saas.transfers.auth.annotation.IgnoreOpenApiAuth;
 import com.usoftchina.saas.transfers.service.ApCheckService;
 import com.usoftchina.saas.utils.JsonUtils;
 import com.usoftchina.saas.utils.StringUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
@@ -27,12 +27,14 @@ import java.util.List;
 @IgnoreAuth
 @RestController
 @RequestMapping("/b2b/apcheck")
+@Api(value = "ApcheckController", description = "对账单下载接口")
 public class ApCheckController {
 
 
     @Autowired
     private ApCheckService apcheckService;
 
+    @ApiOperation(value = "对账单下载")
     @PostMapping("/save")
     public Result saveApcheck(@RequestParam("data") String data) throws UnsupportedEncodingException {
         if (StringUtils.isEmpty(data)) {
@@ -43,4 +45,10 @@ public class ApCheckController {
         String ids = apcheckService.save(forms);
         return Result.success(ids);
     }
+
+    @PostMapping("/test")
+    @ApiOperation(value = "测试")
+    public void test(@RequestBody ApcheckDTO apcheckDTO) {
+        System.out.println(apcheckDTO);
+    }
 }

+ 6 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/controller/SaleDownController.java

@@ -10,6 +10,8 @@ import com.usoftchina.saas.transfers.auth.annotation.IgnoreOpenApiAuth;
 import com.usoftchina.saas.transfers.service.SaleDownService;
 import com.usoftchina.saas.utils.JsonUtils;
 import com.usoftchina.saas.utils.StringUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -26,6 +28,7 @@ import java.util.List;
 @IgnoreAuth
 @RestController
 @RequestMapping("/b2b/saledown")
+@Api(value = "SaleDownController", description = "客户订单下载、更新")
 public class SaleDownController {
 
     @Autowired
@@ -35,6 +38,7 @@ public class SaleDownController {
      *从b2b下载客户采购单
      * @return
      */
+    @ApiOperation(value = "客户订单下载")
     @PostMapping("/save")
     public Result<String> saveSaleDown(@RequestParam("data") String data) throws UnsupportedEncodingException {
         if (StringUtils.isEmpty(data)) {
@@ -50,6 +54,7 @@ public class SaleDownController {
      *从b2b更新为结案
      * @return
      */
+    @ApiOperation(value = "结案更新")
     @PostMapping("/close")
     public Result<String> closeSaleDown(@RequestParam("data") String data) throws UnsupportedEncodingException {
         if (StringUtils.isEmpty(data)) {
@@ -64,6 +69,7 @@ public class SaleDownController {
      *从b2b更新为结案
      * @return
      */
+    @ApiOperation(value = "反结案更新")
     @PostMapping("/resClose")
     public Result<String> resCloseSaleDown(@RequestParam("data") String data) throws UnsupportedEncodingException {
         if (StringUtils.isEmpty(data)) {

+ 2 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/mapper/ApcheckMapper.java

@@ -17,4 +17,6 @@ public interface ApcheckMapper {
     void batchInsert(List<ApcheckDetail> details);
 
     Vendor getVendorByuu(@Param("uu") Long uu, @Param("companyid") Long companyid);
+
+    Integer count(Long id);
 }

+ 2 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/mapper/SaledownMapper.java

@@ -28,4 +28,6 @@ public interface SaledownMapper {
     void batchUpdateResClose(@Param("data") String data, @Param("companyid") Long companyid);
 
     Customer getCustomer(@Param("uu") Long uu, @Param("companyid") Long companyid);
+
+    Integer count(Long id);
 }

+ 11 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/impl/ApCheckServiceImpl.java

@@ -11,6 +11,7 @@ import com.usoftchina.saas.transfers.mapper.ApcheckMapper;
 import com.usoftchina.saas.transfers.service.ApCheckService;
 import com.usoftchina.saas.utils.BeanMapper;
 import com.usoftchina.saas.utils.CollectionUtils;
+import com.usoftchina.saas.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -41,6 +42,16 @@ public class ApCheckServiceImpl implements ApCheckService{
         for (ApcheckFormDTO form : forms) {
             Apcheck main = BeanMapper.map(form.getMain(), Apcheck.class);
             List<ApcheckDetail> details = BeanMapper.mapList(form.getItems(), ApcheckDetail.class);
+            //检测单据是否存在
+            if (StringUtils.isEmpty(main.getAc_b2bid())) {
+                continue;
+            }
+            Integer count = apcheckMapper.count(main.getAc_b2bid());
+            if (count > 0) {
+                ids.append(main.getAc_b2bid());
+                ids.append(",");
+                continue;
+            }
 
             //供应商获取
             Vendor vendor = apcheckMapper.getVendorByuu(main.getAc_venduu(), companyId);

+ 19 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/impl/SaleDownServiceImpl.java

@@ -56,6 +56,16 @@ public class SaleDownServiceImpl implements SaleDownService{
             SaleDown main = BeanMapper.map(form.getMain(), SaleDown.class);
             List<SaleDownDetail> details = BeanMapper.mapList(form.getItems(), SaleDownDetail.class);
             List<SaleDownDetail> insertDetail = new ArrayList<>();
+            //检测单据是否存在
+            if (StringUtils.isEmpty(main.getB2b_pu_id())) {
+                continue;
+            }
+            Integer count = saledownMapper.count(main.getB2b_pu_id());
+            if (count > 0) {
+                ids.append(main.getB2b_pu_id());
+                ids.append(",");
+                continue;
+            }
             //添加业务员
             Result<AccountDTO> emp = accountApi.getAccountByUu(main.getSa_selleruu());
             if (!emp.isSuccess()) {
@@ -109,16 +119,25 @@ public class SaleDownServiceImpl implements SaleDownService{
 
     @Override
     public void closeSaleDown(String data) {
+        data = getIds(data);
         Long companyId = TransfersContextHodler.getB2bCompanyId();
         saledownMapper.batchUpdateClose(data, companyId);
     }
 
     @Override
     public void resCloseSaleDown(String data) {
+        data = getIds(data);
         Long companyId = TransfersContextHodler.getB2bCompanyId();
         saledownMapper.batchUpdateResClose(data, companyId);
     }
 
+    private String getIds(String str) {
+        if (str.startsWith("[")) {
+            return str.substring(1, str.length() - 1);
+        } else {
+            return str;
+        }
+    }
    /* public String getMaxnumber(BillCodeSeq bill) {
         String code = maxnumberService.getMaxnumber(bill.getCaller(), false).getData();
         DocBaseDTO base = new DocBaseDTO(0l, code, bill.getName());

+ 4 - 0
applications/transfers/transfers-server/src/main/resources/mapper/ApcheckMapper.xml

@@ -315,4 +315,8 @@
   <select id="getVendorByuu" resultMap="vendorMap">
     select * from vendor where ve_uu=#{uu} and companyid=#{companyid}
   </select>
+
+  <select id="count" parameterType="long" resultType="int">
+    select count(1) from apcheck where ac_b2bid=#{id}
+  </select>
 </mapper>

+ 4 - 0
applications/transfers/transfers-server/src/main/resources/mapper/SaledownMapper.xml

@@ -462,4 +462,8 @@
     <result column="cu_remark" jdbcType="VARCHAR" property="cu_remark" />
     <result column="cu_currency" jdbcType="VARCHAR" property="cu_currency" />
   </resultMap>
+
+  <select id="count" parameterType="long" resultType="int">
+    select count(1) from saledown where B2b_pu_id = #{id}
+  </select>
 </mapper>

+ 2 - 2
frontend/saas-web/app/util/State.js

@@ -7,8 +7,8 @@ Ext.define('saas.util.State', {
     ],
 
     store: new Ext.util.LocalStorage({
-        id: 'app-state',
-        session: true
+        session: true,
+        id: 'app-state'
     }),
 
     get: function(key, defaultValue) {

+ 4 - 4
frontend/saas-web/app/view/main/Main.js

@@ -138,10 +138,10 @@ Ext.define('saas.view.main.Main', {
                         afterrender:function(b){
                             var main = b.ownerCt.ownerCt;
                             //调用
-                            var _localStorage = Ext.decode(sessionStorage.getItem('app-state-session'));
-                            var nowCompanyId = _localStorage.account.companyId;
-                            if(_localStorage.account.rolesMap){
-                                var rolesMap = _localStorage.account.rolesMap[nowCompanyId];
+                            var user = saas.util.BaseUtil.getCurrentUser();
+                            var nowCompanyId = user.companyId;
+                            if(user.rolesMap){
+                                var rolesMap = user.rolesMap[nowCompanyId];
                                 if(rolesMap&&rolesMap.length>0){
                                     for(var i = 0; i < rolesMap.length; i++) {
                                         if(rolesMap[i].type==0){

+ 19 - 19
frontend/saas-web/app/view/money/othreceipts/FormPanel.js

@@ -56,12 +56,6 @@ Ext.define('saas.view.money.othreceipts.FormPanel', {
                 name: "or_bankname",
                 fieldLabel: "账户名称",
                 allowBlank: false
-            }, {
-                xtype: 'datefield',
-                name: 'or_date',
-                fieldLabel: '单据日期',
-                defaultValue: new Date(),
-                allowBlank: false
             }, {
                 xtype: 'condbfindtrigger',
                 fieldLabel: '币别汇率',
@@ -87,19 +81,25 @@ Ext.define('saas.view.money.othreceipts.FormPanel', {
                     decimalPrecision: 6,
                     vtype: 'positiveNumber'
                 },
-            // }, {
-            //     xtype: "currencyDbfindTrigger",
-            //     name: "or_currency",
-            //     fieldLabel: "币别",
-            //     defaultValue: 'RMB'
-            // }, {
-            //     xtype: "numberfield",
-            //     name: "or_rate",
-            //     fieldLabel: "汇率",
-            //     defaultValue: 1,
-            //     decimalPrecision: 6,
-            //     vtype: 'positiveNumber'
-            }, {
+                // }, {
+                //     xtype: "currencyDbfindTrigger",
+                //     name: "or_currency",
+                //     fieldLabel: "币别",
+                //     defaultValue: 'RMB'
+                // }, {
+                //     xtype: "numberfield",
+                //     name: "or_rate",
+                //     fieldLabel: "汇率",
+                //     defaultValue: 1,
+                //     decimalPrecision: 6,
+                //     vtype: 'positiveNumber'
+            },{
+                xtype: 'datefield',
+                name: 'or_date',
+                fieldLabel: '单据日期',
+                defaultValue: new Date(),
+                allowBlank: false
+            },  {
                 name: "detailGridField",
                 xtype: "detailGridField",
                 storeModel: 'saas.model.money.Othreceipts',

+ 7 - 7
frontend/saas-web/app/view/money/payBalance/FormPanel.js

@@ -54,12 +54,6 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
                 listeners: {
                     change: 'clearDetails'
                 }
-            }, {
-                xtype: "datefield",
-                name: "pb_date",
-                fieldLabel: "日期",
-                defaultValue: new Date(),
-                allowBlank: false
             }, {
                 xtype: 'condbfindtrigger',
                 fieldLabel: '币别汇率',
@@ -80,7 +74,13 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
                     decimalPrecision: 6,
                     vtype: 'positiveNumber'
                 }
-            }, {
+            },{
+                xtype: "datefield",
+                name: "pb_date",
+                fieldLabel: "日期",
+                defaultValue: new Date(),
+                allowBlank: false
+            },  {
                 xtype: 'textfield',
                 name: 'pb_manname',
                 fieldLabel: '付款人',

+ 6 - 6
frontend/saas-web/app/view/money/recBalance/FormPanel.js

@@ -53,12 +53,6 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
                 listeners: {
                     change: 'clearDetails'
                 }
-            }, {
-                xtype: "datefield",
-                name: "rb_date",
-                fieldLabel: "日期",
-                defaultValue: new Date(),
-                allowBlank: false
             }, {
                 xtype: 'condbfindtrigger',
                 fieldLabel: '币别汇率',
@@ -79,6 +73,12 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
                     decimalPrecision: 6,
                     vtype: 'positiveNumber'
                 }
+            },{
+                xtype: "datefield",
+                name: "rb_date",
+                fieldLabel: "日期",
+                defaultValue: new Date(),
+                allowBlank: false
             }, {
                 xtype: "textfield",
                 name: "rb_manname",

+ 42 - 42
frontend/saas-web/app/view/money/verification/FormPanel.js

@@ -510,21 +510,6 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         listeners: {
                             change: 'clearDetails'
                         }
-                    }, {
-                        fieldLabel: '客户编号',
-                        xtype: 'hidden',
-                        name: 'vc_custcode',
-                    }, {
-                        fieldLabel: '客户名称',
-                        xtype: 'customerDbfindTrigger',
-                        name: 'vc_custname',
-                        allowBlank: false
-                    }, {
-                        fieldLabel: '日期',
-                        xtype: 'datefield',
-                        defaultValue: new Date(),
-                        allowBlank: false,
-                        name: 'vc_date'
                     }, {
                         xtype: 'condbfindtrigger',
                         fieldLabel: '币别汇率',
@@ -547,7 +532,22 @@ Ext.define('saas.view.money.verification.FormPanel', {
                             decimalPrecision: 6,
                             vtype: 'positiveNumber'
                         },
+                    },  {
+                        fieldLabel: '客户编号',
+                        xtype: 'hidden',
+                        name: 'vc_custcode',
+                    }, {
+                        fieldLabel: '客户名称',
+                        xtype: 'customerDbfindTrigger',
+                        name: 'vc_custname',
+                        allowBlank: false
                     }, {
+                        fieldLabel: '日期',
+                        xtype: 'datefield',
+                        defaultValue: new Date(),
+                        allowBlank: false,
+                        name: 'vc_date'
+                    },{
                         xtype: 'hidden',
                         name: 'vc_amount1',
                         thousandSeparator: ',',
@@ -581,12 +581,6 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         name: "vc_vendname",
                         fieldLabel: "供应商名称",
                         allowBlank: false
-                    }, {
-                        fieldLabel: '日期',
-                        xtype: 'datefield',
-                        defaultValue: new Date(),
-                        allowBlank: false,
-                        name: 'vc_date'
                     }, {
                         xtype: 'condbfindtrigger',
                         fieldLabel: '币别汇率',
@@ -609,6 +603,12 @@ Ext.define('saas.view.money.verification.FormPanel', {
                             decimalPrecision: 6,
                             vtype: 'positiveNumber'
                         },
+                    }, {
+                        fieldLabel: '日期',
+                        xtype: 'datefield',
+                        defaultValue: new Date(),
+                        allowBlank: false,
+                        name: 'vc_date'
                     }, {
                         xtype: 'hidden',
                         name: 'vc_amount1',
@@ -671,13 +671,7 @@ Ext.define('saas.view.money.verification.FormPanel', {
                             from: 've_name',
                             to: 'vc_vendname'
                         }],
-                    }, {
-                        fieldLabel: '日期',
-                        xtype: 'datefield',
-                        defaultValue: new Date(),
-                        allowBlank: false,
-                        name: 'vc_date'
-                    }, {
+                    },  {
                         xtype: 'condbfindtrigger',
                         fieldLabel: '币别汇率',
                         allowBlank: false,
@@ -700,6 +694,12 @@ Ext.define('saas.view.money.verification.FormPanel', {
                             vtype: 'positiveNumber'
                         },
                     }, {
+                        fieldLabel: '日期',
+                        xtype: 'datefield',
+                        defaultValue: new Date(),
+                        allowBlank: false,
+                        name: 'vc_date'
+                    },{
                         xtype: 'hidden',
                         name: 'vc_amount1',
                         thousandSeparator: ',',
@@ -749,13 +749,7 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         xtype: 'customerDbfindTrigger',
                         name: 'vc_turncustname',
                         allowBlank: false,
-                    }, {
-                        fieldLabel: '日期',
-                        xtype: 'datefield',
-                        defaultValue: new Date(),
-                        allowBlank: false,
-                        name: 'vc_date'
-                    }, {
+                    },  {
                         xtype: 'condbfindtrigger',
                         fieldLabel: '币别汇率',
                         allowBlank: false,
@@ -778,6 +772,12 @@ Ext.define('saas.view.money.verification.FormPanel', {
                             vtype: 'positiveNumber'
                         },
                     }, {
+                        fieldLabel: '日期',
+                        xtype: 'datefield',
+                        defaultValue: new Date(),
+                        allowBlank: false,
+                        name: 'vc_date'
+                    },{
                         xtype: 'hidden',
                         name: 'vc_amount1',
                         thousandSeparator: ',',
@@ -827,12 +827,6 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         xtype: 'vendorDbfindTrigger',
                         name: 'vc_turnvendname',
                         allowBlank: false,
-                    }, {
-                        fieldLabel: '日期',
-                        xtype: 'datefield',
-                        defaultValue: new Date(),
-                        allowBlank: false,
-                        name: 'vc_date'
                     }, {
                         xtype: 'condbfindtrigger',
                         fieldLabel: '币别汇率',
@@ -855,7 +849,13 @@ Ext.define('saas.view.money.verification.FormPanel', {
                             decimalPrecision: 6,
                             vtype: 'positiveNumber'
                         },
-                    }, {
+                    },{
+                        fieldLabel: '日期',
+                        xtype: 'datefield',
+                        defaultValue: new Date(),
+                        allowBlank: false,
+                        name: 'vc_date'
+                    },  {
                         xtype: 'hidden',
                         name: 'vc_amount1',
                         thousandSeparator: ',',

+ 17 - 17
frontend/saas-web/app/view/viewport/ViewportController.js

@@ -42,23 +42,6 @@ Ext.define('saas.view.viewport.ViewportController', {
         if(!Ext.isChrome && !Ext.isFirefox) {
             saas.util.BaseUtil.showConfirm('温馨提示', '为了更好地呈现页面效果,推荐使用Chrome浏览器或火狐浏览器');
         }
-        //读取系统参数
-        saas.util.BaseUtil.request({url:'/api/commons/configs/list'})
-        .then(function(res) {
-            if(res.success) {
-                var list = res.data.list;
-                if(list.length>0){
-                    var d = {};
-                    Ext.each(list, function(item, index){
-                        d[item.code] = item.data;
-                    });
-                    me.getViewModel().setData(d)
-                }
-            }
-        })
-        .catch(function(e) {
-            console.error(e);
-        });
     },
 
     showView: function(xtype) {
@@ -82,6 +65,23 @@ Ext.define('saas.view.viewport.ViewportController', {
 
     showMain: function() {
         var me = this;
+        //读取系统参数
+        saas.util.BaseUtil.request({url:'/api/commons/configs/list'})
+        .then(function(res) {
+            if(res.success) {
+                var list = res.data.list;
+                if(list.length>0){
+                    var d = {};
+                    Ext.each(list, function(item, index){
+                        d[item.code] = item.data;
+                    });
+                    me.getViewModel().setData(d)
+                }
+            }
+        })
+        .catch(function(e) {
+            console.error(e);
+        });
         me.showView('main');
     },