shenziyin-gh пре 1 година
родитељ
комит
59deac11e9

+ 9 - 0
src/main/java/com/cool/bang/api/DataMatch.java

@@ -189,4 +189,13 @@ public class DataMatch {
     @GetMapping("contractFundCheckTrade")
     public void contractFundCheckTrade(){mySQLSecondService.contractFundCheckTrade();}
 
+
+    /**
+     * 楼栋解除
+     */
+    @GetMapping("buildingRelieve")
+    public void buildingRelieve(){
+        mySQLSecondService.buildingRelieve();
+    }
+
 }

+ 10 - 0
src/main/java/com/cool/bang/modules/mysql/domain/Relieve.java

@@ -73,6 +73,9 @@ public class Relieve {
     private Date updateTime;
     private String remark;
 
+
+    private String lzbh;
+
     public Relieve(){}
 
     public Relieve(OracleRelieve relieve) {
@@ -270,4 +273,11 @@ public class Relieve {
     }
 
 
+    public String getLzbh() {
+        return lzbh;
+    }
+
+    public void setLzbh(String lzbh) {
+        this.lzbh = lzbh;
+    }
 }

+ 131 - 4
src/main/java/com/cool/bang/modules/mysql/service/MySQLSecondService.java

@@ -44,6 +44,8 @@ public class MySQLSecondService {
     private ProjectAccountMapper projectAccountMapper;
     @Autowired
     private BuildingAccountMapper buildingAccountMapper;
+    @Autowired
+    private ProjectMapper projectMapper;
 
 
     /**
@@ -98,15 +100,15 @@ public class MySQLSecondService {
             if (item.getFLOWSTATE().equals("0")) {
                 refund.setBusinessState(3);
             }
-            if (item.getFLOWSTATE().equals("1") ) {
+            if (item.getFLOWSTATE().equals("1")) {
                 refund.setBusinessState(2);
             }
             refund.setFlowNumber(approvalFlow.getFlowNumber());
             refund.setFlowNodeId(endNode.getId());
             refund.setFlowNodeName(endNode.getNodeName());
-            if(!StringUtils.isEmpty(item.getFWBH())){
-                P_lpb_fw fw = fwMapper.getFwByMissid(item.getFWBH(),null);
-                if(null != fw){
+            if (!StringUtils.isEmpty(item.getFWBH())) {
+                P_lpb_fw fw = fwMapper.getFwByMissid(item.getFWBH(), null);
+                if (null != fw) {
                     refund.setHouseAddress(fw.getXxdz());
                 }
             }
@@ -333,4 +335,129 @@ public class MySQLSecondService {
         }
     }
 
+    @Transactional
+    public void buildingRelieve() {
+        List<OracleRelieve> oracleRelieves = applyMapper.selectLDRelieves();
+
+        // 查询审批流程
+        ApprovalFlow approvalFlow = flowMapper.selectFlowByType(7); // 解除楼栋申请flowId = 7
+        List<ApprovalNode> nodes = flowMapper.selectNodeByFlowNumber(approvalFlow.getFlowNumber());
+        ApprovalNode endNode = new ApprovalNode();
+        for (ApprovalNode node : nodes) {
+            if (node.getNumber() == 3) {
+                endNode = node;
+            }
+        }
+
+        for (OracleRelieve oracleRelieve : oracleRelieves) {
+
+            // 审核不通过的,不导入
+            if (oracleRelieve.getFlowState().equals(1) &&
+                    oracleRelieve.getFlowNodeName().equals("解除楼幢初审不通过")) {
+                continue;
+            }
+
+            Relieve relieve = new Relieve(oracleRelieve);
+
+            // 申请未审核的导入
+            if (oracleRelieve.getFlowState().equals(1) &&
+                    oracleRelieve.getFlowNodeName().equals("解除楼幢申请上报")) {
+                relieve.setBusinessState(1);
+            } else if (oracleRelieve.getFlowState().equals(1) && oracleRelieve.getFlowNodeName().equals("保存")) {
+                relieve.setBusinessState(0);
+            } else if (oracleRelieve.getFlowState().equals(1)) {
+                throw new RuntimeException("解除项目异常:" + oracleRelieve.getFlowNodeName());
+            }
+
+            // 审核已完成
+            if (oracleRelieve.getFlowState().equals(0)) {
+                relieve.setBusinessState(3);
+            }
+
+            Org org = qyxxMapper.selectOrgByMisid(oracleRelieve.getOrgMisId());
+            relieve.setOrgId(org.getId());
+            relieve.setOrgName(org.getOrgName());
+
+            Project project = projectMapper.selectByProjectNumber(oracleRelieve.getProjectNumber());
+            relieve.setProjectId(project.getId());
+            relieve.setProjectNumber(project.getProjectNumber());
+            relieve.setProjectName(project.getProjectName());
+
+            relieve.setFlowNumber(approvalFlow.getFlowNumber());
+            relieve.setFlowNodeId(endNode.getId());
+            relieve.setFlowNodeName(endNode.getNodeName());
+
+            // 楼栋解除
+ /*           List<Areg> list = applyMapper.selectIsRelieve(relieve.getProjectNumber());
+            if (list.size() == 1) {
+                relieve.setRelieveType(1); // 项目解除
+                // 如果是未审核通过的,改为解除中
+                if (oracleRelieve.getFlowState().equals(1)) {
+                    projectMapper.updateRelieve(relieve.getProjectId(), 2);
+                } else {
+                    projectMapper.updateRelieve(relieve.getProjectId(), 0);
+                }
+            } else {*/
+            relieve.setRelieveType(2);
+            /*}*/
+            mySqlMapper.insertRelieve(relieve);
+
+            // ------------------------------ 楼栋解除详情 ----------------------------------
+
+            List<RelieveDetail> relieveDetails = new ArrayList<>();
+            List<OracleRelieveDetail> oracleRelieveDetails = applyMapper.selectRelieveDetails(oracleRelieve.getAppId());
+            if (oracleRelieveDetails != null && oracleRelieveDetails.size() > 0
+                    && oracleRelieveDetails.get(0) != null && !StringUtils.isEmpty(oracleRelieveDetails.get(0).getBuildingNumber())) {
+                StringBuilder relieveBuilding = new StringBuilder();
+                for (OracleRelieveDetail detail : oracleRelieveDetails) {
+                    BuildingAccount building = buildingAccountMapper.selectByBuildingNumber(detail.getBuildingNumber());
+                    RelieveDetail relieveDetail = new RelieveDetail(building);
+                    relieveDetail.setRelieveId(relieve.getId());
+                    relieveDetails.add(relieveDetail);
+                    relieveBuilding.append(building.getBuildingName()).append(",");
+                }
+                String buildingNames = relieveBuilding.toString().substring(0, relieveBuilding.length() - 1);
+                mySqlMapper.updateRelieveBuilding(relieve.getId(), buildingNames);
+                mySqlMapper.insertRelieveDetail(relieveDetails);
+                buildingAccountMapper.updateRelieve(relieveDetails, relieve.getUpdateTime());
+            }
+
+
+            // ------------------------------ 楼栋解除审批记录 ----------------------------------
+
+            List<ApprovalRecord> approvalRecords = new ArrayList<>();
+            List<OracleApprovalRecord> oracleApprovalRecords = applyMapper.selecLDRelieveRecord(oracleRelieve.getAppId());
+            if (oracleApprovalRecords != null && oracleApprovalRecords.size() > 0
+                    && oracleApprovalRecords.get(0) != null
+                    && !StringUtils.isEmpty(oracleApprovalRecords.get(0).getNodeName())) {
+                for (OracleApprovalRecord approval : oracleApprovalRecords) {
+                    ApprovalRecord record = new ApprovalRecord();
+                    record.setBusinessNumber(relieve.getBusinessNumber());
+                    record.setFlowNumber(relieve.getFlowNumber());
+                    record.setTableId(relieve.getId());
+                    record.setApprovalTime(approval.getApprovalTime());
+                    record.setApprovalRemark(approval.getRemark());
+                    record.setCreateTime(record.getApprovalTime());
+                    record.setUpdateTime(record.getApprovalTime());
+                    record.setDelFlag(1);
+                    if (StringUtils.isEmpty(approval.getApprovalStatus())) {
+                        record.setNodeName("申请节点");
+                        record.setApprover(relieve.getOrgName() + "(" + approval.getApprover() + ")");
+                    } else {
+                        record.setNodeName(approval.getNodeName());
+                        record.setApprover("监管部门(" + approval.getApprover() + ")");
+                        if (approval.getApprovalStatus().equals("1")) {
+                            record.setApprovalStatus(1);
+                        } else {
+                            record.setApprovalStatus(2);
+                        }
+                    }
+                    approvalRecords.add(record);
+                }
+                flowMapper.insertRecordBatch(approvalRecords);
+            }
+        }
+    }
+
+
 }

+ 10 - 0
src/main/java/com/cool/bang/modules/oracle/domain/OracleRelieve.java

@@ -40,6 +40,8 @@ public class OracleRelieve {
     // 账户类型 0 监管 1托管
     private Integer accountType;
 
+    private String lzbh;
+
     public Integer getAppId() {
         return appId;
     }
@@ -143,4 +145,12 @@ public class OracleRelieve {
     public void setFlowNodeName(String flowNodeName) {
         this.flowNodeName = flowNodeName;
     }
+
+    public String getLzbh() {
+        return lzbh;
+    }
+
+    public void setLzbh(String lzbh) {
+        this.lzbh = lzbh;
+    }
 }

+ 17 - 0
src/main/java/com/cool/bang/modules/oracle/mapper/ApplyMapper.java

@@ -43,10 +43,24 @@ public interface ApplyMapper {
      */
     List<OracleRelieve> selectRelieves();
 
+    /**
+     * 楼栋解除
+     * @return
+     */
+    List<OracleRelieve> selectLDRelieves();
+
     List<OracleRelieveDetail> selectRelieveDetails(Integer appId);
 
     List<OracleApprovalRecord> selectRelieveRecord(Integer appId);
 
+    /**
+     * 楼栋解除查询审批
+     * @param appId
+     * @return
+     */
+    List<OracleApprovalRecord> selecLDRelieveRecord(Integer appId);
+
+
     List<OracleAccount> selectRelieveSuperviseAccount(Integer appId);
 
     List<Areg> selectIsRelieve(String projectNumber);
@@ -74,4 +88,7 @@ public interface ApplyMapper {
     List<OracleApprovalRecord> selectApprovalRecords_6_7(Integer appId);
 
     List<OracleApprovalRecord> selectApprovalRecords_8(Integer appid);
+
+
+
 }

+ 1 - 0
src/main/java/com/cool/bang/modules/oracle/mapper/OracleMapper.java

@@ -1,6 +1,7 @@
 package com.cool.bang.modules.oracle.mapper;
 
 import com.cool.bang.modules.mysql.domain.Account;
+import com.cool.bang.modules.mysql.domain.Relieve;
 import com.cool.bang.modules.mysql.domain.TradeInfo;
 import com.cool.bang.modules.oracle.domain.OracleUser;
 import com.cool.bang.modules.oracle.domain.Trade;

+ 36 - 0
src/main/resources/mapper/oracle/ApplyMapper.xml

@@ -81,6 +81,28 @@
             t.apptype = 4 AND t.state = 1 order by t.sqsj, t2.aregId
     </select>
 
+    <select id="selectLDRelieves" resultType="com.cool.bang.modules.oracle.domain.OracleRelieve">
+        SELECT
+            a.APPID AS appId,
+            a.APPBH AS businessNumber,
+            a.jbr AS director,
+            a.lxdh AS phone,
+            a.sqsj AS createTime,
+            a.spjssj AS updateTime,
+            TO_NUMBER(a.flowstate ) AS flowState,
+            a.FLOWNODENAME AS flowNodeName,
+            ar.qybh AS orgMisId,
+            ar.aregid AS aregId,
+            ar.xmmc AS projectName,
+            ar.xmbh AS projectNumber,
+            ar.jglx AS accountType
+        FROM
+            APPLY a
+            LEFT JOIN AREG ar ON a.AREGID = ar.AREGID
+        WHERE
+            a.APPTYPE = 10
+    </select>
+
     <select id="selectRelieveDetails" resultType="com.cool.bang.modules.oracle.domain.OracleRelieveDetail">
         SELECT
             t2.lzbh as buildingNumber
@@ -105,6 +127,20 @@
             t.apptype = 4 and t.state = 1 and t.appid = #{appId} order by t5.operatedate
     </select>
 
+    <select id="selecLDRelieveRecord" resultType="com.cool.bang.modules.oracle.domain.OracleApprovalRecord">
+        select
+            t5.flownodename as nodeName,
+            t5.operatedate as approvalTime,
+            t5.operator as approver,
+            t5.remark as remark,
+            t5.state as approvalStatus
+        from
+            apply t
+                left join sflowlog t5 on t5.infoid = t.appid and t5.flowid = 8
+        where
+            t.apptype = 10 and t.state = 1 and t.appid = #{appId} order by t5.operatedate
+    </select>
+
     <select id="selectRelieveSuperviseAccount" resultType="com.cool.bang.modules.oracle.domain.OracleAccount">
         SELECT
             t4.accountno as account

+ 0 - 1
src/main/resources/mapper/oracle/OracleMapper.xml

@@ -210,7 +210,6 @@
         </foreach>
     </select>
 
-
     <select id="sumByZgToTg" resultType="decimal">
         SELECT NVL(SUM(t3.money),0)
         FROM TRADE t