java110 лет назад: 4
Родитель
Сommit
d80da9581e

+ 1 - 1
java110-db/src/main/resources/mapper/report/ReportFeeMonthStatisticsServiceDaoImplMapper.xml

@@ -1221,7 +1221,7 @@
 
     <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
     <select id="queryPayFeeDetail" parameterType="Map" resultType="Map">
-        select pfc.fee_name feeName,f.floor_num floorNum,bu.unit_num unitNum,br.room_num roomNum,oc.car_num carNum,
+        select pfc.fee_name feeName,f.floor_num floorNum,bu.unit_num unitNum,br.room_num roomNum,br.built_up_area builtUpArea ,oc.car_num carNum,
         pf.payer_obj_type payerObjType,t.start_time startTime,t.end_time endTime,t.create_time createTime,
         t.receivable_amount receivableAmount,t.received_amount receivedAmount,pfa.`value`
         importFeeName,t.prime_rate,d.name primeRate,fdr.discount_small_type discountSmallType,fdr.rule_name

+ 38 - 0
service-acct/src/main/java/com/java110/acct/bmo/account/impl/GetAccountBMOImpl.java

@@ -1,12 +1,16 @@
 package com.java110.acct.bmo.account.impl;
 
 import com.java110.acct.bmo.account.IGetAccountBMO;
+import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.account.AccountDto;
 import com.java110.dto.accountDetail.AccountDetailDto;
 import com.java110.dto.owner.OwnerDto;
 import com.java110.intf.acct.IAccountDetailInnerServiceSMO;
 import com.java110.intf.acct.IAccountInnerServiceSMO;
 import com.java110.intf.user.IOwnerInnerServiceSMO;
+import com.java110.po.account.AccountPo;
+import com.java110.utils.lock.DistributedLock;
+import com.java110.utils.util.Assert;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -107,6 +111,11 @@ public class GetAccountBMOImpl implements IGetAccountBMO {
             }
         }
 
+        if (accountDtos == null || accountDtos.size() < 1) {
+            //添加 账户
+            accountDtos = addAccountDto(accountDto, ownerDto);
+
+        }
 
         ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) accountDto.getRow()), count, accountDtos);
 
@@ -115,4 +124,33 @@ public class GetAccountBMOImpl implements IGetAccountBMO {
         return responseEntity;
     }
 
+
+    private List<AccountDto> addAccountDto(AccountDto accountDto, OwnerDto ownerDto) {
+        //开始锁代码
+        String requestId = DistributedLock.getLockUUID();
+        String key = this.getClass().getSimpleName() + "AddCountDto" + ownerDto.getOwnerId();
+        try {
+            DistributedLock.waitGetDistributedLock(key, requestId);
+
+            AccountPo accountPo = new AccountPo();
+            accountPo.setAmount("0");
+            accountPo.setAcctId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_acctId));
+            accountPo.setObjId(ownerDto.getOwnerId());
+            accountPo.setObjType(AccountDto.OBJ_TYPE_PERSON);
+            accountPo.setAcctType(AccountDto.ACCT_TYPE_CASH);
+            OwnerDto tmpOwnerDto = new OwnerDto();
+            tmpOwnerDto.setMemberId(ownerDto.getOwnerId());
+            tmpOwnerDto.setCommunityId(ownerDto.getCommunityId());
+            List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(tmpOwnerDto);
+            Assert.listOnlyOne(ownerDtos, "业主不存在");
+            accountPo.setAcctName(ownerDtos.get(0).getName());
+            accountPo.setPartId(ownerDto.getCommunityId());
+            accountInnerServiceSMOImpl.saveAccount(accountPo);
+            List<AccountDto> accountDtos = accountInnerServiceSMOImpl.queryAccounts(accountDto);
+            return accountDtos;
+        } finally {
+            DistributedLock.releaseDistributedLock(requestId, key);
+        }
+    }
+
 }

+ 2 - 0
service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportReportFeeSMOImpl.java

@@ -352,6 +352,7 @@ public class ExportReportFeeSMOImpl extends DefaultAbstractComponentSMO implemen
         row.createCell(14).setCellValue("滞纳金");
         row.createCell(15).setCellValue("空置房打折金额");
         row.createCell(16).setCellValue("空置房减免金额");
+        row.createCell(17).setCellValue("面积");
 //        row.createCell(14).setCellValue("业主");
         //查询楼栋信息
         JSONArray rooms = this.getReportPayFeeDetail(pd, result);
@@ -379,6 +380,7 @@ public class ExportReportFeeSMOImpl extends DefaultAbstractComponentSMO implemen
             row.createCell(14).setCellValue(dataObj.getDouble("lateFee"));
             row.createCell(15).setCellValue(dataObj.getDouble("vacantHousingDiscount"));
             row.createCell(16).setCellValue(dataObj.getDouble("vacantHousingReduction"));
+            row.createCell(17).setCellValue(dataObj.getString("builtUpArea"));
         }
     }
 

+ 4 - 1
service-common/src/main/java/com/java110/common/smo/impl/OaWorkflowUserInnerServiceSMOImpl.java

@@ -2,6 +2,7 @@ package com.java110.common.smo.impl;
 
 
 import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.PageDto;
@@ -256,6 +257,7 @@ public class OaWorkflowUserInnerServiceSMOImpl extends BaseServiceSMO implements
     }
 
 
+    @Java110Transactional
     public boolean completeTask(@RequestBody JSONObject reqJson) {
         TaskService taskService = processEngine.getTaskService();
         Task task = taskService.createTaskQuery().taskId(reqJson.getString("taskId")).singleResult();
@@ -373,6 +375,7 @@ public class OaWorkflowUserInnerServiceSMOImpl extends BaseServiceSMO implements
      * @param reqJson
      * @return
      */
+    @Java110Transactional
     public boolean changeTaskToOtherUser(@RequestBody JSONObject reqJson) {
 
         //查询当前节点
@@ -420,7 +423,7 @@ public class OaWorkflowUserInnerServiceSMOImpl extends BaseServiceSMO implements
         oaWorkflowDataInnerServiceSMOImpl.saveOaWorkflowData(oaWorkflowDataPo);
         return true;
     }
-
+    @Java110Transactional
     public boolean goBackTask(@RequestBody JSONObject reqJson) {
         TaskService taskService = processEngine.getTaskService();
         Task task = taskService.createTaskQuery().taskId(reqJson.getString("taskId")).singleResult();

+ 3 - 1
service-job/src/main/java/com/java110/job/adapt/oa/OaWorkflowDistributeOrder.java

@@ -107,7 +107,9 @@ public class OaWorkflowDistributeOrder extends DatabusAdaptImpl {
         CommunityMemberDto communityMemberDto = new CommunityMemberDto();
         communityMemberDto.setMemberId(oaWorkflowDataPo.getStoreId());
         List<CommunityMemberDto> memberDtos = communityInnerServiceSMO.getCommunityMembers(communityMemberDto);
-        Assert.listOnlyOne(memberDtos, "物业未入住小区");
+        if(memberDtos == null || memberDtos.size()<1){
+            throw new IllegalArgumentException("物业未入住小区");
+        }
         //给维修师傅推送信息
         sendMsg(oaWorkflowDataPo, memberDtos.get(0));
     }

+ 2 - 0
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowForm/impl/GetOaWorkflowFormBMOImpl.java

@@ -1,6 +1,7 @@
 package com.java110.oa.bmo.oaWorkflowForm.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.oaWorkflow.OaWorkflowDto;
 import com.java110.dto.oaWorkflowData.OaWorkflowDataDto;
@@ -330,6 +331,7 @@ public class GetOaWorkflowFormBMOImpl implements IGetOaWorkflowFormBMO {
     }
 
     @Override
+    @Java110Transactional
     public ResponseEntity<String> auditOaWorkflow(JSONObject reqJson) {
         //查询流程是否存在
         OaWorkflowDto oaWorkflowDto = new OaWorkflowDto();

+ 2 - 0
service-oa/src/main/java/com/java110/oa/smo/impl/OaWorkflowDataInnerServiceSMOImpl.java

@@ -1,6 +1,7 @@
 package com.java110.oa.smo.impl;
 
 
+import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.dto.PageDto;
 import com.java110.dto.oaWorkflowData.OaWorkflowDataDto;
@@ -30,6 +31,7 @@ public class OaWorkflowDataInnerServiceSMOImpl extends BaseServiceSMO implements
 
 
     @Override
+    @Java110Transactional
     public int saveOaWorkflowData(@RequestBody OaWorkflowDataPo oaWorkflowDataPo) {
         int saveFlag = 1;
         oaWorkflowDataServiceDaoImpl.saveOaWorkflowDataInfo(BeanConvertUtil.beanCovertMap(oaWorkflowDataPo));