xiaogang
2021-08-20 2fc8dd46527fbf2efd21e6a95ccc5efb099a7d69
合并master
240个文件已删除
28个文件已修改
1 文件已重命名
68个文件已添加
19937 ■■■■ 已修改文件
java110-bean/src/main/java/com/java110/dto/oaWorkflow/OaWorkflowDto.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/oaWorkflow/StencilsetJson.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/oaWorkflowXml/OaWorkflowXmlDto.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/payFeeDetailMonth/PayFeeDetailMonthDto.java 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/reportFeeMonthCollectionDetail/ReportFeeMonthCollectionDetailDto.java 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/reportFeeMonthStatistics/ReportFeeMonthStatisticsDto.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/workflow/WorkflowModelDto.java 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/po/oaWorkflow/OaWorkflowPo.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/po/oaWorkflowXml/OaWorkflowXmlPo.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/po/payFeeDetailMonth/PayFeeDetailMonthPo.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/po/reportFeeMonthCollectionDetail/ReportFeeMonthCollectionDetailPo.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/community/MenuServiceDaoImplMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/fee/FeeDetailServiceDaoImplMapper.xml 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/fee/PayFeeDetailMonthServiceDaoImplMapper.xml 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/oa/OaWorkflowServiceDaoImplMapper.xml 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/oa/OaWorkflowXmlServiceDaoImplMapper.xml 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/report/ReportFeeMonthStatisticsServiceDaoImplMapper.xml 439 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-generator/src/main/resources/newBack/template_1.json 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-generator/src/main/resources/web/template_1.json 102 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/common/IWorkflowInnerServiceSMO.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/fee/IPayFeeDetailMonthInnerServiceSMO.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/oa/IOaWorkflowInnerServiceSMO.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/oa/IOaWorkflowXmlInnerServiceSMO.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/report/IReportFeeMonthStatisticsInnerServiceSMO.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/report/IReportFeeYearCollectionInnerServiceSMO.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/pom.xml 144 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/CommonServiceApplicationStart.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/api/ModelController.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/api/ModelRestController.java 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/api/WorkflowApi.java 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/bmo/workflow/IQueryWorkFlowFirstStaffBMO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/bmo/workflow/impl/QueryWorkFlowFirstStaffBMOImpl.java 178 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/smo/impl/WorkflowInnerServiceSMOImpl.java 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/api/PayFeeDetailMonthApi.java 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/bmo/payFeeDetailMonth/IDeletePayFeeDetailMonthBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/bmo/payFeeDetailMonth/IGetPayFeeDetailMonthBMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/bmo/payFeeDetailMonth/ISavePayFeeDetailMonthBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/bmo/payFeeDetailMonth/IUpdatePayFeeDetailMonthBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/bmo/payFeeDetailMonth/impl/DeletePayFeeDetailMonthBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/bmo/payFeeDetailMonth/impl/GetPayFeeDetailMonthBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/bmo/payFeeDetailMonth/impl/SavePayFeeDetailMonthBMOImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/bmo/payFeeDetailMonth/impl/UpdatePayFeeDetailMonthBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/dao/IPayFeeDetailMonthServiceDao.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/dao/impl/FeeDetailServiceDaoImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/dao/impl/PayFeeDetailMonthServiceDaoImpl.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/smo/impl/PayFeeDetailMonthInnerServiceSMOImpl.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-front/src/main/java/com/java110/front/configuration/ServiceConfiguration.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-front/src/main/java/com/java110/front/controller/activiti/ActivitiController.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-front/src/main/java/com/java110/front/smo/activiti/IModelSMO.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-front/src/main/java/com/java110/front/smo/activiti/impl/ModelSMOImpl.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-front/src/main/java/com/java110/front/smo/assetImport/impl/AssetImportSMOImpl.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-front/src/main/resources/java110.properties 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/pom.xml 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/GoodsServiceApplicationStart.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/api/GroupBuyApi.java 559 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/api/ProductApi.java 851 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/api/ProductCategoryApi.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/api/StoreOrderApi.java 463 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/api/StoreOrderCartReturnApi.java 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuy/IDeleteGroupBuyBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuy/IGetGroupBuyBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuy/ISaveGroupBuyBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuy/IUpdateGroupBuyBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuy/impl/DeleteGroupBuyBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuy/impl/GetGroupBuyBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuy/impl/SaveGroupBuyBMOImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuy/impl/UpdateGroupBuyBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyBatch/IDeleteGroupBuyBatchBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyBatch/IGetGroupBuyBatchBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyBatch/ISaveGroupBuyBatchBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyBatch/IUpdateGroupBuyBatchBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyBatch/impl/DeleteGroupBuyBatchBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyBatch/impl/GetGroupBuyBatchBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyBatch/impl/SaveGroupBuyBatchBMOImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyBatch/impl/UpdateGroupBuyBatchBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/IDeleteGroupBuyProductBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/IGetGroupBuyProductBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/ISaveGroupBuyProductBMO.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/IUpdateGroupBuyProductBMO.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/impl/DeleteGroupBuyProductBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/impl/GetGroupBuyProductBMOImpl.java 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/impl/SaveGroupBuyProductBMOImpl.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/impl/UpdateGroupBuyProductBMOImpl.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProductSpec/IDeleteGroupBuyProductSpecBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProductSpec/IGetGroupBuyProductSpecBMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProductSpec/ISaveGroupBuyProductSpecBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProductSpec/IUpdateGroupBuyProductSpecBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProductSpec/impl/DeleteGroupBuyProductSpecBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProductSpec/impl/GetGroupBuyProductSpecBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProductSpec/impl/SaveGroupBuyProductSpecBMOImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProductSpec/impl/UpdateGroupBuyProductSpecBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuySetting/IDeleteGroupBuySettingBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuySetting/IGetGroupBuySettingBMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuySetting/ISaveGroupBuySettingBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuySetting/IUpdateGroupBuySettingBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuySetting/impl/DeleteGroupBuySettingBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuySetting/impl/GetGroupBuySettingBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuySetting/impl/SaveGroupBuySettingBMOImpl.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/groupBuySetting/impl/UpdateGroupBuySettingBMOImpl.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/product/IDeleteProductBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/product/IGetProductBMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/product/ISaveProductBMO.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/product/IUpdateProductBMO.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/product/impl/DeleteProductBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/product/impl/GetProductBMOImpl.java 209 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/product/impl/SaveProductBMOImpl.java 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/product/impl/UpdateProductBMOImpl.java 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productAttr/IDeleteProductAttrBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productAttr/IGetProductAttrBMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productAttr/ISaveProductAttrBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productAttr/IUpdateProductAttrBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productAttr/impl/DeleteProductAttrBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productAttr/impl/GetProductAttrBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productAttr/impl/SaveProductAttrBMOImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productAttr/impl/UpdateProductAttrBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productCategory/IDeleteProductCategoryBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productCategory/IGetProductCategoryBMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productCategory/ISaveProductCategoryBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productCategory/IUpdateProductCategoryBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productCategory/impl/DeleteProductCategoryBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productCategory/impl/GetProductCategoryBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productCategory/impl/SaveProductCategoryBMOImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productCategory/impl/UpdateProductCategoryBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productDetail/IDeleteProductDetailBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productDetail/IGetProductDetailBMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productDetail/ISaveProductDetailBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productDetail/IUpdateProductDetailBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productDetail/impl/DeleteProductDetailBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productDetail/impl/GetProductDetailBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productDetail/impl/SaveProductDetailBMOImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productDetail/impl/UpdateProductDetailBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productLabel/IDeleteProductLabelBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productLabel/IGetProductLabelBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productLabel/ISaveProductLabelBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productLabel/IUpdateProductLabelBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productLabel/impl/DeleteProductLabelBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productLabel/impl/GetProductLabelBMOImpl.java 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productLabel/impl/SaveProductLabelBMOImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productLabel/impl/UpdateProductLabelBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpec/IDeleteProductSpecBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpec/IGetProductSpecBMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpec/ISaveProductSpecBMO.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpec/IUpdateProductSpecBMO.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpec/impl/DeleteProductSpecBMOImpl.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpec/impl/GetProductSpecBMOImpl.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpec/impl/SaveProductSpecBMOImpl.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpec/impl/UpdateProductSpecBMOImpl.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpecDetail/IDeleteProductSpecDetailBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpecDetail/IGetProductSpecDetailBMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpecDetail/ISaveProductSpecDetailBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpecDetail/IUpdateProductSpecDetailBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpecDetail/impl/DeleteProductSpecDetailBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpecDetail/impl/GetProductSpecDetailBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpecDetail/impl/SaveProductSpecDetailBMOImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpecDetail/impl/UpdateProductSpecDetailBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpecValue/IDeleteProductSpecValueBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpecValue/IGetProductSpecValueBMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpecValue/ISaveProductSpecValueBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpecValue/IUpdateProductSpecValueBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpecValue/impl/DeleteProductSpecValueBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpecValue/impl/GetProductSpecValueBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpecValue/impl/SaveProductSpecValueBMOImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/productSpecValue/impl/UpdateProductSpecValueBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeCart/IDeleteStoreCartBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeCart/IGetStoreCartBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeCart/ISaveStoreCartBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeCart/IUpdateStoreCartBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeCart/impl/DeleteStoreCartBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeCart/impl/GetStoreCartBMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeCart/impl/SaveStoreCartBMOImpl.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeCart/impl/UpdateStoreCartBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/IDeleteStoreOrderBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/IGetStoreOrderBMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/ISaveStoreOrderBMO.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/IUpdateStoreOrderBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/impl/DeleteStoreOrderBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/impl/GetStoreOrderBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/impl/SaveStoreOrderBMOImpl.java 282 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/impl/UpdateStoreOrderBMOImpl.java 248 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderAddress/IDeleteStoreOrderAddressBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderAddress/IGetStoreOrderAddressBMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderAddress/ISaveStoreOrderAddressBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderAddress/IUpdateStoreOrderAddressBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderAddress/impl/DeleteStoreOrderAddressBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderAddress/impl/GetStoreOrderAddressBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderAddress/impl/SaveStoreOrderAddressBMOImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderAddress/impl/UpdateStoreOrderAddressBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCart/IDeleteStoreOrderCartBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCart/IGetStoreOrderCartBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCart/ISaveStoreOrderCartBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCart/IUpdateStoreOrderCartBMO.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCart/impl/DeleteStoreOrderCartBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCart/impl/GetStoreOrderCartBMOImpl.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCart/impl/SaveStoreOrderCartBMOImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCart/impl/UpdateStoreOrderCartBMOImpl.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartEvent/IDeleteStoreOrderCartEventBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartEvent/IGetStoreOrderCartEventBMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartEvent/ISaveStoreOrderCartEventBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartEvent/IUpdateStoreOrderCartEventBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartEvent/impl/DeleteStoreOrderCartEventBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartEvent/impl/GetStoreOrderCartEventBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartEvent/impl/SaveStoreOrderCartEventBMOImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartEvent/impl/UpdateStoreOrderCartEventBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturn/IDeleteStoreOrderCartReturnBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturn/IGetStoreOrderCartReturnBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturn/ISaveStoreOrderCartReturnBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturn/IUpdateStoreOrderCartReturnBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturn/impl/DeleteStoreOrderCartReturnBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturn/impl/GetStoreOrderCartReturnBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturn/impl/SaveStoreOrderCartReturnBMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturn/impl/UpdateStoreOrderCartReturnBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturnEvent/IDeleteStoreOrderCartReturnEventBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturnEvent/IGetStoreOrderCartReturnEventBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturnEvent/ISaveStoreOrderCartReturnEventBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturnEvent/IUpdateStoreOrderCartReturnEventBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturnEvent/impl/DeleteStoreOrderCartReturnEventBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturnEvent/impl/GetStoreOrderCartReturnEventBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturnEvent/impl/SaveStoreOrderCartReturnEventBMOImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturnEvent/impl/UpdateStoreOrderCartReturnEventBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IGroupBuyBatchServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IGroupBuyProductServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IGroupBuyProductSpecServiceDao.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IGroupBuyServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IGroupBuySettingServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IProductAttrServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IProductCategoryServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IProductDetailServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IProductLabelServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IProductServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IProductSpecDetailServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IProductSpecServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IProductSpecValueServiceDao.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IStoreCartServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IStoreOrderAddressServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IStoreOrderCartEventServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IStoreOrderCartReturnEventServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IStoreOrderCartReturnServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IStoreOrderCartServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/IStoreOrderServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/GroupBuyBatchServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/GroupBuyProductServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/GroupBuyProductSpecServiceDaoImpl.java 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/GroupBuyServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/GroupBuySettingServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/ProductAttrServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/ProductCategoryServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/ProductDetailServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/ProductLabelServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/ProductServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/ProductSpecDetailServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/ProductSpecServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/ProductSpecValueServiceDaoImpl.java 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/StoreCartServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/StoreOrderAddressServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/StoreOrderCartEventServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/StoreOrderCartReturnEventServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/StoreOrderCartReturnServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/StoreOrderCartServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/dao/impl/StoreOrderServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/kafka/GoodsServiceBean.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/kafka/GoodsServiceKafka.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/package-info.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/IGoodsServiceSMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/GoodsServiceSMOImpl.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/GroupBuyBatchInnerServiceSMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/GroupBuyInnerServiceSMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/GroupBuyProductInnerServiceSMOImpl.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/GroupBuyProductSpecInnerServiceSMOImpl.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/GroupBuySettingInnerServiceSMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/ProductAttrInnerServiceSMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/ProductCategoryInnerServiceSMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/ProductDetailInnerServiceSMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/ProductInnerServiceSMOImpl.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/ProductLabelInnerServiceSMOImpl.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/ProductSpecDetailInnerServiceSMOImpl.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/ProductSpecInnerServiceSMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/ProductSpecValueInnerServiceSMOImpl.java 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/StoreCartInnerServiceSMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/StoreOrderAddressInnerServiceSMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/StoreOrderCartEventInnerServiceSMOImpl.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/StoreOrderCartInnerServiceSMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/StoreOrderCartReturnEventInnerServiceSMOImpl.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/StoreOrderCartReturnInnerServiceSMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/java/com/java110/goods/smo/impl/StoreOrderInnerServiceSMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/resources/application-dev.yml 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/resources/application-prod.yml 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/resources/application-test.yml 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/resources/banner.txt 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/resources/dataSource.yml 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-goods/src/main/resources/java110.properties 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/adapt/fee/PayFeeDetailToMonthAdapt.java 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/adapt/fee/asyn/IPayFeeDetailToMonth.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/adapt/fee/asyn/impl/PayFeeDetailToMonthIImpl.java 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/pom.xml 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/OaServiceApplicationStart.java 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/api/OaWorkflowApi.java 212 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/IDeleteOaWorkflowBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/IGetOaWorkflowBMO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/ISaveOaWorkflowBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/IUpdateOaWorkflowBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/DeleteOaWorkflowBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/GetOaWorkflowBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/SaveOaWorkflowBMOImpl.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/UpdateOaWorkflowBMOImpl.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IDeleteOaWorkflowXmlBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IGetOaWorkflowXmlBMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/ISaveOaWorkflowXmlBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IUpdateOaWorkflowXmlBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/DeleteOaWorkflowXmlBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/GetOaWorkflowXmlBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/SaveOaWorkflowXmlBMOImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/UpdateOaWorkflowXmlBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/dao/IAuditUserServiceDao.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/dao/IOaWorkflowServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/dao/IOaWorkflowXmlServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/dao/impl/OaWorkflowServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/dao/impl/OaWorkflowXmlServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/listener/advert/AbstractAdvertBusinessServiceDataFlowListener.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/package-info.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/smo/IOaServiceSMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/smo/impl/OaServiceSMOImpl.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/smo/impl/OaWorkflowInnerServiceSMOImpl.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/smo/impl/OaWorkflowXmlInnerServiceSMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/resources/application-dev.yml 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/resources/application.yml 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/resources/banner.txt 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/resources/dataSource.yml 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/resources/java110.properties 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/api/ReportFeeMonthStatisticsApi.java 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/IGetReportFeeMonthStatisticsBMO.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java 166 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/dao/IReportFeeMonthStatisticsServiceDao.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/dao/impl/ReportFeeMonthStatisticsServiceDaoImpl.java 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/smo/impl/ReportFeeMonthStatisticsInnerServiceSMOImpl.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/smo/impl/ReportFeeYearCollectionInnerServiceSMOImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/oaWorkflow/OaWorkflowDto.java
New file
@@ -0,0 +1,125 @@
package com.java110.dto.oaWorkflow;
import com.java110.dto.PageDto;
import java.io.Serializable;
import java.util.Date;
/**
 * @ClassName FloorDto
 * @Description OA工作流数据层封装
 * @Author wuxw
 * @Date 2019/4/24 8:52
 * @Version 1.0
 * add by wuxw 2019/4/24
 **/
public class OaWorkflowDto extends PageDto implements Serializable {
    public static final String STATE_WAIT = "W";//待部署
    public static final String STATE_COMPLAINT = "C";//部署完成
    private String describle;
    private String modelId;
    private String flowKey;
    private String storeId;
    private String flowId;
    private String flowName;
    private String flowType;
    private String processDefinitionKey;
    private String state;
    private Date createTime;
    private String statusCd = "0";
    public String getDescrible() {
        return describle;
    }
    public void setDescrible(String describle) {
        this.describle = describle;
    }
    public String getModelId() {
        return modelId;
    }
    public void setModelId(String modelId) {
        this.modelId = modelId;
    }
    public String getFlowKey() {
        return flowKey;
    }
    public void setFlowKey(String flowKey) {
        this.flowKey = flowKey;
    }
    public String getStoreId() {
        return storeId;
    }
    public void setStoreId(String storeId) {
        this.storeId = storeId;
    }
    public String getFlowId() {
        return flowId;
    }
    public void setFlowId(String flowId) {
        this.flowId = flowId;
    }
    public String getFlowName() {
        return flowName;
    }
    public void setFlowName(String flowName) {
        this.flowName = flowName;
    }
    public String getFlowType() {
        return flowType;
    }
    public void setFlowType(String flowType) {
        this.flowType = flowType;
    }
    public String getProcessDefinitionKey() {
        return processDefinitionKey;
    }
    public void setProcessDefinitionKey(String processDefinitionKey) {
        this.processDefinitionKey = processDefinitionKey;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getStatusCd() {
        return statusCd;
    }
    public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }
    public String getState() {
        return state;
    }
    public void setState(String state) {
        this.state = state;
    }
}
java110-bean/src/main/java/com/java110/dto/oaWorkflow/StencilsetJson.java
New file
@@ -0,0 +1,23 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.dto.oaWorkflow;
/**
 * @desc add by 吴学文 11:31
 */
public class StencilsetJson {
    public static String JSON = "";
}
java110-bean/src/main/java/com/java110/dto/oaWorkflowXml/OaWorkflowXmlDto.java
New file
@@ -0,0 +1,86 @@
package com.java110.dto.oaWorkflowXml;
import com.java110.dto.PageDto;
import java.io.Serializable;
import java.util.Date;
/**
 * @ClassName FloorDto
 * @Description OA流程图数据层封装
 * @Author wuxw
 * @Date 2019/4/24 8:52
 * @Version 1.0
 * add by wuxw 2019/4/24
 **/
public class OaWorkflowXmlDto extends PageDto implements Serializable {
    private String xmlId;
    private String storeId;
    private String bpmnXml;
    private String flowId;
    private String svgXml;
    private Date createTime;
    private String statusCd = "0";
    public String getXmlId() {
        return xmlId;
    }
    public void setXmlId(String xmlId) {
        this.xmlId = xmlId;
    }
    public String getStoreId() {
        return storeId;
    }
    public void setStoreId(String storeId) {
        this.storeId = storeId;
    }
    public String getBpmnXml() {
        return bpmnXml;
    }
    public void setBpmnXml(String bpmnXml) {
        this.bpmnXml = bpmnXml;
    }
    public String getFlowId() {
        return flowId;
    }
    public void setFlowId(String flowId) {
        this.flowId = flowId;
    }
    public String getSvgXml() {
        return svgXml;
    }
    public void setSvgXml(String svgXml) {
        this.svgXml = svgXml;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getStatusCd() {
        return statusCd;
    }
    public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }
}
java110-bean/src/main/java/com/java110/dto/payFeeDetailMonth/PayFeeDetailMonthDto.java
New file
@@ -0,0 +1,111 @@
package com.java110.dto.payFeeDetailMonth;
import com.java110.dto.PageDto;
import java.io.Serializable;
import java.util.Date;
/**
 * @ClassName FloorDto
 * @Description 月缴费表数据层封装
 * @Author wuxw
 * @Date 2019/4/24 8:52
 * @Version 1.0
 * add by wuxw 2019/4/24
 **/
public class PayFeeDetailMonthDto extends PageDto implements Serializable {
    private String detailMonth;
private String detailYear;
private String detailId;
private String receivableAmount;
private String discountAmount;
private String remark;
private String receivedAmount;
private String communityId;
private String feeId;
private String monthId;
    private Date createTime;
    private String statusCd = "0";
    public String getDetailMonth() {
        return detailMonth;
    }
public void setDetailMonth(String detailMonth) {
        this.detailMonth = detailMonth;
    }
public String getDetailYear() {
        return detailYear;
    }
public void setDetailYear(String detailYear) {
        this.detailYear = detailYear;
    }
public String getDetailId() {
        return detailId;
    }
public void setDetailId(String detailId) {
        this.detailId = detailId;
    }
public String getReceivableAmount() {
        return receivableAmount;
    }
public void setReceivableAmount(String receivableAmount) {
        this.receivableAmount = receivableAmount;
    }
public String getDiscountAmount() {
        return discountAmount;
    }
public void setDiscountAmount(String discountAmount) {
        this.discountAmount = discountAmount;
    }
public String getRemark() {
        return remark;
    }
public void setRemark(String remark) {
        this.remark = remark;
    }
public String getReceivedAmount() {
        return receivedAmount;
    }
public void setReceivedAmount(String receivedAmount) {
        this.receivedAmount = receivedAmount;
    }
public String getCommunityId() {
        return communityId;
    }
public void setCommunityId(String communityId) {
        this.communityId = communityId;
    }
public String getFeeId() {
        return feeId;
    }
public void setFeeId(String feeId) {
        this.feeId = feeId;
    }
public String getMonthId() {
        return monthId;
    }
public void setMonthId(String monthId) {
        this.monthId = monthId;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getStatusCd() {
        return statusCd;
    }
    public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }
}
java110-bean/src/main/java/com/java110/dto/reportFeeMonthCollectionDetail/ReportFeeMonthCollectionDetailDto.java
New file
@@ -0,0 +1,104 @@
package com.java110.dto.reportFeeMonthCollectionDetail;
import com.java110.dto.PageDto;
import java.io.Serializable;
import java.util.Date;
/**
 * @ClassName FloorDto
 * @Description 月缴费表数据层封装
 * @Author wuxw
 * @Date 2019/4/24 8:52
 * @Version 1.0
 * add by wuxw 2019/4/24
 **/
public class ReportFeeMonthCollectionDetailDto extends PageDto implements Serializable {
    private String collectionYear;
private String cdId;
private String collectionMonth;
private String detailId;
private String receivableAmount;
private String discountAmount;
private String receivedAmount;
private String communityId;
private String collectionId;
    private Date createTime;
    private String statusCd = "0";
    public String getCollectionYear() {
        return collectionYear;
    }
public void setCollectionYear(String collectionYear) {
        this.collectionYear = collectionYear;
    }
public String getCdId() {
        return cdId;
    }
public void setCdId(String cdId) {
        this.cdId = cdId;
    }
public String getCollectionMonth() {
        return collectionMonth;
    }
public void setCollectionMonth(String collectionMonth) {
        this.collectionMonth = collectionMonth;
    }
public String getDetailId() {
        return detailId;
    }
public void setDetailId(String detailId) {
        this.detailId = detailId;
    }
public String getReceivableAmount() {
        return receivableAmount;
    }
public void setReceivableAmount(String receivableAmount) {
        this.receivableAmount = receivableAmount;
    }
public String getDiscountAmount() {
        return discountAmount;
    }
public void setDiscountAmount(String discountAmount) {
        this.discountAmount = discountAmount;
    }
public String getReceivedAmount() {
        return receivedAmount;
    }
public void setReceivedAmount(String receivedAmount) {
        this.receivedAmount = receivedAmount;
    }
public String getCommunityId() {
        return communityId;
    }
public void setCommunityId(String communityId) {
        this.communityId = communityId;
    }
public String getCollectionId() {
        return collectionId;
    }
public void setCollectionId(String collectionId) {
        this.collectionId = collectionId;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getStatusCd() {
        return statusCd;
    }
    public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }
}
java110-bean/src/main/java/com/java110/dto/reportFeeMonthStatistics/ReportFeeMonthStatisticsDto.java
@@ -30,6 +30,7 @@
    private String objId;
    private String feeName;
    private String oweAmount;
    private String curOweAmount;
    private String communityId;
    private String feeCreateTime;
    private String feeStartTime;
@@ -78,6 +79,9 @@
    //实收总金额(大计)
    private String allReceivedAmount;
    //实收总金额(大计)
    private String allOweAmount;
    private List<FeeConfigDto> FeeConfigDtos;
@@ -582,4 +586,19 @@
    public void setRepairId(String repairId) {
        this.repairId = repairId;
    }
    public String getAllOweAmount() {
        return allOweAmount;
    }
    public void setAllOweAmount(String allOweAmount) {
        this.allOweAmount = allOweAmount;
    }
    public String getCurOweAmount() {
        return curOweAmount;
    }
    public void setCurOweAmount(String curOweAmount) {
        this.curOweAmount = curOweAmount;
    }
}
java110-bean/src/main/java/com/java110/dto/workflow/WorkflowModelDto.java
New file
@@ -0,0 +1,101 @@
package com.java110.dto.workflow;
import java.io.Serializable;
/**
 * @ClassName WorkflowModelDto
 * @Description TODO
 * @Author wuxw
 * @Date 2021/8/17 0:19
 * @Version 1.0
 * add by wuxw 2021/8/17
 **/
public class WorkflowModelDto implements Serializable {
    private String flowId;
    private String name;
    private String key;
    private String modelId;
    private String description;
    private String json_xml;
    private String svg_xml;
    private String storeId;
    private String deploymentId;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getKey() {
        return key;
    }
    public void setKey(String key) {
        this.key = key;
    }
    public String getModelId() {
        return modelId;
    }
    public void setModelId(String modelId) {
        this.modelId = modelId;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getJson_xml() {
        return json_xml;
    }
    public void setJson_xml(String json_xml) {
        this.json_xml = json_xml;
    }
    public String getSvg_xml() {
        return svg_xml;
    }
    public void setSvg_xml(String svg_xml) {
        this.svg_xml = svg_xml;
    }
    public String getDeploymentId() {
        return deploymentId;
    }
    public void setDeploymentId(String deploymentId) {
        this.deploymentId = deploymentId;
    }
    public String getFlowId() {
        return flowId;
    }
    public void setFlowId(String flowId) {
        this.flowId = flowId;
    }
    public String getStoreId() {
        return storeId;
    }
    public void setStoreId(String storeId) {
        this.storeId = storeId;
    }
}
java110-bean/src/main/java/com/java110/po/oaWorkflow/OaWorkflowPo.java
New file
@@ -0,0 +1,97 @@
package com.java110.po.oaWorkflow;
import java.io.Serializable;
public class OaWorkflowPo implements Serializable {
    private String describle;
    private String modelId;
    private String statusCd = "0";
    private String flowKey;
    private String storeId;
    private String flowId;
    private String flowName;
    private String flowType;
    private String state;
    private String processDefinitionKey;
    public String getDescrible() {
        return describle;
    }
    public void setDescrible(String describle) {
        this.describle = describle;
    }
    public String getModelId() {
        return modelId;
    }
    public void setModelId(String modelId) {
        this.modelId = modelId;
    }
    public String getStatusCd() {
        return statusCd;
    }
    public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }
    public String getFlowKey() {
        return flowKey;
    }
    public void setFlowKey(String flowKey) {
        this.flowKey = flowKey;
    }
    public String getStoreId() {
        return storeId;
    }
    public void setStoreId(String storeId) {
        this.storeId = storeId;
    }
    public String getFlowId() {
        return flowId;
    }
    public void setFlowId(String flowId) {
        this.flowId = flowId;
    }
    public String getFlowName() {
        return flowName;
    }
    public void setFlowName(String flowName) {
        this.flowName = flowName;
    }
    public String getFlowType() {
        return flowType;
    }
    public void setFlowType(String flowType) {
        this.flowType = flowType;
    }
    public String getProcessDefinitionKey() {
        return processDefinitionKey;
    }
    public void setProcessDefinitionKey(String processDefinitionKey) {
        this.processDefinitionKey = processDefinitionKey;
    }
    public String getState() {
        return state;
    }
    public void setState(String state) {
        this.state = state;
    }
}
java110-bean/src/main/java/com/java110/po/oaWorkflowXml/OaWorkflowXmlPo.java
New file
@@ -0,0 +1,53 @@
package com.java110.po.oaWorkflowXml;
import java.io.Serializable;
import java.util.Date;
public class OaWorkflowXmlPo implements Serializable {
    private String statusCd = "0";
private String xmlId;
private String storeId;
private String bpmnXml;
private String flowId;
private String svgXml;
public String getStatusCd() {
        return statusCd;
    }
public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }
public String getXmlId() {
        return xmlId;
    }
public void setXmlId(String xmlId) {
        this.xmlId = xmlId;
    }
public String getStoreId() {
        return storeId;
    }
public void setStoreId(String storeId) {
        this.storeId = storeId;
    }
public String getBpmnXml() {
        return bpmnXml;
    }
public void setBpmnXml(String bpmnXml) {
        this.bpmnXml = bpmnXml;
    }
public String getFlowId() {
        return flowId;
    }
public void setFlowId(String flowId) {
        this.flowId = flowId;
    }
public String getSvgXml() {
        return svgXml;
    }
public void setSvgXml(String svgXml) {
        this.svgXml = svgXml;
    }
}
java110-bean/src/main/java/com/java110/po/payFeeDetailMonth/PayFeeDetailMonthPo.java
New file
@@ -0,0 +1,88 @@
package com.java110.po.payFeeDetailMonth;
import java.io.Serializable;
import java.util.Date;
public class PayFeeDetailMonthPo implements Serializable {
    private String detailMonth;
private String detailYear;
private String detailId;
private String receivableAmount;
private String discountAmount;
private String remark;
private String statusCd = "0";
private String receivedAmount;
private String communityId;
private String feeId;
private String monthId;
public String getDetailMonth() {
        return detailMonth;
    }
public void setDetailMonth(String detailMonth) {
        this.detailMonth = detailMonth;
    }
public String getDetailYear() {
        return detailYear;
    }
public void setDetailYear(String detailYear) {
        this.detailYear = detailYear;
    }
public String getDetailId() {
        return detailId;
    }
public void setDetailId(String detailId) {
        this.detailId = detailId;
    }
public String getReceivableAmount() {
        return receivableAmount;
    }
public void setReceivableAmount(String receivableAmount) {
        this.receivableAmount = receivableAmount;
    }
public String getDiscountAmount() {
        return discountAmount;
    }
public void setDiscountAmount(String discountAmount) {
        this.discountAmount = discountAmount;
    }
public String getRemark() {
        return remark;
    }
public void setRemark(String remark) {
        this.remark = remark;
    }
public String getStatusCd() {
        return statusCd;
    }
public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }
public String getReceivedAmount() {
        return receivedAmount;
    }
public void setReceivedAmount(String receivedAmount) {
        this.receivedAmount = receivedAmount;
    }
public String getCommunityId() {
        return communityId;
    }
public void setCommunityId(String communityId) {
        this.communityId = communityId;
    }
public String getFeeId() {
        return feeId;
    }
public void setFeeId(String feeId) {
        this.feeId = feeId;
    }
public String getMonthId() {
        return monthId;
    }
public void setMonthId(String monthId) {
        this.monthId = monthId;
    }
}
java110-bean/src/main/java/com/java110/po/reportFeeMonthCollectionDetail/ReportFeeMonthCollectionDetailPo.java
New file
@@ -0,0 +1,81 @@
package com.java110.po.reportFeeMonthCollectionDetail;
import java.io.Serializable;
import java.util.Date;
public class ReportFeeMonthCollectionDetailPo implements Serializable {
    private String collectionYear;
private String cdId;
private String collectionMonth;
private String detailId;
private String receivableAmount;
private String discountAmount;
private String statusCd = "0";
private String receivedAmount;
private String communityId;
private String collectionId;
public String getCollectionYear() {
        return collectionYear;
    }
public void setCollectionYear(String collectionYear) {
        this.collectionYear = collectionYear;
    }
public String getCdId() {
        return cdId;
    }
public void setCdId(String cdId) {
        this.cdId = cdId;
    }
public String getCollectionMonth() {
        return collectionMonth;
    }
public void setCollectionMonth(String collectionMonth) {
        this.collectionMonth = collectionMonth;
    }
public String getDetailId() {
        return detailId;
    }
public void setDetailId(String detailId) {
        this.detailId = detailId;
    }
public String getReceivableAmount() {
        return receivableAmount;
    }
public void setReceivableAmount(String receivableAmount) {
        this.receivableAmount = receivableAmount;
    }
public String getDiscountAmount() {
        return discountAmount;
    }
public void setDiscountAmount(String discountAmount) {
        this.discountAmount = discountAmount;
    }
public String getStatusCd() {
        return statusCd;
    }
public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }
public String getReceivedAmount() {
        return receivedAmount;
    }
public void setReceivedAmount(String receivedAmount) {
        this.receivedAmount = receivedAmount;
    }
public String getCommunityId() {
        return communityId;
    }
public void setCommunityId(String communityId) {
        this.communityId = communityId;
    }
public String getCollectionId() {
        return collectionId;
    }
public void setCollectionId(String collectionId) {
        this.collectionId = collectionId;
    }
}
java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
@@ -215,6 +215,8 @@
    public static final String CODE_PREFIX_anValueId = "68";
    public static final String CODE_PREFIX_backId = "78";
    public static final String CODE_PREFIX_monthId = "79";
    public static final String CODE_PREFIX_xmlId = "79";
java110-db/src/main/resources/mapper/community/MenuServiceDaoImplMapper.xml
@@ -319,7 +319,7 @@
            AND ppr.status_cd = '0'
            )
        </if>
        order by t.m_id desc
        order by t.seq
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
java110-db/src/main/resources/mapper/fee/FeeDetailServiceDaoImplMapper.xml
@@ -10,9 +10,17 @@
        business_pay_fee_detail(
        operate,prime_rate,detail_id,
        receivable_amount,cycles,remark,
        received_amount,community_id,b_id,fee_id,state,start_time,end_time) values (
        received_amount,community_id,b_id,fee_id,state,start_time,end_time
        <if test="createTime != null">
            ,create_time
        </if>
        ) values (
        #{operate},#{primeRate},#{detailId},#{receivableAmount},
        #{cycles},#{remark},#{receivedAmount},#{communityId},#{bId},#{feeId},#{state},#{startTime},#{endTime})
        #{cycles},#{remark},#{receivedAmount},#{communityId},#{bId},#{feeId},#{state},#{startTime},#{endTime}
        <if test="createTime != null">
            ,#{createTime}
        </if>
        )
    </insert>
@@ -65,9 +73,9 @@
    <insert id="saveFeeDetailInfoInstance" parameterType="Map">
        insert into
        pay_fee_detail(
        prime_rate,detail_id,receivable_amount,cycles,remark,status_cd,received_amount,community_id,b_id,fee_id,state,start_time,end_time)
        prime_rate,detail_id,receivable_amount,cycles,remark,status_cd,received_amount,community_id,b_id,fee_id,state,start_time,end_time,create_time)
        select
        t.prime_rate,t.detail_id,t.receivable_amount,t.cycles,t.remark,'0',t.received_amount,t.community_id,t.b_id,t.fee_id,state,t.start_time,t.end_time
        t.prime_rate,t.detail_id,t.receivable_amount,t.cycles,t.remark,'0',t.received_amount,t.community_id,t.b_id,t.fee_id,state,t.start_time,t.end_time,t.create_time
        from business_pay_fee_detail t where 1=1
        and t.operate= 'ADD'
        <if test="primeRate !=null and primeRate != ''">
java110-db/src/main/resources/mapper/fee/PayFeeDetailMonthServiceDaoImplMapper.xml
New file
@@ -0,0 +1,164 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="payFeeDetailMonthServiceDaoImpl">
    <!-- 保存月缴费表信息 add by wuxw 2018-07-03 -->
    <insert id="savePayFeeDetailMonthInfo" parameterType="Map">
        insert into pay_fee_detail_month(
        detail_month,detail_year,detail_id,receivable_amount,discount_amount,remark,received_amount,community_id,fee_id,month_id
        ) values (
        #{detailMonth},#{detailYear},#{detailId},#{receivableAmount},#{discountAmount},#{remark},#{receivedAmount},#{communityId},#{feeId},#{monthId}
        )
    </insert>
    <!-- 保存月缴费表信息 add by wuxw 2018-07-03 -->
    <insert id="savePayFeeDetailMonthInfos" parameterType="Map">
        insert into pay_fee_detail_month(
        detail_month,detail_year,detail_id,receivable_amount,discount_amount,remark,received_amount,community_id,fee_id,month_id
        ) values
        <foreach collection="payFeeDetailMonthPos" item="item" index="index" separator=",">
            (
            #{item.detailMonth},#{item.detailYear},#{item.detailId},#{item.receivableAmount},#{item.discountAmount},
            #{item.remark},#{item.receivedAmount},#{item.communityId},#{item.feeId},#{item.monthId}
            )
        </foreach>
    </insert>
    <!-- 查询月缴费表信息 add by wuxw 2018-07-03 -->
    <select id="getPayFeeDetailMonthInfo" parameterType="Map" resultType="Map">
        select t.detail_month,t.detail_month detailMonth,t.detail_year,t.detail_year detailYear,t.detail_id,t.detail_id
        detailId,t.receivable_amount,t.receivable_amount receivableAmount,t.discount_amount,t.discount_amount
        discountAmount,t.remark,t.status_cd,t.status_cd statusCd,t.received_amount,t.received_amount
        receivedAmount,t.community_id,t.community_id communityId,t.fee_id,t.fee_id feeId,t.month_id,t.month_id monthId
        from pay_fee_detail_month t
        where 1 =1
        <if test="detailMonth !=null and detailMonth != ''">
            and t.detail_month= #{detailMonth}
        </if>
        <if test="detailYear !=null and detailYear != ''">
            and t.detail_year= #{detailYear}
        </if>
        <if test="detailId !=null and detailId != ''">
            and t.detail_id= #{detailId}
        </if>
        <if test="receivableAmount !=null and receivableAmount != ''">
            and t.receivable_amount= #{receivableAmount}
        </if>
        <if test="discountAmount !=null and discountAmount != ''">
            and t.discount_amount= #{discountAmount}
        </if>
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="receivedAmount !=null and receivedAmount != ''">
            and t.received_amount= #{receivedAmount}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="monthId !=null and monthId != ''">
            and t.month_id= #{monthId}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 修改月缴费表信息 add by wuxw 2018-07-03 -->
    <update id="updatePayFeeDetailMonthInfo" parameterType="Map">
        update pay_fee_detail_month t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="detailMonth !=null and detailMonth != ''">
            , t.detail_month= #{detailMonth}
        </if>
        <if test="detailYear !=null and detailYear != ''">
            , t.detail_year= #{detailYear}
        </if>
        <if test="detailId !=null and detailId != ''">
            , t.detail_id= #{detailId}
        </if>
        <if test="receivableAmount !=null and receivableAmount != ''">
            , t.receivable_amount= #{receivableAmount}
        </if>
        <if test="discountAmount !=null and discountAmount != ''">
            , t.discount_amount= #{discountAmount}
        </if>
        <if test="remark !=null and remark != ''">
            , t.remark= #{remark}
        </if>
        <if test="receivedAmount !=null and receivedAmount != ''">
            , t.received_amount= #{receivedAmount}
        </if>
        <if test="communityId !=null and communityId != ''">
            , t.community_id= #{communityId}
        </if>
        <if test="feeId !=null and feeId != ''">
            , t.fee_id= #{feeId}
        </if>
        where 1=1
        <if test="monthId !=null and monthId != ''">
            and t.month_id= #{monthId}
        </if>
    </update>
    <!-- 查询月缴费表数量 add by wuxw 2018-07-03 -->
    <select id="queryPayFeeDetailMonthsCount" parameterType="Map" resultType="Map">
        select count(1) count
        from pay_fee_detail_month t
        where 1 =1
        <if test="detailMonth !=null and detailMonth != ''">
            and t.detail_month= #{detailMonth}
        </if>
        <if test="detailYear !=null and detailYear != ''">
            and t.detail_year= #{detailYear}
        </if>
        <if test="detailId !=null and detailId != ''">
            and t.detail_id= #{detailId}
        </if>
        <if test="receivableAmount !=null and receivableAmount != ''">
            and t.receivable_amount= #{receivableAmount}
        </if>
        <if test="discountAmount !=null and discountAmount != ''">
            and t.discount_amount= #{discountAmount}
        </if>
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="receivedAmount !=null and receivedAmount != ''">
            and t.received_amount= #{receivedAmount}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="monthId !=null and monthId != ''">
            and t.month_id= #{monthId}
        </if>
    </select>
</mapper>
java110-db/src/main/resources/mapper/oa/OaWorkflowServiceDaoImplMapper.xml
New file
@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="oaWorkflowServiceDaoImpl">
    <!-- 保存OA工作流信息 add by wuxw 2018-07-03 -->
    <insert id="saveOaWorkflowInfo" parameterType="Map">
        insert into oa_workflow(
        describle,model_id,flow_key,store_id,flow_id,flow_name,flow_type,process_definition_key,state
        ) values (
        #{describle},#{modelId},#{flowKey},#{storeId},#{flowId},#{flowName},#{flowType},#{processDefinitionKey},#{state}
        )
    </insert>
    <!-- 查询OA工作流信息 add by wuxw 2018-07-03 -->
    <select id="getOaWorkflowInfo" parameterType="Map" resultType="Map">
        select t.describle,t.model_id,t.model_id modelId,t.status_cd,t.status_cd statusCd,t.flow_key,t.flow_key
        flowKey,t.store_id,t.store_id storeId,t.flow_id,t.flow_id flowId,t.flow_name,t.flow_name
        flowName,t.flow_type,t.flow_type flowType,t.process_definition_key,t.process_definition_key processDefinitionKey,
        t.create_time createTime,t.state
        from oa_workflow t
        where 1 =1
        <if test="describle !=null and describle != ''">
            and t.describle= #{describle}
        </if>
        <if test="modelId !=null and modelId != ''">
            and t.model_id= #{modelId}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="flowKey !=null and flowKey != ''">
            and t.flow_key= #{flowKey}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="flowId !=null and flowId != ''">
            and t.flow_id= #{flowId}
        </if>
        <if test="flowName !=null and flowName != ''">
            and t.flow_name= #{flowName}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="flowType !=null and flowType != ''">
            and t.flow_type= #{flowType}
        </if>
        <if test="processDefinitionKey !=null and processDefinitionKey != ''">
            and t.process_definition_key= #{processDefinitionKey}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 修改OA工作流信息 add by wuxw 2018-07-03 -->
    <update id="updateOaWorkflowInfo" parameterType="Map">
        update oa_workflow t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="describle !=null and describle != ''">
            , t.describle= #{describle}
        </if>
        <if test="modelId !=null and modelId != ''">
            , t.model_id= #{modelId}
        </if>
        <if test="flowKey !=null and flowKey != ''">
            , t.flow_key= #{flowKey}
        </if>
        <if test="state !=null and state != ''">
            , t.state= #{state}
        </if>
        <if test="flowName !=null and flowName != ''">
            , t.flow_name= #{flowName}
        </if>
        <if test="flowType !=null and flowType != ''">
            , t.flow_type= #{flowType}
        </if>
        <if test="processDefinitionKey !=null and processDefinitionKey != ''">
            , t.process_definition_key= #{processDefinitionKey}
        </if>
        where 1=1
        <if test="flowId !=null and flowId != ''">
            and t.flow_id= #{flowId}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
    </update>
    <!-- 查询OA工作流数量 add by wuxw 2018-07-03 -->
    <select id="queryOaWorkflowsCount" parameterType="Map" resultType="Map">
        select count(1) count
        from oa_workflow t
        where 1 =1
        <if test="describle !=null and describle != ''">
            and t.describle= #{describle}
        </if>
        <if test="modelId !=null and modelId != ''">
            and t.model_id= #{modelId}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="flowKey !=null and flowKey != ''">
            and t.flow_key= #{flowKey}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="flowId !=null and flowId != ''">
            and t.flow_id= #{flowId}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="flowName !=null and flowName != ''">
            and t.flow_name= #{flowName}
        </if>
        <if test="flowType !=null and flowType != ''">
            and t.flow_type= #{flowType}
        </if>
        <if test="processDefinitionKey !=null and processDefinitionKey != ''">
            and t.process_definition_key= #{processDefinitionKey}
        </if>
    </select>
</mapper>
java110-db/src/main/resources/mapper/oa/OaWorkflowXmlServiceDaoImplMapper.xml
New file
@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="oaWorkflowXmlServiceDaoImpl">
    <!-- 保存OA流程图信息 add by wuxw 2018-07-03 -->
    <insert id="saveOaWorkflowXmlInfo" parameterType="Map">
        insert into oa_workflow_xml(
xml_id,store_id,bpmn_xml,flow_id,svg_xml
) values (
#{xmlId},#{storeId},#{bpmnXml},#{flowId},#{svgXml}
)
    </insert>
    <!-- 查询OA流程图信息 add by wuxw 2018-07-03 -->
    <select id="getOaWorkflowXmlInfo" parameterType="Map" resultType="Map">
        select  t.status_cd,t.status_cd statusCd,t.xml_id,t.xml_id xmlId,t.store_id,t.store_id storeId,t.bpmn_xml,t.bpmn_xml bpmnXml,t.flow_id,t.flow_id flowId,t.svg_xml,t.svg_xml svgXml
from oa_workflow_xml t
where 1 =1
<if test="statusCd !=null and statusCd != ''">
   and t.status_cd= #{statusCd}
</if>
<if test="xmlId !=null and xmlId != ''">
   and t.xml_id= #{xmlId}
</if>
<if test="storeId !=null and storeId != ''">
   and t.store_id= #{storeId}
</if>
<if test="bpmnXml !=null and bpmnXml != ''">
   and t.bpmn_xml= #{bpmnXml}
</if>
<if test="flowId !=null and flowId != ''">
   and t.flow_id= #{flowId}
</if>
<if test="svgXml !=null and svgXml != ''">
   and t.svg_xml= #{svgXml}
</if>
order by t.create_time desc
<if test="page != -1 and page != null ">
   limit #{page}, #{row}
</if>
    </select>
    <!-- 修改OA流程图信息 add by wuxw 2018-07-03 -->
    <update id="updateOaWorkflowXmlInfo" parameterType="Map">
        update  oa_workflow_xml t set t.status_cd = #{statusCd}
<if test="newBId != null and newBId != ''">
,t.b_id = #{newBId}
</if>
<if test="storeId !=null and storeId != ''">
, t.store_id= #{storeId}
</if>
<if test="bpmnXml !=null and bpmnXml != ''">
, t.bpmn_xml= #{bpmnXml}
</if>
<if test="flowId !=null and flowId != ''">
, t.flow_id= #{flowId}
</if>
<if test="svgXml !=null and svgXml != ''">
, t.svg_xml= #{svgXml}
</if>
 where 1=1 <if test="xmlId !=null and xmlId != ''">
and t.xml_id= #{xmlId}
</if>
    </update>
    <!-- 查询OA流程图数量 add by wuxw 2018-07-03 -->
     <select id="queryOaWorkflowXmlsCount" parameterType="Map" resultType="Map">
        select  count(1) count
from oa_workflow_xml t
where 1 =1
<if test="statusCd !=null and statusCd != ''">
   and t.status_cd= #{statusCd}
</if>
<if test="xmlId !=null and xmlId != ''">
   and t.xml_id= #{xmlId}
</if>
<if test="storeId !=null and storeId != ''">
   and t.store_id= #{storeId}
</if>
<if test="bpmnXml !=null and bpmnXml != ''">
   and t.bpmn_xml= #{bpmnXml}
</if>
<if test="flowId !=null and flowId != ''">
   and t.flow_id= #{flowId}
</if>
<if test="svgXml !=null and svgXml != ''">
   and t.svg_xml= #{svgXml}
</if>
     </select>
</mapper>
java110-db/src/main/resources/mapper/report/ReportFeeMonthStatisticsServiceDaoImplMapper.xml
@@ -329,6 +329,58 @@
        </if>
    </select>
    <!-- 查询费用月统计信息 大计 add by wuxw 2018-07-03 -->
    <select id="queryReportFeeSummaryMajor" parameterType="Map" resultType="Map">
        select SUM(t.receivable_amount)
        allReceivableAmount,SUM(t.received_amount)
        allReceivedAmount,SUM(t.owe_amount) allOweAmount
        from report_fee_month_statistics t
        left join building_room br on t.obj_id = br.room_id and t.obj_type = '3333' and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        left join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        </if>
        <if test="feeMonth !=null and feeMonth != ''">
            and t.fee_month= #{feeMonth}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test="objId !=null and objId != ''">
            and t.obj_id= #{objId}
        </if>
        <if test="feeName !=null and feeName != ''">
            and t.fee_name= #{feeName}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null">
            and t.create_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null">
            and t.create_time &lt;= #{endTime}
        </if>
    </select>
    <select id="queryReportFloorUnitFeeSummaryCount" parameterType="Map" resultType="Map">
        select count(1) count
        from (
@@ -436,6 +488,59 @@
        GROUP BY t.fee_year,t.fee_month,f.floor_num,bu.unit_id,bu.unit_num
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
    <select id="queryReportFloorUnitFeeSummaryMajor" parameterType="Map" resultType="Map">
        select
        SUM(t.receivable_amount)
        allReceivableAmount,SUM(t.received_amount)
        allReceivedAmount,SUM(t.owe_amount) allOweAmount
        from report_fee_month_statistics t
        INNER JOIN building_room br on t.obj_id = br.room_id and br.status_cd = '0'
        inner join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        inner join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        </if>
        <if test="feeMonth !=null and feeMonth != ''">
            and t.fee_month= #{feeMonth}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test="objId !=null and objId != ''">
            and t.obj_id= #{objId}
        </if>
        <if test="feeName !=null and feeName != ''">
            and t.fee_name= #{feeName}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null">
            and t.create_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null">
            and t.create_time &lt;= #{endTime}
        </if>
    </select>
@@ -561,6 +666,64 @@
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
    <select id="queryFeeBreakdownMajor" parameterType="Map" resultType="Map">
        select SUM(t.receivable_amount)
        allReceivableAmount,SUM(t.received_amount)
        allReceivedAmount,SUM(t.owe_amount) allOweAmount
        from report_fee_month_statistics t
        inner join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        left join building_room br on t.obj_id = br.room_id and t.obj_type = '3333' and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        left join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        left join t_dict td on pfc.fee_type_cd = td.status_cd and td.table_name='pay_fee_config' and
        td.table_columns='fee_type_cd'
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        where t.status_cd = '0' and t.receivable_amount >= 0 and t.received_amount >= 0 and t.owe_amount >= 0
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        </if>
        <if test="feeMonth !=null and feeMonth != ''">
            and t.fee_month= #{feeMonth}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="configId !=null and configId != ''">
            and pfc.config_id= #{configId}
        </if>
        <if test="objId !=null and objId != ''">
            and t.obj_id= #{objId}
        </if>
        <if test="feeName !=null and feeName != ''">
            and t.fee_name= #{feeName}
        </if>
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and pfc.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null">
            and pfc.start_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null">
            and pfc.start_time &lt;= #{endTime}
        </if>
        order by t.create_time desc
    </select>
    <select id="queryFeeDetailCount" parameterType="Map" resultType="Map">
@@ -835,6 +998,58 @@
        HAVING oweAmount > 0
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
    <select id="queryOweFeeDetailMajor" parameterType="Map" resultType="Map">
        select SUM(t.receivable_amount)
        allReceivableAmount,SUM(t.received_amount)
        allReceivedAmount,SUM(t.owe_amount) allOweAmount
        from report_fee_month_statistics t
        inner join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        left join building_room br on t.obj_id = br.room_id and t.obj_type = '3333' and br.status_cd = '0'
        left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        left join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.community_id = t.community_id and pf.status_cd = '0'
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="objName !=null and objName != ''">
            and t.obj_name= #{objName}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and t.fee_year= #{feeYear}
        </if>
        <if test="feeMonth !=null and feeMonth != ''">
            and t.fee_month= #{feeMonth}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test="objId !=null and objId != ''">
            and t.obj_id= #{objId}
        </if>
        <if test="feeName !=null and feeName != ''">
            and t.fee_name= #{feeName}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null">
            and t.create_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null">
            and t.create_time &lt;= #{endTime}
        </if>
    </select>
@@ -1570,10 +1785,12 @@
    </select>
    <select id="getFloorReceivableInformation" parameterType="Map" resultType="Map">
        select f.floor_num floorNum,f.`name`,sum(t.receivable_amount) receivableAmount,SUM(t.received_amount) receivedAmount,SUM(t.owe_amount) oweAmount
        select f.floor_num floorNum,f.`name`,sum(t.receivable_amount) receivableAmount,SUM(t.received_amount)
        receivedAmount,SUM(t.owe_amount) oweAmount
        from report_fee_month_statistics t
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        inner join building_room br on br.room_id = t.obj_id and t.obj_type = '3333' and br.community_id = t.community_id and br.status_cd = '0'
        inner join building_room br on br.room_id = t.obj_id and t.obj_type = '3333' and br.community_id =
        t.community_id and br.status_cd = '0'
        inner join building_unit bu on bu.unit_id = br.unit_id and bu.status_cd = '0'
        inner join f_floor f on f.floor_id = bu.floor_id and f.status_cd = '0'
        where t.community_id = #{communityId}
@@ -1581,10 +1798,11 @@
    </select>
    <select id="getFeeConfigReceivableInformation" parameterType="Map" resultType="Map">
        select t.fee_name feeName,sum(t.receivable_amount) receivableAmount,SUM(t.received_amount) receivedAmount,SUM(t.owe_amount) oweAmount
        select t.fee_name feeName,sum(t.receivable_amount) receivableAmount,SUM(t.received_amount)
        receivedAmount,SUM(t.owe_amount) oweAmount
        from report_fee_month_statistics t
        inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        where t.community_id =  #{communityId}
        where t.community_id = #{communityId}
        group by t.fee_name
    </select>
@@ -1593,12 +1811,12 @@
    <select id="queryNoFeeRoomsCount" parameterType="Map" resultType="Map">
        select count(1) count
        from building_room t
        inner join building_unit bu on t.unit_id  = bu.unit_id and bu.status_cd = '0'
         inner join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
         where t.status_cd = '0'
         and not exists(
             select 1 from pay_fee pf where t.room_id = pf.payer_obj_id and pf.status_cd = '0' and pf.state = '2008001'
         )
        inner join building_unit bu on t.unit_id = bu.unit_id and bu.status_cd = '0'
        inner join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        where t.status_cd = '0'
        and not exists(
        select 1 from pay_fee pf where t.room_id = pf.payer_obj_id and pf.status_cd = '0' and pf.state = '2008001'
        )
        and t.community_id = #{communityId}
    </select>
@@ -1878,4 +2096,205 @@
        group by pfd.state
    </select>
    <select id="queryHuaningOweFeeCount" parameterType="Map" resultType="Map">
        select count(1) count
        from (
        select t.floor_num floorNum,SUM(rfms.owe_amount) oweAmount,SUM(curT.owe_amount) curOweAmount
        from f_floor t
        left join building_unit bu on t.floor_id = bu.floor_id and bu.status_cd = '0'
        left join building_room br on br.unit_id = bu.unit_id and br.status_cd = '0'
        LEFT JOIN report_fee_month_statistics rfms on rfms.obj_id = br.room_id and rfms.obj_type = '3333' and rfms.status_cd = '0'
        inner join report_fee_month_statistics curT on curT.obj_id = br.room_id and curT.community_id = t.community_id
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="floorId !=null and floorId != ''">
            and t.floor_id = #{floorId}
        </if>
        <if test="objName !=null and objName != ''">
            and rfms.obj_name= #{objName}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and curT.fee_year= #{feeYear}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null">
            and rfms.create_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null">
            and rfms.create_time &lt;= #{endTime}
        </if>
        GROUP BY t.floor_num
        ) t
    </select>
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
    <select id="queryHuaningOweFee" parameterType="Map" resultType="Map">
        select t.floor_num floorNum,SUM(rfms.owe_amount) oweAmount,SUM(curT.owe_amount) curOweAmount
        from f_floor t
        left join building_unit bu on t.floor_id = bu.floor_id and bu.status_cd = '0'
        left join building_room br on br.unit_id = bu.unit_id and br.status_cd = '0'
        LEFT JOIN report_fee_month_statistics rfms on rfms.obj_id = br.room_id and rfms.obj_type = '3333' and rfms.status_cd = '0'
        inner join report_fee_month_statistics curT on curT.obj_id = br.room_id and curT.community_id = t.community_id
        where t.status_cd = '0'
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num= #{roomNum}
        </if>
        <if test="floorId !=null and floorId != ''">
            and t.floor_id = #{floorId}
        </if>
        <if test="objName !=null and objName != ''">
            and rfms.obj_name= #{objName}
        </if>
        <if test="feeYear !=null and feeYear != ''">
            and curT.fee_year= #{feeYear}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="startTime !=null">
            and rfms.create_time &gt;= #{startTime}
        </if>
        <if test="endTime !=null">
            and rfms.create_time &lt;= #{endTime}
        </if>
        GROUP BY t.floor_num
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <select id="queryHuaningPayFeeCount" parameterType="Map" resultType="Map">
        select count(1) count
        from (
        select t.floor_num floorNum,sum(pfdm.receivable_amount) receivableAmount ,
        sum(pfdm.received_amount) receivedAmount,SUM(pfdm1.received_amount) receivedAmount1,
        SUM(pfdm2.received_amount) receivedAmount2,SUM(pfdm3.received_amount) receivedAmount3,
        SUM(pfdm3.received_amount) receivedAmount4
        from f_floor t
        LEFT JOIN building_unit bu on t.floor_id = bu.floor_id and bu.status_cd = '0'
        LEFT JOIN building_room br on br.unit_id = bu.unit_id  and br.status_cd = '0'
        LEFT JOIN pay_fee pf on pf.payer_obj_id = br.room_id and pf.status_cd = '0'
        LEFT join pay_fee_detail pfd on pf.fee_id = pfd.fee_id and pfd.status_cd = '0'
        LEFT JOIN pay_fee_detail_month pfdm on  pf.fee_id = pfdm.fee_id and pfd.detail_id = pfdm.detail_id and pfdm.status_cd = '0'
        LEFT JOIN pay_fee_detail_month pfdm1 on  pf.fee_id = pfdm1.fee_id and pfd.detail_id = pfdm1.detail_id and pfdm1.status_cd = '0' and pfdm1.detail_year = #{year} and pfdm1.detail_month &lt; #{month}
        LEFT JOIN pay_fee_detail_month pfdm2 on  pf.fee_id = pfdm2.fee_id and pfd.detail_id = pfdm2.detail_id and pfdm2.status_cd = '0' and pfdm2.detail_year = #{year} and pfdm2.detail_month = #{month}
        LEFT JOIN pay_fee_detail_month pfdm3 on  pf.fee_id = pfdm3.fee_id and pfd.detail_id = pfdm3.detail_id and pfdm3.status_cd = '0' and pfdm3.detail_year = #{nextYear} and pfdm3.detail_month = #{nextMonth}
        LEFT JOIN pay_fee_detail_month pfdm4 on  pf.fee_id = pfdm4.fee_id and pfd.detail_id = pfdm4.detail_id and pfdm4.status_cd = '0' and pfdm4.detail_year &lt; #{year}
        where 1=1
        and DATE_FORMAT(pfd.create_time,'%Y-%m') = #{yearMonth}
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        GROUP BY t.floor_num
        ) tt
    </select>
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
    <select id="queryHuaningPayFee" parameterType="Map" resultType="Map">
        select t.floor_num floorNum,sum(pfdm.receivable_amount) receivableAmount ,
        sum(pfdm.received_amount) receivedAmount,SUM(pfdm1.received_amount) receivedAmount1,
        SUM(pfdm2.received_amount) receivedAmount2,SUM(pfdm3.received_amount) receivedAmount3,
        SUM(pfdm3.received_amount) receivedAmount4
        from f_floor t
        LEFT JOIN building_unit bu on t.floor_id = bu.floor_id and bu.status_cd = '0'
        LEFT JOIN building_room br on br.unit_id = bu.unit_id  and br.status_cd = '0'
        LEFT JOIN pay_fee pf on pf.payer_obj_id = br.room_id and pf.status_cd = '0'
        LEFT join pay_fee_detail pfd on pf.fee_id = pfd.fee_id and pfd.status_cd = '0'
        LEFT JOIN pay_fee_detail_month pfdm on  pf.fee_id = pfdm.fee_id and pfd.detail_id = pfdm.detail_id and pfdm.status_cd = '0'
        LEFT JOIN pay_fee_detail_month pfdm1 on  pf.fee_id = pfdm1.fee_id and pfd.detail_id = pfdm1.detail_id and pfdm1.status_cd = '0' and pfdm1.detail_year = #{year} and pfdm1.detail_month &lt; #{month}
        LEFT JOIN pay_fee_detail_month pfdm2 on  pf.fee_id = pfdm2.fee_id and pfd.detail_id = pfdm2.detail_id and pfdm2.status_cd = '0' and pfdm2.detail_year = #{year} and pfdm2.detail_month = #{month}
        LEFT JOIN pay_fee_detail_month pfdm3 on  pf.fee_id = pfdm3.fee_id and pfd.detail_id = pfdm3.detail_id and pfdm3.status_cd = '0' and pfdm3.detail_year = #{nextYear} and pfdm3.detail_month = #{nextMonth}
        LEFT JOIN pay_fee_detail_month pfdm4 on  pf.fee_id = pfdm4.fee_id and pfd.detail_id = pfdm4.detail_id and pfdm4.status_cd = '0' and pfdm4.detail_year &lt; #{year}
        where 1=1
        and DATE_FORMAT(pfd.create_time,'%Y-%m') = #{yearMonth}
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        GROUP BY t.floor_num
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <select id="queryHuaningPayFeeTwoCount" parameterType="Map" resultType="Map">
        select count(1) count
        from (
        select t.floor_num floorNum,sum(pfdm.receivable_amount) receivableAmount ,
        sum(pfdm.received_amount) receivedAmount,SUM(pfdm1.discount_amount) receivedAmount1,
        SUM(pfdm2.received_amount) receivedAmount2
        from f_floor t
        LEFT JOIN building_unit bu on t.floor_id = bu.floor_id and bu.status_cd = '0'
        LEFT JOIN building_room br on br.unit_id = bu.unit_id  and br.status_cd = '0'
        LEFT JOIN pay_fee pf on pf.payer_obj_id = br.room_id and pf.status_cd = '0'
        LEFT join pay_fee_detail pfd on pf.fee_id = pfd.fee_id and pfd.status_cd = '0'
        LEFT JOIN pay_fee_detail_month pfdm on  pf.fee_id = pfdm.fee_id and pfd.detail_id = pfdm.detail_id and pfdm.status_cd = '0'
        LEFT JOIN pay_fee_detail_month pfdm1 on  pf.fee_id = pfdm1.fee_id and pfd.detail_id = pfdm1.detail_id and pfdm1.status_cd = '0' and pfdm1.detail_year =  #{year}  and pfdm1.detail_month &lt; #{month}
        LEFT JOIN pay_fee_detail_month pfdm2 on  pf.fee_id = pfdm2.fee_id and pfd.detail_id = pfdm2.detail_id and pfdm2.status_cd = '0' and pfdm2.detail_year =  #{year}  and pfdm2.detail_month &gt; #{month}
        where 1=1
        and DATE_FORMAT(pfd.create_time,'%Y-%m') =  #{yearMonth}
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        GROUP BY t.floor_num
        ) tt
    </select>
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
    <select id="queryHuaningPayFeeTwo" parameterType="Map" resultType="Map">
        select t.floor_num floorNum,sum(pfdm.receivable_amount) receivableAmount ,
        sum(pfdm.received_amount) receivedAmount,SUM(pfdm1.discount_amount) receivedAmount1,
        SUM(pfdm2.received_amount) receivedAmount2
        from f_floor t
        LEFT JOIN building_unit bu on t.floor_id = bu.floor_id and bu.status_cd = '0'
        LEFT JOIN building_room br on br.unit_id = bu.unit_id  and br.status_cd = '0'
        LEFT JOIN pay_fee pf on pf.payer_obj_id = br.room_id and pf.status_cd = '0'
        LEFT join pay_fee_detail pfd on pf.fee_id = pfd.fee_id and pfd.status_cd = '0'
        LEFT JOIN pay_fee_detail_month pfdm on  pf.fee_id = pfdm.fee_id and pfd.detail_id = pfdm.detail_id and pfdm.status_cd = '0'
        LEFT JOIN pay_fee_detail_month pfdm1 on  pf.fee_id = pfdm1.fee_id and pfd.detail_id = pfdm1.detail_id and pfdm1.status_cd = '0' and pfdm1.detail_year =  #{year}  and pfdm1.detail_month &lt; #{month}
        LEFT JOIN pay_fee_detail_month pfdm2 on  pf.fee_id = pfdm2.fee_id and pfd.detail_id = pfdm2.detail_id and pfdm2.status_cd = '0' and pfdm2.detail_year =  #{year}  and pfdm2.detail_month &gt; #{month}
        where 1=1
        and DATE_FORMAT(pfd.create_time,'%Y-%m') =  #{yearMonth}
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        GROUP BY t.floor_num
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <select id="queryHuaningOweFeeDetailCount" parameterType="Map" resultType="Map">
        select count(1) count
        from (
        select t.payer_obj_name payerObjName,br.built_up_area builtUpArea,pfc.square_price squarePrice, t.fee_id feeId,t.end_time startTime,t.deadline_time endTime,t.amount_owed oweAmount
        from report_owe_fee t
        left join building_room br on t.payer_obj_id = br.room_id and br.status_cd = '0'
        left join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        where t.amount_owed > 0
        and pfc.fee_type_cd = '888800010001'
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        ) tt
    </select>
    <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
    <select id="queryHuaningOweFeeDetail" parameterType="Map" resultType="Map">
        select t.payer_obj_name payerObjName,br.built_up_area builtUpArea,pfc.square_price squarePrice, t.fee_id feeId,t.end_time startTime,t.deadline_time endTime,t.amount_owed oweAmount
        from report_owe_fee t
        left join building_room br on t.payer_obj_id = br.room_id and br.status_cd = '0'
        left join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        where t.amount_owed > 0
        and pfc.fee_type_cd = '888800010001'
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
</mapper>
java110-generator/src/main/resources/newBack/template_1.json
@@ -1,46 +1,28 @@
{
  "autoMove": true,
  "id": "titleId",
  "name": "reportInfoSettingTitle",
  "desc": "进出上报题目设置",
  "shareParam": "communityId",
  "shareColumn": "community_id",
  "shareName": "report",
  "tableName": "report_info_setting_title",
  "id": "xmlId",
  "name": "oaWorkflowXml",
  "desc": "OA流程图",
  "shareParam": "storeId",
  "shareColumn": "store_id",
  "shareName": "oa",
  "tableName": "oa_workflow_xml",
  "param": {
    "titleId": "title_id",
    "settingId": "setting_id",
    "title": "title",
    "titleType": "title_type",
    "seq": "seq",
    "communityId": "community_id",
    "createTime": "create_time",
    "xmlId": "xml_id",
    "flowId": "flow_id",
    "storeId": "store_id",
    "bpmnXml": "bpmn_xml",
    "svgXml": "svg_xml",
    "statusCd": "status_cd"
  },
  "required": [
    {
      "code": "titleId",
      "msg": "合同ID不能为空"
      "code": "flowId",
      "msg": "流程不能为空"
    },
    {
      "code": "settingId",
      "msg": "商户ID不能为空"
    },
    {
      "code": "title",
      "msg": "用户规格不能为空"
    },
    {
      "code": "titleType",
      "msg": "用户规格不能为空"
    },
    {
      "code": "seq",
      "msg": "用户规格不能为空"
    },
    {
      "code": "communityId",
      "msg": "用户规格不能为空"
      "code": "bpmnXml",
      "msg": "流程图不能为空"
    }
  ]
}
java110-generator/src/main/resources/web/template_1.json
@@ -1,116 +1,62 @@
{
  "templateName": "返省上报",
  "templateCode": "reportInfoBackCity",
  "templateKey": "backId",
  "templateKeyName": "返回ID",
  "searchCode": "backId",
  "searchName": "返回ID",
  "templateName": "流程实例",
  "templateCode": "oaWorkflow",
  "templateKey": "flowId",
  "templateKeyName": "工作流ID",
  "searchCode": "flowId",
  "searchName": "工作流ID",
  "directories": "property",
  "conditions": [
    {
      "name": "姓名",
      "name": "流程名称",
      "inputType": "input",
      "code": "name",
      "code": "flowName",
      "whereCondition": "equal"
    },
    {
      "name": "身份证",
      "name": "描述",
      "inputType": "input",
      "code": "idCard",
      "code": "describle",
      "whereCondition": "equal"
    },
    {
      "name": "手机号",
      "inputType": "input",
      "code": "tel",
      "whereCondition": "equal"
    },
    {
      "name": "来源地",
      "name": "流程类型",
      "inputType": "select",
      "selectValue":"1001,2002",
      "selectValueName":"国内,国外",
      "code": "source",
      "code": "flowType",
      "whereCondition": "equal"
    }
  ],
  "columns": [
    {
      "code": "name",
      "cnCode": "姓名",
      "desc": "必填,请填写姓名",
      "code": "flowName",
      "cnCode": "流程名称",
      "desc": "必填,请填写流程名称",
      "required": true,
      "hasDefaultValue": false,
      "inputType": "input",
      "limit": "maxLength",
      "limitParam": "64",
      "limitErrInfo": "姓名超过64位",
      "limitErrInfo": "流程名称超过64位",
      "show": true
    },
    {
      "code": "idCard",
      "cnCode": "身份证",
      "desc": "必填,请填写身份证",
      "required": true,
      "hasDefaultValue": false,
      "inputType": "input",
      "limit": "maxLength",
      "limitParam": "64",
      "limitErrInfo": "身份证不能为空",
      "show": true
    },
    {
      "code": "tel",
      "cnCode": "手机号",
      "desc": "必填,请填写手机号",
      "required": true,
      "hasDefaultValue": false,
      "inputType": "input",
      "limit": "phone",
      "limitParam": "",
      "limitErrInfo": "手机号格式错误",
      "show": true
    },
    {
      "code": "source",
      "cnCode": "来源地",
      "desc": "必填,请填写来源地",
      "code": "flowType",
      "cnCode": "流程类型",
      "desc": "必填,请填写流程类型",
      "required": true,
      "hasDefaultValue": false,
      "inputType": "select",
      "selectValue":"1001,2002",
      "selectValueName":"国内,国外",
      "limit": "num",
      "limitParam": "",
      "limitErrInfo": "来源地格式错误",
      "show": true
    },
    {
      "code": "sourceCityName",
      "cnCode": "城市名称",
      "desc": "必填,请填写城市名称",
      "required": true,
      "hasDefaultValue": false,
      "inputType": "input",
      "selectValue":"1001",
      "selectValueName":"普通流程",
      "limit": "maxLength",
      "limitParam": "64",
      "limitErrInfo": "城市名称格式错误",
      "limitParam": "12",
      "limitErrInfo": "流程类型不能为空",
      "show": true
    },
    {
      "code": "backTime",
      "cnCode": "返回时间",
      "desc": "必填,请填写返回时间",
      "required": true,
      "hasDefaultValue": false,
      "inputType": "input",
      "limit": "dateTime",
      "limitParam": "",
      "limitErrInfo": "返回时间格式错误",
      "show": true
    },
    {
      "code": "remark",
      "code": "describle",
      "cnCode": "备注",
      "desc": "可填,请填写备注",
      "required": false,
java110-interface/src/main/java/com/java110/intf/common/IWorkflowInnerServiceSMO.java
@@ -3,6 +3,7 @@
import com.java110.config.feign.FeignConfiguration;
import com.java110.dto.workflow.WorkflowAuditInfoDto;
import com.java110.dto.workflow.WorkflowDto;
import com.java110.dto.workflow.WorkflowModelDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -61,4 +62,14 @@
     */
    @RequestMapping(value = "/queryWorkflowAuditHistory", method = RequestMethod.POST)
    List<WorkflowAuditInfoDto> queryWorkflowAuditHistory(@RequestBody WorkflowAuditInfoDto workflowAuditInfoDto);
    /**
     * 创建模型
     * @param workflowModelDto
     * @return
     */
    @RequestMapping(value = "/createModel", method = RequestMethod.POST)
    WorkflowModelDto createModel(@RequestBody WorkflowModelDto workflowModelDto);
}
java110-interface/src/main/java/com/java110/intf/fee/IPayFeeDetailMonthInnerServiceSMO.java
New file
@@ -0,0 +1,57 @@
package com.java110.intf.fee;
import com.java110.config.feign.FeignConfiguration;
import com.java110.dto.payFeeDetailMonth.PayFeeDetailMonthDto;
import com.java110.po.payFeeDetailMonth.PayFeeDetailMonthPo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import java.util.List;
/**
 * @ClassName IPayFeeDetailMonthInnerServiceSMO
 * @Description 月缴费表接口类
 * @Author wuxw
 * @Date 2019/4/24 9:04
 * @Version 1.0
 * add by wuxw 2019/4/24
 **/
@FeignClient(name = "fee-service", configuration = {FeignConfiguration.class})
@RequestMapping("/payFeeDetailMonthApi")
public interface IPayFeeDetailMonthInnerServiceSMO {
    @RequestMapping(value = "/savePayFeeDetailMonth", method = RequestMethod.POST)
    public int savePayFeeDetailMonth(@RequestBody PayFeeDetailMonthPo payFeeDetailMonthPo);
    @RequestMapping(value = "/savePayFeeDetailMonths", method = RequestMethod.POST)
    public int savePayFeeDetailMonths(@RequestBody List<PayFeeDetailMonthPo> payFeeDetailMonthPos);
    @RequestMapping(value = "/updatePayFeeDetailMonth", method = RequestMethod.POST)
    public int updatePayFeeDetailMonth(@RequestBody  PayFeeDetailMonthPo payFeeDetailMonthPo);
    @RequestMapping(value = "/deletePayFeeDetailMonth", method = RequestMethod.POST)
    public int deletePayFeeDetailMonth(@RequestBody  PayFeeDetailMonthPo payFeeDetailMonthPo);
    /**
     * <p>查询小区楼信息</p>
     *
     *
     * @param payFeeDetailMonthDto 数据对象分享
     * @return PayFeeDetailMonthDto 对象数据
     */
    @RequestMapping(value = "/queryPayFeeDetailMonths", method = RequestMethod.POST)
    List<PayFeeDetailMonthDto> queryPayFeeDetailMonths(@RequestBody PayFeeDetailMonthDto payFeeDetailMonthDto);
    /**
     * 查询<p>小区楼</p>总记录数
     *
     * @param payFeeDetailMonthDto 数据对象分享
     * @return 小区下的小区楼记录数
     */
    @RequestMapping(value = "/queryPayFeeDetailMonthsCount", method = RequestMethod.POST)
    int queryPayFeeDetailMonthsCount(@RequestBody PayFeeDetailMonthDto payFeeDetailMonthDto);
}
java110-interface/src/main/java/com/java110/intf/oa/IOaWorkflowInnerServiceSMO.java
New file
@@ -0,0 +1,53 @@
package com.java110.intf.oa;
import com.java110.config.feign.FeignConfiguration;
import com.java110.dto.oaWorkflow.OaWorkflowDto;
import com.java110.po.oaWorkflow.OaWorkflowPo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import java.util.List;
/**
 * @ClassName IOaWorkflowInnerServiceSMO
 * @Description OA工作流接口类
 * @Author wuxw
 * @Date 2019/4/24 9:04
 * @Version 1.0
 * add by wuxw 2019/4/24
 **/
@FeignClient(name = "oa-service", configuration = {FeignConfiguration.class})
@RequestMapping("/oaWorkflowApi")
public interface IOaWorkflowInnerServiceSMO {
    @RequestMapping(value = "/saveOaWorkflow", method = RequestMethod.POST)
    public int saveOaWorkflow(@RequestBody OaWorkflowPo oaWorkflowPo);
    @RequestMapping(value = "/updateOaWorkflow", method = RequestMethod.POST)
    public int updateOaWorkflow(@RequestBody  OaWorkflowPo oaWorkflowPo);
    @RequestMapping(value = "/deleteOaWorkflow", method = RequestMethod.POST)
    public int deleteOaWorkflow(@RequestBody  OaWorkflowPo oaWorkflowPo);
    /**
     * <p>查询小区楼信息</p>
     *
     *
     * @param oaWorkflowDto 数据对象分享
     * @return OaWorkflowDto 对象数据
     */
    @RequestMapping(value = "/queryOaWorkflows", method = RequestMethod.POST)
    List<OaWorkflowDto> queryOaWorkflows(@RequestBody OaWorkflowDto oaWorkflowDto);
    /**
     * 查询<p>小区楼</p>总记录数
     *
     * @param oaWorkflowDto 数据对象分享
     * @return 小区下的小区楼记录数
     */
    @RequestMapping(value = "/queryOaWorkflowsCount", method = RequestMethod.POST)
    int queryOaWorkflowsCount(@RequestBody OaWorkflowDto oaWorkflowDto);
}
java110-interface/src/main/java/com/java110/intf/oa/IOaWorkflowXmlInnerServiceSMO.java
New file
@@ -0,0 +1,53 @@
package com.java110.intf.oa;
import com.java110.config.feign.FeignConfiguration;
import com.java110.dto.oaWorkflowXml.OaWorkflowXmlDto;
import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import java.util.List;
/**
 * @ClassName IOaWorkflowXmlInnerServiceSMO
 * @Description OA流程图接口类
 * @Author wuxw
 * @Date 2019/4/24 9:04
 * @Version 1.0
 * add by wuxw 2019/4/24
 **/
@FeignClient(name = "oa-service", configuration = {FeignConfiguration.class})
@RequestMapping("/oaWorkflowXmlApi")
public interface IOaWorkflowXmlInnerServiceSMO {
    @RequestMapping(value = "/saveOaWorkflowXml", method = RequestMethod.POST)
    public int saveOaWorkflowXml(@RequestBody OaWorkflowXmlPo oaWorkflowXmlPo);
    @RequestMapping(value = "/updateOaWorkflowXml", method = RequestMethod.POST)
    public int updateOaWorkflowXml(@RequestBody  OaWorkflowXmlPo oaWorkflowXmlPo);
    @RequestMapping(value = "/deleteOaWorkflowXml", method = RequestMethod.POST)
    public int deleteOaWorkflowXml(@RequestBody  OaWorkflowXmlPo oaWorkflowXmlPo);
    /**
     * <p>查询小区楼信息</p>
     *
     *
     * @param oaWorkflowXmlDto 数据对象分享
     * @return OaWorkflowXmlDto 对象数据
     */
    @RequestMapping(value = "/queryOaWorkflowXmls", method = RequestMethod.POST)
    List<OaWorkflowXmlDto> queryOaWorkflowXmls(@RequestBody OaWorkflowXmlDto oaWorkflowXmlDto);
    /**
     * 查询<p>小区楼</p>总记录数
     *
     * @param oaWorkflowXmlDto 数据对象分享
     * @return 小区下的小区楼记录数
     */
    @RequestMapping(value = "/queryOaWorkflowXmlsCount", method = RequestMethod.POST)
    int queryOaWorkflowXmlsCount(@RequestBody OaWorkflowXmlDto oaWorkflowXmlDto);
}
java110-interface/src/main/java/com/java110/intf/report/IReportFeeMonthStatisticsInnerServiceSMO.java
@@ -14,6 +14,7 @@
import org.springframework.web.bind.annotation.RequestMethod;
import java.util.List;
import java.util.Map;
/**
 * @ClassName IReportFeeMonthStatisticsInnerServiceSMO
@@ -75,6 +76,15 @@
    List<ReportFeeMonthStatisticsDto> queryReportFeeSummary(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto);
    /**
     * 查询费用汇总表 大计
     *
     * @param reportFeeMonthStatisticsDto
     * @return
     */
    @RequestMapping(value = "/queryReportFeeSummaryMajor", method = RequestMethod.POST)
    ReportFeeMonthStatisticsDto queryReportFeeSummaryMajor(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto);
    /**
     * 查询费用汇总表个数
     *
     * @param reportFeeMonthStatisticsDto
@@ -91,6 +101,9 @@
     */
    @RequestMapping(value = "/queryReportFloorUnitFeeSummary", method = RequestMethod.POST)
    List<ReportFeeMonthStatisticsDto> queryReportFloorUnitFeeSummary(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto);
    @RequestMapping(value = "/queryReportFloorUnitFeeSummaryMajor", method = RequestMethod.POST)
    ReportFeeMonthStatisticsDto queryReportFloorUnitFeeSummaryMajor(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto);
    /**
     * 查询费用汇总表个数
@@ -109,6 +122,9 @@
     */
    @RequestMapping(value = "/queryFeeBreakdown", method = RequestMethod.POST)
    List<ReportFeeMonthStatisticsDto> queryFeeBreakdown(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto);
    @RequestMapping(value = "/queryFeeBreakdownMajor", method = RequestMethod.POST)
    ReportFeeMonthStatisticsDto queryFeeBreakdownMajor(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto);
    /**
     * 查询费用汇总表个数
@@ -173,6 +189,8 @@
    @RequestMapping(value = "/queryOweFeeDetail", method = RequestMethod.POST)
    List<ReportFeeMonthStatisticsDto> queryOweFeeDetail(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto);
    @RequestMapping(value = "/queryOweFeeDetailMajor", method = RequestMethod.POST)
    ReportFeeMonthStatisticsDto queryOweFeeDetailMajor(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto);
    /**
     * 查询费用汇总表个数
     *
@@ -334,4 +352,39 @@
     */
    @RequestMapping(value = "/queryFeeDepositAmount", method = RequestMethod.POST)
    List<ReportDeposit> queryFeeDepositAmount(@RequestBody ReportDeposit reportDeposit);
    /**
     * 查询华宁物业 欠费总数
     * @param reportFeeMonthStatisticsDto
     * @return
     */
    @RequestMapping(value = "/queryHuaningOweFeeCount", method = RequestMethod.POST)
    int queryHuaningOweFeeCount(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto);
    /**
     * 查询华宁物业 欠费明细 按楼栋 group by
     * @param reportFeeMonthStatisticsDto
     * @return
     */
    @RequestMapping(value = "/queryHuaningOweFee", method = RequestMethod.POST)
    List<ReportFeeMonthStatisticsDto> queryHuaningOweFee(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto);
    @RequestMapping(value = "/queryHuaningPayFeeCount", method = RequestMethod.POST)
    int queryHuaningPayFeeCount(@RequestBody Map paramInfo);
    @RequestMapping(value = "/queryHuaningPayFee", method = RequestMethod.POST)
    List<Map> queryHuaningPayFee(@RequestBody Map paramInfo);
    @RequestMapping(value = "/queryHuaningPayFeeTwoCount", method = RequestMethod.POST)
    int queryHuaningPayFeeTwoCount(@RequestBody Map paramInfo);
    @RequestMapping(value = "/queryHuaningPayFeeTwo", method = RequestMethod.POST)
    List<Map> queryHuaningPayFeeTwo(@RequestBody Map paramInfo);
    @RequestMapping(value = "/queryHuaningOweFeeDetailCount", method = RequestMethod.POST)
    int queryHuaningOweFeeDetailCount(@RequestBody Map paramInfo);
    @RequestMapping(value = "/queryHuaningOweFeeDetail", method = RequestMethod.POST)
    List<Map> queryHuaningOweFeeDetail(@RequestBody Map paramInfo);
}
java110-interface/src/main/java/com/java110/intf/report/IReportFeeYearCollectionInnerServiceSMO.java
@@ -9,6 +9,7 @@
import org.springframework.web.bind.annotation.RequestMethod;
import java.util.List;
import java.util.Map;
/**
 * @ClassName IReportFeeYearCollectionInnerServiceSMO
@@ -50,4 +51,10 @@
     */
    @RequestMapping(value = "/queryReportFeeYearCollectionsCount", method = RequestMethod.POST)
    int queryReportFeeYearCollectionsCount(@RequestBody ReportFeeYearCollectionDto reportFeeYearCollectionDto);
    @RequestMapping(value = "/getReportFeeYearCollectionInfo", method = RequestMethod.POST)
    List<Map> getReportFeeYearCollectionInfo(@RequestBody Map beanCovertMap);
    @RequestMapping(value = "/saveReportFeeYearCollectionInfo", method = RequestMethod.POST)
    void saveReportFeeYearCollectionInfo(@RequestBody Map beanCovertMap);
}
pom.xml
@@ -26,9 +26,9 @@
        <module>service-common</module>
        <module>service-report</module>
        <module>service-front</module>
        <module>service-goods</module>
        <module>java110-generator</module>
        <module>service-acct</module>
        <module>service-oa</module>
    </modules>
service-common/pom.xml
@@ -37,37 +37,49 @@
            <artifactId>activiti-spring-boot-starter-basic</artifactId>
        </dependency>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-json-converter</artifactId>
            <version>6.0.0</version>
            <exclusions>
                <exclusion>
                    <groupId>org.activiti</groupId>
                    <artifactId>activiti-bpmn-model</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlgraphics</groupId>
            <artifactId>batik-codec</artifactId>
            <version>1.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlgraphics</groupId>
            <artifactId>batik-css</artifactId>
            <version>1.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlgraphics</groupId>
            <artifactId>batik-svg-dom</artifactId>
            <version>1.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlgraphics</groupId>
            <artifactId>batik-svggen</artifactId>
            <version>1.7</version>
        </dependency>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-json-converter</artifactId>
            <version>6.0.0</version>
            <exclusions>
                <exclusion>
                    <groupId>org.activiti</groupId>
                    <artifactId>activiti-bpmn-model</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlgraphics</groupId>
            <artifactId>batik-codec</artifactId>
            <version>1.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlgraphics</groupId>
            <artifactId>batik-css</artifactId>
            <version>1.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlgraphics</groupId>
            <artifactId>batik-svg-dom</artifactId>
            <version>1.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlgraphics</groupId>
            <artifactId>batik-svggen</artifactId>
            <version>1.7</version>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>org.activiti</groupId>-->
<!--            <artifactId>activiti-app-rest</artifactId>-->
<!--            <version>6.0.0</version>-->
<!--            <exclusions>-->
<!--                <exclusion>-->
<!--                    <groupId>org.slf4j</groupId>-->
<!--                    <artifactId>slf4j-api</artifactId>-->
<!--                </exclusion>-->
<!--            </exclusions>-->
<!--        </dependency>-->
    </dependencies>
@@ -75,41 +87,41 @@
    <build>
        <finalName>service-common</finalName>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>2.10</version>
                    <executions>
                        <execution>
                            <id>unpack</id>
                            <phase>generate-resources</phase>
                            <goals>
                                <goal>unpack</goal>
                            </goals>
                            <configuration>
                                <artifactItems>
                                    <artifactItem>
                                        <groupId>com.java110</groupId>
                                        <artifactId>java110-interface</artifactId>
                                        <version>${microcommunity.version}</version>
                                        <type>jar</type>
                                        <overWrite>true</overWrite>
                                        <outputDirectory>${project.build.directory}/classes</outputDirectory>
                                    </artifactItem>
                                </artifactItems>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <mainClass>com.java110.common.CommonServiceApplicationStart</mainClass>
                    </configuration>
                </plugin>
            </plugins>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.10</version>
                <executions>
                    <execution>
                        <id>unpack</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>com.java110</groupId>
                                    <artifactId>java110-interface</artifactId>
                                    <version>${microcommunity.version}</version>
                                    <type>jar</type>
                                    <overWrite>true</overWrite>
                                    <outputDirectory>${project.build.directory}/classes</outputDirectory>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.java110.common.CommonServiceApplicationStart</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
service-common/src/main/java/com/java110/common/CommonServiceApplicationStart.java
@@ -65,6 +65,7 @@
        "com.java110.intf.community",
        "com.java110.intf.job",
        "com.java110.intf.order",
        "com.java110.intf.oa",
        "com.java110.intf.report"
})
public class CommonServiceApplicationStart {
service-common/src/main/java/com/java110/common/api/ModelController.java
File was deleted
service-common/src/main/java/com/java110/common/api/ModelRestController.java
File was deleted
service-common/src/main/java/com/java110/common/api/WorkflowApi.java
@@ -1,14 +1,61 @@
package com.java110.common.api;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.java110.common.bmo.workflow.IQueryWorkFlowFirstStaffBMO;
import com.java110.dto.workflow.WorkflowDto;
import com.java110.dto.workflow.WorkflowModelDto;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.ResultVo;
import org.activiti.editor.constants.ModelDataJsonConstants;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.repository.Model;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;
import org.apache.batik.transcoder.image.PNGTranscoder;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
@RestController
@RequestMapping("/workflow")
public class WorkflowApi {
    private static final Logger logger = LoggerFactory.getLogger(WorkflowApi.class);
    @Autowired
    private RepositoryService repositoryService;
    @Autowired
    private ObjectMapper objectMapper;
    String MODEL_ID = "modelId";
    String MODEL_NAME = "name";
    String MODEL_REVISION = "revision";
    String MODEL_DESCRIPTION = "description";
    @Autowired
    private IQueryWorkFlowFirstStaffBMO queryWorkFlowFirstStaffBMOImpl;
@@ -23,4 +70,76 @@
        workflowDto.setStoreId(storeId);
        return queryWorkFlowFirstStaffBMOImpl.query(workflowDto);
    }
    /**
     * 更新流程
     *
     * @param reqString 模型ID
     * @ServiceCode /workflow/saveModel
     */
    @RequestMapping(value = "/saveModel", method = RequestMethod.POST)
    @ResponseStatus(value = HttpStatus.OK)
    public ResponseEntity<String> saveModel(
                                            @RequestBody String reqString) {
        JSONObject reqJson = JSONObject.parseObject(reqString);
        WorkflowModelDto workflowModelDto = BeanConvertUtil.covertBean(reqJson, WorkflowModelDto.class);
        //部署model
        return queryWorkFlowFirstStaffBMOImpl.saveModel(workflowModelDto);
    }
    /**
     * 部署流程
     *
     * @param reqString 模型ID
     * @ServiceCode /workflow/deployModel
     */
    @RequestMapping(value = "/deployModel", method = RequestMethod.POST)
    @ResponseStatus(value = HttpStatus.OK)
    public ResponseEntity<String> deployModel(
            @RequestBody String reqString) {
        JSONObject reqJson = JSONObject.parseObject(reqString);
        WorkflowModelDto workflowModelDto = BeanConvertUtil.covertBean(reqJson, WorkflowModelDto.class);
        //部署model
        return queryWorkFlowFirstStaffBMOImpl.deployModel(workflowModelDto);
    }
    /**
     * 获取model的节点信息,编辑器根据返回的json进行绘图
     *
     * @param modelId
     * @return
     * @ServiceCode /workflow/getEditorJson
     */
    @SuppressWarnings("deprecation")
    @RequestMapping(value = "/getEditorJson", method = RequestMethod.GET)
    public ResponseEntity getEditorJson(@RequestParam(value = "modelId") String modelId) {
        ObjectNode modelNode = null;
        Model model = repositoryService.getModel(modelId);
        if (model != null) {
            try {
                if (StringUtils.isNotEmpty(model.getMetaInfo())) {
                    modelNode = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
                } else {
                    modelNode = objectMapper.createObjectNode();
                    modelNode.put(MODEL_NAME, model.getName());
                }
                modelNode.put(MODEL_ID, model.getId());
                ObjectNode editorJsonNode = (ObjectNode) objectMapper.readTree(
                        new String(repositoryService.getModelEditorSource(model.getId()), "utf-8"));
                modelNode.put("model", editorJsonNode);
            } catch (Exception e) {
                logger.error("Error creating model JSON", e);
                throw new ActivitiException("Error creating model JSON", e);
            }
        }
        return new ResponseEntity(modelNode.toString(), HttpStatus.OK);
    }
}
service-common/src/main/java/com/java110/common/bmo/workflow/IQueryWorkFlowFirstStaffBMO.java
@@ -2,6 +2,7 @@
import com.java110.dto.user.StaffDto;
import com.java110.dto.workflow.WorkflowDto;
import com.java110.dto.workflow.WorkflowModelDto;
import org.springframework.http.ResponseEntity;
public interface IQueryWorkFlowFirstStaffBMO {
@@ -12,4 +13,8 @@
     * @return
     */
    ResponseEntity<String> query(WorkflowDto workflowDto);
    ResponseEntity<String> deployModel(WorkflowModelDto workflowModelDto);
    ResponseEntity<String> saveModel(WorkflowModelDto workflowModelDto);
}
service-common/src/main/java/com/java110/common/bmo/workflow/impl/QueryWorkFlowFirstStaffBMOImpl.java
@@ -1,25 +1,56 @@
package com.java110.common.bmo.workflow.impl;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.java110.common.bmo.workflow.IQueryWorkFlowFirstStaffBMO;
import com.java110.common.dao.IWorkflowServiceDao;
import com.java110.common.dao.IWorkflowStepServiceDao;
import com.java110.common.dao.IWorkflowStepStaffServiceDao;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.oaWorkflow.OaWorkflowDto;
import com.java110.dto.oaWorkflowXml.OaWorkflowXmlDto;
import com.java110.dto.org.OrgDto;
import com.java110.dto.workflow.WorkflowDto;
import com.java110.dto.workflow.WorkflowModelDto;
import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
import com.java110.intf.oa.IOaWorkflowXmlInnerServiceSMO;
import com.java110.intf.user.IOrgInnerServiceSMO;
import com.java110.po.oaWorkflow.OaWorkflowPo;
import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
import com.java110.utils.util.Assert;
import com.java110.utils.util.Base64Convert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
import org.activiti.editor.constants.ModelDataJsonConstants;
import org.activiti.editor.language.json.converter.BpmnJsonConverter;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.repository.Model;
import org.activiti.engine.repository.ProcessDefinition;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;
import org.apache.batik.transcoder.image.PNGTranscoder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service("queryWorkFlowFirstStaffServiceImpl")
public class QueryWorkFlowFirstStaffBMOImpl implements IQueryWorkFlowFirstStaffBMO {
    private static final Logger logger = LoggerFactory.getLogger(QueryWorkFlowFirstStaffBMOImpl.class);
    @Autowired
    private IWorkflowServiceDao workflowServiceDaoImpl;
@@ -31,6 +62,25 @@
    @Autowired
    private IOrgInnerServiceSMO orgInnerServiceSMOImpl;
    @Autowired
    private IOaWorkflowInnerServiceSMO oaWorkflowInnerServiceSMOImpl;
    @Autowired
    private IOaWorkflowXmlInnerServiceSMO oaWorkflowXmlInnerServiceSMOImpl;
    @Autowired
    private RepositoryService repositoryService;
    @Autowired
    private ObjectMapper objectMapper;
    String MODEL_ID = "modelId";
    String MODEL_NAME = "name";
    String MODEL_REVISION = "revision";
    String MODEL_DESCRIPTION = "description";
    @Override
    public ResponseEntity<String> query(WorkflowDto workflowDto) {
@@ -84,4 +134,130 @@
        return ResultVo.createResponseEntity(orgDto);
    }
    @Override
    public ResponseEntity<String> deployModel(WorkflowModelDto workflowModelDto) {
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
        RepositoryService repositoryService = processEngine.getRepositoryService();
        OaWorkflowDto oaWorkflowDto = new OaWorkflowDto();
        oaWorkflowDto.setModelId(workflowModelDto.getModelId());
        List<OaWorkflowDto> oaWorkflowDtos = oaWorkflowInnerServiceSMOImpl.queryOaWorkflows(oaWorkflowDto);
        Assert.listOnlyOne(oaWorkflowDtos, "未包含流程");
        String deploymentid = "";
        try {
            Model modelData = repositoryService.getModel(workflowModelDto.getModelId());
            byte[] bpmnBytes = null;
            //JsonNode editorNode = new ObjectMapper().readTree(repositoryService.getModelEditorSource(workflowModelDto.getModelId()));
            //BpmnJsonConverter jsonConverter = new BpmnJsonConverter();
            //BpmnModel model = jsonConverter.convertToBpmnModel(editorNode);
            //bpmnBytes = new BpmnXMLConverter().convertToXML(model);
            bpmnBytes = repositoryService.getModelEditorSource(workflowModelDto.getModelId());
            String encoded = Base64Convert.byteToBase64(bpmnBytes);
            byte[] decoded = Base64Convert.base64ToByte(encoded);
            String xml = new String(decoded);
            String processName = modelData.getName() + ".bpmn20.xml";
            ByteArrayInputStream in = new ByteArrayInputStream(bpmnBytes);
            Deployment deployment = repositoryService.createDeployment().name(oaWorkflowDtos.get(0).getFlowName())
                    .addInputStream(processName, in).deploy();
            deploymentid = deployment.getId();
        } catch (Exception e) {
            throw new IllegalArgumentException(e);
        }
        Assert.isTrue(!StringUtil.isEmpty(deploymentid), "流程部署出错");
        ProcessDefinition processDefinition = repositoryService
                .createProcessDefinitionQuery()
                .deploymentId(deploymentid)
                .singleResult();
        //更新部门流程关系表
        workflowModelDto.setDeploymentId(deploymentid);
        OaWorkflowPo oaWorkflowPo = new OaWorkflowPo();
        oaWorkflowPo.setFlowId(oaWorkflowDtos.get(0).getFlowId());
        oaWorkflowPo.setStoreId(oaWorkflowDtos.get(0).getStoreId());
        oaWorkflowPo.setProcessDefinitionKey(deploymentid);
        oaWorkflowPo.setState(OaWorkflowDto.STATE_COMPLAINT);
        oaWorkflowInnerServiceSMOImpl.updateOaWorkflow(oaWorkflowPo);
//        //部署历史表
//        List<DeployHistoryEntity> deployHistoryEntities = deployHistoryRepository.getDeployHistoryByDeptWithProcessKeyId(deptWithProcessKeyId);
//        for (DeployHistoryEntity deployHistoryEntity : deployHistoryEntities) {
//            if (deployHistoryEntity.getModelKeyid().equals(modelId)) {
//                deployHistoryEntity.setDeploy(true);
//            } else {
//                deployHistoryEntity.setDeploy(false);
//            }
//            deployHistoryRepository.update(deployHistoryEntity);
//        }
        return ResultVo.success();
    }
    @Override
    @Java110Transactional
    public ResponseEntity<String> saveModel(WorkflowModelDto workflowModelDto) {
        //根据
        OaWorkflowDto oaWorkflowDto = new OaWorkflowDto();
        oaWorkflowDto.setModelId(workflowModelDto.getModelId());
        List<OaWorkflowDto> oaWorkflowDtos = oaWorkflowInnerServiceSMOImpl.queryOaWorkflows(oaWorkflowDto);
        Assert.listOnlyOne(oaWorkflowDtos, "未包含流程");
        OaWorkflowXmlPo oaWorkflowXmlPo = new OaWorkflowXmlPo();
        oaWorkflowXmlPo.setStoreId(oaWorkflowDtos.get(0).getStoreId());
        oaWorkflowXmlPo.setBpmnXml(workflowModelDto.getJson_xml());
        oaWorkflowXmlPo.setFlowId(oaWorkflowDtos.get(0).getFlowId());
        oaWorkflowXmlPo.setSvgXml(workflowModelDto.getSvg_xml());
        //查询部署
        OaWorkflowXmlDto oaWorkflowXmlDto = new OaWorkflowXmlDto();
        oaWorkflowXmlDto.setFlowId(oaWorkflowDtos.get(0).getFlowId());
        oaWorkflowXmlDto.setStoreId(oaWorkflowDtos.get(0).getStoreId());
        List<OaWorkflowXmlDto> oaWorkflowXmlDtos = oaWorkflowXmlInnerServiceSMOImpl.queryOaWorkflowXmls(oaWorkflowXmlDto);
        int flag = 0;
        if (oaWorkflowXmlDtos == null || oaWorkflowXmlDtos.size() < 1) {
            oaWorkflowXmlPo.setXmlId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_xmlId));
            flag = oaWorkflowXmlInnerServiceSMOImpl.saveOaWorkflowXml(oaWorkflowXmlPo);
        } else {
            oaWorkflowXmlPo.setXmlId(oaWorkflowXmlDtos.get(0).getXmlId());
            flag = oaWorkflowXmlInnerServiceSMOImpl.updateOaWorkflowXml(oaWorkflowXmlPo);
        }
        if (flag < 1) {
            throw new IllegalArgumentException("流程图处理失败");
        }
        try {
            Model model = repositoryService.getModel(workflowModelDto.getModelId());
            ObjectNode modelJson = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
            modelJson.put(MODEL_NAME, oaWorkflowDtos.get(0).getFlowName());
            modelJson.put(MODEL_DESCRIPTION, oaWorkflowDtos.get(0).getDescrible());
            modelJson.put(ModelDataJsonConstants.MODEL_REVISION, model.getVersion() + 1);
            model.setMetaInfo(modelJson.toString());
            model.setName(oaWorkflowDtos.get(0).getFlowName());
            repositoryService.saveModel(model);
            repositoryService.addModelEditorSource(model.getId(), workflowModelDto.getJson_xml().getBytes("utf-8"));
            InputStream svgStream = new ByteArrayInputStream(workflowModelDto.getSvg_xml().getBytes("utf-8"));
            TranscoderInput input = new TranscoderInput(svgStream);
            PNGTranscoder transcoder = new PNGTranscoder();
            // Setup output
            ByteArrayOutputStream outStream = new ByteArrayOutputStream();
            TranscoderOutput output = new TranscoderOutput(outStream);
            // Do the transformation
            transcoder.transcode(input, output);
            final byte[] result = outStream.toByteArray();
            repositoryService.addModelEditorSourceExtra(model.getId(), result);
            outStream.close();
        } catch (Exception e) {
            logger.error("Error saving model", e);
            throw new ActivitiException("Error saving model", e);
        }
        return ResultVo.success();
    }
}
service-common/src/main/java/com/java110/common/smo/impl/WorkflowInnerServiceSMOImpl.java
@@ -1,23 +1,34 @@
package com.java110.common.smo.impl;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.java110.common.dao.IWorkflowServiceDao;
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.intf.common.IWorkflowInnerServiceSMO;
import com.java110.intf.user.IUserInnerServiceSMO;
import com.java110.dto.PageDto;
import com.java110.dto.user.UserDto;
import com.java110.dto.workflow.WorkflowAuditInfoDto;
import com.java110.dto.workflow.WorkflowDto;
import com.java110.dto.workflow.WorkflowModelDto;
import com.java110.dto.workflow.WorkflowStepDto;
import com.java110.dto.workflow.WorkflowStepStaffDto;
import com.java110.intf.common.IWorkflowInnerServiceSMO;
import com.java110.intf.user.IUserInnerServiceSMO;
import com.java110.utils.util.Base64Convert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
import org.activiti.bpmn.BpmnAutoLayout;
import org.activiti.bpmn.model.BpmnModel;
import org.activiti.bpmn.model.EndEvent;
import org.activiti.bpmn.model.ExclusiveGateway;
import org.activiti.bpmn.model.FlowNode;
import org.activiti.bpmn.model.ParallelGateway;
import org.activiti.bpmn.model.Process;
import org.activiti.bpmn.model.*;
import org.activiti.bpmn.model.SequenceFlow;
import org.activiti.bpmn.model.StartEvent;
import org.activiti.bpmn.model.UserTask;
import org.activiti.editor.constants.ModelDataJsonConstants;
import org.activiti.engine.*;
import org.activiti.engine.history.HistoricActivityInstance;
import org.activiti.engine.history.HistoricActivityInstanceQuery;
@@ -25,14 +36,22 @@
import org.activiti.engine.impl.RepositoryServiceImpl;
import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.repository.Model;
import org.activiti.engine.task.Comment;
import org.activiti.image.ProcessDiagramGenerator;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;
import org.apache.batik.transcoder.image.PNGTranscoder;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
@@ -70,6 +89,9 @@
    @Autowired
    private TaskService taskService;
    @Autowired
    private ObjectMapper objectMapper;
    @Override
    public List<WorkflowDto> queryWorkflows(@RequestBody WorkflowDto workflowDto) {
@@ -536,9 +558,6 @@
            // 需要转换成HistoricActivityInstance
            HistoricActivityInstance activityInstance = (HistoricActivityInstance) iterator
                    .next();
//            if (activityInstance.getEndTime() == null) {
//                continue;
//            }
            tmpWorkflowAuditInfoDto = new WorkflowAuditInfoDto();
            tmpWorkflowAuditInfoDto.setAuditName(activityInstance.getActivityName());
@@ -570,6 +589,49 @@
        return workflowAuditInfoDtos;
    }
    @Override
    public WorkflowModelDto createModel(@RequestBody  WorkflowModelDto workflowModelDto) {
        logger.info("创建模型入参name:{},key:{}", workflowModelDto.getName(), workflowModelDto.getKey());
        Model model = repositoryService.newModel();
        ObjectNode modelNode = objectMapper.createObjectNode();
        modelNode.put(ModelDataJsonConstants.MODEL_NAME, workflowModelDto.getName());
        modelNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, "");
        modelNode.put(ModelDataJsonConstants.MODEL_REVISION, 1);
        model.setName(workflowModelDto.getName());
        model.setKey(workflowModelDto.getKey());
        model.setMetaInfo(modelNode.toString());
        repositoryService.saveModel(model);
        createObjectNode(model.getId());
        logger.info("创建模型结束,返回模型ID:{}", model.getId());
        workflowModelDto.setModelId(model.getId());
        return workflowModelDto;
    }
    /**
     * 创建模型时完善ModelEditorSource
     *
     * @param modelId
     */
    @SuppressWarnings("deprecation")
    private void createObjectNode(String modelId) {
        logger.info("创建模型完善ModelEditorSource入参模型ID:{}", modelId);
        ObjectNode editorNode = objectMapper.createObjectNode();
        editorNode.put("id", "canvas");
        editorNode.put("resourceId", "canvas");
        ObjectNode stencilSetNode = objectMapper.createObjectNode();
        stencilSetNode.put("namespace", "http://b3mn.org/stencilset/bpmn2.0#");
        editorNode.put("stencilset", stencilSetNode);
        try {
            repositoryService.addModelEditorSource(modelId, editorNode.toString().getBytes("utf-8"));
        } catch (Exception e) {
            logger.info("创建模型时完善ModelEditorSource服务异常:{}", e);
        }
        logger.info("创建模型完善ModelEditorSource结束");
    }
    /**
     * @param processInstanceId
     * @return
service-fee/src/main/java/com/java110/fee/api/PayFeeDetailMonthApi.java
New file
@@ -0,0 +1,108 @@
package com.java110.fee.api;
import com.alibaba.fastjson.JSONObject;
import com.java110.dto.payFeeDetailMonth.PayFeeDetailMonthDto;
import com.java110.fee.bmo.payFeeDetailMonth.IDeletePayFeeDetailMonthBMO;
import com.java110.fee.bmo.payFeeDetailMonth.IGetPayFeeDetailMonthBMO;
import com.java110.fee.bmo.payFeeDetailMonth.ISavePayFeeDetailMonthBMO;
import com.java110.fee.bmo.payFeeDetailMonth.IUpdatePayFeeDetailMonthBMO;
import com.java110.po.payFeeDetailMonth.PayFeeDetailMonthPo;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(value = "/payFeeDetailMonth")
public class PayFeeDetailMonthApi {
    @Autowired
    private ISavePayFeeDetailMonthBMO savePayFeeDetailMonthBMOImpl;
    @Autowired
    private IUpdatePayFeeDetailMonthBMO updatePayFeeDetailMonthBMOImpl;
    @Autowired
    private IDeletePayFeeDetailMonthBMO deletePayFeeDetailMonthBMOImpl;
    @Autowired
    private IGetPayFeeDetailMonthBMO getPayFeeDetailMonthBMOImpl;
    /**
     * 微信保存消息模板
     * @serviceCode /payFeeDetailMonth/savePayFeeDetailMonth
     * @path /app/payFeeDetailMonth/savePayFeeDetailMonth
     * @param reqJson
     * @return
     */
    @RequestMapping(value = "/savePayFeeDetailMonth", method = RequestMethod.POST)
    public ResponseEntity<String> savePayFeeDetailMonth(@RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "detailId", "请求报文中未包含detailId");
Assert.hasKeyAndValue(reqJson, "detailYear", "请求报文中未包含detailYear");
Assert.hasKeyAndValue(reqJson, "detailMonth", "请求报文中未包含detailMonth");
        PayFeeDetailMonthPo payFeeDetailMonthPo = BeanConvertUtil.covertBean(reqJson, PayFeeDetailMonthPo.class);
        return savePayFeeDetailMonthBMOImpl.save(payFeeDetailMonthPo);
    }
    /**
     * 微信修改消息模板
     * @serviceCode /payFeeDetailMonth/updatePayFeeDetailMonth
     * @path /app/payFeeDetailMonth/updatePayFeeDetailMonth
     * @param reqJson
     * @return
     */
    @RequestMapping(value = "/updatePayFeeDetailMonth", method = RequestMethod.POST)
    public ResponseEntity<String> updatePayFeeDetailMonth(@RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "detailId", "请求报文中未包含detailId");
Assert.hasKeyAndValue(reqJson, "detailYear", "请求报文中未包含detailYear");
Assert.hasKeyAndValue(reqJson, "detailMonth", "请求报文中未包含detailMonth");
Assert.hasKeyAndValue(reqJson, "monthId", "monthId不能为空");
        PayFeeDetailMonthPo payFeeDetailMonthPo = BeanConvertUtil.covertBean(reqJson, PayFeeDetailMonthPo.class);
        return updatePayFeeDetailMonthBMOImpl.update(payFeeDetailMonthPo);
    }
    /**
     * 微信删除消息模板
     * @serviceCode /payFeeDetailMonth/deletePayFeeDetailMonth
     * @path /app/payFeeDetailMonth/deletePayFeeDetailMonth
     * @param reqJson
     * @return
     */
    @RequestMapping(value = "/deletePayFeeDetailMonth", method = RequestMethod.POST)
    public ResponseEntity<String> deletePayFeeDetailMonth(@RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "communityId", "小区ID不能为空");
        Assert.hasKeyAndValue(reqJson, "monthId", "monthId不能为空");
        PayFeeDetailMonthPo payFeeDetailMonthPo = BeanConvertUtil.covertBean(reqJson, PayFeeDetailMonthPo.class);
        return deletePayFeeDetailMonthBMOImpl.delete(payFeeDetailMonthPo);
    }
    /**
     * 微信删除消息模板
     * @serviceCode /payFeeDetailMonth/queryPayFeeDetailMonth
     * @path /app/payFeeDetailMonth/queryPayFeeDetailMonth
     * @param communityId 小区ID
     * @return
     */
    @RequestMapping(value = "/queryPayFeeDetailMonth", method = RequestMethod.GET)
    public ResponseEntity<String> queryPayFeeDetailMonth(@RequestParam(value = "communityId") String communityId,
                                                      @RequestParam(value = "page") int page,
                                                      @RequestParam(value = "row") int row) {
        PayFeeDetailMonthDto payFeeDetailMonthDto = new PayFeeDetailMonthDto();
        payFeeDetailMonthDto.setPage(page);
        payFeeDetailMonthDto.setRow(row);
        payFeeDetailMonthDto.setCommunityId(communityId);
        return getPayFeeDetailMonthBMOImpl.get(payFeeDetailMonthDto);
    }
}
service-fee/src/main/java/com/java110/fee/bmo/payFeeDetailMonth/IDeletePayFeeDetailMonthBMO.java
New file
@@ -0,0 +1,17 @@
package com.java110.fee.bmo.payFeeDetailMonth;
import com.java110.po.payFeeDetailMonth.PayFeeDetailMonthPo;
import org.springframework.http.ResponseEntity;
public interface IDeletePayFeeDetailMonthBMO {
    /**
     * 修改月缴费表
     * add by wuxw
     * @param payFeeDetailMonthPo
     * @return
     */
    ResponseEntity<String> delete(PayFeeDetailMonthPo payFeeDetailMonthPo);
}
service-fee/src/main/java/com/java110/fee/bmo/payFeeDetailMonth/IGetPayFeeDetailMonthBMO.java
New file
@@ -0,0 +1,16 @@
package com.java110.fee.bmo.payFeeDetailMonth;
import com.java110.dto.payFeeDetailMonth.PayFeeDetailMonthDto;
import org.springframework.http.ResponseEntity;
public interface IGetPayFeeDetailMonthBMO {
    /**
     * 查询月缴费表
     * add by wuxw
     * @param  payFeeDetailMonthDto
     * @return
     */
    ResponseEntity<String> get(PayFeeDetailMonthDto payFeeDetailMonthDto);
}
service-fee/src/main/java/com/java110/fee/bmo/payFeeDetailMonth/ISavePayFeeDetailMonthBMO.java
New file
@@ -0,0 +1,17 @@
package com.java110.fee.bmo.payFeeDetailMonth;
import com.java110.po.payFeeDetailMonth.PayFeeDetailMonthPo;
import org.springframework.http.ResponseEntity;
public interface ISavePayFeeDetailMonthBMO {
    /**
     * 添加月缴费表
     * add by wuxw
     * @param payFeeDetailMonthPo
     * @return
     */
    ResponseEntity<String> save(PayFeeDetailMonthPo payFeeDetailMonthPo);
}
service-fee/src/main/java/com/java110/fee/bmo/payFeeDetailMonth/IUpdatePayFeeDetailMonthBMO.java
New file
@@ -0,0 +1,17 @@
package com.java110.fee.bmo.payFeeDetailMonth;
import com.java110.po.payFeeDetailMonth.PayFeeDetailMonthPo;
import org.springframework.http.ResponseEntity;
public interface IUpdatePayFeeDetailMonthBMO {
    /**
     * 修改月缴费表
     * add by wuxw
     * @param payFeeDetailMonthPo
     * @return
     */
    ResponseEntity<String> update(PayFeeDetailMonthPo payFeeDetailMonthPo);
}
service-fee/src/main/java/com/java110/fee/bmo/payFeeDetailMonth/impl/DeletePayFeeDetailMonthBMOImpl.java
New file
@@ -0,0 +1,34 @@
package com.java110.fee.bmo.payFeeDetailMonth.impl;
import com.java110.core.annotation.Java110Transactional;
import com.java110.fee.bmo.payFeeDetailMonth.IDeletePayFeeDetailMonthBMO;
import com.java110.intf.fee.IPayFeeDetailMonthInnerServiceSMO;
import com.java110.po.payFeeDetailMonth.PayFeeDetailMonthPo;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@Service("deletePayFeeDetailMonthBMOImpl")
public class DeletePayFeeDetailMonthBMOImpl implements IDeletePayFeeDetailMonthBMO {
    @Autowired
    private IPayFeeDetailMonthInnerServiceSMO payFeeDetailMonthInnerServiceSMOImpl;
    /**
     * @param payFeeDetailMonthPo 数据
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> delete(PayFeeDetailMonthPo payFeeDetailMonthPo) {
        int flag = payFeeDetailMonthInnerServiceSMOImpl.deletePayFeeDetailMonth(payFeeDetailMonthPo);
        if (flag > 0) {
            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
        }
        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
    }
}
service-fee/src/main/java/com/java110/fee/bmo/payFeeDetailMonth/impl/GetPayFeeDetailMonthBMOImpl.java
New file
@@ -0,0 +1,44 @@
package com.java110.fee.bmo.payFeeDetailMonth.impl;
import com.java110.dto.payFeeDetailMonth.PayFeeDetailMonthDto;
import com.java110.fee.bmo.payFeeDetailMonth.IGetPayFeeDetailMonthBMO;
import com.java110.intf.fee.IPayFeeDetailMonthInnerServiceSMO;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service("getPayFeeDetailMonthBMOImpl")
public class GetPayFeeDetailMonthBMOImpl implements IGetPayFeeDetailMonthBMO {
    @Autowired
    private IPayFeeDetailMonthInnerServiceSMO payFeeDetailMonthInnerServiceSMOImpl;
    /**
     * @param payFeeDetailMonthDto
     * @return 订单服务能够接受的报文
     */
    public ResponseEntity<String> get(PayFeeDetailMonthDto payFeeDetailMonthDto) {
        int count = payFeeDetailMonthInnerServiceSMOImpl.queryPayFeeDetailMonthsCount(payFeeDetailMonthDto);
        List<PayFeeDetailMonthDto> payFeeDetailMonthDtos = null;
        if (count > 0) {
            payFeeDetailMonthDtos = payFeeDetailMonthInnerServiceSMOImpl.queryPayFeeDetailMonths(payFeeDetailMonthDto);
        } else {
            payFeeDetailMonthDtos = new ArrayList<>();
        }
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) payFeeDetailMonthDto.getRow()), count, payFeeDetailMonthDtos);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        return responseEntity;
    }
}
service-fee/src/main/java/com/java110/fee/bmo/payFeeDetailMonth/impl/SavePayFeeDetailMonthBMOImpl.java
New file
@@ -0,0 +1,38 @@
package com.java110.fee.bmo.payFeeDetailMonth.impl;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.fee.bmo.payFeeDetailMonth.ISavePayFeeDetailMonthBMO;
import com.java110.intf.fee.IPayFeeDetailMonthInnerServiceSMO;
import com.java110.po.payFeeDetailMonth.PayFeeDetailMonthPo;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@Service("savePayFeeDetailMonthBMOImpl")
public class SavePayFeeDetailMonthBMOImpl implements ISavePayFeeDetailMonthBMO {
    @Autowired
    private IPayFeeDetailMonthInnerServiceSMO payFeeDetailMonthInnerServiceSMOImpl;
    /**
     * 添加小区信息
     *
     * @param payFeeDetailMonthPo
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> save(PayFeeDetailMonthPo payFeeDetailMonthPo) {
        payFeeDetailMonthPo.setMonthId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_monthId));
        int flag = payFeeDetailMonthInnerServiceSMOImpl.savePayFeeDetailMonth(payFeeDetailMonthPo);
        if (flag > 0) {
            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
        }
        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
    }
}
service-fee/src/main/java/com/java110/fee/bmo/payFeeDetailMonth/impl/UpdatePayFeeDetailMonthBMOImpl.java
New file
@@ -0,0 +1,34 @@
package com.java110.fee.bmo.payFeeDetailMonth.impl;
import com.java110.core.annotation.Java110Transactional;
import com.java110.fee.bmo.payFeeDetailMonth.IUpdatePayFeeDetailMonthBMO;
import com.java110.intf.fee.IPayFeeDetailMonthInnerServiceSMO;
import com.java110.po.payFeeDetailMonth.PayFeeDetailMonthPo;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@Service("updatePayFeeDetailMonthBMOImpl")
public class UpdatePayFeeDetailMonthBMOImpl implements IUpdatePayFeeDetailMonthBMO {
    @Autowired
    private IPayFeeDetailMonthInnerServiceSMO payFeeDetailMonthInnerServiceSMOImpl;
    /**
     * @param payFeeDetailMonthPo
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> update(PayFeeDetailMonthPo payFeeDetailMonthPo) {
        int flag = payFeeDetailMonthInnerServiceSMOImpl.updatePayFeeDetailMonth(payFeeDetailMonthPo);
        if (flag > 0) {
            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
        }
        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
    }
}
service-fee/src/main/java/com/java110/fee/dao/IPayFeeDetailMonthServiceDao.java
New file
@@ -0,0 +1,64 @@
package com.java110.fee.dao;
import com.java110.utils.exception.DAOException;
import com.java110.entity.merchant.BoMerchant;
import com.java110.entity.merchant.BoMerchantAttr;
import com.java110.entity.merchant.Merchant;
import com.java110.entity.merchant.MerchantAttr;
import java.util.List;
import java.util.Map;
/**
 * 月缴费表组件内部之间使用,没有给外围系统提供服务能力
 * 月缴费表服务接口类,要求全部以字符串传输,方便微服务化
 * 新建客户,修改客户,删除客户,查询客户等功能
 *
 * Created by wuxw on 2016/12/27.
 */
public interface IPayFeeDetailMonthServiceDao {
    /**
     * 保存 月缴费表信息
     * @param info
     * @throws DAOException DAO异常
     */
    void savePayFeeDetailMonthInfo(Map info) throws DAOException;
    int savePayFeeDetailMonthInfos(Map info);
    /**
     * 查询月缴费表信息(instance过程)
     * 根据bId 查询月缴费表信息
     * @param info bId 信息
     * @return 月缴费表信息
     * @throws DAOException DAO异常
     */
    List<Map> getPayFeeDetailMonthInfo(Map info) throws DAOException;
    /**
     * 修改月缴费表信息
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    void updatePayFeeDetailMonthInfo(Map info) throws DAOException;
    /**
     * 查询月缴费表总数
     *
     * @param info 月缴费表信息
     * @return 月缴费表数量
     */
    int queryPayFeeDetailMonthsCount(Map info);
}
service-fee/src/main/java/com/java110/fee/dao/impl/FeeDetailServiceDaoImpl.java
@@ -6,10 +6,12 @@
import com.java110.utils.util.DateUtil;
import com.java110.core.base.dao.BaseServiceDao;
import com.java110.fee.dao.IFeeDetailServiceDao;
import com.java110.utils.util.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
service-fee/src/main/java/com/java110/fee/dao/impl/PayFeeDetailMonthServiceDaoImpl.java
New file
@@ -0,0 +1,106 @@
package com.java110.fee.dao.impl;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.base.dao.BaseServiceDao;
import com.java110.fee.dao.IPayFeeDetailMonthServiceDao;
import com.java110.utils.constant.ResponseConstant;
import com.java110.utils.exception.DAOException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
 * 月缴费表服务 与数据库交互
 * Created by wuxw on 2017/4/5.
 */
@Service("payFeeDetailMonthServiceDaoImpl")
//@Transactional
public class PayFeeDetailMonthServiceDaoImpl extends BaseServiceDao implements IPayFeeDetailMonthServiceDao {
    private static Logger logger = LoggerFactory.getLogger(PayFeeDetailMonthServiceDaoImpl.class);
    /**
     * 保存月缴费表信息 到 instance
     *
     * @param info bId 信息
     * @throws DAOException DAO异常
     */
    @Override
    public void savePayFeeDetailMonthInfo(Map info) throws DAOException {
        logger.debug("保存月缴费表信息Instance 入参 info : {}", info);
        int saveFlag = sqlSessionTemplate.insert("payFeeDetailMonthServiceDaoImpl.savePayFeeDetailMonthInfo", info);
        if (saveFlag < 1) {
            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "保存月缴费表信息Instance数据失败:" + JSONObject.toJSONString(info));
        }
    }
    @Override
    public int savePayFeeDetailMonthInfos(Map info) {
        logger.debug("保存月缴费表信息Instance 入参 info : {}", info);
        int saveFlag = sqlSessionTemplate.insert("payFeeDetailMonthServiceDaoImpl.savePayFeeDetailMonthInfos", info);
        return saveFlag;
    }
    /**
     * 查询月缴费表信息(instance)
     *
     * @param info bId 信息
     * @return List<Map>
     * @throws DAOException DAO异常
     */
    @Override
    public List<Map> getPayFeeDetailMonthInfo(Map info) throws DAOException {
        logger.debug("查询月缴费表信息 入参 info : {}", info);
        List<Map> businessPayFeeDetailMonthInfos = sqlSessionTemplate.selectList("payFeeDetailMonthServiceDaoImpl.getPayFeeDetailMonthInfo", info);
        return businessPayFeeDetailMonthInfos;
    }
    /**
     * 修改月缴费表信息
     *
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    @Override
    public void updatePayFeeDetailMonthInfo(Map info) throws DAOException {
        logger.debug("修改月缴费表信息Instance 入参 info : {}", info);
        int saveFlag = sqlSessionTemplate.update("payFeeDetailMonthServiceDaoImpl.updatePayFeeDetailMonthInfo", info);
        if (saveFlag < 1) {
            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "修改月缴费表信息Instance数据失败:" + JSONObject.toJSONString(info));
        }
    }
    /**
     * 查询月缴费表数量
     *
     * @param info 月缴费表信息
     * @return 月缴费表数量
     */
    @Override
    public int queryPayFeeDetailMonthsCount(Map info) {
        logger.debug("查询月缴费表数据 入参 info : {}", info);
        List<Map> businessPayFeeDetailMonthInfos = sqlSessionTemplate.selectList("payFeeDetailMonthServiceDaoImpl.queryPayFeeDetailMonthsCount", info);
        if (businessPayFeeDetailMonthInfos.size() < 1) {
            return 0;
        }
        return Integer.parseInt(businessPayFeeDetailMonthInfos.get(0).get("count").toString());
    }
}
service-fee/src/main/java/com/java110/fee/smo/impl/PayFeeDetailMonthInnerServiceSMOImpl.java
New file
@@ -0,0 +1,94 @@
package com.java110.fee.smo.impl;
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.dto.PageDto;
import com.java110.dto.payFeeDetailMonth.PayFeeDetailMonthDto;
import com.java110.fee.dao.IPayFeeDetailMonthServiceDao;
import com.java110.intf.fee.IPayFeeDetailMonthInnerServiceSMO;
import com.java110.po.payFeeDetailMonth.PayFeeDetailMonthPo;
import com.java110.utils.util.BeanConvertUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * @ClassName FloorInnerServiceSMOImpl
 * @Description 月缴费表内部服务实现类
 * @Author wuxw
 * @Date 2019/4/24 9:20
 * @Version 1.0
 * add by wuxw 2019/4/24
 **/
@RestController
public class PayFeeDetailMonthInnerServiceSMOImpl extends BaseServiceSMO implements IPayFeeDetailMonthInnerServiceSMO {
    @Autowired
    private IPayFeeDetailMonthServiceDao payFeeDetailMonthServiceDaoImpl;
    @Override
    public int savePayFeeDetailMonth(@RequestBody PayFeeDetailMonthPo payFeeDetailMonthPo) {
        int saveFlag = 1;
        payFeeDetailMonthServiceDaoImpl.savePayFeeDetailMonthInfo(BeanConvertUtil.beanCovertMap(payFeeDetailMonthPo));
        return saveFlag;
    }
    @Override
    public int savePayFeeDetailMonths(@RequestBody List<PayFeeDetailMonthPo> payFeeDetailMonthPos) {
        int saveFlag = 1;
        Map info = new HashMap();
        info.put("payFeeDetailMonthPos",payFeeDetailMonthPos);
        payFeeDetailMonthServiceDaoImpl.savePayFeeDetailMonthInfos(info);
        return saveFlag;
    }
    @Override
    public int updatePayFeeDetailMonth(@RequestBody PayFeeDetailMonthPo payFeeDetailMonthPo) {
        int saveFlag = 1;
        payFeeDetailMonthServiceDaoImpl.updatePayFeeDetailMonthInfo(BeanConvertUtil.beanCovertMap(payFeeDetailMonthPo));
        return saveFlag;
    }
    @Override
    public int deletePayFeeDetailMonth(@RequestBody PayFeeDetailMonthPo payFeeDetailMonthPo) {
        int saveFlag = 1;
        payFeeDetailMonthPo.setStatusCd("1");
        payFeeDetailMonthServiceDaoImpl.updatePayFeeDetailMonthInfo(BeanConvertUtil.beanCovertMap(payFeeDetailMonthPo));
        return saveFlag;
    }
    @Override
    public List<PayFeeDetailMonthDto> queryPayFeeDetailMonths(@RequestBody PayFeeDetailMonthDto payFeeDetailMonthDto) {
        //校验是否传了 分页信息
        int page = payFeeDetailMonthDto.getPage();
        if (page != PageDto.DEFAULT_PAGE) {
            payFeeDetailMonthDto.setPage((page - 1) * payFeeDetailMonthDto.getRow());
        }
        List<PayFeeDetailMonthDto> payFeeDetailMonths = BeanConvertUtil.covertBeanList(payFeeDetailMonthServiceDaoImpl.getPayFeeDetailMonthInfo(BeanConvertUtil.beanCovertMap(payFeeDetailMonthDto)), PayFeeDetailMonthDto.class);
        return payFeeDetailMonths;
    }
    @Override
    public int queryPayFeeDetailMonthsCount(@RequestBody PayFeeDetailMonthDto payFeeDetailMonthDto) {
        return payFeeDetailMonthServiceDaoImpl.queryPayFeeDetailMonthsCount(BeanConvertUtil.beanCovertMap(payFeeDetailMonthDto));
    }
    public IPayFeeDetailMonthServiceDao getPayFeeDetailMonthServiceDaoImpl() {
        return payFeeDetailMonthServiceDaoImpl;
    }
    public void setPayFeeDetailMonthServiceDaoImpl(IPayFeeDetailMonthServiceDao payFeeDetailMonthServiceDaoImpl) {
        this.payFeeDetailMonthServiceDaoImpl = payFeeDetailMonthServiceDaoImpl;
    }
}
service-front/src/main/java/com/java110/front/configuration/ServiceConfiguration.java
@@ -48,6 +48,10 @@
        exclusions.append("/app/activitiesType/queryActivitiesType,");//查询大类
        exclusions.append("/app/product/queryProductLabel,");//查询大类
        exclusions.append("/app/loginStaffWechatAuth,");//查询大类
        exclusions.append("/app/reportInfoSetting/queryReportInfoSetting,");//查询疫情
        exclusions.append("/app/reportInfoSettingTitle/querySettingTitle,");//查询疫情问卷详情
        exclusions.append("/app/reportInfoBackCity/saveReportInfoBackCity,");//返省人员信息上报
        exclusions.append("/app/reportInfoAnswerValue/saveReportInfoAnswerValue,");//保存疫情问卷
        exclusions.append("/app/staffAuth");//查询大类
service-front/src/main/java/com/java110/front/controller/activiti/ActivitiController.java
New file
@@ -0,0 +1,81 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.front.controller.activiti;
import com.alibaba.fastjson.JSONObject;
import com.java110.dto.oaWorkflow.StencilsetJson;
import com.java110.dto.workflow.WorkflowModelDto;
import com.java110.front.smo.activiti.IModelSMO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.xml.ws.Response;
/**
 * @desc add by 吴学文 8:38
 */
@RestController
@RequestMapping(value = "/app/activiti")
public class ActivitiController {
    @Autowired
    private IModelSMO modelSMOImpl;
    /**
     * 查询工作流json
     *
     * @param modelId
     * @return
     */
    @RequestMapping(value = "/model/{modelId}/json", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
    public String queryJson(@PathVariable String modelId) {
        JSONObject paramOut = JSONObject.parseObject(modelSMOImpl.getJson(modelId).getBody());
        return paramOut.getJSONObject("data").toJSONString();
    }
    /**
     * 查询工作流json
     *
     * @param version
     * @return
     */
    @RequestMapping(value = "/editor/stencilset", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
    public String stencilset(@RequestParam(value = "version", required = false) String version) {
        return StencilsetJson.JSON;
    }
    /**
     * 更新流程
     *
     * @param modelId     模型ID
     * @param xmlJson        流程模型名称
     */
    @RequestMapping(value = "/model/{modelId}/save", method = RequestMethod.POST)
    public ResponseEntity<String> saveModel(@PathVariable String modelId
            , @RequestBody String xmlJson) {
        JSONObject paramJson = JSONObject.parseObject(xmlJson);
        WorkflowModelDto workflowModelDto = new WorkflowModelDto();
        workflowModelDto.setJson_xml(paramJson.getString("xml"));
        workflowModelDto.setSvg_xml(paramJson.getString("svg"));
        workflowModelDto.setModelId(modelId);
        return modelSMOImpl.saveModel(workflowModelDto);
    }
}
service-front/src/main/java/com/java110/front/smo/activiti/IModelSMO.java
New file
@@ -0,0 +1,32 @@
package com.java110.front.smo.activiti;/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import com.java110.dto.workflow.WorkflowModelDto;
import org.springframework.http.HttpEntity;
import org.springframework.http.ResponseEntity;
public interface IModelSMO {
    /**
     * 获取json 信息
     *
     * @param modelId
     * @return
     */
    ResponseEntity<String> getJson(String modelId);
    ResponseEntity<String> saveModel(WorkflowModelDto workflowModelDto);
}
service-front/src/main/java/com/java110/front/smo/activiti/impl/ModelSMOImpl.java
New file
@@ -0,0 +1,76 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.front.smo.activiti.impl;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.component.AbstractComponentSMO;
import com.java110.core.context.IPageData;
import com.java110.core.context.PageData;
import com.java110.dto.app.AppDto;
import com.java110.dto.workflow.WorkflowModelDto;
import com.java110.front.smo.activiti.IModelSMO;
import com.java110.utils.constant.ServiceConstant;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
/**
 * @desc add by 吴学文 8:53
 */
@Service
public class ModelSMOImpl extends AbstractComponentSMO implements IModelSMO {
    @Autowired
    private RestTemplate restTemplate;
    @Override
    public ResponseEntity<String> getJson(String modelId) {
        IPageData pd = PageData.newInstance().builder("-1", "-1", "", "",
                "", "", "", "", AppDto.WEB_APP_ID);
        ///workflow/getEditorJson
        ResponseEntity responseEntity = this.callCenterService(restTemplate, pd, "",
                ServiceConstant.SERVICE_API_URL + "/api/workflow/getEditorJson?modelId=" + modelId,
                HttpMethod.GET);
        return responseEntity;
    }
    @Override
    public ResponseEntity<String> saveModel(WorkflowModelDto workflowModelDto) {
        IPageData pd = PageData.newInstance().builder("-1", "-1", "", "",
                "", "", "", "", AppDto.WEB_APP_ID);
        ///workflow/getEditorJson
        ResponseEntity responseEntity = this.callCenterService(restTemplate, pd, JSONObject.toJSONString(workflowModelDto),
                ServiceConstant.SERVICE_API_URL + "/api/workflow/saveModel",
                HttpMethod.POST);
        return responseEntity;
    }
    @Override
    protected void validate(IPageData pd, JSONObject paramIn) {
    }
    @Override
    protected ResponseEntity<String> doBusinessProcess(IPageData pd, JSONObject paramIn) throws Exception {
        return null;
    }
}
service-front/src/main/java/com/java110/front/smo/assetImport/impl/AssetImportSMOImpl.java
@@ -8,19 +8,12 @@
import com.java110.dto.RoomDto;
import com.java110.dto.assetImportLog.AssetImportLogDto;
import com.java110.dto.assetImportLogDetail.AssetImportLogDetailDto;
import com.java110.entity.assetImport.ImportFee;
import com.java110.entity.assetImport.ImportFloor;
import com.java110.entity.assetImport.ImportOwner;
import com.java110.entity.assetImport.ImportParkingSpace;
import com.java110.entity.assetImport.ImportRoom;
import com.java110.entity.assetImport.*;
import com.java110.entity.component.ComponentValidateResult;
import com.java110.front.smo.assetImport.IAssetImportSMO;
import com.java110.utils.constant.ServiceConstant;
import com.java110.utils.util.Assert;
import com.java110.utils.util.CommonUtil;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.ImportExcelUtils;
import com.java110.utils.util.StringUtil;
import com.java110.utils.util.*;
import com.java110.vo.ResultVo;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.slf4j.Logger;
@@ -247,7 +240,7 @@
        AssetImportLogDetailDto assetImportLogDetailDto = null;
        try {
            for (ImportParkingSpace parkingSpace : parkingSpaces) {
                responseEntity = new ResponseEntity<String>("成功", HttpStatus.OK);
                responseEntity = ResultVo.success();
                JSONObject savedParkingAreaInfo = getExistsParkingArea(pd, result, parkingSpace);
                paramIn = new JSONObject();
                // 如果不存在,才插入
@@ -326,8 +319,8 @@
                    }
                    assetImportLogDetailDto.setObjName(parkingSpace.getPaNum());
                    assetImportLogDetailDtos.add(assetImportLogDetailDto);
                    failCount +=1;
                    successCount = successCount >0? successCount -1:successCount;
                    failCount += 1;
                    successCount = successCount > 0 ? successCount - 1 : successCount;
                    assetImportLogDto.setSuccessCount(successCount);
                    assetImportLogDto.setErrorCount(failCount);
                    continue;
@@ -342,8 +335,8 @@
                        assetImportLogDetailDtos.add(assetImportLogDetailDto);
                        assetImportLogDto.setSuccessCount(successCount);
                        assetImportLogDto.setErrorCount(failCount);
                        failCount +=1;
                        successCount = successCount >0? successCount -1:successCount;
                        failCount += 1;
                        successCount = successCount > 0 ? successCount - 1 : successCount;
                        assetImportLogDto.setSuccessCount(successCount);
                        assetImportLogDto.setErrorCount(failCount);
                        continue;
@@ -396,8 +389,8 @@
                    }
                    assetImportLogDetailDto.setObjName(parkingSpace.getCarNum());
                    assetImportLogDetailDtos.add(assetImportLogDetailDto);
                    failCount +=1;
                    successCount = successCount >0? successCount -1:successCount;
                    failCount += 1;
                    successCount = successCount > 0 ? successCount - 1 : successCount;
                    assetImportLogDto.setSuccessCount(successCount);
                    assetImportLogDto.setErrorCount(failCount);
                } else {
@@ -409,16 +402,17 @@
                        assetImportLogDetailDto.setMessage(body.getString("msg"));
                        assetImportLogDetailDto.setObjName(parkingSpace.getCarNum());
                        assetImportLogDetailDtos.add(assetImportLogDetailDto);
                        failCount +=1;
                        successCount = successCount >0? successCount -1:successCount;
                        failCount += 1;
                        successCount = successCount > 0 ? successCount - 1 : successCount;
                        assetImportLogDto.setSuccessCount(successCount);
                        assetImportLogDto.setErrorCount(failCount);
                    }
                }
            }
        } catch (Exception e) {
            logger.error("导入车位异常", e);
            saveTransactionLogSMOImpl.saveAssetImportLog(assetImportLogDto);
            throw e;
        }
        return responseEntity;
@@ -608,8 +602,8 @@
                        }
                        assetImportLogDetailDto.setObjName(room.getRoomNum() + "室");
                        assetImportLogDetailDtos.add(assetImportLogDetailDto);
                        failCount +=1;
                        successCount = successCount >0? successCount -1:successCount;
                        failCount += 1;
                        successCount = successCount > 0 ? successCount - 1 : successCount;
                        assetImportLogDto.setSuccessCount(successCount);
                        assetImportLogDto.setErrorCount(failCount);
                    } else {
@@ -621,8 +615,8 @@
                            assetImportLogDetailDto.setMessage(body.getString("msg"));
                            assetImportLogDetailDto.setObjName(room.getRoomNum() + "室");
                            assetImportLogDetailDtos.add(assetImportLogDetailDto);
                            failCount +=1;
                            successCount = successCount >0? successCount -1:successCount;
                            failCount += 1;
                            successCount = successCount > 0 ? successCount - 1 : successCount;
                            assetImportLogDto.setSuccessCount(successCount);
                            assetImportLogDto.setErrorCount(failCount);
                        }
@@ -926,8 +920,8 @@
                    }
                    assetImportLogDetailDto.setObjName(importFloor.getFloorNum() + "栋" + importFloor.getUnitNum() + "单元");
                    assetImportLogDetailDtos.add(assetImportLogDetailDto);
                    failCount +=1;
                    successCount = successCount >0? successCount -1:successCount;
                    failCount += 1;
                    successCount = successCount > 0 ? successCount - 1 : successCount;
                    assetImportLogDto.setSuccessCount(successCount);
                    assetImportLogDto.setErrorCount(failCount);
                } else {
@@ -939,8 +933,8 @@
                        assetImportLogDetailDto.setMessage(body.getString("msg"));
                        assetImportLogDetailDto.setObjName(importFloor.getFloorNum() + "栋" + importFloor.getUnitNum() + "单元");
                        assetImportLogDetailDtos.add(assetImportLogDetailDto);
                        failCount +=1;
                        successCount = successCount >0? successCount -1:successCount;
                        failCount += 1;
                        successCount = successCount > 0 ? successCount - 1 : successCount;
                        assetImportLogDto.setSuccessCount(successCount);
                        assetImportLogDto.setErrorCount(failCount);
                    }
service-front/src/main/resources/java110.properties
@@ -11,4 +11,4 @@
java110.ftpPort = 6069
java110.ftpUserName = hcftp
java110.ftpUserPassword = 123456
java110.ftpPath = hc/
java110.ftpPath = hc/
service-goods/pom.xml
File was deleted
service-goods/src/main/java/com/java110/goods/GoodsServiceApplicationStart.java
File was deleted
service-goods/src/main/java/com/java110/goods/api/GroupBuyApi.java
File was deleted
service-goods/src/main/java/com/java110/goods/api/ProductApi.java
File was deleted
service-goods/src/main/java/com/java110/goods/api/ProductCategoryApi.java
File was deleted
service-goods/src/main/java/com/java110/goods/api/StoreOrderApi.java
File was deleted
service-goods/src/main/java/com/java110/goods/api/StoreOrderCartReturnApi.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuy/IDeleteGroupBuyBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuy/IGetGroupBuyBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuy/ISaveGroupBuyBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuy/IUpdateGroupBuyBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuy/impl/DeleteGroupBuyBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuy/impl/GetGroupBuyBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuy/impl/SaveGroupBuyBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuy/impl/UpdateGroupBuyBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyBatch/IDeleteGroupBuyBatchBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyBatch/IGetGroupBuyBatchBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyBatch/ISaveGroupBuyBatchBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyBatch/IUpdateGroupBuyBatchBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyBatch/impl/DeleteGroupBuyBatchBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyBatch/impl/GetGroupBuyBatchBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyBatch/impl/SaveGroupBuyBatchBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyBatch/impl/UpdateGroupBuyBatchBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/IDeleteGroupBuyProductBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/IGetGroupBuyProductBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/ISaveGroupBuyProductBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/IUpdateGroupBuyProductBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/impl/DeleteGroupBuyProductBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/impl/GetGroupBuyProductBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/impl/SaveGroupBuyProductBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProduct/impl/UpdateGroupBuyProductBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProductSpec/IDeleteGroupBuyProductSpecBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProductSpec/IGetGroupBuyProductSpecBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProductSpec/ISaveGroupBuyProductSpecBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProductSpec/IUpdateGroupBuyProductSpecBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProductSpec/impl/DeleteGroupBuyProductSpecBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProductSpec/impl/GetGroupBuyProductSpecBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProductSpec/impl/SaveGroupBuyProductSpecBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuyProductSpec/impl/UpdateGroupBuyProductSpecBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuySetting/IDeleteGroupBuySettingBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuySetting/IGetGroupBuySettingBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuySetting/ISaveGroupBuySettingBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuySetting/IUpdateGroupBuySettingBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuySetting/impl/DeleteGroupBuySettingBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuySetting/impl/GetGroupBuySettingBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuySetting/impl/SaveGroupBuySettingBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/groupBuySetting/impl/UpdateGroupBuySettingBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/product/IDeleteProductBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/product/IGetProductBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/product/ISaveProductBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/product/IUpdateProductBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/product/impl/DeleteProductBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/product/impl/GetProductBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/product/impl/SaveProductBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/product/impl/UpdateProductBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productAttr/IDeleteProductAttrBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productAttr/IGetProductAttrBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productAttr/ISaveProductAttrBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productAttr/IUpdateProductAttrBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productAttr/impl/DeleteProductAttrBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productAttr/impl/GetProductAttrBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productAttr/impl/SaveProductAttrBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productAttr/impl/UpdateProductAttrBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productCategory/IDeleteProductCategoryBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productCategory/IGetProductCategoryBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productCategory/ISaveProductCategoryBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productCategory/IUpdateProductCategoryBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productCategory/impl/DeleteProductCategoryBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productCategory/impl/GetProductCategoryBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productCategory/impl/SaveProductCategoryBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productCategory/impl/UpdateProductCategoryBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productDetail/IDeleteProductDetailBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productDetail/IGetProductDetailBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productDetail/ISaveProductDetailBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productDetail/IUpdateProductDetailBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productDetail/impl/DeleteProductDetailBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productDetail/impl/GetProductDetailBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productDetail/impl/SaveProductDetailBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productDetail/impl/UpdateProductDetailBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productLabel/IDeleteProductLabelBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productLabel/IGetProductLabelBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productLabel/ISaveProductLabelBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productLabel/IUpdateProductLabelBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productLabel/impl/DeleteProductLabelBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productLabel/impl/GetProductLabelBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productLabel/impl/SaveProductLabelBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productLabel/impl/UpdateProductLabelBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpec/IDeleteProductSpecBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpec/IGetProductSpecBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpec/ISaveProductSpecBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpec/IUpdateProductSpecBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpec/impl/DeleteProductSpecBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpec/impl/GetProductSpecBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpec/impl/SaveProductSpecBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpec/impl/UpdateProductSpecBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpecDetail/IDeleteProductSpecDetailBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpecDetail/IGetProductSpecDetailBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpecDetail/ISaveProductSpecDetailBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpecDetail/IUpdateProductSpecDetailBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpecDetail/impl/DeleteProductSpecDetailBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpecDetail/impl/GetProductSpecDetailBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpecDetail/impl/SaveProductSpecDetailBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpecDetail/impl/UpdateProductSpecDetailBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpecValue/IDeleteProductSpecValueBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpecValue/IGetProductSpecValueBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpecValue/ISaveProductSpecValueBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpecValue/IUpdateProductSpecValueBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpecValue/impl/DeleteProductSpecValueBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpecValue/impl/GetProductSpecValueBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpecValue/impl/SaveProductSpecValueBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/productSpecValue/impl/UpdateProductSpecValueBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeCart/IDeleteStoreCartBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeCart/IGetStoreCartBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeCart/ISaveStoreCartBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeCart/IUpdateStoreCartBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeCart/impl/DeleteStoreCartBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeCart/impl/GetStoreCartBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeCart/impl/SaveStoreCartBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeCart/impl/UpdateStoreCartBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/IDeleteStoreOrderBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/IGetStoreOrderBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/ISaveStoreOrderBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/IUpdateStoreOrderBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/impl/DeleteStoreOrderBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/impl/GetStoreOrderBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/impl/SaveStoreOrderBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrder/impl/UpdateStoreOrderBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderAddress/IDeleteStoreOrderAddressBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderAddress/IGetStoreOrderAddressBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderAddress/ISaveStoreOrderAddressBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderAddress/IUpdateStoreOrderAddressBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderAddress/impl/DeleteStoreOrderAddressBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderAddress/impl/GetStoreOrderAddressBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderAddress/impl/SaveStoreOrderAddressBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderAddress/impl/UpdateStoreOrderAddressBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCart/IDeleteStoreOrderCartBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCart/IGetStoreOrderCartBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCart/ISaveStoreOrderCartBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCart/IUpdateStoreOrderCartBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCart/impl/DeleteStoreOrderCartBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCart/impl/GetStoreOrderCartBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCart/impl/SaveStoreOrderCartBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCart/impl/UpdateStoreOrderCartBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartEvent/IDeleteStoreOrderCartEventBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartEvent/IGetStoreOrderCartEventBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartEvent/ISaveStoreOrderCartEventBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartEvent/IUpdateStoreOrderCartEventBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartEvent/impl/DeleteStoreOrderCartEventBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartEvent/impl/GetStoreOrderCartEventBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartEvent/impl/SaveStoreOrderCartEventBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartEvent/impl/UpdateStoreOrderCartEventBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturn/IDeleteStoreOrderCartReturnBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturn/IGetStoreOrderCartReturnBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturn/ISaveStoreOrderCartReturnBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturn/IUpdateStoreOrderCartReturnBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturn/impl/DeleteStoreOrderCartReturnBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturn/impl/GetStoreOrderCartReturnBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturn/impl/SaveStoreOrderCartReturnBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturn/impl/UpdateStoreOrderCartReturnBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturnEvent/IDeleteStoreOrderCartReturnEventBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturnEvent/IGetStoreOrderCartReturnEventBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturnEvent/ISaveStoreOrderCartReturnEventBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturnEvent/IUpdateStoreOrderCartReturnEventBMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturnEvent/impl/DeleteStoreOrderCartReturnEventBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturnEvent/impl/GetStoreOrderCartReturnEventBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturnEvent/impl/SaveStoreOrderCartReturnEventBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/bmo/storeOrderCartReturnEvent/impl/UpdateStoreOrderCartReturnEventBMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IGroupBuyBatchServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IGroupBuyProductServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IGroupBuyProductSpecServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IGroupBuyServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IGroupBuySettingServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IProductAttrServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IProductCategoryServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IProductDetailServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IProductLabelServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IProductServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IProductSpecDetailServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IProductSpecServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IProductSpecValueServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IStoreCartServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IStoreOrderAddressServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IStoreOrderCartEventServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IStoreOrderCartReturnEventServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IStoreOrderCartReturnServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IStoreOrderCartServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/IStoreOrderServiceDao.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/GroupBuyBatchServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/GroupBuyProductServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/GroupBuyProductSpecServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/GroupBuyServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/GroupBuySettingServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/ProductAttrServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/ProductCategoryServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/ProductDetailServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/ProductLabelServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/ProductServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/ProductSpecDetailServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/ProductSpecServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/ProductSpecValueServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/StoreCartServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/StoreOrderAddressServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/StoreOrderCartEventServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/StoreOrderCartReturnEventServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/StoreOrderCartReturnServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/StoreOrderCartServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/dao/impl/StoreOrderServiceDaoImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/kafka/GoodsServiceBean.java
File was deleted
service-goods/src/main/java/com/java110/goods/kafka/GoodsServiceKafka.java
File was deleted
service-goods/src/main/java/com/java110/goods/package-info.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/IGoodsServiceSMO.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/GoodsServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/GroupBuyBatchInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/GroupBuyInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/GroupBuyProductInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/GroupBuyProductSpecInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/GroupBuySettingInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/ProductAttrInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/ProductCategoryInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/ProductDetailInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/ProductInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/ProductLabelInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/ProductSpecDetailInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/ProductSpecInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/ProductSpecValueInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/StoreCartInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/StoreOrderAddressInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/StoreOrderCartEventInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/StoreOrderCartInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/StoreOrderCartReturnEventInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/StoreOrderCartReturnInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/java/com/java110/goods/smo/impl/StoreOrderInnerServiceSMOImpl.java
File was deleted
service-goods/src/main/resources/application-dev.yml
File was deleted
service-goods/src/main/resources/application-prod.yml
File was deleted
service-goods/src/main/resources/application-test.yml
File was deleted
service-goods/src/main/resources/banner.txt
File was deleted
service-goods/src/main/resources/dataSource.yml
File was deleted
service-goods/src/main/resources/java110.properties
File was deleted
service-job/src/main/java/com/java110/job/adapt/fee/PayFeeDetailToMonthAdapt.java
New file
@@ -0,0 +1,115 @@
package com.java110.job.adapt.fee;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.java110.dto.fee.FeeDetailDto;
import com.java110.entity.order.Business;
import com.java110.intf.community.ICommunityInnerServiceSMO;
import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
import com.java110.intf.user.IOwnerAppUserInnerServiceSMO;
import com.java110.intf.user.IOwnerCarInnerServiceSMO;
import com.java110.intf.user.IOwnerInnerServiceSMO;
import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
import com.java110.job.adapt.DatabusAdaptImpl;
import com.java110.job.adapt.fee.asyn.IPayFeeDetailToMonth;
import com.java110.po.fee.PayFeeDetailPo;
import com.java110.utils.util.Assert;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/**
 *  缴费数据离散到每个月
 *
 *  主要为了解决 华宁物业需求
 *
 * @author 吴学文
 * @date 2020-12-11  18:54
 */
@Component(value = "payFeeDetailToMonthAdapt")
public class PayFeeDetailToMonthAdapt extends DatabusAdaptImpl {
    private static Logger logger = LoggerFactory.getLogger(PayFeeDetailToMonthAdapt.class);
    @Autowired
    private ICommunityInnerServiceSMO communityInnerServiceSMO;
    @Autowired
    private IFeeDetailInnerServiceSMO feeDetailInnerServiceSMOImpl;
    @Autowired
    private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMO;
    @Autowired
    private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMO;
    @Autowired
    private IOwnerInnerServiceSMO ownerInnerServiceSMO;
    @Autowired
    private IOwnerAppUserInnerServiceSMO ownerAppUserInnerServiceSMO;
    @Autowired
    private IPayFeeDetailToMonth payFeeDetailToMonthImpl;
    //模板信息推送地址
    private static String sendMsgUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=";
    public final static String ALI_SMS_DOMAIN = "ALI_SMS";
    @Override
    public void execute(Business business, List<Business> businesses) {
        JSONObject data = business.getData();
        JSONArray businessPayFeeDetails = null;
        if (data == null) {
            FeeDetailDto feeDetailDto = new FeeDetailDto();
            feeDetailDto.setbId(business.getbId());
            List<FeeDetailDto> feeDetailDtos = feeDetailInnerServiceSMOImpl.queryFeeDetails(feeDetailDto);
            Assert.listOnlyOne(feeDetailDtos, "未查询到缴费记录");
            businessPayFeeDetails = JSONArray.parseArray(JSONArray.toJSONString(feeDetailDtos, SerializerFeature.WriteDateUseDateFormat));
        } else if (data.containsKey(PayFeeDetailPo.class.getSimpleName())) {
            Object bObj = data.get(PayFeeDetailPo.class.getSimpleName());
            if (bObj instanceof JSONObject) {
                businessPayFeeDetails = new JSONArray();
                businessPayFeeDetails.add(bObj);
            } else if (bObj instanceof Map) {
                businessPayFeeDetails = new JSONArray();
                businessPayFeeDetails.add(JSONObject.parseObject(JSONObject.toJSONString(bObj)));
            } else if (bObj instanceof List) {
                businessPayFeeDetails = JSONArray.parseArray(JSONObject.toJSONString(bObj));
            } else {
                businessPayFeeDetails = (JSONArray) bObj;
            }
        } else {
            return;
        }
        if (businessPayFeeDetails == null) {
            return;
        }
        for (int bPayFeeDetailIndex = 0; bPayFeeDetailIndex < businessPayFeeDetails.size(); bPayFeeDetailIndex++) {
            JSONObject businessPayFeeDetail = businessPayFeeDetails.getJSONObject(bPayFeeDetailIndex);
            doPayFeeDetail(business, businessPayFeeDetail);
        }
    }
    /**
     * 转异步处理
     * @param business
     * @param businessPayFeeDetail
     */
    private void doPayFeeDetail(Business business, JSONObject businessPayFeeDetail) {
        payFeeDetailToMonthImpl.doPayFeeDetail(business,businessPayFeeDetail);
    }
}
service-job/src/main/java/com/java110/job/adapt/fee/asyn/IPayFeeDetailToMonth.java
New file
@@ -0,0 +1,9 @@
package com.java110.job.adapt.fee.asyn;
import com.alibaba.fastjson.JSONObject;
import com.java110.entity.order.Business;
public interface IPayFeeDetailToMonth {
    void doPayFeeDetail(Business business, JSONObject businessPayFeeDetail);
}
service-job/src/main/java/com/java110/job/adapt/fee/asyn/impl/PayFeeDetailToMonthIImpl.java
New file
@@ -0,0 +1,101 @@
package com.java110.job.adapt.fee.asyn.impl;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.core.smo.IComputeFeeSMO;
import com.java110.dto.fee.FeeDto;
import com.java110.entity.order.Business;
import com.java110.intf.fee.IFeeInnerServiceSMO;
import com.java110.intf.fee.IPayFeeDetailMonthInnerServiceSMO;
import com.java110.job.adapt.fee.asyn.IPayFeeDetailToMonth;
import com.java110.po.fee.PayFeeDetailPo;
import com.java110.po.payFeeDetailMonth.PayFeeDetailMonthPo;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
@Service
public class PayFeeDetailToMonthIImpl implements IPayFeeDetailToMonth {
    @Autowired
    private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
    @Autowired
    private IComputeFeeSMO computeFeeSMOImpl;
    @Autowired
    private IPayFeeDetailMonthInnerServiceSMO payFeeDetailMonthInnerServiceSMOImpl;
    @Override
    @Async
    public void doPayFeeDetail(Business business, JSONObject businessPayFeeDetail) {
        //查询缴费明细
        PayFeeDetailPo payFeeDetailPo = BeanConvertUtil.covertBean(businessPayFeeDetail, PayFeeDetailPo.class);
        FeeDto feeDto = new FeeDto();
        feeDto.setFeeId(payFeeDetailPo.getFeeId());
        feeDto.setCommunityId(payFeeDetailPo.getCommunityId());
        List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
        Assert.listOnlyOne(feeDtos, "未查询到费用信息");
        feeDto = feeDtos.get(0);
        Date startTime = null;
        Date endTime = null;
        try {
            startTime = DateUtil.getDateFromString(businessPayFeeDetail.getString("startTime"), DateUtil.DATE_FORMATE_STRING_A);
            endTime = DateUtil.getDateFromString(businessPayFeeDetail.getString("endTime"), DateUtil.DATE_FORMATE_STRING_A);
        } catch (ParseException e) {
            throw new IllegalArgumentException("时间格式错误");
        }
        double maxMonth = Math.ceil(computeFeeSMOImpl.dayCompare(startTime, endTime));
        if (maxMonth < 1) {
            return;
        }
        double feePrice = computeFeeSMOImpl.getFeePrice(feeDto);
        BigDecimal totalRecDec = new BigDecimal(businessPayFeeDetail.getDouble("receivedAmount"));
        //每月平均值
        BigDecimal priRecDec = totalRecDec.divide(new BigDecimal(maxMonth), 2, BigDecimal.ROUND_HALF_EVEN);
        List<PayFeeDetailMonthPo> payFeeDetailMonthPos = new ArrayList<>();
        Calendar calendar = Calendar.getInstance();
        PayFeeDetailMonthPo tmpPayFeeDetailMonthPo = null;
        BigDecimal discountAmount = new BigDecimal(0.0);
        for (int month = 0; month < maxMonth; month++) {
            calendar.setTime(startTime);
            calendar.add(Calendar.MONTH, month);
            discountAmount = new BigDecimal(feePrice).subtract(priRecDec).setScale(2, BigDecimal.ROUND_HALF_EVEN);
            tmpPayFeeDetailMonthPo = new PayFeeDetailMonthPo();
            tmpPayFeeDetailMonthPo.setFeeId(feeDto.getFeeId());
            tmpPayFeeDetailMonthPo.setCommunityId(feeDto.getCommunityId());
            tmpPayFeeDetailMonthPo.setDetailId(businessPayFeeDetail.getString("detailId"));
            tmpPayFeeDetailMonthPo.setDetailMonth((calendar.get(Calendar.MONTH) + 1) + "");
            tmpPayFeeDetailMonthPo.setDetailYear(calendar.get(Calendar.YEAR) + "");
            tmpPayFeeDetailMonthPo.setDiscountAmount(discountAmount.doubleValue() + "");
            tmpPayFeeDetailMonthPo.setMonthId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_monthId));
            tmpPayFeeDetailMonthPo.setReceivableAmount(feePrice + "");
            tmpPayFeeDetailMonthPo.setReceivedAmount(priRecDec.doubleValue() + "");
            tmpPayFeeDetailMonthPo.setRemark("程序计算生成");
            payFeeDetailMonthPos.add(tmpPayFeeDetailMonthPo);
        }
        payFeeDetailMonthInnerServiceSMOImpl.savePayFeeDetailMonths(payFeeDetailMonthPos);
    }
}
service-oa/pom.xml
New file
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>MicroCommunity</artifactId>
        <groupId>com.java110</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>service-oa</artifactId>
    <name>service-oa</name>
    <!-- FIXME change it to the project's website -->
    <url>http://www.example.com</url>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.7</maven.compiler.source>
        <maven.compiler.target>1.7</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>com.java110</groupId>
            <artifactId>java110-service</artifactId>
        </dependency>
    </dependencies>
    <build>
        <finalName>service-oa</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.10</version>
                <executions>
                    <execution>
                        <id>unpack</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>com.java110</groupId>
                                    <artifactId>java110-interface</artifactId>
                                    <version>${microcommunity.version}</version>
                                    <type>jar</type>
                                    <overWrite>true</overWrite>
                                    <outputDirectory>${project.build.directory}/classes</outputDirectory>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.java110.oa.OaServiceApplicationStart</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
service-oa/src/main/java/com/java110/oa/OaServiceApplicationStart.java
New file
@@ -0,0 +1,92 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.oa;
import com.java110.core.annotation.Java110ListenerDiscovery;
import com.java110.core.client.RestTemplate;
import com.java110.core.event.service.BusinessServiceDataFlowEventPublishing;
import com.java110.service.init.ServiceStartInit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.http.converter.StringHttpMessageConverter;
import java.nio.charset.Charset;
/**
 * spring boot 初始化启动类
 *
 * @version v0.1
 * @auther com.java110.wuxw
 * @mail 928255095@qq.com
 * @date 2016年8月6日
 * @tag
 */
@SpringBootApplication(scanBasePackages = {"com.java110.service", "com.java110.oa",
        "com.java110.core", "com.java110.config.properties.code", "com.java110.db"})
@EnableDiscoveryClient
@Java110ListenerDiscovery(listenerPublishClass = BusinessServiceDataFlowEventPublishing.class,
        basePackages = {"com.java110.oa.listener"})
@EnableFeignClients(basePackages = {"com.java110.intf.user",
        "com.java110.intf.order",
        "com.java110.intf.community",
        "com.java110.intf.common",
        "com.java110.intf.store"})
public class OaServiceApplicationStart {
    private static Logger logger = LoggerFactory.getLogger(OaServiceApplicationStart.class);
    /**
     * 实例化RestTemplate,通过@LoadBalanced注解开启均衡负载能力.
     *
     * @return restTemplate
     */
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate() {
        StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
        RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(RestTemplate.class);
        return restTemplate;
    }
    /**
     * 实例化RestTemplate
     *
     * @return restTemplate
     */
    @Bean
    public RestTemplate outRestTemplate() {
        StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
        com.java110.core.client.RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(RestTemplate.class);
        return restTemplate;
    }
    public static void main(String[] args) throws Exception {
        ApplicationContext context = SpringApplication.run(OaServiceApplicationStart.class, args);
        ServiceStartInit.initSystemConfig(context);
    }
}
service-oa/src/main/java/com/java110/oa/api/OaWorkflowApi.java
New file
@@ -0,0 +1,212 @@
package com.java110.oa.api;
import com.alibaba.fastjson.JSONObject;
import com.java110.dto.oaWorkflow.OaWorkflowDto;
import com.java110.dto.oaWorkflowXml.OaWorkflowXmlDto;
import com.java110.oa.bmo.oaWorkflow.IDeleteOaWorkflowBMO;
import com.java110.oa.bmo.oaWorkflow.IGetOaWorkflowBMO;
import com.java110.oa.bmo.oaWorkflow.ISaveOaWorkflowBMO;
import com.java110.oa.bmo.oaWorkflow.IUpdateOaWorkflowBMO;
import com.java110.oa.bmo.oaWorkflowXml.IDeleteOaWorkflowXmlBMO;
import com.java110.oa.bmo.oaWorkflowXml.IGetOaWorkflowXmlBMO;
import com.java110.oa.bmo.oaWorkflowXml.ISaveOaWorkflowXmlBMO;
import com.java110.oa.bmo.oaWorkflowXml.IUpdateOaWorkflowXmlBMO;
import com.java110.po.oaWorkflow.OaWorkflowPo;
import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping(value = "/oaWorkflow")
public class OaWorkflowApi {
    @Autowired
    private ISaveOaWorkflowBMO saveOaWorkflowBMOImpl;
    @Autowired
    private IUpdateOaWorkflowBMO updateOaWorkflowBMOImpl;
    @Autowired
    private IDeleteOaWorkflowBMO deleteOaWorkflowBMOImpl;
    @Autowired
    private IGetOaWorkflowBMO getOaWorkflowBMOImpl;
    @Autowired
    private ISaveOaWorkflowXmlBMO saveOaWorkflowXmlBMOImpl;
    @Autowired
    private IUpdateOaWorkflowXmlBMO updateOaWorkflowXmlBMOImpl;
    @Autowired
    private IDeleteOaWorkflowXmlBMO deleteOaWorkflowXmlBMOImpl;
    @Autowired
    private IGetOaWorkflowXmlBMO getOaWorkflowXmlBMOImpl;
    /**
     * 微信保存消息模板
     *
     * @param reqJson
     * @return
     * @serviceCode /oaWorkflow/saveOaWorkflow
     * @path /app/oaWorkflow/saveOaWorkflow
     */
    @RequestMapping(value = "/saveOaWorkflow", method = RequestMethod.POST)
    public ResponseEntity<String> saveOaWorkflow(@RequestHeader(value = "store-id") String storeId,
                                                 @RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "flowName", "请求报文中未包含flowName");
        Assert.hasKeyAndValue(reqJson, "flowType", "请求报文中未包含flowType");
        OaWorkflowPo oaWorkflowPo = BeanConvertUtil.covertBean(reqJson, OaWorkflowPo.class);
        oaWorkflowPo.setStoreId(storeId);
        return saveOaWorkflowBMOImpl.save(oaWorkflowPo);
    }
    /**
     * 微信修改消息模板
     *
     * @param reqJson
     * @return
     * @serviceCode /oaWorkflow/updateOaWorkflow
     * @path /app/oaWorkflow/updateOaWorkflow
     */
    @RequestMapping(value = "/updateOaWorkflow", method = RequestMethod.POST)
    public ResponseEntity<String> updateOaWorkflow(@RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "flowName", "请求报文中未包含flowName");
        Assert.hasKeyAndValue(reqJson, "flowType", "请求报文中未包含flowType");
        Assert.hasKeyAndValue(reqJson, "flowId", "flowId不能为空");
        OaWorkflowPo oaWorkflowPo = BeanConvertUtil.covertBean(reqJson, OaWorkflowPo.class);
        return updateOaWorkflowBMOImpl.update(oaWorkflowPo);
    }
    /**
     * 微信删除消息模板
     *
     * @param reqJson
     * @return
     * @serviceCode /oaWorkflow/deleteOaWorkflow
     * @path /app/oaWorkflow/deleteOaWorkflow
     */
    @RequestMapping(value = "/deleteOaWorkflow", method = RequestMethod.POST)
    public ResponseEntity<String> deleteOaWorkflow(@RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "flowId", "flowId不能为空");
        OaWorkflowPo oaWorkflowPo = BeanConvertUtil.covertBean(reqJson, OaWorkflowPo.class);
        return deleteOaWorkflowBMOImpl.delete(oaWorkflowPo);
    }
    /**
     * 微信删除消息模板
     *
     * @param storeId 小区ID
     * @return
     * @serviceCode /oaWorkflow/queryOaWorkflow
     * @path /app/oaWorkflow/queryOaWorkflow
     */
    @RequestMapping(value = "/queryOaWorkflow", method = RequestMethod.GET)
    public ResponseEntity<String> queryOaWorkflow(@RequestHeader(value = "store-id") String storeId,
                                                  @RequestParam(value="flowId",required = false) String flowId,
                                                  @RequestParam(value = "page") int page,
                                                  @RequestParam(value = "row") int row) {
        OaWorkflowDto oaWorkflowDto = new OaWorkflowDto();
        oaWorkflowDto.setPage(page);
        oaWorkflowDto.setRow(row);
        oaWorkflowDto.setStoreId(storeId);
        oaWorkflowDto.setFlowId(flowId);
        return getOaWorkflowBMOImpl.get(oaWorkflowDto);
    }
    /**
     * 微信保存消息模板
     *
     * @param reqJson
     * @return
     * @serviceCode /oaWorkflow/saveOaWorkflowXml
     * @path /app/oaWorkflow/saveOaWorkflowXml
     */
    @RequestMapping(value = "/saveOaWorkflowXml", method = RequestMethod.POST)
    public ResponseEntity<String> saveOaWorkflowXml(@RequestHeader(value = "store-id") String storeId,
                                                    @RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "flowId", "请求报文中未包含flowId");
        Assert.hasKeyAndValue(reqJson, "bpmnXml", "请求报文中未包含bpmnXml");
        OaWorkflowXmlPo oaWorkflowXmlPo = BeanConvertUtil.covertBean(reqJson, OaWorkflowXmlPo.class);
        oaWorkflowXmlPo.setStoreId(storeId);
        return saveOaWorkflowXmlBMOImpl.save(oaWorkflowXmlPo);
    }
    /**
     * 微信修改消息模板
     *
     * @param reqJson
     * @return
     * @serviceCode /oaWorkflow/updateOaWorkflowXml
     * @path /app/oaWorkflow/updateOaWorkflowXml
     */
    @RequestMapping(value = "/updateOaWorkflowXml", method = RequestMethod.POST)
    public ResponseEntity<String> updateOaWorkflowXml(@RequestHeader(value = "store-id") String storeId,
                                                      @RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "flowId", "请求报文中未包含flowId");
        Assert.hasKeyAndValue(reqJson, "bpmnXml", "请求报文中未包含bpmnXml");
        Assert.hasKeyAndValue(reqJson, "xmlId", "xmlId不能为空");
        OaWorkflowXmlPo oaWorkflowXmlPo = BeanConvertUtil.covertBean(reqJson, OaWorkflowXmlPo.class);
        oaWorkflowXmlPo.setStoreId(storeId);
        return updateOaWorkflowXmlBMOImpl.update(oaWorkflowXmlPo);
    }
    /**
     * 微信删除消息模板
     *
     * @param reqJson
     * @return
     * @serviceCode /oaWorkflow/deleteOaWorkflowXml
     * @path /app/oaWorkflow/deleteOaWorkflowXml
     */
    @RequestMapping(value = "/deleteOaWorkflowXml", method = RequestMethod.POST)
    public ResponseEntity<String> deleteOaWorkflowXml(@RequestHeader(value = "store-id") String storeId,
                                                      @RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "xmlId", "xmlId不能为空");
        OaWorkflowXmlPo oaWorkflowXmlPo = BeanConvertUtil.covertBean(reqJson, OaWorkflowXmlPo.class);
        oaWorkflowXmlPo.setStoreId(storeId);
        return deleteOaWorkflowXmlBMOImpl.delete(oaWorkflowXmlPo);
    }
    /**
     * 微信删除消息模板
     *
     * @param storeId 小区ID
     * @return
     * @serviceCode /oaWorkflow/queryOaWorkflowXml
     * @path /app/oaWorkflow/queryOaWorkflowXml
     */
    @RequestMapping(value = "/queryOaWorkflowXml", method = RequestMethod.GET)
    public ResponseEntity<String> queryOaWorkflowXml(@RequestHeader(value = "store-id") String storeId,
                                                     @RequestParam(value="flowId") String flowId,
                                                     @RequestParam(value = "page") int page,
                                                     @RequestParam(value = "row") int row) {
        OaWorkflowXmlDto oaWorkflowXmlDto = new OaWorkflowXmlDto();
        oaWorkflowXmlDto.setPage(page);
        oaWorkflowXmlDto.setRow(row);
        oaWorkflowXmlDto.setStoreId(storeId);
        oaWorkflowXmlDto.setFlowId(flowId);
        return getOaWorkflowXmlBMOImpl.get(oaWorkflowXmlDto);
    }
}
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/IDeleteOaWorkflowBMO.java
New file
@@ -0,0 +1,19 @@
package com.java110.oa.bmo.oaWorkflow;
import com.java110.po.oaWorkflow.OaWorkflowPo;
import org.springframework.http.ResponseEntity;
public interface IDeleteOaWorkflowBMO {
    /**
     * 修改OA工作流
     * add by wuxw
     *
     * @param oaWorkflowPo
     * @return
     */
    ResponseEntity<String> delete(OaWorkflowPo oaWorkflowPo);
}
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/IGetOaWorkflowBMO.java
New file
@@ -0,0 +1,19 @@
package com.java110.oa.bmo.oaWorkflow;
import com.java110.dto.oaWorkflow.OaWorkflowDto;
import org.springframework.http.ResponseEntity;
public interface IGetOaWorkflowBMO {
    /**
     * 查询OA工作流
     * add by wuxw
     *
     * @param oaWorkflowDto
     * @return
     */
    ResponseEntity<String> get(OaWorkflowDto oaWorkflowDto);
}
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/ISaveOaWorkflowBMO.java
New file
@@ -0,0 +1,17 @@
package com.java110.oa.bmo.oaWorkflow;
import com.java110.po.oaWorkflow.OaWorkflowPo;
import org.springframework.http.ResponseEntity;
public interface ISaveOaWorkflowBMO {
    /**
     * 添加OA工作流
     * add by wuxw
     * @param oaWorkflowPo
     * @return
     */
    ResponseEntity<String> save(OaWorkflowPo oaWorkflowPo);
}
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/IUpdateOaWorkflowBMO.java
New file
@@ -0,0 +1,17 @@
package com.java110.oa.bmo.oaWorkflow;
import com.java110.po.oaWorkflow.OaWorkflowPo;
import org.springframework.http.ResponseEntity;
public interface IUpdateOaWorkflowBMO {
    /**
     * 修改OA工作流
     * add by wuxw
     * @param oaWorkflowPo
     * @return
     */
    ResponseEntity<String> update(OaWorkflowPo oaWorkflowPo);
}
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/DeleteOaWorkflowBMOImpl.java
New file
@@ -0,0 +1,34 @@
package com.java110.oa.bmo.oaWorkflow.impl;
import com.java110.core.annotation.Java110Transactional;
import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
import com.java110.oa.bmo.oaWorkflow.IDeleteOaWorkflowBMO;
import com.java110.po.oaWorkflow.OaWorkflowPo;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@Service("deleteOaWorkflowBMOImpl")
public class DeleteOaWorkflowBMOImpl implements IDeleteOaWorkflowBMO {
    @Autowired
    private IOaWorkflowInnerServiceSMO oaWorkflowInnerServiceSMOImpl;
    /**
     * @param oaWorkflowPo 数据
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> delete(OaWorkflowPo oaWorkflowPo) {
        int flag = oaWorkflowInnerServiceSMOImpl.deleteOaWorkflow(oaWorkflowPo);
        if (flag > 0) {
            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
        }
        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
    }
}
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/GetOaWorkflowBMOImpl.java
New file
@@ -0,0 +1,44 @@
package com.java110.oa.bmo.oaWorkflow.impl;
import com.java110.dto.oaWorkflow.OaWorkflowDto;
import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
import com.java110.oa.bmo.oaWorkflow.IGetOaWorkflowBMO;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service("getOaWorkflowBMOImpl")
public class GetOaWorkflowBMOImpl implements IGetOaWorkflowBMO {
    @Autowired
    private IOaWorkflowInnerServiceSMO oaWorkflowInnerServiceSMOImpl;
    /**
     * @param oaWorkflowDto
     * @return 订单服务能够接受的报文
     */
    public ResponseEntity<String> get(OaWorkflowDto oaWorkflowDto) {
        int count = oaWorkflowInnerServiceSMOImpl.queryOaWorkflowsCount(oaWorkflowDto);
        List<OaWorkflowDto> oaWorkflowDtos = null;
        if (count > 0) {
            oaWorkflowDtos = oaWorkflowInnerServiceSMOImpl.queryOaWorkflows(oaWorkflowDto);
        } else {
            oaWorkflowDtos = new ArrayList<>();
        }
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) oaWorkflowDto.getRow()), count, oaWorkflowDtos);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        return responseEntity;
    }
}
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/SaveOaWorkflowBMOImpl.java
New file
@@ -0,0 +1,53 @@
package com.java110.oa.bmo.oaWorkflow.impl;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.oaWorkflow.OaWorkflowDto;
import com.java110.dto.workflow.WorkflowModelDto;
import com.java110.intf.common.IWorkflowInnerServiceSMO;
import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
import com.java110.oa.bmo.oaWorkflow.ISaveOaWorkflowBMO;
import com.java110.po.oaWorkflow.OaWorkflowPo;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@Service("saveOaWorkflowBMOImpl")
public class SaveOaWorkflowBMOImpl implements ISaveOaWorkflowBMO {
    @Autowired
    private IOaWorkflowInnerServiceSMO oaWorkflowInnerServiceSMOImpl;
    @Autowired
    private IWorkflowInnerServiceSMO workflowInnerServiceSMOImpl;
    /**
     * 添加小区信息
     *
     * @param oaWorkflowPo
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> save(OaWorkflowPo oaWorkflowPo) {
        oaWorkflowPo.setFlowId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_flowId));
        //创建model
        WorkflowModelDto workflowModelDto = new WorkflowModelDto();
        workflowModelDto.setName(oaWorkflowPo.getFlowName());
        workflowModelDto.setKey(oaWorkflowPo.getFlowId());
        workflowModelDto = workflowInnerServiceSMOImpl.createModel(workflowModelDto);
        oaWorkflowPo.setModelId(workflowModelDto.getModelId());
        oaWorkflowPo.setFlowKey(workflowModelDto.getKey());
        oaWorkflowPo.setState(OaWorkflowDto.STATE_WAIT);
        int flag = oaWorkflowInnerServiceSMOImpl.saveOaWorkflow(oaWorkflowPo);
        if (flag > 0) {
            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
        }
        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
    }
}
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflow/impl/UpdateOaWorkflowBMOImpl.java
New file
@@ -0,0 +1,36 @@
package com.java110.oa.bmo.oaWorkflow.impl;
import com.java110.core.annotation.Java110Transactional;
import com.java110.dto.oaWorkflow.OaWorkflowDto;
import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
import com.java110.oa.bmo.oaWorkflow.IUpdateOaWorkflowBMO;
import com.java110.po.oaWorkflow.OaWorkflowPo;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@Service("updateOaWorkflowBMOImpl")
public class UpdateOaWorkflowBMOImpl implements IUpdateOaWorkflowBMO {
    @Autowired
    private IOaWorkflowInnerServiceSMO oaWorkflowInnerServiceSMOImpl;
    /**
     * @param oaWorkflowPo
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> update(OaWorkflowPo oaWorkflowPo) {
        //只要已修改 就 状态刷为待部署
        oaWorkflowPo.setState(OaWorkflowDto.STATE_WAIT);
        int flag = oaWorkflowInnerServiceSMOImpl.updateOaWorkflow(oaWorkflowPo);
        if (flag > 0) {
            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
        }
        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
    }
}
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IDeleteOaWorkflowXmlBMO.java
New file
@@ -0,0 +1,17 @@
package com.java110.oa.bmo.oaWorkflowXml;
import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
import org.springframework.http.ResponseEntity;
public interface IDeleteOaWorkflowXmlBMO {
    /**
     * 修改OA流程图
     * add by wuxw
     * @param oaWorkflowXmlPo
     * @return
     */
    ResponseEntity<String> delete(OaWorkflowXmlPo oaWorkflowXmlPo);
}
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IGetOaWorkflowXmlBMO.java
New file
@@ -0,0 +1,16 @@
package com.java110.oa.bmo.oaWorkflowXml;
import com.java110.dto.oaWorkflowXml.OaWorkflowXmlDto;
import org.springframework.http.ResponseEntity;
public interface IGetOaWorkflowXmlBMO {
    /**
     * 查询OA流程图
     * add by wuxw
     * @param  oaWorkflowXmlDto
     * @return
     */
    ResponseEntity<String> get(OaWorkflowXmlDto oaWorkflowXmlDto);
}
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/ISaveOaWorkflowXmlBMO.java
New file
@@ -0,0 +1,17 @@
package com.java110.oa.bmo.oaWorkflowXml;
import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
import org.springframework.http.ResponseEntity;
public interface ISaveOaWorkflowXmlBMO {
    /**
     * 添加OA流程图
     * add by wuxw
     * @param oaWorkflowXmlPo
     * @return
     */
    ResponseEntity<String> save(OaWorkflowXmlPo oaWorkflowXmlPo);
}
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/IUpdateOaWorkflowXmlBMO.java
New file
@@ -0,0 +1,17 @@
package com.java110.oa.bmo.oaWorkflowXml;
import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
import org.springframework.http.ResponseEntity;
public interface IUpdateOaWorkflowXmlBMO {
    /**
     * 修改OA流程图
     * add by wuxw
     * @param oaWorkflowXmlPo
     * @return
     */
    ResponseEntity<String> update(OaWorkflowXmlPo oaWorkflowXmlPo);
}
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/DeleteOaWorkflowXmlBMOImpl.java
New file
@@ -0,0 +1,34 @@
package com.java110.oa.bmo.oaWorkflowXml.impl;
import com.java110.core.annotation.Java110Transactional;
import com.java110.intf.oa.IOaWorkflowXmlInnerServiceSMO;
import com.java110.oa.bmo.oaWorkflowXml.IDeleteOaWorkflowXmlBMO;
import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@Service("deleteOaWorkflowXmlBMOImpl")
public class DeleteOaWorkflowXmlBMOImpl implements IDeleteOaWorkflowXmlBMO {
    @Autowired
    private IOaWorkflowXmlInnerServiceSMO oaWorkflowXmlInnerServiceSMOImpl;
    /**
     * @param oaWorkflowXmlPo 数据
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> delete(OaWorkflowXmlPo oaWorkflowXmlPo) {
        int flag = oaWorkflowXmlInnerServiceSMOImpl.deleteOaWorkflowXml(oaWorkflowXmlPo);
        if (flag > 0) {
            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
        }
        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
    }
}
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/GetOaWorkflowXmlBMOImpl.java
New file
@@ -0,0 +1,44 @@
package com.java110.oa.bmo.oaWorkflowXml.impl;
import com.java110.dto.oaWorkflowXml.OaWorkflowXmlDto;
import com.java110.intf.oa.IOaWorkflowXmlInnerServiceSMO;
import com.java110.oa.bmo.oaWorkflowXml.IGetOaWorkflowXmlBMO;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service("getOaWorkflowXmlBMOImpl")
public class GetOaWorkflowXmlBMOImpl implements IGetOaWorkflowXmlBMO {
    @Autowired
    private IOaWorkflowXmlInnerServiceSMO oaWorkflowXmlInnerServiceSMOImpl;
    /**
     * @param oaWorkflowXmlDto
     * @return 订单服务能够接受的报文
     */
    public ResponseEntity<String> get(OaWorkflowXmlDto oaWorkflowXmlDto) {
        int count = oaWorkflowXmlInnerServiceSMOImpl.queryOaWorkflowXmlsCount(oaWorkflowXmlDto);
        List<OaWorkflowXmlDto> oaWorkflowXmlDtos = null;
        if (count > 0) {
            oaWorkflowXmlDtos = oaWorkflowXmlInnerServiceSMOImpl.queryOaWorkflowXmls(oaWorkflowXmlDto);
        } else {
            oaWorkflowXmlDtos = new ArrayList<>();
        }
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) oaWorkflowXmlDto.getRow()), count, oaWorkflowXmlDtos);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        return responseEntity;
    }
}
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/SaveOaWorkflowXmlBMOImpl.java
New file
@@ -0,0 +1,38 @@
package com.java110.oa.bmo.oaWorkflowXml.impl;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.intf.oa.IOaWorkflowXmlInnerServiceSMO;
import com.java110.oa.bmo.oaWorkflowXml.ISaveOaWorkflowXmlBMO;
import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@Service("saveOaWorkflowXmlBMOImpl")
public class SaveOaWorkflowXmlBMOImpl implements ISaveOaWorkflowXmlBMO {
    @Autowired
    private IOaWorkflowXmlInnerServiceSMO oaWorkflowXmlInnerServiceSMOImpl;
    /**
     * 添加小区信息
     *
     * @param oaWorkflowXmlPo
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> save(OaWorkflowXmlPo oaWorkflowXmlPo) {
        oaWorkflowXmlPo.setXmlId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_xmlId));
        int flag = oaWorkflowXmlInnerServiceSMOImpl.saveOaWorkflowXml(oaWorkflowXmlPo);
        if (flag > 0) {
            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
        }
        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
    }
}
service-oa/src/main/java/com/java110/oa/bmo/oaWorkflowXml/impl/UpdateOaWorkflowXmlBMOImpl.java
New file
@@ -0,0 +1,34 @@
package com.java110.oa.bmo.oaWorkflowXml.impl;
import com.java110.core.annotation.Java110Transactional;
import com.java110.intf.oa.IOaWorkflowXmlInnerServiceSMO;
import com.java110.oa.bmo.oaWorkflowXml.IUpdateOaWorkflowXmlBMO;
import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@Service("updateOaWorkflowXmlBMOImpl")
public class UpdateOaWorkflowXmlBMOImpl implements IUpdateOaWorkflowXmlBMO {
    @Autowired
    private IOaWorkflowXmlInnerServiceSMO oaWorkflowXmlInnerServiceSMOImpl;
    /**
     * @param oaWorkflowXmlPo
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> update(OaWorkflowXmlPo oaWorkflowXmlPo) {
        int flag = oaWorkflowXmlInnerServiceSMOImpl.updateOaWorkflowXml(oaWorkflowXmlPo);
        if (flag > 0) {
            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
        }
        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
    }
}
service-oa/src/main/java/com/java110/oa/dao/IAuditUserServiceDao.java
New file
@@ -0,0 +1,82 @@
package com.java110.oa.dao;
import com.java110.utils.exception.DAOException;
import java.util.List;
import java.util.Map;
/**
 * 审核人员组件内部之间使用,没有给外围系统提供服务能力
 * 审核人员服务接口类,要求全部以字符串传输,方便微服务化
 * 新建客户,修改客户,删除客户,查询客户等功能
 *
 * Created by wuxw on 2016/12/27.
 */
public interface IAuditUserServiceDao {
    /**
     * 保存 审核人员信息
     * @param businessAuditUserInfo 审核人员信息 封装
     * @throws DAOException 操作数据库异常
     */
    void saveBusinessAuditUserInfo(Map businessAuditUserInfo) throws DAOException;
    /**
     * 查询审核人员信息(business过程)
     * 根据bId 查询审核人员信息
     * @param info bId 信息
     * @return 审核人员信息
     * @throws DAOException DAO异常
     */
    List<Map> getBusinessAuditUserInfo(Map info) throws DAOException;
    /**
     * 保存 审核人员信息 Business数据到 Instance中
     * @param info
     * @throws DAOException DAO异常
     */
    void saveAuditUserInfoInstance(Map info) throws DAOException;
    /**
     * 查询审核人员信息(instance过程)
     * 根据bId 查询审核人员信息
     * @param info bId 信息
     * @return 审核人员信息
     * @throws DAOException DAO异常
     */
    List<Map> getAuditUserInfo(Map info) throws DAOException;
    /**
     * 修改审核人员信息
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    void updateAuditUserInfoInstance(Map info) throws DAOException;
    /**
     * 查询审核人员总数
     *
     * @param info 审核人员信息
     * @return 审核人员数量
     */
    int queryAuditUsersCount(Map info);
    /**
     * 刷新表 委托人
     * @param info
     */
    void freshActHiTaskInstAssignee(Map info);
}
service-oa/src/main/java/com/java110/oa/dao/IOaWorkflowServiceDao.java
New file
@@ -0,0 +1,61 @@
package com.java110.oa.dao;
import com.java110.utils.exception.DAOException;
import com.java110.entity.merchant.BoMerchant;
import com.java110.entity.merchant.BoMerchantAttr;
import com.java110.entity.merchant.Merchant;
import com.java110.entity.merchant.MerchantAttr;
import java.util.List;
import java.util.Map;
/**
 * OA工作流组件内部之间使用,没有给外围系统提供服务能力
 * OA工作流服务接口类,要求全部以字符串传输,方便微服务化
 * 新建客户,修改客户,删除客户,查询客户等功能
 *
 * Created by wuxw on 2016/12/27.
 */
public interface IOaWorkflowServiceDao {
    /**
     * 保存 OA工作流信息
     * @param info
     * @throws DAOException DAO异常
     */
    void saveOaWorkflowInfo(Map info) throws DAOException;
    /**
     * 查询OA工作流信息(instance过程)
     * 根据bId 查询OA工作流信息
     * @param info bId 信息
     * @return OA工作流信息
     * @throws DAOException DAO异常
     */
    List<Map> getOaWorkflowInfo(Map info) throws DAOException;
    /**
     * 修改OA工作流信息
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    void updateOaWorkflowInfo(Map info) throws DAOException;
    /**
     * 查询OA工作流总数
     *
     * @param info OA工作流信息
     * @return OA工作流数量
     */
    int queryOaWorkflowsCount(Map info);
}
service-oa/src/main/java/com/java110/oa/dao/IOaWorkflowXmlServiceDao.java
New file
@@ -0,0 +1,61 @@
package com.java110.oa.dao;
import com.java110.utils.exception.DAOException;
import com.java110.entity.merchant.BoMerchant;
import com.java110.entity.merchant.BoMerchantAttr;
import com.java110.entity.merchant.Merchant;
import com.java110.entity.merchant.MerchantAttr;
import java.util.List;
import java.util.Map;
/**
 * OA流程图组件内部之间使用,没有给外围系统提供服务能力
 * OA流程图服务接口类,要求全部以字符串传输,方便微服务化
 * 新建客户,修改客户,删除客户,查询客户等功能
 *
 * Created by wuxw on 2016/12/27.
 */
public interface IOaWorkflowXmlServiceDao {
    /**
     * 保存 OA流程图信息
     * @param info
     * @throws DAOException DAO异常
     */
    void saveOaWorkflowXmlInfo(Map info) throws DAOException;
    /**
     * 查询OA流程图信息(instance过程)
     * 根据bId 查询OA流程图信息
     * @param info bId 信息
     * @return OA流程图信息
     * @throws DAOException DAO异常
     */
    List<Map> getOaWorkflowXmlInfo(Map info) throws DAOException;
    /**
     * 修改OA流程图信息
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    void updateOaWorkflowXmlInfo(Map info) throws DAOException;
    /**
     * 查询OA流程图总数
     *
     * @param info OA流程图信息
     * @return OA流程图数量
     */
    int queryOaWorkflowXmlsCount(Map info);
}
service-oa/src/main/java/com/java110/oa/dao/impl/OaWorkflowServiceDaoImpl.java
New file
@@ -0,0 +1,98 @@
package com.java110.oa.dao.impl;
import com.alibaba.fastjson.JSONObject;
import com.java110.utils.constant.ResponseConstant;
import com.java110.utils.exception.DAOException;
import com.java110.utils.util.DateUtil;
import com.java110.core.base.dao.BaseServiceDao;
import com.java110.oa.dao.IOaWorkflowServiceDao;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
/**
 * OA工作流服务 与数据库交互
 * Created by wuxw on 2017/4/5.
 */
@Service("oaWorkflowServiceDaoImpl")
//@Transactional
public class OaWorkflowServiceDaoImpl extends BaseServiceDao implements IOaWorkflowServiceDao {
    private static Logger logger = LoggerFactory.getLogger(OaWorkflowServiceDaoImpl.class);
    /**
     * 保存OA工作流信息 到 instance
     * @param info   bId 信息
     * @throws DAOException DAO异常
     */
    @Override
    public void saveOaWorkflowInfo(Map info) throws DAOException {
        logger.debug("保存OA工作流信息Instance 入参 info : {}",info);
        int saveFlag = sqlSessionTemplate.insert("oaWorkflowServiceDaoImpl.saveOaWorkflowInfo",info);
        if(saveFlag < 1){
            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存OA工作流信息Instance数据失败:"+ JSONObject.toJSONString(info));
        }
    }
    /**
     * 查询OA工作流信息(instance)
     * @param info bId 信息
     * @return List<Map>
     * @throws DAOException DAO异常
     */
    @Override
    public List<Map> getOaWorkflowInfo(Map info) throws DAOException {
        logger.debug("查询OA工作流信息 入参 info : {}",info);
        List<Map> businessOaWorkflowInfos = sqlSessionTemplate.selectList("oaWorkflowServiceDaoImpl.getOaWorkflowInfo",info);
        return businessOaWorkflowInfos;
    }
    /**
     * 修改OA工作流信息
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    @Override
    public void updateOaWorkflowInfo(Map info) throws DAOException {
        logger.debug("修改OA工作流信息Instance 入参 info : {}",info);
        int saveFlag = sqlSessionTemplate.update("oaWorkflowServiceDaoImpl.updateOaWorkflowInfo",info);
        if(saveFlag < 1){
            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"修改OA工作流信息Instance数据失败:"+ JSONObject.toJSONString(info));
        }
    }
     /**
     * 查询OA工作流数量
     * @param info OA工作流信息
     * @return OA工作流数量
     */
    @Override
    public int queryOaWorkflowsCount(Map info) {
        logger.debug("查询OA工作流数据 入参 info : {}",info);
        List<Map> businessOaWorkflowInfos = sqlSessionTemplate.selectList("oaWorkflowServiceDaoImpl.queryOaWorkflowsCount", info);
        if (businessOaWorkflowInfos.size() < 1) {
            return 0;
        }
        return Integer.parseInt(businessOaWorkflowInfos.get(0).get("count").toString());
    }
}
service-oa/src/main/java/com/java110/oa/dao/impl/OaWorkflowXmlServiceDaoImpl.java
New file
@@ -0,0 +1,98 @@
package com.java110.oa.dao.impl;
import com.alibaba.fastjson.JSONObject;
import com.java110.utils.constant.ResponseConstant;
import com.java110.utils.exception.DAOException;
import com.java110.utils.util.DateUtil;
import com.java110.core.base.dao.BaseServiceDao;
import com.java110.oa.dao.IOaWorkflowXmlServiceDao;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
/**
 * OA流程图服务 与数据库交互
 * Created by wuxw on 2017/4/5.
 */
@Service("oaWorkflowXmlServiceDaoImpl")
//@Transactional
public class OaWorkflowXmlServiceDaoImpl extends BaseServiceDao implements IOaWorkflowXmlServiceDao {
    private static Logger logger = LoggerFactory.getLogger(OaWorkflowXmlServiceDaoImpl.class);
    /**
     * 保存OA流程图信息 到 instance
     * @param info   bId 信息
     * @throws DAOException DAO异常
     */
    @Override
    public void saveOaWorkflowXmlInfo(Map info) throws DAOException {
        logger.debug("保存OA流程图信息Instance 入参 info : {}",info);
        int saveFlag = sqlSessionTemplate.insert("oaWorkflowXmlServiceDaoImpl.saveOaWorkflowXmlInfo",info);
        if(saveFlag < 1){
            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存OA流程图信息Instance数据失败:"+ JSONObject.toJSONString(info));
        }
    }
    /**
     * 查询OA流程图信息(instance)
     * @param info bId 信息
     * @return List<Map>
     * @throws DAOException DAO异常
     */
    @Override
    public List<Map> getOaWorkflowXmlInfo(Map info) throws DAOException {
        logger.debug("查询OA流程图信息 入参 info : {}",info);
        List<Map> businessOaWorkflowXmlInfos = sqlSessionTemplate.selectList("oaWorkflowXmlServiceDaoImpl.getOaWorkflowXmlInfo",info);
        return businessOaWorkflowXmlInfos;
    }
    /**
     * 修改OA流程图信息
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    @Override
    public void updateOaWorkflowXmlInfo(Map info) throws DAOException {
        logger.debug("修改OA流程图信息Instance 入参 info : {}",info);
        int saveFlag = sqlSessionTemplate.update("oaWorkflowXmlServiceDaoImpl.updateOaWorkflowXmlInfo",info);
        if(saveFlag < 1){
            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"修改OA流程图信息Instance数据失败:"+ JSONObject.toJSONString(info));
        }
    }
     /**
     * 查询OA流程图数量
     * @param info OA流程图信息
     * @return OA流程图数量
     */
    @Override
    public int queryOaWorkflowXmlsCount(Map info) {
        logger.debug("查询OA流程图数据 入参 info : {}",info);
        List<Map> businessOaWorkflowXmlInfos = sqlSessionTemplate.selectList("oaWorkflowXmlServiceDaoImpl.queryOaWorkflowXmlsCount", info);
        if (businessOaWorkflowXmlInfos.size() < 1) {
            return 0;
        }
        return Integer.parseInt(businessOaWorkflowXmlInfos.get(0).get("count").toString());
    }
}
service-oa/src/main/java/com/java110/oa/listener/advert/AbstractAdvertBusinessServiceDataFlowListener.java
New file
@@ -0,0 +1,58 @@
package com.java110.oa.listener.advert;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.event.service.AbstractBusinessServiceDataFlowListener;
import com.java110.entity.center.Business;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Map;
/**
 * 广告信息 服务侦听 父类
 * Created by wuxw on 2018/7/4.
 */
public abstract class AbstractAdvertBusinessServiceDataFlowListener extends AbstractBusinessServiceDataFlowListener {
    private static Logger logger = LoggerFactory.getLogger(AbstractAdvertBusinessServiceDataFlowListener.class);
    /**
     * 刷新 businessAdvertInfo 数据
     * 主要将 数据库 中字段和 接口传递字段建立关系
     *
     * @param businessAdvertInfo
     */
    protected void flushBusinessAdvertInfo(Map businessAdvertInfo, String statusCd) {
        businessAdvertInfo.put("newBId", businessAdvertInfo.get("b_id"));
        businessAdvertInfo.put("classify", businessAdvertInfo.get("classify"));
        businessAdvertInfo.put("adName", businessAdvertInfo.get("ad_name"));
        businessAdvertInfo.put("locationTypeCd", businessAdvertInfo.get("location_type_cd"));
        businessAdvertInfo.put("adTypeCd", businessAdvertInfo.get("ad_type_cd"));
        businessAdvertInfo.put("advertId", businessAdvertInfo.get("advert_id"));
        businessAdvertInfo.put("operate", businessAdvertInfo.get("operate"));
        businessAdvertInfo.put("startTime", businessAdvertInfo.get("start_time"));
        businessAdvertInfo.put("state", businessAdvertInfo.get("state"));
        businessAdvertInfo.put("endTime", businessAdvertInfo.get("end_time"));
        businessAdvertInfo.put("communityId", businessAdvertInfo.get("community_id"));
        businessAdvertInfo.put("locationObjId", businessAdvertInfo.get("location_obj_id"));
        businessAdvertInfo.put("seq", businessAdvertInfo.get("seq"));
        businessAdvertInfo.put("viewType", businessAdvertInfo.get("view_type"));
        businessAdvertInfo.put("advertType", businessAdvertInfo.get("advert_type"));
        businessAdvertInfo.put("pageUrl", businessAdvertInfo.get("page_url"));
        businessAdvertInfo.remove("bId");
        businessAdvertInfo.put("statusCd", statusCd);
    }
    /**
     * 当修改数据时,查询instance表中的数据 自动保存删除数据到business中
     *
     * @param businessAdvert 广告信息信息
     */
    protected void autoSaveDelBusinessAdvert(Business business, JSONObject businessAdvert) {
//自动插入DEL
    }
}
service-oa/src/main/java/com/java110/oa/package-info.java
New file
@@ -0,0 +1,34 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/**
 * 公共信息 包
 * <p>
 * 包括:
 * 评价 属性管理 日志记录 设备管理 文档记录 工作流 系统异常 等信息
 * <p>
 * api 请写 对外提供接口信息
 * bmo 业务相关内容
 * dao 数据库操作相关内容
 * kafka 为订单调度异步处理
 * listener 为方式一开发中的 业务处理
 * smo 内部服务调用接口能力开放
 * <p>
 * add by 吴学文 2020-12-23
 * <p>
 * 文档参考 : http://www.homecommunity.cn/
 */
package com.java110.oa;
service-oa/src/main/java/com/java110/oa/smo/IOaServiceSMO.java
New file
@@ -0,0 +1,17 @@
package com.java110.oa.smo;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.context.BusinessServiceDataFlow;
import com.java110.utils.exception.SMOException;
/**
 *
 * 用户信息管理,服务
 * Created by wuxw on 2017/4/5.
 */
public interface IOaServiceSMO {
    public JSONObject service(BusinessServiceDataFlow businessServiceDataFlow) throws SMOException;
}
service-oa/src/main/java/com/java110/oa/smo/impl/OaServiceSMOImpl.java
New file
@@ -0,0 +1,112 @@
package com.java110.oa.smo.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.core.context.BusinessServiceDataFlow;
import com.java110.core.event.service.BusinessServiceDataFlowEventPublishing;
import com.java110.core.factory.DataFlowFactory;
import com.java110.entity.center.DataFlowLinksCost;
import com.java110.entity.center.DataFlowLog;
import com.java110.oa.smo.IOaServiceSMO;
import com.java110.utils.cache.MappingCache;
import com.java110.utils.constant.KafkaConstant;
import com.java110.utils.constant.MappingConstant;
import com.java110.utils.constant.ResponseConstant;
import com.java110.utils.exception.SMOException;
import com.java110.utils.kafka.KafkaFactory;
import com.java110.utils.util.Assert;
import com.java110.utils.util.DateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
 * 用户服务信息管理业务信息实现
 * Created by wuxw on 2017/4/5.
 */
@Service("oaServiceSMOImpl")
@Transactional
public class OaServiceSMOImpl extends BaseServiceSMO implements IOaServiceSMO {
    private static Logger logger = LoggerFactory.getLogger(OaServiceSMOImpl.class);
    @Override
    public JSONObject service(BusinessServiceDataFlow businessServiceDataFlow) throws SMOException {
        try {
            Assert.hasLength(businessServiceDataFlow.getbId(), "bId 不能为空");
            BusinessServiceDataFlowEventPublishing.multicastEvent(businessServiceDataFlow);
            Assert.notEmpty(businessServiceDataFlow.getResJson(), "oa服务[" + businessServiceDataFlow.getCurrentBusiness().getServiceCode() + "]没有返回内容");
        } catch (Exception e) {
            logger.error("oa服务处理异常", e);
            throw new SMOException(ResponseConstant.RESULT_PARAM_ERROR, "oa服务处理异常" + e.getMessage());
        } finally {
            if (businessServiceDataFlow == null) {
                return null;
            }
            //这里记录日志
            Date endDate = DateUtil.getCurrentDate();
            businessServiceDataFlow.setEndDate(endDate);
            //添加耗时
            DataFlowFactory.addCostTime(businessServiceDataFlow, "service", "业务处理总耗时",
                    businessServiceDataFlow.getStartDate(), businessServiceDataFlow.getEndDate());
            //保存耗时
            saveCostTimeLogMessage(businessServiceDataFlow);
            //保存日志
            saveLogMessage(businessServiceDataFlow);
        }
        return businessServiceDataFlow.getResJson();
    }
    /**
     * 保存日志信息
     *
     * @param businessServiceDataFlow
     */
    private void saveLogMessage(BusinessServiceDataFlow businessServiceDataFlow) {
        try {
            if (MappingConstant.VALUE_ON.equals(MappingCache.getValue(MappingConstant.KEY_LOG_ON_OFF))) {
                for (DataFlowLog dataFlowLog : businessServiceDataFlow.getLogDatas()) {
                    KafkaFactory.sendKafkaMessage(KafkaConstant.TOPIC_LOG_NAME, "", JSONObject.toJSONString(dataFlowLog));
                }
            }
        } catch (Exception e) {
            logger.error("报错日志出错了,", e);
        }
    }
    /**
     * 保存耗时信息
     *
     * @param businessServiceDataFlow
     */
    private void saveCostTimeLogMessage(BusinessServiceDataFlow businessServiceDataFlow) {
        try {
            if (MappingConstant.VALUE_ON.equals(MappingCache.getValue(MappingConstant.KEY_COST_TIME_ON_OFF))) {
                List<DataFlowLinksCost> dataFlowLinksCosts = businessServiceDataFlow.getLinksCostDates();
                JSONObject costDate = new JSONObject();
                JSONArray costDates = new JSONArray();
                JSONObject newObj = null;
                for (DataFlowLinksCost dataFlowLinksCost : dataFlowLinksCosts) {
                    newObj = JSONObject.parseObject(JSONObject.toJSONString(dataFlowLinksCost));
                    newObj.put("dataFlowId", businessServiceDataFlow.getDataFlowId());
                    newObj.put("transactionId", businessServiceDataFlow.getTransactionId());
                    costDates.add(newObj);
                }
                costDate.put("costDates", costDates);
                KafkaFactory.sendKafkaMessage(KafkaConstant.TOPIC_COST_TIME_LOG_NAME, "", costDate.toJSONString());
            }
        } catch (Exception e) {
            logger.error("报错日志出错了,", e);
        }
    }
}
service-oa/src/main/java/com/java110/oa/smo/impl/OaWorkflowInnerServiceSMOImpl.java
New file
@@ -0,0 +1,84 @@
package com.java110.oa.smo.impl;
import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
import com.java110.oa.dao.IOaWorkflowServiceDao;
import com.java110.dto.oaWorkflow.OaWorkflowDto;
import com.java110.po.oaWorkflow.OaWorkflowPo;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.dto.user.UserDto;
import com.java110.dto.PageDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
/**
 * @ClassName FloorInnerServiceSMOImpl
 * @Description OA工作流内部服务实现类
 * @Author wuxw
 * @Date 2019/4/24 9:20
 * @Version 1.0
 * add by wuxw 2019/4/24
 **/
@RestController
public class OaWorkflowInnerServiceSMOImpl extends BaseServiceSMO implements IOaWorkflowInnerServiceSMO {
    @Autowired
    private IOaWorkflowServiceDao oaWorkflowServiceDaoImpl;
    @Override
    public int saveOaWorkflow(@RequestBody OaWorkflowPo oaWorkflowPo) {
        int saveFlag = 1;
        oaWorkflowServiceDaoImpl.saveOaWorkflowInfo(BeanConvertUtil.beanCovertMap(oaWorkflowPo));
        return saveFlag;
    }
     @Override
    public int updateOaWorkflow(@RequestBody  OaWorkflowPo oaWorkflowPo) {
        int saveFlag = 1;
         oaWorkflowServiceDaoImpl.updateOaWorkflowInfo(BeanConvertUtil.beanCovertMap(oaWorkflowPo));
        return saveFlag;
    }
     @Override
    public int deleteOaWorkflow(@RequestBody  OaWorkflowPo oaWorkflowPo) {
        int saveFlag = 1;
        oaWorkflowPo.setStatusCd("1");
        oaWorkflowServiceDaoImpl.updateOaWorkflowInfo(BeanConvertUtil.beanCovertMap(oaWorkflowPo));
        return saveFlag;
    }
    @Override
    public List<OaWorkflowDto> queryOaWorkflows(@RequestBody  OaWorkflowDto oaWorkflowDto) {
        //校验是否传了 分页信息
        int page = oaWorkflowDto.getPage();
        if (page != PageDto.DEFAULT_PAGE) {
            oaWorkflowDto.setPage((page - 1) * oaWorkflowDto.getRow());
        }
        List<OaWorkflowDto> oaWorkflows = BeanConvertUtil.covertBeanList(oaWorkflowServiceDaoImpl.getOaWorkflowInfo(BeanConvertUtil.beanCovertMap(oaWorkflowDto)), OaWorkflowDto.class);
        return oaWorkflows;
    }
    @Override
    public int queryOaWorkflowsCount(@RequestBody OaWorkflowDto oaWorkflowDto) {
        return oaWorkflowServiceDaoImpl.queryOaWorkflowsCount(BeanConvertUtil.beanCovertMap(oaWorkflowDto));    }
    public IOaWorkflowServiceDao getOaWorkflowServiceDaoImpl() {
        return oaWorkflowServiceDaoImpl;
    }
    public void setOaWorkflowServiceDaoImpl(IOaWorkflowServiceDao oaWorkflowServiceDaoImpl) {
        this.oaWorkflowServiceDaoImpl = oaWorkflowServiceDaoImpl;
    }
}
service-oa/src/main/java/com/java110/oa/smo/impl/OaWorkflowXmlInnerServiceSMOImpl.java
New file
@@ -0,0 +1,83 @@
package com.java110.oa.smo.impl;
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.dto.PageDto;
import com.java110.dto.oaWorkflowXml.OaWorkflowXmlDto;
import com.java110.intf.oa.IOaWorkflowXmlInnerServiceSMO;
import com.java110.oa.dao.IOaWorkflowXmlServiceDao;
import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
import com.java110.utils.util.BeanConvertUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @ClassName FloorInnerServiceSMOImpl
 * @Description OA流程图内部服务实现类
 * @Author wuxw
 * @Date 2019/4/24 9:20
 * @Version 1.0
 * add by wuxw 2019/4/24
 **/
@RestController
public class OaWorkflowXmlInnerServiceSMOImpl extends BaseServiceSMO implements IOaWorkflowXmlInnerServiceSMO {
    @Autowired
    private IOaWorkflowXmlServiceDao oaWorkflowXmlServiceDaoImpl;
    @Override
    public int saveOaWorkflowXml(@RequestBody OaWorkflowXmlPo oaWorkflowXmlPo) {
        int saveFlag = 1;
        oaWorkflowXmlServiceDaoImpl.saveOaWorkflowXmlInfo(BeanConvertUtil.beanCovertMap(oaWorkflowXmlPo));
        return saveFlag;
    }
    @Override
    public int updateOaWorkflowXml(@RequestBody OaWorkflowXmlPo oaWorkflowXmlPo) {
        int saveFlag = 1;
        oaWorkflowXmlServiceDaoImpl.updateOaWorkflowXmlInfo(BeanConvertUtil.beanCovertMap(oaWorkflowXmlPo));
        return saveFlag;
    }
    @Override
    public int deleteOaWorkflowXml(@RequestBody OaWorkflowXmlPo oaWorkflowXmlPo) {
        int saveFlag = 1;
        oaWorkflowXmlPo.setStatusCd("1");
        oaWorkflowXmlServiceDaoImpl.updateOaWorkflowXmlInfo(BeanConvertUtil.beanCovertMap(oaWorkflowXmlPo));
        return saveFlag;
    }
    @Override
    public List<OaWorkflowXmlDto> queryOaWorkflowXmls(@RequestBody OaWorkflowXmlDto oaWorkflowXmlDto) {
        //校验是否传了 分页信息
        int page = oaWorkflowXmlDto.getPage();
        if (page != PageDto.DEFAULT_PAGE) {
            oaWorkflowXmlDto.setPage((page - 1) * oaWorkflowXmlDto.getRow());
        }
        List<OaWorkflowXmlDto> oaWorkflowXmls = BeanConvertUtil.covertBeanList(oaWorkflowXmlServiceDaoImpl.getOaWorkflowXmlInfo(BeanConvertUtil.beanCovertMap(oaWorkflowXmlDto)), OaWorkflowXmlDto.class);
        return oaWorkflowXmls;
    }
    @Override
    public int queryOaWorkflowXmlsCount(@RequestBody OaWorkflowXmlDto oaWorkflowXmlDto) {
        return oaWorkflowXmlServiceDaoImpl.queryOaWorkflowXmlsCount(BeanConvertUtil.beanCovertMap(oaWorkflowXmlDto));
    }
    public IOaWorkflowXmlServiceDao getOaWorkflowXmlServiceDaoImpl() {
        return oaWorkflowXmlServiceDaoImpl;
    }
    public void setOaWorkflowXmlServiceDaoImpl(IOaWorkflowXmlServiceDao oaWorkflowXmlServiceDaoImpl) {
        this.oaWorkflowXmlServiceDaoImpl = oaWorkflowXmlServiceDaoImpl;
    }
}
service-oa/src/main/resources/application-dev.yml
New file
@@ -0,0 +1,86 @@
jedis:
  pool:
    config:
      maxTotal: 100
      maxIdle: 20
      maxWaitMillis: 20000
    host: dev.redis.java110.com
    port: 6379
    timeout: 3000
    password: hc
eureka:
  instance:
    leaseRenewalIntervalInSeconds: 10
    leaseExpirationDurationInSeconds: 30
    preferIpAddress: true
    instanceId: ${spring.cloud.client.ip-address}:${server.port}
  client:
    serviceUrl:
      defaultZone: http://dev.java110.com:8761/eureka/
      #defaultZone: http://localhost:8761/eureka/
server:
  port: 8011
  tomcat:
    uri-encoding: UTF-8
spring:
  profiles:
    active: share
  http:
    encoding:
      charset: UTF-8
      enabled: true
      force: true
  application:
    name: oa-service
  redis:
    database: 0
    host: dev.redis.java110.com
    port: 6379
    password: hc
    pool:
      max-active: 300
      max-wait: 10000
      max-idle: 100
      min-idle: 0
      timeout: 0
feign:
  client:
    config:
      default:
        connect-timeout: 10000
        read-timeout: 10000
#============== kafka ===================
kafka:
  consumer:
    zookeeper:
      connect: dev.zk.java110.com:2181
    servers: dev.kafka.java110.com:9092
    enable:
      auto:
        commit: true
    session:
      timeout: 6000
    auto:
      commit:
        interval: 100
      offset:
        reset: latest
    topic: test
    group:
      id: oaBusinessStatus
    concurrency: 10
  producer:
    zookeeper:
      connect: dev.zk.java110.com:2181
    servers: dev.kafka.java110.com:9092
    retries: 0
    batch:
      size: 4096
    linger: 1
    buffer:
      memory: 40960
service-oa/src/main/resources/application.yml
old mode 100755 new mode 100644
service-oa/src/main/resources/banner.txt
New file
@@ -0,0 +1,15 @@
${AnsiColor.BRIGHT_RED}
     __                    ____ ___________
    |__|____ ___  _______ /_   /_   \   _  \
    |  \__  \\  \/ /\__  \ |   ||   /  /_\  \
    |  |/ __ \\   /  / __ \|   ||   \  \_/   \
/\__|  (____  /\_/  (____  /___||___|\_____  /
\______|    \/           \/                \/
 ____ ___                    _________                  .__
|    |   \______ ___________/   _____/ ______________  _|__| ____  ____
|    |   /  ___// __ \_  __ \_____  \_/ __ \_  __ \  \/ /  |/ ___\/ __ \
|    |  /\___ \\  ___/|  | \/        \  ___/|  | \/\   /|  \  \__\  ___/
|______//____  >\___  >__| /_______  /\___  >__|    \_/ |__|\___  >___  >
             \/     \/             \/     \/                    \/    \/
 java110 UserService starting, more information scan https://github.com/java110/MicroCommunity
service-oa/src/main/resources/dataSource.yml
New file
@@ -0,0 +1,44 @@
dataSources:
  ds0: !!com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://dev.db.java110.com:3306/hc_community?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: hc_community
    password: hc_community@12345678
    minIdle: 5
    validationQuery: SELECT 1 FROM DUAL
    initialSize: 5
    maxWait: 60000
    filters: stat,wall,log4j
    poolPreparedStatements: true
  ds1: !!com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://dev.db.java110.com:3306/TT?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: TT
    password: TT@12345678
    minIdle: 5
    validationQuery: SELECT 1 FROM DUAL
    initialSize: 5
    maxWait: 60000
    filters: stat,wall,log4j
    poolPreparedStatements: true
shardingRule:
  tables:
    business_xxx:
      actualDataNodes: ds${0..1}.business_community
      databaseStrategy:
        inline:
          shardingColumn: community_id
          algorithmExpression: ds${Long.parseLong(community_id) % 2}
  bindingTables:
    - business_xxx
  defaultDataSourceName: ds1
  defaultDatabaseStrategy:
    none:
  defaultTableStrategy:
    none:
props:
  sql.show: true
service-oa/src/main/resources/java110.properties
New file
@@ -0,0 +1,14 @@
java110.mappingPath=classpath:mapper/oa/*.xml
# Single file max size
java110.ftp.multipart.maxFileSize=100Mb
# All files max size
java110.ftp.multipart.maxRequestSize=100Mb
#ftp use
java110.ftpServer = 121.4.123.73
java110.ftpPort = 6069
java110.ftpUserName = hcftp
java110.ftpUserPassword = 123456
java110.ftpPath = hc/
service-report/src/main/java/com/java110/report/api/ReportFeeMonthStatisticsApi.java
@@ -16,11 +16,15 @@
import com.java110.utils.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
@RestController
@RequestMapping(value = "/reportFeeMonthStatistics")
@@ -591,4 +595,109 @@
        return getReportFeeMonthStatisticsBMOImpl.queryNoFeeRooms(roomDto);
    }
    /**
     * 查询华宁物业 欠费统计报表
     * 作者: 吴学文
     * 时间:2021-08-13
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /reportFeeMonthStatistics/queryHuaningOweFee
     * @path /app/reportFeeMonthStatistics/queryHuaningOweFee
     */
    @RequestMapping(value = "/queryHuaningOweFee", method = RequestMethod.GET)
    public ResponseEntity<String> queryHuaningOweFee(
            @RequestParam(value = "communityId") String communityId,
            @RequestParam(value = "page") int page,
            @RequestParam(value = "row") int row
    ) {
        ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto = new ReportFeeMonthStatisticsDto();
        reportFeeMonthStatisticsDto.setCommunityId(communityId);
        reportFeeMonthStatisticsDto.setPage(page);
        reportFeeMonthStatisticsDto.setRow(row);
        reportFeeMonthStatisticsDto.setFeeYear(DateUtil.getYear() + "");
        return getReportFeeMonthStatisticsBMOImpl.queryHuaningOweFee(reportFeeMonthStatisticsDto);
    }
    /**
     * 查询华宁物业 欠费统计报表
     * 作者: 吴学文
     * 时间:2021-08-13
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /reportFeeMonthStatistics/queryHuaningPayFee
     * @path /app/reportFeeMonthStatistics/queryHuaningPayFee
     */
    @RequestMapping(value = "/queryHuaningPayFee", method = RequestMethod.GET)
    public ResponseEntity<String> queryHuaningPayFee(
            @RequestParam(value = "communityId") String communityId,
            @RequestParam(value = "year") int year,
            @RequestParam(value = "month") int month,
            @RequestParam(value = "page") int page,
            @RequestParam(value = "row") int row
    ) {
        Map paramInfo = new HashMap();
        paramInfo.put("communityId", communityId);
        paramInfo.put("year", year);
        paramInfo.put("month", month);
        paramInfo.put("page", page);
        paramInfo.put("row", row);
        return getReportFeeMonthStatisticsBMOImpl.queryHuaningPayFee(paramInfo);
    }
    /**
     * 查询华宁物业 欠费统计报表
     * 作者: 吴学文
     * 时间:2021-08-13
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /reportFeeMonthStatistics/queryHuaningPayFeeTwo
     * @path /app/reportFeeMonthStatistics/queryHuaningPayFeeTwo
     */
    @RequestMapping(value = "/queryHuaningPayFeeTwo", method = RequestMethod.GET)
    public ResponseEntity<String> queryHuaningPayFeeTwo(
            @RequestParam(value = "communityId") String communityId,
            @RequestParam(value = "year") int year,
            @RequestParam(value = "month") int month,
            @RequestParam(value = "page") int page,
            @RequestParam(value = "row") int row
    ) {
        Map paramInfo = new HashMap();
        paramInfo.put("communityId", communityId);
        paramInfo.put("year", year);
        paramInfo.put("month", month);
        paramInfo.put("page", page);
        paramInfo.put("row", row);
        return getReportFeeMonthStatisticsBMOImpl.queryHuaningPayFeeTwo(paramInfo);
    }
    /**
     * 查询华宁物业 欠费统计报表
     * 作者: 吴学文
     * 时间:2021-08-13
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /reportFeeMonthStatistics/queryHuaningOweFeeDetail
     * @path /app/reportFeeMonthStatistics/queryHuaningOweFeeDetail
     */
    @RequestMapping(value = "/queryHuaningOweFeeDetail", method = RequestMethod.GET)
    public ResponseEntity<String> queryHuaningOweFeeDetail(
            @RequestParam(value = "communityId") String communityId,
            @RequestParam(value = "year") int year,
            @RequestParam(value = "month") int month,
            @RequestParam(value = "page") int page,
            @RequestParam(value = "row") int row
    ) {
        Map paramInfo = new HashMap();
        paramInfo.put("communityId", communityId);
        paramInfo.put("year", year);
        paramInfo.put("month", month);
        paramInfo.put("page", page);
        paramInfo.put("row", row);
        return getReportFeeMonthStatisticsBMOImpl.queryHuaningOweFeeDetail(paramInfo);
    }
}
service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/IGetReportFeeMonthStatisticsBMO.java
@@ -6,6 +6,8 @@
import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsDto;
import org.springframework.http.ResponseEntity;
import java.util.Map;
public interface IGetReportFeeMonthStatisticsBMO {
@@ -76,4 +78,22 @@
     * @return
     */
    ResponseEntity<String> queryPayFeeDeposit(ReportDeposit reportDeposit);
    /**
     * 查询华宁物业欠费 统计
     * @param reportFeeMonthStatisticsDto
     * @return
     */
    ResponseEntity<String> queryHuaningOweFee(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto);
    /**
     * 查询华宁物业缴费 统计
     * @param paramInfo
     * @return
     */
    ResponseEntity<String> queryHuaningPayFee(Map paramInfo);
    ResponseEntity<String> queryHuaningPayFeeTwo(Map paramInfo);
    ResponseEntity<String> queryHuaningOweFeeDetail(Map paramInfo);
}
service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java
@@ -1,6 +1,7 @@
package com.java110.report.bmo.reportFeeMonthStatistics.impl;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.smo.IComputeFeeSMO;
import com.java110.dto.PageDto;
import com.java110.dto.RoomDto;
import com.java110.dto.fee.FeeConfigDto;
@@ -33,9 +34,11 @@
import java.math.BigDecimal;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service("getReportFeeMonthStatisticsBMOImpl")
public class GetReportFeeMonthStatisticsBMOImpl implements IGetReportFeeMonthStatisticsBMO {
@@ -56,6 +59,8 @@
    @Autowired
    private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
    private IComputeFeeSMO computeFeeSMOImpl;
    /**
     * @param reportFeeMonthStatisticsDto
@@ -96,6 +101,14 @@
                reportFeeMonthStatistics.setChargeRate(String.format("%.2f", chargeRate) + "%");
                reportFeeMonthStatisticsDtos.add(reportFeeMonthStatistics);
            }
            ReportFeeMonthStatisticsDto tmpReportFeeMonthStatisticsDto = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFeeSummaryMajor(reportFeeMonthStatisticsDto);
            if (reportFeeMonthStatisticsList != null && reportFeeMonthStatisticsList.size() > 0) {
                for (ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto1 : reportFeeMonthStatisticsList) {
                    reportFeeMonthStatisticsDto1.setAllReceivableAmount(tmpReportFeeMonthStatisticsDto.getAllReceivableAmount());
                    reportFeeMonthStatisticsDto1.setAllReceivedAmount(tmpReportFeeMonthStatisticsDto.getAllReceivedAmount());
                    reportFeeMonthStatisticsDto1.setAllOweAmount(tmpReportFeeMonthStatisticsDto.getAllOweAmount());
                }
            }
        } else {
            reportFeeMonthStatisticsDtos = new ArrayList<>();
        }
@@ -114,6 +127,14 @@
        List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null;
        if (count > 0) {
            reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFloorUnitFeeSummary(reportFeeMonthStatisticsDto);
            ReportFeeMonthStatisticsDto tmpReportFeeMonthStatisticsDto = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFloorUnitFeeSummaryMajor(reportFeeMonthStatisticsDto);
            if (reportFeeMonthStatisticsDtos != null && reportFeeMonthStatisticsDtos.size() > 0) {
                for (ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto1 : reportFeeMonthStatisticsDtos) {
                    reportFeeMonthStatisticsDto1.setAllReceivableAmount(tmpReportFeeMonthStatisticsDto.getAllReceivableAmount());
                    reportFeeMonthStatisticsDto1.setAllReceivedAmount(tmpReportFeeMonthStatisticsDto.getAllReceivedAmount());
                    reportFeeMonthStatisticsDto1.setAllOweAmount(tmpReportFeeMonthStatisticsDto.getAllOweAmount());
                }
            }
        } else {
            reportFeeMonthStatisticsDtos = new ArrayList<>();
        }
@@ -132,6 +153,14 @@
        List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null;
        if (count > 0) {
            reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeBreakdown(reportFeeMonthStatisticsDto);
            ReportFeeMonthStatisticsDto tmpReportFeeMonthStatisticsDto = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeBreakdownMajor(reportFeeMonthStatisticsDto);
            if (reportFeeMonthStatisticsDtos != null && reportFeeMonthStatisticsDtos.size() > 0) {
                for (ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto1 : reportFeeMonthStatisticsDtos) {
                    reportFeeMonthStatisticsDto1.setAllReceivableAmount(tmpReportFeeMonthStatisticsDto.getAllReceivableAmount());
                    reportFeeMonthStatisticsDto1.setAllReceivedAmount(tmpReportFeeMonthStatisticsDto.getAllReceivedAmount());
                    reportFeeMonthStatisticsDto1.setAllOweAmount(tmpReportFeeMonthStatisticsDto.getAllOweAmount());
                }
            }
        } else {
            reportFeeMonthStatisticsDtos = new ArrayList<>();
        }
@@ -214,7 +243,14 @@
        List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null;
        if (count > 0) {
            reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryOweFeeDetail(reportFeeMonthStatisticsDto);
            ReportFeeMonthStatisticsDto tmpReportFeeMonthStatisticsDto = reportFeeMonthStatisticsInnerServiceSMOImpl.queryOweFeeDetailMajor(reportFeeMonthStatisticsDto);
            if (reportFeeMonthStatisticsDtos != null && reportFeeMonthStatisticsDtos.size() > 0) {
                for (ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto1 : reportFeeMonthStatisticsDtos) {
                    reportFeeMonthStatisticsDto1.setAllReceivableAmount(tmpReportFeeMonthStatisticsDto.getAllReceivableAmount());
                    reportFeeMonthStatisticsDto1.setAllReceivedAmount(tmpReportFeeMonthStatisticsDto.getAllReceivedAmount());
                    reportFeeMonthStatisticsDto1.setAllOweAmount(tmpReportFeeMonthStatisticsDto.getAllOweAmount());
                }
            }
            freshReportOweDay(reportFeeMonthStatisticsDtos);
        } else {
            reportFeeMonthStatisticsDtos = new ArrayList<>();
@@ -799,6 +835,134 @@
    }
    @Override
    public ResponseEntity<String> queryHuaningOweFee(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
        int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryHuaningOweFeeCount(reportFeeMonthStatisticsDto);
        List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null;
        if (count > 0) {
            reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryHuaningOweFee(reportFeeMonthStatisticsDto);
        } else {
            reportFeeMonthStatisticsDtos = new ArrayList<>();
        }
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reportFeeMonthStatisticsDto.getRow()), count, reportFeeMonthStatisticsDtos);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        return responseEntity;
    }
    @Override
    public ResponseEntity<String> queryHuaningPayFee(Map paramInfo) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.YEAR, (int) paramInfo.get("year"));
        calendar.set(Calendar.MONTH, (int) paramInfo.get("month") - 1);
        paramInfo.put("yearMonth", DateUtil.getFormatTimeString(calendar.getTime(), "YYYY-MM"));
        calendar.add(Calendar.MONTH, 1);
        paramInfo.put("nextYear", calendar.get(Calendar.YEAR));
        paramInfo.put("nextMonth", calendar.get(Calendar.MONTH) + 1);
        int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryHuaningPayFeeCount(paramInfo);
        List<Map> reportFeeMonthStatisticsDtos = null;
        if (count > 0) {
            reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryHuaningPayFee(paramInfo);
        } else {
            reportFeeMonthStatisticsDtos = new ArrayList<>();
        }
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (int) paramInfo.get("row")), count, reportFeeMonthStatisticsDtos);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        return responseEntity;
    }
    @Override
    public ResponseEntity<String> queryHuaningPayFeeTwo(Map paramInfo) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.YEAR, (int) paramInfo.get("year"));
        calendar.set(Calendar.MONTH, (int) paramInfo.get("month") - 1);
        paramInfo.put("yearMonth", DateUtil.getFormatTimeString(calendar.getTime(), "YYYY-MM"));
        calendar.add(Calendar.MONTH, 1);
        paramInfo.put("nextYear", calendar.get(Calendar.YEAR));
        paramInfo.put("nextMonth", calendar.get(Calendar.MONTH) + 1);
        int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryHuaningPayFeeTwoCount(paramInfo);
        List<Map> reportFeeMonthStatisticsDtos = null;
        if (count > 0) {
            reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryHuaningPayFeeTwo(paramInfo);
        } else {
            reportFeeMonthStatisticsDtos = new ArrayList<>();
        }
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (int) paramInfo.get("row")), count, reportFeeMonthStatisticsDtos);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        return responseEntity;
    }
    @Override
    public ResponseEntity<String> queryHuaningOweFeeDetail(Map paramInfo) {
        Calendar calendar = Calendar.getInstance();
        int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryHuaningOweFeeDetailCount(paramInfo);
        List<Map> reportFeeMonthStatisticsDtos = null;
        if (count > 0) {
            reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryHuaningOweFeeDetail(paramInfo);
            refreshOweFee(reportFeeMonthStatisticsDtos, paramInfo);
        } else {
            reportFeeMonthStatisticsDtos = new ArrayList<>();
        }
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (int) paramInfo.get("row")), count, reportFeeMonthStatisticsDtos);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        return responseEntity;
    }
    private void refreshOweFee(List<Map> reportFeeMonthStatisticsDtos, Map paramInfo) {
        Date startTime = null;
        Date endTime = null;
        Calendar calendar = Calendar.getInstance();
        int curMonth = calendar.get(Calendar.MONTH) + 1;
        calendar.set(Calendar.MONTH, 0);
        Date curStart = calendar.getTime();
        for (Map paramIn : reportFeeMonthStatisticsDtos) {
            startTime = (Date) paramIn.get("startTime");
            endTime = (Date) paramIn.get("startTime");
            BigDecimal money = (BigDecimal) paramIn.get("oweAmount");
            double month = Math.ceil(computeFeeSMOImpl.dayCompare(startTime, endTime));
            if (month < 1) {
                paramIn.put("btAmount", 0);
                paramIn.put("bfAmount", 0);
                continue;
            }
            //每月金额
            BigDecimal monthAmount = money.divide(new BigDecimal(month), 2, BigDecimal.ROUND_HALF_EVEN);
            if (startTime.getTime() < curStart.getTime()) {
                BigDecimal btAmountDec = monthAmount.multiply(new BigDecimal(curMonth)).setScale(2, BigDecimal.ROUND_HALF_EVEN);
                paramIn.put("btAmount", btAmountDec.doubleValue());
                double preMonth = Math.ceil(computeFeeSMOImpl.dayCompare(startTime, curStart));
                BigDecimal bfAmountDec = monthAmount.multiply(new BigDecimal(preMonth)).setScale(2, BigDecimal.ROUND_HALF_EVEN);
                paramIn.put("bfAmount", bfAmountDec.doubleValue());
                continue;
            }
            if (startTime.getTime() >= curStart.getTime()) {
                paramIn.put("btAmount", money.doubleValue());
                paramIn.put("bfAmount", 0);
            }
        }
    }
    @Override
    public ResponseEntity<String> queryPrePayment(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
        int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryPrePaymentNewCount(reportFeeMonthStatisticsDto);
service-report/src/main/java/com/java110/report/dao/IReportFeeMonthStatisticsServiceDao.java
@@ -302,4 +302,27 @@
    List<Map> queryPayFeeDeposit(Map beanCovertMap);
    List<Map> queryFeeDepositAmount(Map beanCovertMap);
    Map queryReportFeeSummaryMajor(Map beanCovertMap);
    Map queryReportFloorUnitFeeSummaryMajor(Map beanCovertMap);
    Map queryFeeBreakdownMajor(Map beanCovertMap);
    Map queryOweFeeDetailMajor(Map beanCovertMap);
    int queryHuaningOweFeeCount(Map beanCovertMap);
    List<Map> queryHuaningOweFee(Map beanCovertMap);
    int queryHuaningPayFeeCount(Map paramInfo);
    List<Map> queryHuaningPayFee(Map beanCovertMap);
    int queryHuaningPayFeeTwoCount(Map paramInfo);
    List<Map> queryHuaningPayFeeTwo(Map beanCovertMap);
    int queryHuaningOweFeeDetailCount(Map paramInfo);
    List<Map> queryHuaningOweFeeDetail(Map beanCovertMap);
}
service-report/src/main/java/com/java110/report/dao/impl/ReportFeeMonthStatisticsServiceDaoImpl.java
@@ -129,6 +129,16 @@
        return businessReportFeeMonthStatisticsInfos;
    }
    @Override
    public Map queryReportFeeSummaryMajor(Map info) {
        logger.debug("查询费用月统计信息 入参 info : {}", info);
        List<Map> businessReportFeeMonthStatisticsInfos = sqlSessionTemplate.selectList("reportFeeMonthStatisticsServiceDaoImpl.queryReportFeeSummaryMajor", info);
        return businessReportFeeMonthStatisticsInfos.get(0);
    }
    @Override
    public int queryReportFloorUnitFeeSummaryCount(Map info) {
        logger.debug("查询费用月统计数据 入参 info : {}", info);
@@ -151,6 +161,15 @@
    }
    @Override
    public Map queryReportFloorUnitFeeSummaryMajor(Map info) {
        logger.debug("查询费用月统计信息 入参 info : {}", info);
        List<Map> businessReportFeeMonthStatisticsInfos = sqlSessionTemplate.selectList("reportFeeMonthStatisticsServiceDaoImpl.queryReportFloorUnitFeeSummaryMajor", info);
        return businessReportFeeMonthStatisticsInfos.get(0);
    }
    @Override
    public int queryFeeBreakdownCount(Map info) {
        logger.debug("查询费用月统计数据 入参 info : {}", info);
@@ -170,7 +189,14 @@
        return businessReportFeeMonthStatisticsInfos;
    }
    @Override
    public Map queryFeeBreakdownMajor(Map info) {
        logger.debug("查询费用queryFeeBreakdownMajor 入参 info : {}", info);
        List<Map> businessReportFeeMonthStatisticsInfos = sqlSessionTemplate.selectList("reportFeeMonthStatisticsServiceDaoImpl.queryFeeBreakdownMajor", info);
        return businessReportFeeMonthStatisticsInfos.get(0);
    }
    @Override
    public int queryFeeDetailCount(Map info) {
        logger.debug("查询费用月统计数据 入参 info : {}", info);
@@ -192,6 +218,8 @@
        return businessReportFeeMonthStatisticsInfos;
    }
    @Override
    public int queryOweFeeDetailCount(Map info) {
        logger.debug("查询费用月统计数据 入参 info : {}", info);
@@ -209,6 +237,98 @@
        logger.debug("查询费用月统计信息 入参 info : {}", info);
        List<Map> businessReportFeeMonthStatisticsInfos = sqlSessionTemplate.selectList("reportFeeMonthStatisticsServiceDaoImpl.queryOweFeeDetail", info);
        return businessReportFeeMonthStatisticsInfos;
    }
    @Override
    public Map queryOweFeeDetailMajor(Map info) {
        logger.debug("查询费用queryOweFeeDetailMajor 入参 info : {}", info);
        List<Map> businessReportFeeMonthStatisticsInfos = sqlSessionTemplate.selectList("reportFeeMonthStatisticsServiceDaoImpl.queryOweFeeDetailMajor", info);
        return businessReportFeeMonthStatisticsInfos.get(0);
    }
    @Override
    public int queryHuaningOweFeeCount(Map info) {
        logger.debug("查询queryHuaningOweFeeCount数据 入参 info : {}", info);
        List<Map> businessReportFeeMonthStatisticsInfos = sqlSessionTemplate.selectList("reportFeeMonthStatisticsServiceDaoImpl.queryHuaningOweFeeCount", info);
        if (businessReportFeeMonthStatisticsInfos.size() < 1) {
            return 0;
        }
        return Integer.parseInt(businessReportFeeMonthStatisticsInfos.get(0).get("count").toString());
    }
    @Override
    public List<Map> queryHuaningOweFee(Map info) {
        logger.debug("查询queryHuaningOweFee 入参 info : {}", info);
        List<Map> businessReportFeeMonthStatisticsInfos = sqlSessionTemplate.selectList("reportFeeMonthStatisticsServiceDaoImpl.queryHuaningOweFee", info);
        return businessReportFeeMonthStatisticsInfos;
    }
    @Override
    public int queryHuaningPayFeeCount(Map info) {
        logger.debug("查询queryHuaningPayFeeCount数据 入参 info : {}", info);
        List<Map> businessReportFeeMonthStatisticsInfos = sqlSessionTemplate.selectList("reportFeeMonthStatisticsServiceDaoImpl.queryHuaningPayFeeCount", info);
        if (businessReportFeeMonthStatisticsInfos.size() < 1) {
            return 0;
        }
        return Integer.parseInt(businessReportFeeMonthStatisticsInfos.get(0).get("count").toString());
    }
    @Override
    public List<Map> queryHuaningPayFee(Map info) {
        logger.debug("查询queryHuaningPayFee 入参 info : {}", info);
        List<Map> businessReportFeeMonthStatisticsInfos = sqlSessionTemplate.selectList("reportFeeMonthStatisticsServiceDaoImpl.queryHuaningPayFee", info);
        return businessReportFeeMonthStatisticsInfos;
    }
    @Override
    public int queryHuaningPayFeeTwoCount(Map info) {
        logger.debug("查询queryHuaningPayFeeTwoCount数据 入参 info : {}", info);
        List<Map> businessReportFeeMonthStatisticsInfos = sqlSessionTemplate.selectList("reportFeeMonthStatisticsServiceDaoImpl.queryHuaningPayFeeTwoCount", info);
        if (businessReportFeeMonthStatisticsInfos.size() < 1) {
            return 0;
        }
        return Integer.parseInt(businessReportFeeMonthStatisticsInfos.get(0).get("count").toString());
    }
    @Override
    public List<Map> queryHuaningPayFeeTwo(Map info) {
        logger.debug("查询queryHuaningPayFeeTwo 入参 info : {}", info);
        List<Map> businessReportFeeMonthStatisticsInfos = sqlSessionTemplate.selectList("reportFeeMonthStatisticsServiceDaoImpl.queryHuaningPayFeeTwo", info);
        return businessReportFeeMonthStatisticsInfos;
    }
    @Override
    public int queryHuaningOweFeeDetailCount(Map info) {
        logger.debug("查询queryHuaningOweFeeDetailCount数据 入参 info : {}", info);
        List<Map> businessReportFeeMonthStatisticsInfos = sqlSessionTemplate.selectList("reportFeeMonthStatisticsServiceDaoImpl.queryHuaningOweFeeDetailCount", info);
        if (businessReportFeeMonthStatisticsInfos.size() < 1) {
            return 0;
        }
        return Integer.parseInt(businessReportFeeMonthStatisticsInfos.get(0).get("count").toString());
    }
    @Override
    public List<Map> queryHuaningOweFeeDetail(Map info) {
        logger.debug("查询queryHuaningOweFeeDetail 入参 info : {}", info);
        List<Map> businessReportFeeMonthStatisticsInfos = sqlSessionTemplate.selectList("reportFeeMonthStatisticsServiceDaoImpl.queryHuaningOweFeeDetail", info);
        return businessReportFeeMonthStatisticsInfos;
    }
@@ -443,4 +563,7 @@
        return deposits;
    }
}
service-report/src/main/java/com/java110/report/smo/impl/ReportFeeMonthStatisticsInnerServiceSMOImpl.java
@@ -103,6 +103,14 @@
    }
    @Override
    public ReportFeeMonthStatisticsDto queryReportFeeSummaryMajor(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
        ReportFeeMonthStatisticsDto reportFeeMonthStatistics = BeanConvertUtil.covertBean(
                reportFeeMonthStatisticsServiceDaoImpl.queryReportFeeSummaryMajor(
                        BeanConvertUtil.beanCovertMap(reportFeeMonthStatisticsDto)), ReportFeeMonthStatisticsDto.class);
        return reportFeeMonthStatistics;
    }
    @Override
    public int queryReportFloorUnitFeeSummaryCount(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
        return reportFeeMonthStatisticsServiceDaoImpl.queryReportFloorUnitFeeSummaryCount(BeanConvertUtil.beanCovertMap(reportFeeMonthStatisticsDto));
    }
@@ -120,6 +128,13 @@
        List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticss = BeanConvertUtil.covertBeanList(reportFeeMonthStatisticsServiceDaoImpl.queryReportFloorUnitFeeSummary(BeanConvertUtil.beanCovertMap(reportFeeMonthStatisticsDto)), ReportFeeMonthStatisticsDto.class);
        return reportFeeMonthStatisticss;
    }
    @Override
    public ReportFeeMonthStatisticsDto queryReportFloorUnitFeeSummaryMajor(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
        ReportFeeMonthStatisticsDto reportFeeMonthStatistics = BeanConvertUtil.covertBean(
                reportFeeMonthStatisticsServiceDaoImpl.queryReportFloorUnitFeeSummaryMajor(
                        BeanConvertUtil.beanCovertMap(reportFeeMonthStatisticsDto)), ReportFeeMonthStatisticsDto.class);
        return reportFeeMonthStatistics;
    }
    @Override
@@ -140,6 +155,14 @@
        List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticss = BeanConvertUtil.covertBeanList(reportFeeMonthStatisticsServiceDaoImpl.queryFeeBreakdown(BeanConvertUtil.beanCovertMap(reportFeeMonthStatisticsDto)), ReportFeeMonthStatisticsDto.class);
        return reportFeeMonthStatisticss;
    }
    @Override
    public ReportFeeMonthStatisticsDto queryFeeBreakdownMajor(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
        ReportFeeMonthStatisticsDto reportFeeMonthStatistics = BeanConvertUtil.covertBean(
                reportFeeMonthStatisticsServiceDaoImpl.queryFeeBreakdownMajor(
                        BeanConvertUtil.beanCovertMap(reportFeeMonthStatisticsDto)), ReportFeeMonthStatisticsDto.class);
        return reportFeeMonthStatistics;
    }
    @Override
@@ -206,6 +229,14 @@
        List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticss = BeanConvertUtil.covertBeanList(reportFeeMonthStatisticsServiceDaoImpl.queryOweFeeDetail(BeanConvertUtil.beanCovertMap(reportFeeMonthStatisticsDto)), ReportFeeMonthStatisticsDto.class);
        return reportFeeMonthStatisticss;
    }
    @Override
    public ReportFeeMonthStatisticsDto queryOweFeeDetailMajor(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
        ReportFeeMonthStatisticsDto reportFeeMonthStatistics = BeanConvertUtil.covertBean(
                reportFeeMonthStatisticsServiceDaoImpl.queryOweFeeDetailMajor(
                        BeanConvertUtil.beanCovertMap(reportFeeMonthStatisticsDto)), ReportFeeMonthStatisticsDto.class);
        return reportFeeMonthStatistics;
    }
    @Override
@@ -429,6 +460,70 @@
        return deposits;
    }
    @Override
    public int queryHuaningOweFeeCount(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
        return reportFeeMonthStatisticsServiceDaoImpl.queryHuaningOweFeeCount(BeanConvertUtil.beanCovertMap(reportFeeMonthStatisticsDto));
    }
    @Override
    public List<ReportFeeMonthStatisticsDto> queryHuaningOweFee(@RequestBody ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
        int page = reportFeeMonthStatisticsDto.getPage();
        if (page != PageDto.DEFAULT_PAGE) {
            reportFeeMonthStatisticsDto.setPage((page - 1) * reportFeeMonthStatisticsDto.getRow());
        }
        List<ReportFeeMonthStatisticsDto> deposits = BeanConvertUtil.covertBeanList(reportFeeMonthStatisticsServiceDaoImpl.queryHuaningOweFee(BeanConvertUtil.beanCovertMap(reportFeeMonthStatisticsDto)),
                ReportFeeMonthStatisticsDto.class);
        return deposits;
    }
    @Override
    public int queryHuaningPayFeeCount(@RequestBody Map paramInfo) {
        return reportFeeMonthStatisticsServiceDaoImpl.queryHuaningPayFeeCount(paramInfo);
    }
    @Override
    public List<Map> queryHuaningPayFee(@RequestBody Map paramInfo) {
        int page = (int)paramInfo.get("page");
        if (page != PageDto.DEFAULT_PAGE) {
            paramInfo.put("page",(page - 1) * (int)paramInfo.get("row"));
        }
        List<Map> deposits = reportFeeMonthStatisticsServiceDaoImpl.queryHuaningPayFee(paramInfo);
        return deposits;
    }
    @Override
    public int queryHuaningPayFeeTwoCount(@RequestBody Map paramInfo) {
        return reportFeeMonthStatisticsServiceDaoImpl.queryHuaningPayFeeTwoCount(paramInfo);
    }
    @Override
    public List<Map> queryHuaningPayFeeTwo(@RequestBody Map paramInfo) {
        int page = (int)paramInfo.get("page");
        if (page != PageDto.DEFAULT_PAGE) {
            paramInfo.put("page",(page - 1) * (int)paramInfo.get("row"));
        }
        List<Map> deposits = reportFeeMonthStatisticsServiceDaoImpl.queryHuaningPayFeeTwo(paramInfo);
        return deposits;
    }
    @Override
    public int queryHuaningOweFeeDetailCount(@RequestBody Map paramInfo) {
        return reportFeeMonthStatisticsServiceDaoImpl.queryHuaningOweFeeDetailCount(paramInfo);
    }
    @Override
    public List<Map> queryHuaningOweFeeDetail(@RequestBody Map paramInfo) {
        int page = (int)paramInfo.get("page");
        if (page != PageDto.DEFAULT_PAGE) {
            paramInfo.put("page",(page - 1) * (int)paramInfo.get("row"));
        }
        List<Map> deposits = reportFeeMonthStatisticsServiceDaoImpl.queryHuaningOweFeeDetail(paramInfo);
        return deposits;
    }
    public IReportFeeMonthStatisticsServiceDao getReportFeeMonthStatisticsServiceDaoImpl() {
        return reportFeeMonthStatisticsServiceDaoImpl;
    }
service-report/src/main/java/com/java110/report/smo/impl/ReportFeeYearCollectionInnerServiceSMOImpl.java
@@ -167,6 +167,16 @@
        return reportFeeYearCollectionServiceDaoImpl.queryReportFeeYearCollectionsCount(BeanConvertUtil.beanCovertMap(reportFeeYearCollectionDto));
    }
    @Override
    public List<Map> getReportFeeYearCollectionInfo(@RequestBody Map beanCovertMap) {
        return reportFeeYearCollectionServiceDaoImpl.getReportFeeYearCollectionInfo(beanCovertMap);
    }
    @Override
    public void saveReportFeeYearCollectionInfo(@RequestBody Map beanCovertMap) {
         reportFeeYearCollectionServiceDaoImpl.saveReportFeeYearCollectionInfo(beanCovertMap);
    }
    public IReportFeeYearCollectionServiceDao getReportFeeYearCollectionServiceDaoImpl() {
        return reportFeeYearCollectionServiceDaoImpl;
    }