| | |
| | | import java.util.Date; |
| | | |
| | | import com.product.util.BaseUtil; |
| | | import com.product.util.UnifySQLFunction; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | |
| | | */ |
| | | public DataTableEntity listCustomerInfo(Integer cpage,Integer pageSize,FieldSetEntity fse) { |
| | | //数据权限 |
| | | // String dataFilter=permissionService.getDataFilter(CmnConst.CREATED_BY) ; |
| | | String dataFilter=permissionService.getDataFilter(CmnConst.CREATED_BY); |
| | | //高级查询 |
| | | String searchFilter=queryFilterService.getQueryFilter(fse); |
| | | StringBuilder sbSql = new StringBuilder(); |
| | | sbSql.append("SELECT \n"); |
| | | sbSql.append(" A.uuid,A.customer_name, A.customer_manager, A.customer_manager_leader,A.business_agent, \n"); |
| | | sbSql.append(" CONCAT(B.linkman, '-', B.mobile) AS customer_contact \n"); |
| | | sbSql.append("FROM product_project_customer A \n"); |
| | | sbSql.append("LEFT JOIN product_project_customer_sub B ON B.customer_uuid = A.uuid \n"); |
| | | if (!BaseUtil.strIsNull(searchFilter)) { |
| | | sbSql.append("WHERE ").append(searchFilter); |
| | | } |
| | | |
| | | // if(!StringUtils.isEmpty(dataFilter)) { |
| | | // if (!StringUtils.isEmpty(searchFilter)) { |
| | | // dataFilter+=" AND "+ searchFilter; |
| | | // } |
| | | // }else { |
| | | // if (!StringUtils.isEmpty(searchFilter)) { |
| | | // dataFilter=searchFilter; |
| | | // } |
| | | // StringBuilder sbSql = new StringBuilder(); |
| | | // sbSql.append("SELECT \n"); |
| | | // sbSql.append(" A.uuid,A.customer_name, A.customer_manager, A.customer_manager_leader,A.business_agent, \n"); |
| | | // sbSql.append(" CONCAT(B.linkman, '-', B.mobile) AS customer_contact \n"); |
| | | // sbSql.append("FROM product_project_customer A \n"); |
| | | // sbSql.append("LEFT JOIN product_project_customer_sub B ON B.customer_uuid = A.uuid \n"); |
| | | // if (!BaseUtil.strIsNull(searchFilter)) { |
| | | // sbSql.append("WHERE ").append(searchFilter); |
| | | // } |
| | | |
| | | if(!BaseUtil.strIsNull(dataFilter)) { |
| | | if (!BaseUtil.strIsNull(searchFilter)) { |
| | | dataFilter+=" AND "+ searchFilter; |
| | | } |
| | | }else { |
| | | if (!BaseUtil.strIsNull(searchFilter)) { |
| | | dataFilter=searchFilter; |
| | | } |
| | | } |
| | | |
| | | // DataTableEntity dt=baseDao.listTable(CmnConst.product_project_CUSTOMER, searchFilter, null, null, null, pageSize, cpage); |
| | | DataTableEntity dt = baseDao.listTable(sbSql.toString(), new Object[] {}, pageSize, cpage); |
| | | DataTableEntity dt=baseDao.listTable(CmnConst.PRODUCT_PROJECT_CUSTOMER, searchFilter, null, null, null, pageSize, cpage); |
| | | // DataTableEntity dt = baseDao.listTable(sbSql.toString(), new Object[] {}, pageSize, cpage); |
| | | baseDao.loadPromptData(dt); |
| | | return dt; |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | public FieldSetEntity findCustomerInfo(String uuid) { |
| | | FieldSetEntity fieldSetEntity = baseDao.getFieldSetEntity(CmnConst.product_project_CUSTOMER, uuid, true); |
| | | FieldSetEntity fieldSetEntity = baseDao.getFieldSetEntity(CmnConst.PRODUCT_PROJECT_CUSTOMER, uuid, true); |
| | | FieldSetEntity fse = this.findCustomerValue(uuid); |
| | | fieldSetEntity.setValue("money", fse.getString("money")); |
| | | fieldSetEntity.setValue("returnedMoney", fse.getString("returnedMoney")); |
| | |
| | | */ |
| | | public FieldSetEntity contractProjectMakeMoney(String uuid) { |
| | | FieldSetEntity fieldSet = new FieldSetEntity(); |
| | | fieldSet.setTableName(CmnConst.product_project_CUSTOMER); |
| | | fieldSet.setTableName(CmnConst.PRODUCT_PROJECT_CUSTOMER); |
| | | //合同表 product_project_contract_info owner |
| | | DataTableEntity contractData = baseDao.listTable("product_project_contract_info"," owner = ? and flow_flag = 2 ",new Object[]{uuid}); |
| | | baseDao.loadPromptData(contractData); |
| | |
| | | */ |
| | | public FieldSetEntity findCustomerValue(String uuid) { |
| | | FieldSetEntity fieldSetEntity = new FieldSetEntity(); |
| | | fieldSetEntity.setTableName(CmnConst.product_project_CUSTOMER); |
| | | fieldSetEntity.setTableName(CmnConst.PRODUCT_PROJECT_CUSTOMER); |
| | | //查询合同金额 |
| | | StringBuffer moneySql = new StringBuffer(); |
| | | moneySql.append(" SELECT IFNULL(SUM(d.money),0) money FROM ( ") |
| | | .append(" SELECT contract_amount money FROM product_project_contract_info WHERE owner = ? and uuid not in (SELECT contract_name FROM product_project_contract_change WHERE owner = ?) ") |
| | | .append(" UNION ALL ") |
| | | .append(" SELECT c.change_the_amount money FROM ( ") |
| | | .append(" SELECT a.contract_name,MAX(b.finish_time) finish_time FROM product_project_contract_change a JOIN ") |
| | | .append("product_sys_flow_task b ON a.uuid = b.record_uuid WHERE b.finish_type = 2 GROUP BY a.contract_name) ") |
| | | .append(" b ") |
| | | .append(" LEFT JOIN ") |
| | | .append(" (SELECT a.*,b.finish_time FROM product_project_contract_change a LEFT JOIN ") |
| | | .append("product_sys_flow_task b ON a.uuid = b.record_uuid) c ") |
| | | .append(" ON b.contract_name = c.contract_name ") |
| | | .append(" AND b.finish_time = c.finish_time ") |
| | | .append(" WHERE c.owner = ? ") |
| | | .append(" ) d"); |
| | | moneySql.append("\n SELECT ").append(UnifySQLFunction.ifnull("SUM(d.money)", "0")).append(" money") |
| | | .append("\nFROM ( ") |
| | | .append("\n SELECT contract_amount money ") |
| | | .append("\n FROM product_project_contract_info ") |
| | | .append("\n WHERE owner = ? and uuid not in (SELECT contract_name FROM product_project_contract_change WHERE owner = ?) ") |
| | | .append("\n UNION ALL ") |
| | | .append("\n SELECT c.change_the_amount money FROM ( ") |
| | | .append("\n SELECT a.contract_name,MAX(b.finish_time) finish_time FROM product_project_contract_change a ") |
| | | .append("\n JOIN product_sys_flow_task b ON a.uuid = b.record_uuid WHERE b.finish_type = 2 ") |
| | | .append("\n GROUP BY a.contract_name") |
| | | .append("\n )b ") |
| | | .append("\n LEFT JOIN (") |
| | | .append("\n SELECT a.*,b.finish_time FROM product_project_contract_change a ") |
| | | .append("\n LEFT JOIN product_sys_flow_task b ON a.uuid = b.record_uuid") |
| | | .append("\n ) c ON b.contract_name = c.contract_name AND b.finish_time = c.finish_time ") |
| | | .append("\n WHERE c.owner = ? ") |
| | | .append("\n) d"); |
| | | |
| | | DataTableEntity moneyDataTableEntity = baseDao.listTable(moneySql.toString(), new String[]{uuid,uuid,uuid}); |
| | | if(!BaseUtil.dataTableIsEmpty(moneyDataTableEntity)){ |
| | |
| | | @Transactional |
| | | public boolean deleteCustomerInfo(String uuid) throws BaseException{ |
| | | String[] uuids = uuid.split(","); |
| | | return baseDao.delete(CmnConst.product_project_CUSTOMER, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuids.length, true), uuids); |
| | | return baseDao.delete(CmnConst.PRODUCT_PROJECT_CUSTOMER, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuids.length, true), uuids); |
| | | } |
| | | } |