Browse Source

merge dev applications

zhuth 7 years ago
parent
commit
f493faf55e
15 changed files with 111 additions and 12 deletions
  1. 5 2
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java
  2. 16 1
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/CommonController.java
  3. 4 0
      applications/money/money-server/pom.xml
  4. 6 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/VerificationController.java
  5. 2 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/FundtransferMapper.java
  6. 5 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/VerificationService.java
  7. 10 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/FundtransferServiceImpl.java
  8. 6 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/RecbalanceServiceImpl.java
  9. 9 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/VerificationServiceImpl.java
  10. 19 3
      applications/money/money-server/src/main/resources/mapper/FundtransferMapper.xml
  11. 4 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/mapper/SaleMapper.java
  12. 12 4
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java
  13. 1 0
      applications/sale/sale-server/src/main/resources/mapper/ProdInOutListMapper.xml
  14. 10 1
      applications/sale/sale-server/src/main/resources/mapper/SaleMapper.xml
  15. 2 0
      applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/ProdInOutList.java

+ 5 - 2
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java

@@ -75,6 +75,8 @@ public enum BizExceptionCode implements BaseExceptionCode {
     SALEOUT_UNAUDIT_ERROR(72006,"销售订单已转出货单,无法反审核"),
     SALE_ORDER_HASAUDIT(72003, "存在已审核单据,单据编号:%s"),
     SALE_EXISTS_PURCHASE(72004, "存在已转的采购单据,单据编号:%s"),
+    SALE_ALREADY_UNAUDIT(72007, "单据状态为未审核,无法反审核"),
+    SALE_CUST_CLOSE(72008, "客户已关闭,无法审核"),
 
     //资金
     PAYBALANCE_OUTNOWBALANCE(74001,"本次核销金额不能大于未核销金额"),
@@ -86,10 +88,11 @@ public enum BizExceptionCode implements BaseExceptionCode {
     BANK_AMOUNT_NOTENOUGH(74004, "资金账号不足"),
     SUBLEDGER_NOT_EXIS(74005,"来源单据不存在"),
     CHECK_SETACOUNT_EXIS(74006, "不能删除单据日期小于等于结账期间<u>%s</u>的单据"),
-    VERIFICATION_CHECK_BALANCE(74007,"本次核销金额不相等!"),
+    VERIFICATION_CHECK_BALANCE(74007,"保存失败,本次核销金额不相等!"),
     DELETE_NOT_EXIS(74008,"删除失败,当前单据不存在!"),
     DOCUMENTS_AUDITED(74009,"存在已审核单据:%S"),
-    DOCUMENTS_UNAUDITED(74009,"存在未审核单据:%S"),
+    DOCUMENTS_UNAUDITED(74010,"存在未审核单据:%S"),
+    BANK_AMOUNT_NOTENOUGHS(74011, "资金账号不足:%S"),
 
 
 

+ 16 - 1
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/CommonController.java

@@ -15,7 +15,12 @@ public class CommonController {
     private CommonService commonService;
 
     @GetMapping("/{caller}/export")
-    public Result export(@PathVariable("caller") String caller){
+    public Result export(){
+        return Result.success();
+    }
+
+    @GetMapping("/{caller}/print")
+    public Result print() {
         return Result.success();
     }
 
@@ -34,4 +39,14 @@ public class CommonController {
         return deferredResult;
     }
 
+    @GetMapping("/timeout/test")
+    public void timeout(@RequestParam("time") Long time){
+        try {
+            System.out.println("进入时间:" + time);
+            Thread.sleep(time);
+            System.out.println("出去时间:" + time);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
 }

+ 4 - 0
applications/money/money-server/pom.xml

@@ -107,6 +107,10 @@
             <version>1.0.0-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

+ 6 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/VerificationController.java

@@ -120,4 +120,10 @@ public class VerificationController {
         verificationService.batchUnAudit(body);
         return Result.success();
     }
+
+    @RequestMapping("/batchDelete")
+    public Result batchDelete(@RequestBody BatchDealBaseDTO body) {
+        verificationService.batchDelete(body);
+        return Result.success();
+    }
 }

+ 2 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/FundtransferMapper.java

@@ -35,4 +35,6 @@ public interface FundtransferMapper extends CommonBaseMapper<Fundtransfer> {
     String validateBatchUnAudit(List<DocBaseDTO> baseDTOs);
 
     String validateAudit(List<DocBaseDTO> baseDTOs);
+
+    List<String> checkAmount(@Param("companyId") Long companyId, @Param("id") Long id);
 }

+ 5 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/VerificationService.java

@@ -83,4 +83,9 @@ public interface VerificationService {
      * @param id
      */
     void batchUnAudit(BatchDealBaseDTO baseDTO);
+
+    /**
+     * 批量删除
+     */
+    void batchDelete(BatchDealBaseDTO baseDTO);
 }

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

@@ -19,6 +19,7 @@ import com.usoftchina.saas.money.service.FundtransferService;
 import com.usoftchina.saas.page.PageRequest;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 
 import java.util.Date;
@@ -47,11 +48,11 @@ public class FundtransferServiceImpl extends CommonBaseServiceImpl<FundtransferM
     private BankinformationMapper bankinformationMapper;
 
     @Override
+    @Transactional
     public DocBaseDTO insert(Fundtran fundtran) {
         Fundtransfer fundtransfer = fundtran.getMain();
         List<Fundtransferdetail> fundtransferdetails = fundtran.getItems();
 
-
         String ft_code = fundtransfer.getFt_code();
 
         //编号校验
@@ -111,6 +112,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<Fundtransferdetail> fundtransferdetailList = fundtran.getItems();
@@ -126,6 +134,7 @@ public class FundtransferServiceImpl extends CommonBaseServiceImpl<FundtransferM
             banksubledger.setBl_bankcode(fundtransferdetail.getFtd_inbankcode());
             banksubledger.setBl_bankname(fundtransferdetail.getFtd_inbankname());
             banksubledger.setBl_code(fundtransfer.getFt_code());
+
             banksubledger.setBl_kind("资金转账");
             banksubledger.setBl_date(fundtransfer.getFt_date());
             banksubledger.setBl_income(fundtransferdetail.getFtd_nowbalance());

+ 6 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/RecbalanceServiceImpl.java

@@ -299,6 +299,9 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
         for (Recbalancedetail detail: recbalancedetail) {
             Subledger subledger1 = new Subledger();
             Subledger nowSubledger = subledgerMapper.selectByPrimaryKey(detail.getRbd_slid());
+            if (nowSubledger == null){
+                throw new BizException(500, BizExceptionCode.SUBLEDGER_NOT_EXIS.getMessage());
+            }
             subledger1.setId(Long.valueOf(String.valueOf(detail.getRbd_slid())));
             Double yamount = nowSubledger.getSl_yamount()==null?new Double(0):nowSubledger.getSl_yamount();
             Double namount = nowSubledger.getSl_namount()==null?new Double(0):nowSubledger.getSl_namount();
@@ -389,6 +392,9 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
         for(Recbalancedetail detail: recbalancedetail) {
             Subledger subledger1 = new Subledger();
             Subledger nowSubledger = subledgerMapper.selectByPrimaryKey(detail.getRbd_slid());
+            if (nowSubledger == null){
+                throw new BizException(500, BizExceptionCode.SUBLEDGER_NOT_EXIS.getMessage());
+            }
             subledger1.setId(Long.valueOf(String.valueOf(detail.getRbd_slid())));Double yamount = nowSubledger.getSl_yamount()==null?new Double(0):nowSubledger.getSl_yamount();
             Double namount = nowSubledger.getSl_namount()==null?new Double(0):nowSubledger.getSl_namount();
             Double nowBalance = detail.getRbd_nowbalance()==null?new Double(0):detail.getRbd_nowbalance();

+ 9 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/VerificationServiceImpl.java

@@ -954,6 +954,15 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
         }
     }
 
+    @Override
+    public void batchDelete(BatchDealBaseDTO baseDTO) {
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            this.delete(docBaseDTO.getId());
+        }
+    }
+
     private String pushMaxnubmer(String code, Long id) {
         if (null == code) {
             throw new BizException(BizExceptionCode.NULL_CODE);

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

@@ -230,8 +230,10 @@
 
   <select id="selectFundtransferBycondition" resultMap="BaseResultMap">
     select
-    <include refid="Base_Column_List" />
-    from Fundtransfer
+    <include refid="Base_Column_List" />,
+    <include refid="Detail_Column_List" />
+    from Fundtransfer left join fundtransferdetail on ftd_ftid=ft_id and
+    Fundtransfer.companyId= fundtransferdetail.companyId
     <where>
       <if test="con != null">
         ${con}
@@ -277,9 +279,23 @@
     </foreach>
   </select>
   <select id="validateBatchUnAudit" parameterType="com.usoftchina.saas.commons.dto.DocBaseDTO" resultType="java.lang.String">
-    select GROUP_CONCAT(ft_code) from fundtransfer where sa_statuscode='UNAUDITED' and ft_id in
+    select GROUP_CONCAT(ft_code) from fundtransfer where ft_statuscode='UNAUDITED' and ft_id in
     <foreach collection="list" item="item" open="(" close=")" separator=",">
       #{item.id}
     </foreach>
   </select>
+
+  <select id="checkAmount" resultType="java.lang.String">
+    select b.ftd_bankname from
+    (select a.ft_id,a.ft_code,a.companyid,a.ftd_bankid,a.ftd_bankcode,a.ftd_bankname,sum(a.ftd_nowbalance) ftd_nowbalance from
+    (SELECT ft_id,ft_code,fundtransfer.companyid,ftd_bankid,ftd_bankcode,ftd_bankname,-1*ftd_nowbalance ftd_nowbalance
+    FROM fundtransfer,fundtransferdetail
+    WHERE ft_id=ftd_ftid
+    UNION ALL select ft_id,ft_code,fundtransfer.companyid,ftd_inbankid,ftd_inbankcode,ftd_inbankname,ftd_nowbalance
+    FROM fundtransfer,fundtransferdetail
+    WHERE ft_id=ftd_ftid) a group by a.ft_id,a.ft_code,a.companyid,a.ftd_bankid,a.ftd_bankcode,a.ftd_bankname) b,
+    BANKINFORMATION
+    where b.ftd_bankid=BK_ID and 0 > ftd_nowbalance and abs(ftd_nowbalance)>bk_thisamount and b.companyid = #{companyId}
+     and b.ft_id = #{id}
+  </select>
 </mapper>

+ 4 - 0
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/mapper/SaleMapper.java

@@ -52,4 +52,8 @@ public interface SaleMapper extends CommonBaseMapper<Sale> {
     Integer selectPurchaseId(@Param("code") String code,@Param("companyid") Long companyid);
 
     String checkIsTurnPurchase(@Param("id") Long id,@Param("companyid") Long companyid);
+
+    Integer checkCustomer(Long id);
+
+    String validateCustAudit(List<DocBaseDTO> baseDTOs);
 }

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

@@ -247,6 +247,10 @@ public class SaleServiceImpl implements SaleService{
         sale.setSa_auditdate(new Date());
         //更新存在字段
         saleMapper.updateByPrimaryKeySelective(sale);*/
+        Integer integer = saleMapper.checkCustomer(id);
+        if (integer > 0) {
+            throw new BizException(BizExceptionCode.SALE_CUST_CLOSE);
+        }
         commonService.commonAudit("sale", "sa_id=" + id, "sa_status",
                 "sa_statuscode", "sa_auditdate", "sa_auditman");
         //更新销售金额
@@ -273,6 +277,10 @@ public class SaleServiceImpl implements SaleService{
             int code = BizExceptionCode.SALE_ORDER_HASAUDIT.getCode();
             throw new BizException(code, String.format(message, validate));
         }
+        String custAudit = saleMapper.validateCustAudit(baseDTOs.getBaseDTOs());
+        if (!StringUtils.isEmpty(custAudit)) {
+            throw new BizException(72009, "客户已关闭,无法审核, 单号:" + custAudit);
+        }
         for (DocBaseDTO base : baseDTOs.getBaseDTOs()) {
             singleAudit(base.getId());
         }
@@ -285,7 +293,7 @@ public class SaleServiceImpl implements SaleService{
         }
         String code = saleMapper.validateUnAudit(id);
         if (null != code) {
-            throw new BizException(BizExceptionCode.SALE_NULL_BILL);
+            throw new BizException(BizExceptionCode.SALE_ALREADY_UNAUDIT);
         }
         //检测出货状态为未出货
         Integer num = saleMapper.checkSendStatus(id);
@@ -322,15 +330,15 @@ public class SaleServiceImpl implements SaleService{
                 baseDTOs.getBaseDTOs().size() == 0) {
             return;
         }
-
-        String msg = saleMapper.validateBatchUnAudit(baseDTOs.getBaseDTOs());
+      /*  String msg = saleMapper.validateBatchUnAudit(baseDTOs.getBaseDTOs());
         if (null != msg) {
             String message = BizExceptionCode.SALE_ORDER_HASAUDIT.getMessage();
             int code = BizExceptionCode.SALE_ORDER_HASAUDIT.getCode();
             throw new BizException(code, String.format(message, msg));
         }
+        saleMapper.BatchcheckSendStatus();*/
         for (DocBaseDTO base : baseDTOs.getBaseDTOs()) {
-            singleUnAudit(base.getId());
+            unAudit(base.getId());
         }
     }
 

+ 1 - 0
applications/sale/sale-server/src/main/resources/mapper/ProdInOutListMapper.xml

@@ -71,6 +71,7 @@
     <result column="pi_remark" jdbcType="VARCHAR" property="pi_remark" />
     <result column="pi_prstatus" jdbcType="VARCHAR" property="pi_prstatus" />
     <result column="pi_prstatuscode" jdbcType="VARCHAR" property="pi_prstatuscode" />
+    <result column="pd_ordertotal" jdbcType="DOUBLE" property="pd_ordertotal" />
   </resultMap>
 
 

+ 10 - 1
applications/sale/sale-server/src/main/resources/mapper/SaleMapper.xml

@@ -356,6 +356,13 @@
       #{item.id}
     </foreach>
   </select>
+
+  <select id="validateCustAudit" parameterType="com.usoftchina.saas.commons.dto.DocBaseDTO" resultType="java.lang.String">
+    select GROUP_CONCAT(sa_code) from sale left join customer on cu_id=sa_custid  where sa_statuscode='AUDITED' and sa_id in
+    <foreach collection="list" item="item" open="(" close=")" separator=",">
+      #{item.id}
+    </foreach>
+  </select>
   <select id="validateBatchUnAudit" parameterType="com.usoftchina.saas.commons.dto.DocBaseDTO" resultType="java.lang.String">
     select GROUP_CONCAT(sa_code) from sale where sa_statuscode='UNAUDITED' and sa_id in
     <foreach collection="list" item="item" open="(" close=")" separator=",">
@@ -394,7 +401,9 @@
     where pd_saleid = #{id}
     and purchasedetail.companyid= #{companyid}
   </select>
-  
+  <select id="checkCustomer" parameterType="long" resultType="integer">
+    select count(1) from sale left join  customer on sa_custid=cu_id  where  cu_statuscode='CLOSE' and cu_statuscode='CLOSE'
+  </select>
   
   <!-- 销售订单转采购单-->
   <insert id="turnPurchase" parameterType="com.usoftchina.saas.sale.dto.PurchaseDTO" >

+ 2 - 0
applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/ProdInOutList.java

@@ -130,6 +130,8 @@ public class ProdInOutList extends CommonBaseEntity{
 
     private String pd_remark;
 
+    private Double pd_ordertotal;
+
     private Long pd_ioid;
 
     private Date pi_auditdate;